論理関数
関数
任意の
n個の変数のうち、過半数以上の変数が1であるときのみ1を出力する関数をn変数多数決関数と言う。
(1)n変数対称関数は何個存在するか。
(2)多数決関数は、対称関数かつ自己双対関数であることを示せ。
(3)ある論理関数
はじめに
論理関数に関する問題の続きです。以前の記事では、自己双対関数、線形関数をそれぞれ紹介しました。まだの方は是非ご覧ください。
本記事で覚えたいこと
- 対称関数は、変数のうち1である数字の数の組み合わせで総数が決まる
- 多数決関数の否定を取ると、過半数を超えない変数が1のとき、出力も1になる
1.について、例えば2変数対称関数
どのような変数の入力の組み合わせでも1を出力する場合を考えると
1を取る変数が0つのとき、
1を取る変数が1つのとき、
1を取る変数が2つのとき、
これを全て組み合わせて、
もし、1を取る変数が1つのときは0を出力するならば、
このように、n変数対称関数は、
2.については、記載した通りです。イメージ通りだと思いますが、(2)(3)でこの考え方を利用します。
解答例
(1)n変数対称関数の個数

式(3)より、
過去記事で紹介した、n変数線形関数と同様の考え方に帰着できました。
(2)多数決関数の対称性、自己双対性
対称性について
多数決関数は、
式(3)の
と表すことができます。
これは、対称関数の一部であることから、対称性を説明することができました。
自己双対性について
自己双対関数の定義により、式(4)の変数及び関数
以上の式変形で説明できました。
(3)対称関数と双対性
第2章により、ある関数
例として3変数対称関数を考える。
変数及び出力

変数の否定を取り、元の対称関数に代入するため、真理値表が反転しただけで、対称性は保持される。
これが、任意のnに対して成立するため、題意は示された。
最後に
(3)は式で説明できるかもしれませんが、表で書いた方が分かりやすいと考え、上記の説明にしました。
問題が複雑になるほど、真理値表を書いて実験することが重要になります。
多数決関数は単調増大関数の性質もあります。合わせて確認しておきましょう。