login
Number of unordered collections of distinct nonempty subsets of an n-element set where each element appears in at most 2 subsets.
4

%I #27 May 20 2021 08:19:38

%S 1,2,8,59,652,9736,186478,4421018,126317785,4260664251,166884941780,

%T 7489637988545,380861594219460,21739310882945458,1381634777325000263,

%U 97089956842985393297,7497783115765911443879,632884743974716421132084

%N Number of unordered collections of distinct nonempty subsets of an n-element set where each element appears in at most 2 subsets.

%C If each element must appear in exactly 1 subset, then we get the Bell numbers A000110.

%C If each element must appear in exactly 2 subsets, then we get A002718.

%H Alois P. Heinz, <a href="/A178165/b178165.txt">Table of n, a(n) for n = 0..300</a>

%F Binomial transform of A094574: a(n) = Sum_{k=0..n} C(n,k)*A094574(k).

%t terms = m = 30;

%t a094577[n_] := Sum[Binomial[n, k]*BellB[2n-k], {k, 0, n}];

%t egf = Exp[(1 - Exp[x])/2]*Sum[a094577[n]*(x/2)^n/n!, {n, 0, m}] + O[x]^m;

%t A094574 = CoefficientList[egf + O[x]^m, x]*Range[0, m-1]!;

%t a[n_] := Sum[Binomial[n, k]*A094574[[k+1]], {k, 0, n}];

%t Table[a[n], {n, 0, m-1}] (* _Jean-François Alcover_, May 24 2019 *)

%o (Python)

%o def powerSet(k): return [toBinary(n,k) for n in range(1,2**k)]

%o def courcelle(maxUses, remainingSets, exact=False):

%o if exact and not all(maxUses<=sum(remainingSets)): ans=0

%o elif len(remainingSets)==0: ans=1

%o else:

%o set0=remainingSets[0]

%o if all(set0<=maxUses): ans=courcelle(maxUses-set0,remainingSets[1:],exact=exact)

%o else: ans=0

%o ans+=courcelle(maxUses,remainingSets[1:],exact=exact)

%o return ans

%o for i in range(10):

%o print(i, courcelle(array([2]*i),powerSet(i),exact=False))

%Y Row n=2 of A330964.

%Y Cf. A094574, A000110, A002718, A178171, A178173.

%K nonn

%O 0,2

%A _Daniel E. Loeb_, Dec 16 2010

%E Edited and corrected by _Max Alekseyev_, Dec 19 2010