Families of Boolean functions

From testwiki
Jump to navigation Jump to search

Template:Boolf header

Boolean functions belong to the same family, when they can be transformed into each other by negating arguments.
The size of a family is always a power of two. The maximal size is 2Template:Boolf-hard, i.e. the period length of the truth table.
(While the size of Template:Boolf-hard and Template:Boolf-hard increases with the chosen arity, the size of a family is fixed.)

The simplest property of a family is its weight, i.e. the number of true entries in each truth table.
An important property is the parity of the weight. Those with odd weight shall be called sharp, those with even weight blunt.
(It is the same as the parity of the quaestor weight.)

A family belongs to a Template:Boolf-hard (where the arguments are not just negated, but also permuted).
Together with its complement, it forms a super-family. Adding a half-complement forms an Template:Boolf-soft.

family matrix

A family matrix is a Template:W table with integers replaced by binary values. Each row (or column) is the truth table of a Boolean functions in the family.

Error creating thumbnail:
bitwise XOR table with labels on the left showing how the arguments are negated
File:Family of nitako with twins.svg
red family matrix of a 4-ary function, containing each function twice
eight members of a family as Venn diagrams and rows of a family matrix

Template:Multiple image

sequences

Template:Collapsible START

arity n
0 1 2 3 4 5
balanced families (central values of Template:Oeislink) 0 1 3 14 870 18796230
(22n1)(2n1)2n Template:Boolf-seq introverted families 0 1 3 14 240 63488
22n2n=2(2nn) Template:Boolf-seq extroverted families
(BF with a particular consul)
2 2 4 32 4096 134217728
2nn1 Eulerian numbers 0 0 1 4 11 26
22n2n+1=2(2nn1) Template:Boolf-seq sharp families
(BF with a particular prefect)
1 1 2 16 2048 67108864
22n+(22n1+1)(2n1)2n+1 Template:Boolf-seq blunt families
super-families
1 2 5 30 2288 67172352
22n+(22n1)(2n1)2n Template:Boolf-seq families 2 3 7 46 4336 134281216
Template:Boolf-seq sharp super-families 1 1 8 1024 33554432
Template:Boolf-seq blunt super-families 1 4 22 1264 33617920
Template:Boolf-seq families with maximal size 2n (right column of Template:Boolf-seq) 2 1 2 23 3904 134156284
blunt families with maximal size 2n 1 0 0 7 1856 67047420

Template:Families of Boolean functions/sequences/Python formulas Template:Collapsible END

Template:Collapsible START The representative is the smallest Zhegalkin index.
The length of the sequence for arity n is Template:Oeislink(n), the number of n-ary families. Template:Integer sequences related to Boolean functions/reps of families/nested Template:Collapsible END

Template:Oeislink T(n,k) is the number of n-ary families of size 2k.
Template:Oeislink T(n,k) is the number of balanced n-ary families of size 2k.
Template:Oeislink T(n,w) is the number of n-ary families with weight w. See here.

blunt and sharp

Sharp families always have the maximal size.
Each member of sharp family has a unique Template:Boolf-soft, while all members of a blunt family have the same consul.
All sharp families belong to the same Template:Boolf-soft. The tribe of a blunt family is denoted by the binary weight of the consul.

It is easy to calculate a family representative of a sharp BF (a male to be precise), namely the one with consul 0.

There are many bijections between blunt and sharp Boolean functions.
It would be practical to have one, that assigns all members of a blunt family to members of the same sharp family.
So one sharp family would correspond to a set of blunt families. That would be nice to have, but may not exist.

An important fact (visible in the table of sequences above) is that the number of blunt families is equal to the number of super-families.
The numbers of sharp and introverted (self-complementary) families always sum up to the number of blunt families (= the number of super-families).
Arity 1 is a special case, because the one sharp and the one introverted family are the same. Apart from that, no sharp familiy is introverted.

Template:Families of Boolean functions/sharpness

super-clans

The following table shows the 46 3-ary families within the 14 super-clans. That means, each family is shown in its Template:Boolf-hard, and together with its complement.
In each matrix a family has a distinct color. Complements have the same base color (RGB or beige). Clans have the same shade (light or dark).
(The number of families in a super-clan is 1, 2, 3 or 6.)

Template:Collapsible START Template:Families of Boolean functions/box with sharp families by quaestor weight Template:Families of Boolean functions/super-clans Template:Collapsible END

super-families

The following table shows the 46 3-ary families within the 30 super-families. That means, each family is shown together with its complement.
An important property (that links the 3-ary to 2-ary families) is the Template:Boolf prop 3-ary – seen as columns in the matrices of Zhegalkin indices.
Blunt families have a consul and a Template:Boolf prop 3-ary binary. (Sharp families have four solid and four fluid members.)

Template:Collapsible START Template:Families of Boolean functions/table of super-families Template:Collapsible END

misc.

3-ary partitions: Template:Boolf prop 3-ary (46), Template:Boolf prop 3-ary (46), Template:Boolf prop 3-ary (30), Template:Boolf prop 3-ary (18), Template:Boolf prop 3-ary (4), Template:Boolf prop 3-ary (5), Template:Boolf prop 3-ary (5), Template:Boolf prop 3-ary binary (2)