集合と論理とは?命題・逆裏対偶・論理演算を基礎から理解しよう
はじめに
ITの基礎理論では、集合や論理という考え方が登場します。
数学のように見える分野ですが、集合と論理の考え方は、プログラミングやデータベース、論理回路など、ITのさまざまな分野につながる基礎知識です。
この記事では、
- 集合とは何か
- 和集合・積集合・補集合
- 命題とは何か
- 逆・裏・対偶
- AND・OR・NOT・XOR
- 真理値表
- ド・モルガンの法則
について順番に整理していきます。
1. 集合とは
**集合(Set)**とは、
条件に当てはまるものを、ひとまとまりにしたもの
です。
そして、集合に含まれる一つ一つのものを要素と呼びます。
例えば、
A = {1, 2, 3}
という集合があったとします。
この場合、
集合:A
要素:1、2、3
となります。
要素が集合に含まれていることを表す
「1は集合Aに含まれている」という関係は、
1 ∈ A
と表現します。
一方、4は集合Aに含まれていないため、
4 ∉ A
と表現できます。
空集合
要素が一つも存在しない集合を空集合と呼び、
∅
と表します。
🍯 はちみつメモ
集合は「条件に当てはまるものの集まり」。 集合に入っている一つ一つのものを「要素」と呼びます。
2. 部分集合とは
ある集合の要素が、すべて別の集合にも含まれている場合を考えてみましょう。
A = {1, 2}
B = {1, 2, 3}
集合Aの要素である1と2は、どちらも集合Bに含まれています。
このような場合、
AはBの部分集合である
といいます。
つまり部分集合とは、
ある集合の要素が、すべて別の集合にも含まれている関係
です。
3. ベン図で集合を考える
集合の関係を視覚的に表現するときによく使われるのが、**ベン図(Venn diagram)**です。
例えば、
A:ネットワークが好きな人
B:AWSが好きな人
という二つの集合を考えてみます。
すると、
- ネットワークだけが好きな人
- AWSだけが好きな人
- 両方が好きな人
- どちらにも当てはまらない人
というように分類できます。
ベン図を使うと、このような集合の重なりを視覚的に確認できます。
4. 和集合
二つの集合AとBについて、
AまたはBの少なくともどちらかに含まれる要素
を集めたものを和集合といいます。
記号では、
A ∪ B
と表します。
例えば、
A = {1, 2, 3}
B = {3, 4, 5}
なら、
A ∪ B = {1, 2, 3, 4, 5}
です。
3はAとBの両方に含まれていますが、集合では同じ要素を重複して書きません。
🍯 はちみつメモ
和集合は「AまたはB」。 AとBの少なくとも一方に含まれている要素を集めます。
5. 積集合
二つの集合AとBの両方に含まれている要素を集めたものを積集合といいます。
記号では、
A ∩ B
と表します。
例えば、
A = {1, 2, 3}
B = {3, 4, 5}
なら、
A ∩ B = {3}
となります。
つまり積集合は、
「Aにも入っている、かつBにも入っている」
という考え方です。
6. 補集合
ある集合に含まれていない要素を考えるのが補集合です。
補集合を考えるときは、まず対象としているすべての要素を含む全体集合を決めます。
例えば、
全体集合 U = {1, 2, 3, 4, 5}
A = {1, 2, 3}
だったとします。
全体集合Uのうち、Aに含まれていない、
{4, 5}
がAの補集合です。
つまり、
「Aではないもの」
と考えると分かりやすいでしょう。
7. 差集合
集合Aには含まれているものの、集合Bには含まれていない要素を集めたものを差集合といいます。
例えば、
A = {1, 2, 3}
B = {3, 4, 5}
なら、
A - B = {1, 2}
となります。
Aの要素から、Bにも含まれている要素を取り除くイメージです。
8. 論理を理解するための「命題」
ここからは論理について考えていきます。
論理を理解するとき、最初に知っておきたいのが**命題(Proposition)**です。
命題とは、
真(正しい)か偽(正しくない)かを明確に判断できる文
のことです。
例えば、
1 + 1 = 2
は正しいので**真(True)**です。
一方、
1 + 1 = 3
は正しくないので**偽(False)**です。
コンピュータでは、真と偽を次のように1と0で表すこともあります。
| 状態 | 英語 | 数値による表現 |
|---|---|---|
| 真 | True | 1 |
| 偽 | False | 0 |
9. すべての文が命題になるわけではない
文章であれば何でも命題になるわけではありません。
例えば、
今日は暑い
という文では、「暑い」の基準が明確ではありません。
そのため、そのままでは真か偽かをはっきり判断できません。
また、
明日は晴れるかな?
のような疑問文も、真か偽かを主張している文ではありません。
命題かどうかを判断するときには、
その文が真なのか偽なのか、明確に判断できるか
を考えましょう。
10. 「PならばQ」という命題
命題では、
PならばQである
という形がよく登場します。
記号では、
P → Q
と表します。
例えば、
P:整数xは4の倍数である
Q:整数xは2の倍数である
とします。
すると、
P → Q
は、
xが4の倍数ならば、xは2の倍数である
という命題になります。
これは正しいので真です。
この「PならばQ」という命題から、逆・裏・対偶という別の命題を作ることができます。
11. 命題の「逆」
元の命題が、
P → Q
だったとします。
PとQを入れ替えた、
Q → P
を逆といいます。
先ほどの、
P:xは4の倍数である
Q:xは2の倍数である
を使うと、
元の命題
4の倍数 → 2の倍数
つまり、
xが4の倍数ならば、xは2の倍数である
これは真です。
逆
2の倍数 → 4の倍数
つまり、
xが2の倍数ならば、xは4の倍数である
となります。
しかし、例えば6は2の倍数ですが4の倍数ではありません。
そのため、この逆は偽です。
ここで重要なのは、
元の命題が真だからといって、その逆も真とは限らない
ということです。
12. 命題の「裏」
元の命題、
P → Q
について、PとQをそれぞれ否定した、
NOT P → NOT Q
を裏といいます。
先ほどの例なら、
P:4の倍数
Q:2の倍数
なので、
NOT P:4の倍数ではない
NOT Q:2の倍数ではない
となります。
したがって裏は、
xが4の倍数でなければ、xは2の倍数ではない
です。
しかし、6は4の倍数ではありませんが、2の倍数です。
そのため、この裏も偽になります。
13. 命題の「対偶」
元の命題、
P → Q
について、
PとQを入れ替えて、それぞれを否定したもの
を対偶といいます。
NOT Q → NOT P
です。
先ほどの例なら、
xが2の倍数でなければ、xは4の倍数ではない
となります。
これは真です。
ここには非常に重要な関係があります。
元の命題と、その対偶の真偽は必ず一致する
という関係です。
つまり、
P → Q
と
NOT Q → NOT P
は同じ真偽になります。
14. 逆・裏・対偶を整理しよう
元の命題が、
P → Q
の場合をまとめると、次のようになります。
| 種類 | 形 | 操作 |
|---|---|---|
| 元の命題 | P → Q |
そのまま |
| 逆 | Q → P |
PとQを入れ替える |
| 裏 | NOT P → NOT Q |
PとQをそれぞれ否定する |
| 対偶 | NOT Q → NOT P |
入れ替えて、それぞれ否定する |
そして、重要な関係が、
元の命題 ⇔ 対偶
逆 ⇔ 裏
です。
元の命題と対偶は真偽が一致し、逆と裏も真偽が一致します。
🍯 はちみつメモ
P → Qについて、逆:入れ替える
裏:否定する
対偶:入れ替えて否定する特に重要なのは、元の命題と対偶の真偽は必ず一致することです。
15. 命題を組み合わせる「論理演算」
ここまでは「PならばQ」という命題について見てきました。
命題は、AND・OR・NOTなどを使って組み合わせることもできます。
例えば、
A:パスワードが正しい
B:ワンタイムパスワードが正しい
という二つの命題があったとします。
これを、
A AND B
とすれば、
パスワードが正しく、かつワンタイムパスワードも正しい
という条件になります。
代表的な論理演算には、
AND:AかつB
OR :AまたはB
NOT:Aではない
XOR:AとBのどちらか一方
などがあります。
16. 集合と論理はどうつながる?
集合と論理には、似た考え方があります。
集合では、
A ∩ B
→ AとBの両方に含まれる
A ∪ B
→ AまたはBに含まれる
Aの補集合
→ Aに含まれない
と考えました。
一方、論理では、
A AND B
→ AかつB
A OR B
→ AまたはB
NOT A
→ Aではない
と考えます。
対応させると、
| 集合 | 論理 | 考え方 |
|---|---|---|
和集合 A ∪ B |
OR | AまたはB |
積集合 A ∩ B |
AND | AかつB |
| 補集合 | NOT | Aではない |
となります。
つまり、
和集合 ↔ OR
積集合 ↔ AND
補集合 ↔ NOT
という関係として理解できます。
17. AND(論理積)
ANDは、
AとBの両方が真の場合だけ真になる
論理演算です。
真を1、偽を0として整理すると、
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
となります。
つまり、
両方が1のときだけ1
です。
集合では、ANDは積集合に対応します。
18. OR(論理和)
ORは、
AとBの少なくとも一方が真なら真になる
論理演算です。
| A | B | A OR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
つまり、
少なくとも一方が1なら1
です。
注意したいのは、
A = 1
B = 1
の場合もORは1になることです。
ORは「片方だけ」という意味ではありません。
集合では、ORは和集合に対応します。
19. NOT(否定)
NOTは、命題の真と偽を反転させる演算です。
| A | NOT A |
|---|---|
| 0 | 1 |
| 1 | 0 |
つまり、
1 → 0
0 → 1
です。
例えば、
A:パスワードが正しい
なら、
NOT A
は、
パスワードが正しくない
という意味になります。
集合ではNOTは補集合に対応します。
20. XOR(排他的論理和)
**XOR(Exclusive OR:排他的論理和)**は、
AとBのどちらか一方だけが真の場合に真になる
論理演算です。
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
ORとの違いを整理すると、
OR
→ 少なくとも一方が真なら真
XOR
→ どちらか一方だけが真なら真
です。
したがって、
A = 1
B = 1
なら、
OR → 1
XOR → 0
となります。
🍯 はちみつメモ
ORは「少なくとも一方」。
XORは「どちらか一方だけ」。
両方が真の場合に結果が違うのがポイントです。
21. 真理値表とは
AND・OR・NOTなどについて、命題の真偽と演算結果を整理した表を真理値表といいます。
AとBという二つの命題がある場合、
A B
0 0
0 1
1 0
1 1
という4通りの組合せがあります。
AND・OR・XORをまとめると、
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
となります。
真理値表を使えば、
どのような条件で論理式が真になるのか
を整理して確認できます。
22. 「PならばQ」の真理値
先ほど登場した、
P → Q
についても真理値表があります。
| P | Q | P → Q |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ポイントは、
Pが真なのにQが偽の場合だけ、P → Qは偽になる
ことです。
例えば、
「4の倍数ならば2の倍数である」
という約束を考えた場合、
「4の倍数なのに2の倍数ではないもの」が見つかったときだけ、この命題が崩れます。
逆・裏・対偶の真偽を考えるときにも、この「PならばQ」の考え方が重要になります。
23. ド・モルガンの法則
集合や論理を学習するときに重要なのが、ド・モルガンの法則です。
論理では、
NOT (A AND B)
=
(NOT A) OR (NOT B)
そして、
NOT (A OR B)
=
(NOT A) AND (NOT B)
という関係が成り立ちます。
例えば、
A:りんごを買う
B:みかんを買う
とします。
NOT (A AND B)
は、
「りんごとみかんの両方を買う」という状態ではない
という意味です。
これは、
りんごを買わない
OR
みかんを買わない
と同じなので、
NOT (A AND B)
=
(NOT A) OR (NOT B)
となります。
24. もう一つのド・モルガンの法則
続いて、
NOT (A OR B)
を考えてみましょう。
A OR Bは、
りんごを買う
または
みかんを買う
です。
これ全体を否定するので、
りんごも買わないし、みかんも買わない
となります。
したがって、
NOT (A OR B)
=
(NOT A) AND (NOT B)
です。
25. ド・モルガンの法則を覚えるコツ
式をそのまま丸暗記するより、
全体をNOTすると、ANDとORが入れ替わる
と覚えると整理しやすくなります。
NOT (A AND B)
↓
(NOT A) OR (NOT B)
反対も、
NOT (A OR B)
↓
(NOT A) AND (NOT B)
です。
AとBにもそれぞれNOTが付くことを忘れないようにしましょう。
🍯 はちみつメモ
ド・モルガンの法則では、
全体を否定するとANDとORが入れ替わり、それぞれの命題も否定される
と考えると整理しやすくなります。
26. 集合でもド・モルガンの法則は使える
ド・モルガンの法則は論理だけでなく、集合でも成り立ちます。
なぜなら、
積集合 ↔ AND
和集合 ↔ OR
補集合 ↔ NOT
という対応関係があるからです。
そのため、
AとBの積集合の補集合
は、
Aの補集合とBの補集合の和集合
になります。
反対に、
AとBの和集合の補集合
は、
Aの補集合とBの補集合の積集合
になります。
集合と論理は別々の知識に見えますが、同じような構造を持っています。
27. 集合と論理を整理しよう
今回登場した内容を整理してみましょう。
| 内容 | 意味 |
|---|---|
| 集合 | 条件に当てはまるものの集まり |
| 要素 | 集合に含まれる一つ一つのもの |
| 和集合 | AまたはBに含まれる |
| 積集合 | AとBの両方に含まれる |
| 補集合 | Aに含まれない |
| 命題 | 真か偽かを判断できる文 |
P → Q |
PならばQ |
| 逆 | Q → P |
| 裏 | NOT P → NOT Q |
| 対偶 | NOT Q → NOT P |
| AND | AとBの両方が真なら真 |
| OR | AとBの少なくとも一方が真なら真 |
| NOT | 真と偽を反転する |
| XOR | AとBのどちらか一方だけが真なら真 |
| 真理値表 | 真・偽の組合せと演算結果を整理する表 |
| ド・モルガンの法則 | NOTによってANDとORが入れ替わる関係 |
特に押さえておきたいのが、
集合 論理
積集合 A ∩ B ←→ A AND B
和集合 A ∪ B ←→ A OR B
補集合 ←→ NOT A
という対応と、
P → Q
↓ 対偶
NOT Q → NOT P
という命題の関係です。
まとめ
今回は、集合と論理について学びました。
この記事で覚えること
- 集合とは、条件に当てはまるものをまとめたもの
- 和集合は「AまたはB」
- 積集合は「AかつB」
- 補集合は「Aではない」
- 命題とは、真か偽かを明確に判断できる文
P → Qは「PならばQ」を表す- 逆はPとQを入れ替える
- 裏はPとQをそれぞれ否定する
- 対偶はPとQを入れ替えて、それぞれ否定する
- 元の命題と対偶の真偽は必ず一致する
- 逆と裏の真偽も一致する
- ANDは両方が真の場合だけ真
- ORは少なくとも一方が真なら真
- NOTは真と偽を反転させる
- XORはどちらか一方だけが真の場合に真
- 真理値表を使うと論理演算の結果を整理できる
- ド・モルガンの法則では、否定によってANDとORが入れ替わる
集合と論理には、
和集合 ↔ OR
積集合 ↔ AND
補集合 ↔ NOT
という対応があります。
また命題では、
元の命題 ⇔ 対偶
逆 ⇔ 裏
という関係を押さえておきましょう。
🍯 はちみつメモ
集合と論理は、それぞれをバラバラに暗記しないのがポイント!
∪ = OR∩ = AND補集合 = NOTそして、
「PならばQ」と「NOT QならばNOT P(対偶)」の真偽は必ず一致します。