ITサポート

セミナー

会員特典

その他

過去のコラム等

Twitter

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■第13回 ブール代数 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  前回までで、2進数の基本的な演算を説明しましたが、最後にもう一つ論理  数学のお話をしたいと思います。  タイトルにもある「ブール代数」というのは、イギリスの数学者「ジョージ  ・ブール」によって考案された概念です。  システム開発において、「○○のとき××」のような条件分岐は頻繁に出て  きてプログラマを悩ませます。  プログラミングの不具合が最も起こりやすいところでもあります。  ブール代数の公理を覚えることで、複雑な条件式を整理したり、条件の矛盾  を指摘するのに役に立つと思います。  ブール代数の基本演算は、否定(NOT)、論理和(OR)、論理積(AND)の3  つから成ります。  前回扱った排他的論理和(XOR)は、上記の3つを合成して作ります。  ※ブール代数では、∨や∧などの演算記号がありますが、このメルマガでは  AND、OR、NOTと表記します。意味は同じです。 ●冪等律  「べきとうりつ」と読みます。  同じもの同士のOR、ANDは、結果も同じになります。  A OR A = A  A AND A = A  ------------------ -------------------  | A | B | A OR B | | A | B | A AND B |  |---|---|--------| |---|---|---------|  | 0 | 0 | 0 | | 0 | 0 | 0 |  |---|---|--------| |---|---|---------|  | 1 | 1 | 1 | | 1 | 1 | 1 |  ------------------ ------------------- ●交換律  OR、ANDの順番を逆にしても、同じ結果になります。  A OR B = B OR A  A AND B = B AND A  ------------------ -------------------  | A | B | A OR B | | A | B | A AND B |  |---|---|--------| |---|---|---------|  | 1 | 0 | 1 | | 1 | 0 | 0 |  |---|---|--------| |---|---|---------|  | 0 | 1 | 1 | | 0 | 1 | 0 |  ------------------ ------------------- ●結合律  複数回同じ演算を行うとき、演算の順番を入れ替えても答えが同じになりま  す。  (A OR B) OR C = A OR (B OR C)  (A AND B) AND C = A AND (B AND C)  ---------------------------------------------  | A | B | C | (A OR B) OR C | A OR (B OR C) |  |---|---|---|---------------|---------------|  | 0 | 0 | 0 | 0 | 0 |  |---|---|---|---------------|---------------|  | 0 | 0 | 1 | 1 | 1 |  |---|---|---|---------------|---------------|  | 0 | 1 | 0 | 1 | 1 |  |---|---|---|---------------|---------------|  | 0 | 1 | 1 | 1 | 1 |  |---|---|---|---------------|---------------|  | 1 | 0 | 0 | 1 | 1 |  |---|---|---|---------------|---------------|  | 1 | 0 | 1 | 1 | 1 |  |---|---|---|---------------|---------------|  | 1 | 1 | 0 | 1 | 1 |  |---|---|---|---------------|---------------|  | 1 | 1 | 1 | 1 | 1 |  ---------------------------------------------  -------------------------------------------------  | A | B | C | (A AND B) AND C | A AND (B AND C) |  |---|---|---|-----------------|-----------------|  | 0 | 0 | 0 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 0 | 0 | 1 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 0 | 1 | 0 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 0 | 1 | 1 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 1 | 0 | 0 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 1 | 0 | 1 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 1 | 1 | 0 | 0 | 0 |  |---|---|---|-----------------|-----------------|  | 1 | 1 | 1 | 1 | 1 |  ------------------------------------------------- ●吸収律  以下のAとBの演算において、元のAと同値になることを吸収律と言います。  ORとANDが対となっているところがポイントです。  (A OR B) AND A = A  (A AND B) OR A = A  -------------------------- --------------------------  | A | B | (A OR B) AND A | | A | B | (A AND B) OR A |  |---|---|----------------| |---|---|----------------|  | 0 | 0 | 0 | | 0 | 0 | 0 |  |---|---|----------------| |---|---|----------------|  | 0 | 1 | 0 | | 0 | 1 | 0 |  |---|---|----------------| |---|---|----------------|  | 1 | 0 | 1 | | 1 | 0 | 1 |  |---|---|----------------| |---|---|----------------|  | 1 | 1 | 1 | | 1 | 1 | 1 |  -------------------------- -------------------------- ●分配律  以下のAとBの演算において、Cの演算を分配できることを分配律と言います。  (A OR B) AND C = (A AND C) OR (B AND C)  (A AND B) OR C = (A OR C) AND (B OR C)  -------------------------------------------------------  | A | B | C | (A OR B) AND C | (A AND C) OR (B AND C) |  |---|---|---|----------------|------------------------|  | 0 | 0 | 0 | 0 | 0 |  |---|---|---|----------------|------------------------|  | 0 | 0 | 1 | 0 | 0 |  |---|---|---|----------------|------------------------|  | 0 | 1 | 0 | 0 | 0 |  |---|---|---|----------------|------------------------|  | 0 | 1 | 1 | 1 | 1 |  |---|---|---|----------------|------------------------|  | 1 | 0 | 0 | 0 | 0 |  |---|---|---|----------------|------------------------|  | 1 | 0 | 1 | 1 | 1 |  |---|---|---|----------------|------------------------|  | 1 | 1 | 0 | 0 | 0 |  |---|---|---|----------------|------------------------|  | 1 | 1 | 1 | 1 | 1 |  -------------------------------------------------------  ------------------------------------------------------  | A | B | C | (A AND B) OR C | (A OR C) AND (B OR C) |  |---|---|---|----------------|-----------------------|  | 0 | 0 | 0 | 0 | 0 |  |---|---|---|----------------|-----------------------|  | 0 | 0 | 1 | 1 | 1 |  |---|---|---|----------------|-----------------------|  | 0 | 1 | 0 | 0 | 0 |  |---|---|---|----------------|-----------------------|  | 0 | 1 | 1 | 1 | 1 |  |---|---|---|----------------|-----------------------|  | 1 | 0 | 0 | 0 | 0 |  |---|---|---|----------------|-----------------------|  | 1 | 0 | 1 | 1 | 1 |  |---|---|---|----------------|-----------------------|  | 1 | 1 | 0 | 1 | 1 |  |---|---|---|----------------|-----------------------|  | 1 | 1 | 1 | 1 | 1 |  ------------------------------------------------------ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━