IT用語を超やさしく理解する
論理演算と真理値表
別名: 論理演算 / 真理値表 / AND / OR / NOT / XOR / boolean logic
先に知っておくと分かりやすいことば(1語)
必要なら先に確認できます。知っていることばは、そのまま読み進めて大丈夫です。
- 命題と真偽命題の意味、真・偽、真理値、命題にならない文の例を初心者向けに説明します。
30秒で思い出す
論理演算は、真・偽を組み合わせて新しい真・偽を求める計算です。
代表的な演算は次の4つです。
- AND(論理積): 両方が真のときだけ真
- OR(論理和): 少なくとも一方が真なら真
- NOT(否定): 真と偽を反転する
- XOR(排他的論理和): 片方だけが真のとき真
結果をすべての入力パターンについて並べた表が真理値表です。
まず命題を用意する
論理演算では、真・偽を持つ命題を組み合わせます。
たとえば、
P: 利用者が社員である
Q: 利用者が停止中である
とします。
PやQの真理値が決まれば、P AND Q、P OR Q、NOT Q のような条件の真理値も計算できます。
AND(論理積)
ANDは、両方が真のときだけ真です。
P Q P AND Q
真 真 真
真 偽 偽
偽 真 偽
偽 偽 偽
「条件Aも条件Bも満たす」と読むと分かりやすくなります。
OR(論理和)
ORは、少なくとも一方が真なら真です。
P Q P OR Q
真 真 真
真 偽 真
偽 真 真
偽 偽 偽
日常語の「どちらか一方」と違い、論理ORでは両方が真でも真です。
NOT(否定)
NOTは真と偽を反転します。
P NOT P
真 偽
偽 真
「Pではない」と考えます。
XOR(排他的論理和)
XORは、2つのうち片方だけが真のとき真です。
P Q P XOR Q
真 真 偽
真 偽 真
偽 真 真
偽 偽 偽
ORとの違いは、両方が真のときです。
- OR: 真
- XOR: 偽
真理値表の読み方
真理値表は、入力の組合せを漏れなく並べて論理式の結果を確認するための表です。
2つの命題P、Qなら、
真 真
真 偽
偽 真
偽 偽
の4通りを確認します。
複雑な式では、一度に答えを出そうとせず、途中の演算を列に分けると安全です。
たとえば、
P AND (NOT Q)
なら、
- NOT Qを求める
- PとNOT QのANDを求める
という順番で考えます。
ド・モルガンの法則
否定を含む論理式には、次の関係があります。
NOT (P AND Q) = (NOT P) OR (NOT Q)
NOT (P OR Q) = (NOT P) AND (NOT Q)
覚えるときは、
「全体を否定すると、ANDとORが入れ替わり、それぞれの命題も否定される」
と考えると整理しやすくなります。
たとえば「PとQが両方とも成立しているわけではない」は、「Pが偽、またはQが偽」と同じ真理値です。
集合との対応
集合演算と論理演算には似た構造があります。
- 積集合 ↔ AND
- 和集合 ↔ OR
- 補集合 ↔ NOT
ただし、集合は要素の集まり、論理演算は真理値の計算です。
似ているからといって同じものとして扱わず、演算の構造が対応していると理解します。
どこで使う?
論理演算は、複数の条件を組み合わせる場面で使います。
たとえば、
社員である AND 停止中ではない
という条件なら、
P AND (NOT Q)
のように表せます。
プログラムの条件分岐、検索条件、アクセス制御、データ抽出などで同じ考え方が使われます。
よくある勘違い
ORは必ず片方だけが真?
違います。
ORは少なくとも一方が真なら真なので、両方が真でも真です。
片方だけが真のときに真になるのはXORです。
NOTは0と1を入れ替えるだけ?
真偽を1と0で表す場面ではそう見えますが、NOTの本質は真理値を反転することです。
ANDを先に計算するのは常に暗黙のルール?
式の表記規則に依存します。
教材や問題で括弧がある場合は、まず括弧内を計算します。複雑な式では演算順序を勝手に推測せず、括弧や問題の定義を確認します。
このKnowledgeで扱わないこと
ここでは真理値を使う論理演算を扱います。
AND / OR / NOT / NANDなどをゲート記号や回路として読む方法、組合せ回路、フリップフロップなどは後続Knowledgeへ分けます。
ここまで分かればOK
- AND / OR / NOT / XORの真理値を求められる
- ORとXORの違いを説明できる
- 真理値表から論理式の結果を確認できる
- 複数の条件を簡単な論理式へ置き換えられる
- ド・モルガンの法則の基本形を読める
資格との関係
基本情報技術者試験
- シラバス
- Ver.9.2
- 必要な理解
- 問題で応用できる
- 重要度
- 高
- 分野
- テクノロジ
関連するIT用語
理解できたか確認しよう
答えを選んで、なぜそうなるのかまで確認できます。
確認問題 1
AND・OR・XOR・NOTの真理値を求める
命題Pが真、命題Qも真のとき、「P AND Q」「P OR Q」「P XOR Q」「NOT P」の真理値の組合せとして正しいものはどれですか?
確認問題 2
アクセス条件を論理式で表す
Pを「利用者が社員である」、Qを「利用者が利用停止中である」とします。システムは「社員であり、かつ利用停止中ではない」ときだけアクセスを許可します。
アクセス許可条件を表す論理式として最も適切なものはどれですか?