- 締切済み
[論理回路] ゲートの万能性の判定方法
最近独学で論理回路を勉強している者です。 ある本に以下のゲート(素子)の組み合わせは万能(任意のブール 関数を表現できる)であるとあったのですが、 (1){AND, NOT} (2){OR, NOT} (3){NAND} (4){NOT} ((3)、(4)は単一種類のゲートですが、便宜上集合表現にしました) これに関して次の(A)、(B)の疑問が浮かびました。 (A)(1)~(4)以外に((1)~(4)を部分集合として含まない)万能 であるゲートの組み合わせは存在しないのか? (B)あるゲートの組み合わせ(たとえば{XOR}、{XOR、NOT}など) が万能性を持たないことはどうやって証明すればいいのか? ご存知の方、ご教示をいただければ幸いです(参考文献の指示等 でもありがたいです)。 どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
お礼
yuragifuu様、わざわざ返信をありがとうございます。 ところで、その後本を読んでこの疑問への解答を得ることが出来ました。結論を手短かに紹介しますと、次のような定理が存在するそうです。 [定理] 論理関数(ゲート)の集合Sは、以下の5つの論理関数集合のいずれの部分集合にもなっていないとき、またそのときに限り、万能となる。 (1)1を保存する論理関数全体の集合 (すなわち、F(1,1,...,1)=1となる論理関数Fの集合) (2)0を保存する論理関数全体の集合 (すなわち、F(0,0,...,0)=0となる論理関数Fの集合) (3)自己双対論理関数全体の集合 (すなわち、F(not x1, not x2, ... , not xk) = not F(x1,x2,...,xk)となる論理関数Fの集合) (4)単調増加論理関数全体の集合 (すなわち、a1<=b1,a2<=b2,...,ak<=bkならばF(a1,a2,...,ak)<=F(b1,b2,...,bk)となる論理関数Fの集合) (5)線形論理関数全体の集合 (すなわち、F(x1,x2,...,xk)=a0#a1x1#a2x2#...#akxkと表せる論理関数Fの集合。ここでaiは0或いは1、#はXOR、ajxjはajとxjの論理積(AND)で、ANDの方がXORより優先度が高いとする。) (定理終) この定理から極小な万能論理関数集合は他にもいろいろとあることが分かります。たとえば、{OR, IFF, F}、{AND, XOR, T}など(IFFは同値、Fは恒偽、Tは恒真)。 参考文献:「論理設計―スイッチング回路理論」(笹尾勤著、近代科学社)、他
補足
(1)yuragifuu様の謙虚な御姿勢に感銘を受けた (2)同じ疑問を抱いた人に私が投稿した「お礼」の内容を参考にしてほしい 以上2点の理由からこの回答にポイントをつけさせていただきます。