Действительно формула не работает, но причина кроется в том, что на матрицы нужно наложить еще одно условие - все строки в них должны быть различны (так как они соответствуют различным подмножествам). Соответственно, формула видоизменяется так: вместо
должно стоять
Итоговая формула такая:
-- Thu Sep 10, 2009 15:58:02 --Вот некоторые численные значения:
Код:
? f(n,k,m,s) = binomial(n,m)*sum(j=0,n-m,(-1)^j*binomial(n-m,j)*binomial(sum(i=0,k-1-m-j,binomial(n-m-j,i)),s));
? for(s=1,3,forvec(v=[[1,3],[1,3],[1,3]], print("[n,k,m,s] = ",[v[3],v[2]+1,v[1],s]," : ",f(v[3],v[2]+1,v[1],s)),1))
[n,k,m,s] = [1, 2, 1, 1] : 1
[n,k,m,s] = [2, 2, 1, 1] : 2
[n,k,m,s] = [3, 2, 1, 1] : 3
[n,k,m,s] = [2, 3, 1, 1] : 2
[n,k,m,s] = [3, 3, 1, 1] : 3
[n,k,m,s] = [3, 4, 1, 1] : 3
[n,k,m,s] = [2, 3, 2, 1] : 1
[n,k,m,s] = [3, 3, 2, 1] : 3
[n,k,m,s] = [3, 4, 2, 1] : 3
[n,k,m,s] = [3, 4, 3, 1] : 1
[n,k,m,s] = [1, 2, 1, 2] : 0
[n,k,m,s] = [2, 2, 1, 2] : 0
[n,k,m,s] = [3, 2, 1, 2] : 0
[n,k,m,s] = [2, 3, 1, 2] : 2
[n,k,m,s] = [3, 3, 1, 2] : 9
[n,k,m,s] = [3, 4, 1, 2] : 12
[n,k,m,s] = [2, 3, 2, 2] : 0
[n,k,m,s] = [3, 3, 2, 2] : 0
[n,k,m,s] = [3, 4, 2, 2] : 3
[n,k,m,s] = [3, 4, 3, 2] : 0
[n,k,m,s] = [1, 2, 1, 3] : 0
[n,k,m,s] = [2, 2, 1, 3] : 0
[n,k,m,s] = [3, 2, 1, 3] : 0
[n,k,m,s] = [2, 3, 1, 3] : 0
[n,k,m,s] = [3, 3, 1, 3] : 3
[n,k,m,s] = [3, 4, 1, 3] : 12
[n,k,m,s] = [2, 3, 2, 3] : 0
[n,k,m,s] = [3, 3, 2, 3] : 0
[n,k,m,s] = [3, 4, 2, 3] : 0
[n,k,m,s] = [3, 4, 3, 3] : 0