A000612 Number of P-equivalence classes of switching functions of n or fewer variables, divided by 2.
1, 2, 6, 40, 1992, 18666624, 12813206169137152, 33758171486592987164087845043830784, 1435913805026242504952006868879460423834904914948818373264705576411070464
Offset: 0
Examples
Non-isomorphic representatives of the a(2) = 6 set-systems are 0, {1}, {12}, {1}{2}, {1}{12}, {1}{2}{12}. - _Gus Wiseman_, Aug 07 2018
References
- M. A. Harrison, Introduction to Switching and Automata Theory. McGraw Hill, NY, 1965, p. 153.
- S. Muroga, Threshold Logic and Its Applications. Wiley, NY, 1971, p. 38 Table 2.3.2. - Row 5.
- N. J. A. Sloane, A Handbook of Integer Sequences, Academic Press, 1973 (includes this sequence).
- N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..12
- M. A. Harrison, The number of equivalence classes of Boolean functions under groups containing negation, IEEE Trans. Electron. Comput. 12 (1963), 559-561.
- M. A. Harrison, The number of equivalence classes of Boolean functions under groups containing negation, IEEE Trans. Electron. Comput. 12 (1963), 559-561. [Annotated scanned copy]
- Geon Lee, Seokbum Yoon, Jihoon Ko, Hyunju Kim, and Kijung Shin, Hypergraph Motifs and Their Extensions Beyond Binary, arXiv:2310.15668 [cs.SI], 2023.
- Peter H. van der Kamp, Hypergraphs and homogeneous Lotka-Volterra systems with linear Darboux polynomials, arXiv:2411.18264 [nlin.SI], 2024. See p. 4.
- Wikipedia, Venn diagram
- Index entries for sequences related to Boolean functions
Crossrefs
Programs
-
Maple
a:= n-> add(1/(p-> mul((c-> j^c*c!)(coeff(p, x, j)), j=1..degree(p)))( add(x^i, i=l))*2^((w-> add(mul(2^igcd(t, l[i]), i=1..nops(l)), t=1..w)/w)(ilcm(l[]))), l=combinat[partition](n))/2: seq(a(n), n=0..9); # Alois P. Heinz, Aug 12 2019
-
Mathematica
sysnorm[{}] := {};sysnorm[m_]:=If[Union@@m!=Range[Max@@Flatten[m]],sysnorm[m/.Rule@@@Table[{(Union@@m)[[i]],i},{i,Length[Union@@m]}]],First[Sort[sysnorm[m,1]]]];sysnorm[m_,aft_]:=If[Length[Union@@m]<=aft,{m},With[{mx=Table[Count[m,i,{2}],{i,Select[Union@@m,#>=aft&]}]},Union@@(sysnorm[#,aft+1]&/@Union[Table[Map[Sort,m/.{par+aft-1->aft,aft->par+aft-1},{0,1}],{par,First/@Position[mx,Max[mx]]}]])]]; Table[Length[Union[sysnorm/@Subsets[Rest[Subsets[Range[n]]]]]],{n,4}] (* Gus Wiseman, Aug 07 2018 *) a[n_] := Sum[1/Function[p, Product[Function[c, j^c*c!][Coefficient[p, x, j]], {j, 1, Exponent[p, x]}]][Total[x^l]]*2^(Function[w, Sum[Product[2^GCD[t, l[[i]]], {i, 1, Length[l]}], {t, 1, w}]/w][If[l=={}, 1, LCM @@ l]]), {l, IntegerPartitions[n]}]/2; a /@ Range[0, 9] (* Jean-François Alcover, Feb 04 2020, after Alois P. Heinz *)
-
Python
def partition(n, I=1): yield () if n==0 else (n,) for i in range(I, n//2 + 1): for p in partition(n-i, i): yield (i,) + p def a(n): import math, operator, functools fracs = [(1<<(sum(functools.reduce(operator.mul, (1<
Gregory Morse, Dec 23 2024
Formula
a(n) = A003180(n)/2.
Extensions
More terms from Vladeta Jovovic, Feb 23 2000
Comments