# NOT FINISHED YET !!!! # define a factorial function # gives 1 for negative values as well define f(x) { if (x>1) { return (x * f (x-1)) } return (1) } # determine how many combinations would be dis-allowed # from a cardinality constrained powerset # given unitary state failure mode conditions define uc(c,k,x) { aa = 0; #for(i=2; i<=c; i++) aa += k * f(k)/(f(i)*f(k-i)); if ( c>2 ) { return aa + uc(c-1,k,x); } return aa; } # cardinality constrained powerset # how many combinations of cardinality k # can we have from c number of components # with x number of failure modes define ccps(c,k,x) { return f(k*x)/(f(c)*f(k*x-c)) } define us(c,k,x) { a=0; for(i=1;i<=c;i++) a += ccps(i,c,x); # a now holds all combinations # we must now subtract those combinations # dis-allowed under unitary state conditions. a -= uc(cc,c,x); return a; } us(2,3,3);