ベン図
ベン図(ベンず、もしくはヴェン図、英: Venn diagram)とは、複数の集合の関係や、集合の範囲を視覚的に図式化したものである。イギリスの数学者ジョン・ベン (John Venn) によって考え出された。ベンにゆかりの深いケンブリッジ大学のゴンヴィル・アンド・キーズ・カレッジには、ベン図を描いたステンドグラスがある。
Contents
概要
各集合をひとつの閉曲線(例えば円)の内部で表し、相関関係をその閉曲線の交わり方によって表す。例えば、オイラーは、集合 A が集合 B の部分集合であることを、左図のように表した。
しかし、ベンは同じことを右図のように表した。斜線は、その領域に元が存在しないことを表す。よって、左の円が表す集合に属する元は全て右の円が表す集合に属する。
ベンの方法では、各々の集合に属するか否かの全ての可能性に対して、領域を対応させる。したがって、n 個の集合のベン図は 2n 個の領域を持つ。そして、各々の領域について、(現代的な感覚とは逆であるが)元が存在しないことを斜線で表し、元が存在することをばつ印で表す。どちらも記されていない場合は、元が存在するかどうか不明である。
これに対し、オイラーの方法では必ずしも n 個の集合の図で 2n 個の領域を持つとは限らず、領域が存在しないことは元が存在しないことを意味する。例えば、先の例では A に属して B に属さない元は存在しない。このオイラー流の図も、現代ではしばしばベン図と呼ばれるが、厳密に区別したいときは、オイラー流の図をオイラー図、2n 個の領域を持つ図をベン図と呼び分ける。
ベンの方法では、斜線は元が存在しないことを意味したが、現代では逆に斜線を引いたり色を付けたりして、その領域に注目することが多い。例えば、右図は左の円を集合 A、右の円を集合 B としたときの、A と B の共通部分 A ∩ B を意味する。
多数の集合のベン図
ベン図は、2つまたは3つの集合のものが典型的であるが、ベンは4つ以上の集合についても考えている。4つの円では平面を16個の領域に分けることは不可能であり、楕円を用いる必要がある。5つ以上の場合は、さらに複雑な図を描かなければならない。
- Venn3.svg
3つの集合のベン図
- Venn's four ellipse construction.svg
楕円を用いた4つの集合のベン図
- Symmetrical 5-set Venn diagram.svg
楕円を用いた5つの集合のベン図はBranko Grünbaumが考案した
- Venn4.svg
4つの集合のベン図
- Venn5.svg
5つの集合のベン図
- Venn6.svg
6つの集合のベン図
論理演算とベン図
論理演算をベン図で表すことがある。ベン図は本来は集合についての関係を表すもので、論理演算に対してベン図を用いるのは本来の使い方ではないが、現実には、集合代数と論理演算がブール代数として等価であることから、論理演算を視覚的にわかりやすく表現する手法としてしばしばベン図が用いられる。
論理演算をベン図で表す場合、円は論理演算の入力値を表す論理変数に対応し、円の内部はその変数の値(真理値)が真(1、もしくはT)であること、円の外部は偽(0、もしくはF)であることを表す。論理演算の出力値を真にする入力値の組に対応する領域に斜線を引いたり色を付けたりすることで、入力値と出力値の関係を表す。例えば、右図は左の円をP、右の円をQとして、PとQの論理積 (AND) P ∧ Q をベン図で表したものである。これは集合 A と集合 B の共通部分 A ∩ B を表すベン図と見かけは同じだが、論理演算 P ∧ Q を表すものとみなす場合、円は集合を意味するものではないことに注意が必要である。
左円:P 右円:Q 赤色:真 白色:偽
200px | 200px | 200px |
論理和 (OR) | 論理否定 (NOT) | 論理積の否定 (NAND) |
P ∨ Q | ¬P | ¬(P ∧ Q) |
200px | 200px | ベン図による含意 |
論理和の否定 (NOR) | [math]P \leftrightarrow Q[/math] | 含意(IMP) |
¬(P ∨ Q) | (P ∧ Q) ∨ ¬(P ∨ Q) | (P → Q) ⇔ (¬P ∨ Q) |
200px | ||
排他的論理和 (XOR) | ||
(P ∨ Q) ∧ ¬(P ∧ Q) |
下図は、集合演算を表す場合のベンの方法に対応する表し方で、黒色の領域は「対応する入力値の組合せが起こらない」ことを表す。
左円:P 右円:Q
200px | 200px |
P ⇔ Q | P ⇒ Q |
[math](P \leftrightarrow Q) \Leftrightarrow {\rm true}[/math] | (P → Q) ⇔ true |