ブール論理
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2023年8月) |
ブール論理(ブールろんり、英: Boolean logic)は、古典論理のひとつで、その名称はブール代数ないしその形式化を示したジョージ・ブールに由来する。
リレーなどによる「スイッチング回路の理論」として1930年代に再発見され(論理回路#歴史を参照)、間もなくコンピュータに不可欠な理論として広まり、今日では一般的に使われている。
本項目では、集合代数を用いて、集合、ブール演算、ベン図、真理値表などの基本的解説とブール論理の応用について解説する。ブール代数の記事ではブール論理の公理を満足する代数的構造の型を説明している。ブール論理はブール代数で形式化され2値の意味論を与えられた命題論理とみることができる。
用語

Xを集合としたとき:
- 元(element; 要素)とは、集合のメンバーを意味する。これを
30までの自然数を普遍集合とし、2の倍数の集合、3の倍数の集合、5の倍数の集合の関係を表した図 集合 A には普遍集合の中の全ての偶数(2の倍数)が含まれ、集合 B には同じ普遍集合の中の全ての 3 の倍数が含まれるとする。そのとき、これらの集合の共通部分(A AND B の集合の全ての元)は、その普遍集合の中の全ての6の倍数が含まれる。
集合 A の補集合(NOT A に含まれる全ての元)は、その普遍集合の全ての奇数となる。
演算の連鎖
たかだか2つの集合に対してブール演算を行い、その演算によって形成された新たな集合と別の集合に対して新たなブール演算を適用することができる。上の例で言えば、普遍集合の全ての 5 の倍数を含む集合 C を新たに定義する。ここで「集合 A AND B AND C」は、その普遍集合の全ての30の倍数を含む。記述を単純化するため、集合 A と B の共通部分を AB と記したり、6の倍数の集合を導入したりする。そうすると「集合 AB AND C」は、同様に全ての30の倍数を含む。このようなステップをさらに進めていくこともでき、この演算の結果として集合 ABC を定義することもできる。
括弧の使用
任意個の論理積(AND)の連鎖には曖昧さは全くないが、AND と OR と NOT が組み合わされると曖昧な場合が出てくる。そのような場合に演算の順序を明確化するために括弧を使うこともある。通常、最も内側の括弧内の演算が最初に実行され、順次外側に移っていく。
論理演算の法則
2つの二項演算子の記号を
この節の加筆が望まれています。応用
ブーリアン演算
「ブーリアン演算」を参照CG業界用語でその名も「ブーリアン演算」と呼ばれているものであるが、立体などの図形を集合としてとらえる数学的な手法をそのまま工学的に応用したもので、かつそのまま具体化される点で、直観的にわかりやすい応用のひとつである。
ディジタル回路設計
ブール論理は論理回路の設計にも使われる。その場合、0 と 1 はディジタル回路でのビットの異なる2つの状態を表し、電圧の高低に対応させることが、現代では多い(必ずしもそうしなければならないわけではない)。回路は変数を含む式で表され、変数が回路の入力、式を評価した結果が回路の出力に相当する。入力と出力の対応が完全に与えられれば、それをブール論理の式で表現することができる。
ANDゲート、ORゲート、NOTゲートのような基本論理回路だけを使うこともできるが、NANDゲート、NORゲート、XORゲートなども組み合わせてディジタル回路を構成することができる。組み合わせ方は、演算子の優先順位に従って直列や並列に結合する。
データベース
データベース管理システム等によるデータベースの操作は、各データベースを集合、クエリ結果などを部分集合、データベースに含まれる個々のデータを集合の要素とみなすと、ある種、集合の操作のようなものとみなすことができる。特に関係データベースは、データベースの操作が集合代数にもとづき整理・定義されているデータベースである(関係代数 (関係モデル) )。以下では、関係データベースの代表的なクエリ言語であるSQLの具体例を示す。
SELECT文の例を示す。
- SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'Smith' AND FIRST_NAME = 'John' ;
- SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'Smith' OR FIRST_NAME = 'John' ;
- SELECT * FROM EMPLOYEES WHERE NOT LAST_NAME = 'Smith' ;
複数のブール演算がある場合、括弧を使って演算の順序を制御することもある:
- SELECT * FROM EMPLOYEES WHERE (NOT LAST_NAME = 'Smith') AND (FIRST_NAME = 'John' OR FIRST_NAME = 'Mary') ;
必要に応じて括弧をいくつも入れ子にすることも可能である。複数の表をブール演算で組み合わせることを結合と呼ぶ。
検索エンジン
検索エンジンに代表される、検索を行なうネットサービスでも、ブール演算にもとづく検索式が使えるものがある。例として、Google検索のものを示す。
- 論理積には記号を使用しない。従って、キーワードを2つ並べた場合、論理積と解釈される。
- "キーワード1" "キーワード2"
- 論理和には "OR" を使用する。
- "キーワード1" OR "キーワード2"
- マイナス記号で論理否定を表す(実際にはAND NOT)。
- "キーワード1" -"キーワード2"
カッコは使えない。
(Google Scholarでは "OR" を使うと排他的論理和(XOR)の操作が行われる)[要出典]
関連項目
外部リンク
- The Calculus of Logic, by George Boole, Cambridge and Dublin Mathematical Journal Vol. III (1848), pp. 183-98.
- Logical Formula Evaluator (for Windows), 論理式の取りうる値を全て計算するソフトウェア
- How Stuff Works - Boolean Logic
「Boolean logic」の例文・使い方・用例・文例
- Boolean logicのページへのリンク