対象試験と出題頻度
ド・モルガンの法則は、基本情報技術者・応用情報技術者で出題されるテーマです。
論理式の変形問題や論理回路の等価変換問題で繰り返し登場しており、「AND・ORと否定の関係」を正しく変換できるかが問われます。
FE H23特別 午前問1、FE H25秋 午前問25、AP H25春 午前問2など、複数の試験回で出題実績があります。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★☆☆☆
ランクC(応用)余裕があれば覚える
用語の定義
情報処理試験を勉強していると、「ド・モルガンの法則って結局何をする公式?」と混乱しがちです。
ド・モルガンの法則(De Morgan’s laws)とは、一言で言うと
「AND(論理積)とOR(論理和)を、否定(NOT)を介して相互に変換する法則」
のことです。
イメージとしては、「全員賛成”ではない” = 誰か一人は反対している」という日常の言い換えです。
「AかつBの否定」は「Aの否定またはBの否定」に書き換えられる――この変換ルールがド・モルガンの法則の本質です。
📊 ド・モルガンの法則の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | De Morgan’s laws |
| 分野 | ブール代数(論理演算)・集合論 |
| 核心 | ANDとORを否定を介して相互変換できる |
| 由来 | 19世紀イギリスの数学者 オーガスタス・ド・モルガンが定式化 |
解説
論理演算にはAND(論理積)、OR(論理和)、NOT(否定)という3つの基本操作があります。
ド・モルガンの法則は、この3つの関係を整理するための変換ルールです。
2つの公式
ド・モルガンの法則は、次の2つの式で構成されます。
ド・モルガンの法則(論理演算の表記)
公式①:NOT(A AND B) = (NOT A) OR (NOT B)
記号表記:A・B = A+B
公式②:NOT(A OR B) = (NOT A) AND (NOT B)
記号表記:A+B = A・B
公式①は「AかつBの否定 → Aの否定またはBの否定」、公式②は「AまたはBの否定 → Aの否定かつBの否定」という変換です。
いずれも否定を分配すると、ANDとORが入れ替わるという点が共通しています。
▶ 真理値表で確認する(クリックで展開)
公式①の両辺が本当に等しいことを、真理値表で確認します。
公式① NOT(A AND B) = (NOT A) OR (NOT B)
| A | B | A AND B | NOT(A AND B) | NOT A | NOT B | (NOT A) OR (NOT B) |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 |
黄色の列同士を見比べてください。4パターンすべてで結果が一致しています。公式②も同じ手順で確認でき、全パターンで両辺が一致します。
日常の言葉で理解する
公式を丸暗記するより、日本語に置き換えた方が記憶に残ります。
公式①の日常訳:「AとBの両方を満たすわけではない」=「Aを満たさない、またはBを満たさない」
公式②の日常訳:「AもBもどちらも満たさない」=「Aを満たさない、かつBを満たさない」
ポイントは「全体の否定を個々に分配すると、”かつ”と”または”が入れ替わる」という一点だけです。
集合論での表記
ド・モルガンの法則は、集合の演算でもまったく同じ構造で成り立ちます。
IPAの試験シラバスでも「論理演算」と「集合」の両方でこの法則が言及されています。
論理演算と集合の対応
| 論理演算 | 集合演算 | 読み方 |
|---|---|---|
| A・B = A+B | A∩B の補集合 = Aの補集合 ∪ Bの補集合 | 積集合の補集合 = 補集合の和集合 |
| A+B = A・B | A∪B の補集合 = Aの補集合 ∩ Bの補集合 | 和集合の補集合 = 補集合の積集合 |
論理演算の問題で出るか、集合の問題で出るかは試験回によって異なりますが、やっていることは同じです。
では、この法則が試験でどのように出題されるか見ていきましょう。
💡 ド・モルガンの法則の核心を3行で
・NOT(A AND B) = (NOT A) OR (NOT B)
・NOT(A OR B) = (NOT A) AND (NOT B)
・否定を個々に分配すると、ANDとORが入れ替わる
試験ではこう出る!
ド・モルガンの法則は、論理式の変形問題・論理回路の等価変換問題として、基本情報技術者と応用情報技術者の午前試験で繰り返し出題されています。
出題パターンは大きく2つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H23特別 午前 問1 |
論理式 (A+B)・(A+C) と等しいものを選ぶ問題。 | ・法則を適用して否定付きのAND・ORを変換できるか ・二重否定の除去と組み合わせた変形 |
| FE H25秋 午前 問25 |
論理式 A・B+A・B+A・B と同じ結果の論理回路を選ぶ問題。 | ・法則の「逆適用」で式をまとめられるか ・NAND回路との対応 |
| AP H25春 午前 問2 |
(A∪B)∩(A∪B) と等価な集合を選ぶ問題。 | ・集合演算での法則適用 ・ベン図による検算も有効 |
📝 IPA試験での出題パターン
パターン1:「論理式を変形して等しいものを選べ」
否定付きの論理式が問題文に提示され、4つの選択肢から等価な式を選ぶ形式。ド・モルガンの法則を知らないと全パターンを真理値表で確認する必要があり、時間を大幅にロスする。法則を使えば2〜3行の変形で即答できる。
パターン2:「論理回路の等価変換を選べ」
NAND回路やNOR回路を含む回路図が提示され、等価な論理回路を選ぶ形式。NAND(=AND+NOT)の出力をさらに否定するケースなどで、法則の適用が必要になる。
試験ではここまででOKです。「否定を分配するとANDとORが入れ替わる」という一点を押さえ、二重否定(NOTのNOTは元に戻る)とセットで使えれば得点できます。深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. ド・モルガンの法則の説明として、最も適切なものはどれでしょうか?
- A. 論理式において、A AND (B OR C) を (A AND B) OR (A AND C) に展開できる法則である。
- B. 論理式において、AND(論理積)とOR(論理和)の全体を否定すると、個々の否定に分配され、ANDとORが入れ替わる法則である。
- C. 論理式において、A XOR B を A AND (NOT B) OR (NOT A) AND B に分解できる法則である。
正解と解説を見る
正解:B
解説:
ド・モルガンの法則は、ANDやORの全体に否定をかけると、否定が個々の要素に分配され、ANDとORが入れ替わるという変換ルールです。NOT(A AND B) = (NOT A) OR (NOT B)、NOT(A OR B) = (NOT A) AND (NOT B) の2式がその内容になります。
選択肢Aは分配法則の説明です。ANDをORに対して分配する変換であり、否定の関与はありません。選択肢Cは排他的論理和(XOR)の展開式の説明です。XORの定義に関する等式であり、ド・モルガンの法則とは無関係です。
よくある質問(FAQ)
Q. ド・モルガンの法則は3つ以上の変数でも使えますか?
使えます。変数が3つの場合、NOT(A AND B AND C) = (NOT A) OR (NOT B) OR (NOT C) となり、変数がいくつ増えても同じルールが成り立ちます。試験では2変数のケースが大半ですが、仕組みとして「何個でも適用可能」と知っておくと安心です。
Q. ド・モルガンの法則はプログラミングでも使いますか?
頻繁に使います。たとえば条件分岐の if(!(A && B)) を if(!A || !B) に書き換えるのは、ド・モルガンの法則そのものです。可読性を上げるためのリファクタリングや、条件式のバグ修正で日常的に登場します。
Q. NAND回路やNOR回路との関係は?
NAND回路の出力は NOT(A AND B) です。ド・モルガンの法則により、これは (NOT A) OR (NOT B) と等価です。つまり「NAND回路1つ」と「2つのNOT回路+OR回路」は同じ動作をします。NOR回路も同様で、NOT(A OR B) = (NOT A) AND (NOT B) から、「NOR回路1つ」と「2つのNOT回路+AND回路」が等価になります。論理回路の設計や試験の回路等価変換問題で、この関係が直接問われます。
Q. ベン図で解く方法と法則で解く方法、どちらが試験向きですか?
変数が2つまでならベン図でも対応できますが、法則を使った式変形の方が圧倒的に速いです。ベン図は描くのに時間がかかるうえ、変数が3つになると図が複雑化します。普段の学習ではベン図で「なぜ成り立つか」を納得し、本番では式変形で解くのが効率的です。