【ぶーるだいすう】

ブール代数 とは?

最終更新:
💡 真・偽の条件を、論理演算で組み合わせる

論理演算と、その式を変形する法則を扱う数学。ITで使う真・偽の2値、AND・OR・NOT、真理値表、ド・モルガンの法則を身近な条件で解説します。

📌 このページのポイント
ブール代数:条件を組み合わせる会員で、チケットも持つなら入れる:ANDABANDOR00000101100111110=偽 / 1=真  NOTで反転AND:両方 / OR:少なくとも一方ORは、両方が真の場合も真
入力4通りを比べた2値の真理値表です。ANDは会員かつチケットの例、ORではどちらかまたは両方を満たす人が入れます。普通の足し算や時間順の図ではありません。
ひよこ ひよこ
ブール代数は、0と1の足し算?
ペンギン先生 ペンギン先生
ここでは真を1、偽を0として、論理演算を考えよう。数の普通の足し算とは違うよ。ANDは両方が真なら真、ORは少なくとも一方が真なら真、NOTは真と偽を反転するんだ。
ひよこ ひよこ
身近な例はある?
ペンギン先生 ペンギン先生
「会員で、かつチケットを持つ人が入れる」ならANDだよ。「会員か、チケットを持つ人が入れる」ならOR。ORでは両方を満たす人も入れる。片方だけを満たすときに真になるXORとは違うんだ。
ひよこ ひよこ
入力と結果は、どう確かめる?
ペンギン先生 ペンギン先生
真理値表を作るよ。AとBがそれぞれ0か1なら、入力は00、01、10、11の4通り。ANDの結果は0、0、0、1、ORは0、1、1、1。すべての組み合わせを並べて確かめられるんだ。
ひよこ ひよこ
ド・モルガンの法則は、どう役立つ?
ペンギン先生 ペンギン先生
たとえばNOT(A AND B)は、(NOT A) OR (NOT B)と同じ結果になるよ。「両方とも満たす、ではない」は「少なくとも一つを満たさない」と言い換えられる。式の変形でも、ANDとORを入れ替えるだけでなく否定の位置をそろえるんだ。
ひよこ ひよこ
プログラムの&&と、完全に同じ?
ペンギン先生 ペンギン先生
真偽値だけで考えるとANDに対応するよ。ただ、言語の演算子には評価順や短絡評価の規則もある。JavaScriptの&&は真偽値以外を返す場合もあるので、数学の論理式と実際のコードの動きを分けて確認しよう。
もっと詳しく知りたい人へ

1 OR 1の結果は、2になる?

この2値の論理演算では1です。ORを「+」、ANDを「・」で書く記法もありますが、普通の数の足し算や掛け算と同じ規則ではありません。使っている演算の定義を確認します。

ブール代数は、必ず真と偽の2個の値だけを扱う?

このページではITで身近な2値の例を説明しています。数学的なブール代数には、集合の和・共通部分・補集合等の演算で表すものもあります。入門ではまず真理値表と基本の演算を押さえると理解しやすくなります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ブール代数」って出てきたら「真・偽の条件を組み合わせ、論理式を整理するための数学」と思えばだいたいOK!
📖 おまけ:英語の意味
「Boolean Algebra」 = ブール代数
💬 George Booleの研究に由来する名前です。コンピュータでは真・偽の2値の例が身近ですが、数学では集合等の演算も扱います。

参考資料

← 用語集にもどる