Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Self-dual Boolean functions

Name: Anonymous 2007-09-16 5:16 ID:9TCFaaWo

Hey guys, how do you find out how many self-dual Boolean functions there are in n variables? I know it's 2^2^(n-1), but no amount of Googling is letting me know why.

Name: Anonymous 2007-09-16 9:14 ID:yT+VyPT+


          ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ( ´∀`) < VIVA MEOOWXICO CABRONES!
        /    |    \________
       /       .|     
       / "⌒ヽ |.イ |
   __ |   .ノ | || |__
  .    ノく__つ∪∪   \
   _((_________\
    ̄ ̄ヽつ ̄ ̄ ̄ ̄ ̄ ̄ | | ̄
   ___________| |
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| |

Name: Anonymous 2007-09-16 13:42 ID:O85TDwt9

Potentially related to the power set/generated sigma field of your set of boolean commands?

Name: Skordocott 2007-09-16 22:27 ID:PAMYIQYZ

For regular boolean functions of n arguments, there are 2^n possible argument lists, since each of the n arguments can be either true or false.  Then, for each of the 2^n argument lists, the output of the function can be either true or false.  So there are 2^(2^n) different boolean functions of n variables.

For a self-dual function there are still 2^n argument lists, but each time you specify what the output is for some particular argument list, you have also determined the output for the opposite argument list.  For example, once you choose that f(true, false, false) = true, you are also required to have f(false, true, true) = false, since the function is self-dual.

So you get to choose the outputs for only have the argument lists.  That is (2^n)/2 = 2^(n-1) argument lists you get to choose for.  As before you have two choices (true and false) for each output, so there are 2^(2^(n-1)) ways to choose the outputs.

Hope this helps.

Name: Skordocott 2007-09-16 22:28 ID:PAMYIQYZ

Ahem.  "Only have the argument lists" was supposed to be "only half the argument lists".

Don't change these.
Name: Email:
Entire Thread Thread List