論理演算の数学的基礎となる集合と命題論理。ベン図・真理値表・論理式を理解しましょう。
IPAの基本情報技術者試験シラバスが示す、集合・命題・ベン図・論理演算・真理値表の範囲に沿って整理します。
集合って、高校で習ったやつだよね?
そうそう。
集合は要素の集まりのことで、和集合 (A∪B)・積集合 (A∩B)・補集合 (∁A) といった演算があるのよ。
集合と論理は密接に関係しているのよね。
命題論理は「真または偽」の値を取る文を扱う論理のことよ。
ベン図って、丸を重ねて描くやつですかぁ?
そう。
ベン図は集合関係を視覚化する図のことね。
試験では「次のベン図の網がけ部分を表す式は?」といった問題が定番よ。
重要な法則がこれ。
ド・モルガンの法則 ∁(A∪B) = ∁A∩∁B、∁(A∩B) = ∁A∪∁B。
論理回路の最適化でも使うのよ。
命題の真偽を表で網羅したものが真理値表ね。
論理演算の結果を全パターン書き出せば、論理式の同値変換も検証できるのよ。
『PならばQ』という含意 P→Q は、Pが真なのにQが偽のときだけ偽よ。
日常会話の因果関係ではなく、真理値の組合せで判定するのがポイントね。
数学の集合が、プログラミングの論理演算にそのままつながってるんだね!
具体例: 受講者の集合を数える
全受講者を全体集合U、セキュリティ講座の修了者をA、データベース講座の修了者をBとしましょう。
Aが28人、Bが19人、両方を修了したA∩Bが12人なら、少なくとも一方を修了した人数はどうなる?
|A∪B| = |A| + |B| - |A∩B| なので、28 + 19 - 12 = 35人です。
両方の12人を二重に数えた分だけ引きます。
『どちらも修了していない人』なら、全体集合UからA∪Bを除いた補集合ですねぇ。
『Aだけ』はAからBを引くから、A∩∁Bになるんだ!
確認クイズ
ド・モルガンの法則として正しいものはどれか。
- ∁(A∪B) = ∁A∪∁B
- ∁(A∪B) = ∁A∩∁B
- ∁(A∩B) = ∁A∩∁B
- A∪B = A∩B
こたえを見る
正解: 2. ∁(A∪B) = ∁A∩∁B
ド・モルガンの法則: ∁(A∪B) = ∁A ∩ ∁B および ∁(A∩B) = ∁A ∪ ∁B。「否定すると AND/OR が入れ替わる」と覚えると簡単です。論理回路の最適化や条件式の変形で頻繁に使います。
確認クイズ
集合Aが28人、集合Bが19人、A∩Bが12人のとき、A∪Bは何人か。
- 35人
- 47人
- 59人
- 7人
こたえを見る
正解: 1. 35人
和集合は |A∪B| = |A| + |B| - |A∩B|。したがって 28 + 19 - 12 = 35人です。積集合を引かない47人は、両方に属する人を二重計上しています。