言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

ブールそろばん。その 3 ド・モルガンの法則を解説します。

ここでブールそろばんを使った計算を確認しましょう

P1080461

このそろばんは OR(又は) と AND(且つ) を一度に計算出来ます。上下にある四つの穴で問題を表し、真ん中の二つの穴で答えを表します。上半分が OR で、下半分が AND です。写真にあるのは T or F = T, F and T = F を計算したところです。

P1080476

重力の働きで、問題を表す両脇の部品が両方下がっている時に限り、答えの部品も下がります。図は F or F = F, T and T = T を計算した所です。

さて、皆さんはド・モルガンの法則についてご存知でしょうか?中学か高校で習ったと思います。このブールそろばんは、ド・モルガンの法則も表しています。ド・モルガンの法則とは、式で書くと次のような物です。

  • P or Q = not ( (not P) and (not Q) )
  • P and Q = not ( (not P) or (not Q) )

つまり、論理式の二つの項を否定させた答えをさらに否定すると、演算子を反転させた物と同じになるという事です。え、難しい?ここでもう一度ブールそろばんを見てみましょう。

P1080465

ブールそろばんでは、OR の部分と AND の部分の文字がいつでも反対になるように作られています。つまり、写真のように上の問題が F or T である時は常に下の問題は T and F であり、上の OR の答えが T である時は下の AND の答えは F です。OR と AND は、文字を逆にしただけで機械の状態としては同じです。ド・モルガンの法則は、この事実を難しく言い換えただけと言えます。

P1080479

ちなみに逆さに持つとどうなるでしょうか?ブールそろばんでは、工夫して逆さに持つと答えの値が逆転するよう設計してあります。問題の文字盤は上下対称で変わらないので、ここで答えだけを否定させると上下それぞれ NOR, NAND の計算が出来る事になります。

参考