ド・モルガンの法則を10分で完全理解!ベン図で視覚的にわかりやすく解説

数学

「ド・モルガンの法則って何?」「数式を見ても全然ピンとこない…」

そんな悩みを持っていませんか?

ド・モルガンの法則は、数学の集合論や論理学、そしてプログラミングでも使われる重要な法則です。一見難しそうに見えますが、ベン図を使えば誰でも直感的に理解できます。

この記事では、ド・モルガンの法則の基本から、ベン図を使った視覚的な理解方法、そして実生活での応用例まで、初心者にもわかりやすく解説します。

スポンサーリンク

ド・モルガンの法則とは?

ド・モルガンの法則は、19世紀イギリスの数学者オーガスタス・ド・モルガン(Augustus De Morgan, 1806-1871)が定式化した論理法則です。

法則の基本的な考え方

簡単に言うと、ド・モルガンの法則は次のことを示しています。

「全体の否定は、個別の否定の組み合わせに変換できる」

これだけ聞いてもよくわからないと思うので、具体例で見ていきましょう。

日常生活での例

例えば、次のような文章を考えてみてください。

「私はコーヒーと紅茶の両方が好きだ」

この文章の否定(反対の意味)は何でしょうか?

多くの人は「私はコーヒーと紅茶の両方が嫌いだ」と答えたくなるかもしれませんが、これは間違いです

正しい否定は次のようになります。

「私はコーヒーが好きではない、または紅茶が好きではない(あるいはその両方)」

つまり、次の3つのパターンが含まれます。

  1. コーヒーは好きだが紅茶は好きではない
  2. 紅茶は好きだがコーヒーは好きではない
  3. コーヒーも紅茶も両方好きではない

これがド・モルガンの法則の基本的な考え方です。

集合論でのド・モルガンの法則

数学の集合論では、ド・モルガンの法則は2つの公式で表されます。

第1法則:和集合の補集合

公式:

(A ∪ B)' = A' ∩ B'

意味:

「AまたはBに属する要素」以外の要素は、「Aに属さない要素」かつ「Bに属さない要素」と同じです。

第2法則:共通部分の補集合

公式:

(A ∩ B)' = A' ∪ B'

意味:

「AかつBに属する要素」以外の要素は、「Aに属さない要素」または「Bに属さない要素」と同じです。

記号の意味

集合論で使う記号を確認しておきましょう。

  • A ∪ B : AとBの和集合(AまたはBに属する要素)
  • A ∩ B : AとBの共通部分(AかつBに属する要素)
  • A’ : Aの補集合(Aに属さない要素)
  • : 補集合を表す記号

ベン図で視覚的に理解しよう

ド・モルガンの法則は、ベン図を使うと直感的に理解できます。

第1法則をベン図で確認

左辺: (A ∪ B)’

  1. まず、AとBの和集合(A ∪ B)を考えます
  • これはAとBを合わせた部分全体です
  1. その補集合を取ります
  • つまり、AとBの和集合以外の部分を指します

右辺: A’ ∩ B’

  1. Aの補集合(A’)を考えます
  • A以外の部分です
  1. Bの補集合(B’)を考えます
  • B以外の部分です
  1. その共通部分を取ります
  • A以外かつB以外、つまりAにもBにも属さない部分です

結果:

ベン図で確認すると、左辺と右辺は同じ領域を指していることがわかります。

第2法則をベン図で確認

左辺: (A ∩ B)’

  1. まず、AとBの共通部分(A ∩ B)を考えます
  • これはAとBが重なる部分です
  1. その補集合を取ります
  • つまり、AとBの共通部分以外の部分を指します

右辺: A’ ∪ B’

  1. Aの補集合(A’)を考えます
  • A以外の部分です
  1. Bの補集合(B’)を考えます
  • B以外の部分です
  1. その和集合を取ります
  • A以外またはB以外の部分です

結果:

こちらもベン図で確認すると、左辺と右辺は同じ領域を指しています。

具体的な数値例で確認

実際の数字を使って、ド・モルガンの法則が成り立つことを確認してみましょう。

問題設定

全体集合 U = {1, 2, 3, 4, 5, 6, 7, 8, 9}

集合 A = {1, 2, 3, 5, 7}

集合 B = {3, 4, 5, 9}

第1法則の確認

左辺: (A ∪ B)’

  1. A ∪ B = {1, 2, 3, 4, 5, 7, 9}
  2. (A ∪ B)’ = {6, 8}

右辺: A’ ∩ B’

  1. A’ = {4, 6, 8, 9}
  2. B’ = {1, 2, 6, 7, 8}
  3. A’ ∩ B’ = {6, 8}

結果:

左辺と右辺は同じ{6, 8}になりました!

第2法則の確認

左辺: (A ∩ B)’

  1. A ∩ B = {3, 5}
  2. (A ∩ B)’ = {1, 2, 4, 6, 7, 8, 9}

右辺: A’ ∪ B’

  1. A’ = {4, 6, 8, 9}
  2. B’ = {1, 2, 6, 7, 8}
  3. A’ ∪ B’ = {1, 2, 4, 6, 7, 8, 9}

結果:

こちらも左辺と右辺が一致しました!

論理学でのド・モルガンの法則

ド・モルガンの法則は、論理学でも同様に成り立ちます。

論理演算での表現

第1法則:

¬(P ∧ Q) = (¬P) ∨ (¬Q)

「PかつQではない」は「Pでない、またはQでない」と同じ意味です。

第2法則:

¬(P ∨ Q) = (¬P) ∧ (¬Q)

「PまたはQではない」は「Pでない、かつQでない」と同じ意味です。

記号の意味

  • ¬ : 否定(NOT)
  • : 論理積(AND、かつ)
  • : 論理和(OR、または)

日常言語での例

例1: 「今日は晴れていて暑い」の否定

元の文: 今日は晴れている かつ 暑い

否定: 今日は晴れていない または 暑くない

可能性としては次の3つがあります。

  1. 晴れていないが暑い(曇りで蒸し暑い)
  2. 晴れているが暑くない(晴れているが涼しい)
  3. 晴れてもいないし暑くもない

例2: 「成人または男性」の否定

元の文: 成人 または 男性

否定: 成人でない かつ 男性でない

つまり「未成年の女性」となります。

プログラミングでの応用

ド・モルガンの法則は、プログラミングでも頻繁に使われます。

プログラミング言語での表現

多くのプログラミング言語では、次のように書きます。

第1法則:

!(A && B) = !A || !B

第2法則:

!(A || B) = !A && !B

記号の意味:

  • ! : 否定(NOT)
  • && : AND(かつ)
  • || : OR(または)

実用例

条件式を簡略化する時に便利です。

元のコード:

if (!(age >= 18 && hasLicense)) {
    console.log("運転できません");
}

ド・モルガンの法則を適用:

if (age < 18 || !hasLicense) {
    console.log("運転できません");
}

後者の方が読みやすく、理解しやすいコードになります。

論理回路設計での応用

デジタル回路の設計でも、ド・モルガンの法則は非常に重要です。

NAND回路とNOR回路の関係:

  • NANDゲート = 入力を反転したORゲート
  • NORゲート = 入力を反転したANDゲート

この関係性を利用して、回路を簡略化したり、特定のゲートだけで回路を構成したりできます。

覚え方のコツ

ド・モルガンの法則を簡単に覚える方法を紹介します。

「否定が分配される」イメージ

否定(NOT)がカッコの中に分配されると考えましょう。

その際、演算子が逆転します。

  • AND(∩)OR(∪)
  • OR(∪)AND(∩)

ステップで覚える

  1. 外側の否定を中に入れる
  2. 各要素に否定を付ける
  3. ANDとORを入れ替える

具体例で確認

元の式: (A ∩ B)’

  1. 否定を中に入れる → A’ と B’
  2. ∩(AND) を ∪(OR) に変える → A’ ∪ B’

結果: A’ ∪ B’

3つ以上の集合でも成り立つ

ド・モルガンの法則は、3つ以上の集合でも成り立ちます。

3つの集合の場合

第1法則:

(A ∪ B ∪ C)' = A' ∩ B' ∩ C'

第2法則:

(A ∩ B ∩ C)' = A' ∪ B' ∪ C'

一般化

実は、集合がいくつあってもド・モルガンの法則は成り立ちます。

n個の集合の場合:

(A₁ ∪ A₂ ∪ ... ∪ Aₙ)' = A₁' ∩ A₂' ∩ ... ∩ Aₙ'

(A₁ ∩ A₂ ∩ ... ∩ Aₙ)' = A₁' ∪ A₂' ∪ ... ∪ Aₙ'

練習問題

理解を深めるために、いくつか練習問題にチャレンジしてみましょう。

問題1

全体集合 U = {1, 2, 3, 4, 5, 6, 7, 8}

A = {2, 4, 6, 8}

B = {1, 2, 3, 4}

このとき、(A ∩ B)’ を求めてください。

解答:

方法1: 直接計算

  1. A ∩ B = {2, 4}
  2. (A ∩ B)’ = {1, 3, 5, 6, 7, 8}

方法2: ド・モルガンの法則を使う

  1. A’ = {1, 3, 5, 7}
  2. B’ = {5, 6, 7, 8}
  3. A’ ∪ B’ = {1, 3, 5, 6, 7, 8}

どちらの方法でも同じ答えになります。

問題2

次の論理式を簡単にしてください。

¬(¬P ∨ Q)

解答:

ド・モルガンの法則を適用します。

  1. ¬(¬P ∨ Q)
  2. = ¬(¬P) ∧ ¬Q (ド・モルガンの法則)
  3. = P ∧ ¬Q (二重否定の除去)

答え: P ∧ ¬Q

問題3

次の日本語の文章を、ド・モルガンの法則を使って否定してください。

「すべての本が好きだ」

解答:

これは「すべてのxについてA(x)」という形の文章です。

否定すると、ド・モルガンの法則により「あるxについて¬A(x)」となります。

答え: 「好きではない本もある」

間違いやすい答え:

「すべての本が嫌いだ」は否定ではなく、反対の意味になるので注意してください。

実生活での応用例

ド・モルガンの法則は、意外と日常生活でも役立ちます。

検索エンジンでの応用

インターネット検索で「NOT」を使う時、ド・モルガンの法則が関係しています。

例:

検索A: NOT(猫 OR 犬) → 猫も犬も含まない

検索B: (NOT 猫) AND (NOT 犬) → 猫を含まず、かつ犬を含まない

この2つの検索は、ド・モルガンの法則により同じ結果を返します。

条件判断での応用

「少なくとも1つ」や「すべて」といった条件を否定する時に使えます。

例:

「すべての人が冷蔵庫を持っている」の否定は?

→ 「冷蔵庫を持っていない人が少なくとも1人いる」

(「誰も冷蔵庫を持っていない」ではありません)

まとめ:ド・モルガンの法則をマスターしよう

ド・モルガンの法則は、一見難しそうに見えますが、実はとてもシンプルで強力な法則です。

要点のおさらい

2つの基本法則:

  1. (A ∪ B)’ = A’ ∩ B’ : 和集合の否定は、否定の共通部分
  2. (A ∩ B)’ = A’ ∪ B’ : 共通部分の否定は、否定の和集合

覚え方のコツ:

  • 否定が中に分配される
  • ANDとORが入れ替わる

活用シーン

  • 数学: 集合の証明問題を簡単に解ける
  • プログラミング: 条件式を読みやすく簡略化できる
  • 論理回路: 回路設計を効率化できる
  • 日常生活: 複雑な条件の否定を正しく理解できる

コメント

タイトルとURLをコピーしました