あるn変数論理関数について、
下記の問に答えよ。
(1)n変数論理関数の中で、n変数線形関数は何個存在するか。
(2)線形関数は、自己双対関数か自己反双対関数のいずれかであることを示せ。
(3)全てのn変数論理関数は、
はじめに
論理関数の中には、様々な性質を持つものがあります。例として、前回の記事では、自己双対関数を説明しました。今回は、線形関数について説明します。性質については、本問で述べた通りです。
こちらも、東北大をはじめとする院試でよく出題されます。
この記事で覚えたいこと
- n変数線形関数の個数は、
に入る値の組み合わせ分存在する。 と表すことができる。- 完全系(NOR)は環和標準形(XOR)でも表すことができる。
1.2.3.それぞれ(1)(2)(3)で使用します。
XORは排他的論理和です。
下記のように分配律が成立します。
確かに、環和標準形で表すことができました。この式変形を利用し、(2),(3)を解いていきます。
解答例
(1) n変数線形関数の個数
問題で与えられた通り、n変数線形関数は、式(1)で表される。

よって、
(2) 線形関数と双対関数
(i) (B)=1 のとき、
これより、自己双対関数であることが示された。
(ii) (B)=0 のとき、
これより、自己反双対関数であることが示された。
(3) 環和標準形について
線形関数の性質(式(1))より、XORとANDで任意の論理関数を表すことができれば、題意を満たすことができる。
論理回路の他の演算子は、OR、NOR。これをXORとANDで示すことを考える。
NOT:式(6)より成立
NOR:式(5)より成立
OR:NOT(NOR)で、
3変数以上の場合でも上記の式変形は成立する。これより、任意の論理関数は、例として
のように、ANDとXORで表すことができる。
最後に
任意の論理関数は、AND、OR、NOTでも表すことができますが、XORを使用すると簡潔に表すことができます。本問の考え方は、論理回路のbit演算(加算器)でも使用することがあります。是非、本問で使用した変形を別の問題でも応用できるよう演習を積んで下さればと思います。
参考文献
解法と演習 大学院入試問題<情報通信系>:関 正治(著),陳 啓浩(著),姫野 俊一(著) P93