ブール代数
高等学校情報の既習が望ましい。
導入
[編集]ブール代数(Boolean algebra)またはブール束(boolean lattice)とは、平たく言えば二進数の世界における代数学である。関連分野として、ブール論理をはじめとする古典論理学、組み合わせ論理(論理回路)や順序回路を使用する情報工学・電気回路理論・電子工学などが挙げられる。
束論の立場からみると、ブール代数とは「可補分配束(complemented distributive lattice)」のことである。詳細は後述する。
まずは、ブール代数における演算則を見ていく。
基本演算
[編集]以下、このページで用いる変数(ブール変数)は次を満たすとする。
- ※
-
- ※0, 1はそれぞれ論理学に於ける偽、真に対応する。記号は必ずしも0, 1でなくても良い(例えば甲, 乙でもよい)が、二進数との関連を考えて0, 1を用いることにする。また、をブール領域という。
- 論理和
2変数の少なくとも一方が1のときに1を返す二項演算を論理和(OR演算、sum)という。
論理和を表す記号として、などがある。ただし、はブール代数において別の意味でも用いられるので、あまり使用されない。本書では通常の加算記号 を用いる。
真理値表(truth table)で書くと以下のようになる。
a | b | a+b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
- 論理積
2変数の両方が1のときのみ1を返す二項演算を論理積(AND演算、product)という。
論理積を表す記号として、などがある。もしくは、通常の乗算のように省略して書く。本書では通常の乗算記号 を用いる。
真理値表で書くと以下のようになる。
a | b | a×b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- 否定
ある変数の補集合※を返す単項演算を否定(NOT演算、nagation)または補数(complement)という。
- ※は元を二つしか持たないので、片方の元のみを要素とする集合の補集合はもう片方の元をただ一つの要素に持つ。
否定を表す記号として、がある。本書ではを用いる。
真理値表で書くと以下のようになる。
a | ā |
---|---|
0 | 1 |
1 | 0 |
ブール領域の元と論理和・論理積・否定で構成される数式をブール表現(Boolean expression)という。
- 基本法則
- 有界性
- 恒等則(identity laws)
- 交換則(commutative laws)
- 結合則(associative laws)
- 分配則(distributive laws)
- 相補則(補元則, 可補束, complementary laws)
- 再帰則(対合, reflexive law)
- 吸収則(absorption laws)
- 等冪性
これらの法則はVenn図やVeich図を用いて示すことができる。
また、以下が成り立つ。
- ド・モルガンの法則(de Morgan's law)
これを一般化すると、「ブール代数の論理和・論理積の否定を得るには各値の否定をとって和積を入れ替えた演算を行えばよい」という双対原理(principle of duality)を得る。
参考:二進数における演算をビット演算という。
論理回路への応用
[編集]双対原理をわかりやすく利用するため、正論理(positive logic)・負論理(negative logic)を定義する。
ブール表現であらわされる数全体が二進数の集合に一致するならば、ブール領域の元1, 0は回路の二つの電気的状態やスイッチのON, OFFなどに対応する。コンピュータなどのデジタル回路の基本構成要素である論理ゲートは、その出入力がすべて二つの状態であらわされる。
通常、正論理では高電圧状態(H)を1, 低電圧状態(L)を0に対応させる。
このような回路素子はブール代数学の演算子を電気素子として実現したものである。
現在広く用いられている論理素子の記号は1962年制定のMIL-STD-806B "Graphic Symbols for Logic Diagram"に基づくものであり、本書もこれに倣う。
(以下執筆中)
ブーリアン演算
[編集]代数的話題
[編集]束論関連
[編集]環論関連
[編集]参考文献
[編集]鳥居粛, 藤川英司, 伊藤泰郎『電気数学』森北出版 2003年