未来電子テクノロジーでインターンをしている田島一毅です。プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
今回は、2値論理とブール代数について、面白いと思ったのでシェアします。
#2値論理とは
2値論理とは、ある命題について真(TRUE)または偽(FALSE)で真偽を示す論理のことです。
例えば、「夏目漱石は猫である。」という命題は、夏目漱石が人間であるため、偽(FALSE)です。
しかし、命題の中には、真(TRUE)と偽(FALSE)で真偽を示せない命題があります。
例えば、「吾輩は猫である。」という命題は、「吾輩」が「猫」である場合もあれば、「人間」である場合、いやもしかしたら「ゾウ」である場合も考えられます。
要するに不明(UNKNOWN)ってわけです。
このように、真(TRUE)と偽(FALSE)と不明(UNKNOWN)の3パターンで示す論理を3値論理といいますが、今回は真(TRUE)と偽(FALSE)の2つで示せる2値論理を考えることにします。
#ブール代数とは
ブール代数とは、「+」と「―」と「¬(否定)」の3つの演算子、「0」と「1」の2つの値のみで構成された便利な数学で、和と積について交換法則・分配法則・単位元の存在・補元の存在が成り立ちます。
具体的には、
交換法則
(和) x + y = y + x
(積) x ・ y = y ・ x
分配法則
(和) x ・ (y + z) = (x ・ y) + (x ・ z)
(積) x + (y ・ z) = (x + y) ・ (x + z)
単位元の存在
(和) x + 0 = x
(積) x ・ 1 = x
補元
(和) x + ¬x = 1
(積) x ・ ¬x = 0
が成り立つということです。
この1を真(TRUE)、0を偽(FALSE)、+を論理和(または)、・を論理積(かつ)とみると、2値論理での真理表が完成することが分かりますよね。
##まとめ
今回伝えたかった&面白いと思ったことは、
「ブール代数を知っていれば真理表を簡単に導き出せる」
ってことです。
興味がある方は、もっと調べてみてください。