- 目次
- 理解
- お絵描き
- コード
- まとめ
【理解】集合の数学的解説
集合の記号の定義について
集合の定義, 内包表記 $\{x \mid P(x)\}$, 外延表記 $\{ a, b, c, \cdots\}$
定義(集合)
集合とは, 所属するかどうかが明確に定まっているものの集まりのことである.
集合の記法
集合の表し方には内包表記と外延表記がある.
内包表記は, 命題 $P(x)$ が真となる要素 $x$ の集合を $\{ x \mid P(x) \}$ として表記する.
外延表記は, 要素を1つずつ書き並べて $\{a , b, c, \cdots \}$ のように集合を表記する.
たとえば,
$\{x \mid 1 \leq x \leq 3$, $x \textrm{は自然数}\}$
が内包表記です。また,
$\{1, 2, 3\}$
が外延表記です。
これらは同じ集合です。
集合の要素 $(x \in A)$, 空集合 $\emptyset$
定義(要素)
集合に所属するものを要素という.
$x$ が集合 $A$ の要素であるとき,
$x \in A$
と表し, $x$ は $A$ に属するという. また, $y$ が集合 $A$ に属さないことを
$y \not \in A$
とかく.
たとえば,
$A=\{1, 2, 3\}$
のとき,
$2 \in A$ だが, $4 \not \in A$ です。
定義(空集合)
要素が何もない集合を空集合とよぶ.
空集合を $\emptyset$ や $\{\}$とかく.
たとえば,
全体集合 $\{1, 2, 3, 4\}$,
$A=\{1, 2, 3, 4\}$
のとき,
$\overline{A}$ $=\emptyset$ です。
集合の包含関係 $A \subset B$, $A=B$
定義(包含関係)
集合 $A$ と $B$ について,
$\forall x \in A$ $\Longrightarrow$ $x \in B$
であるとき, $A \subset B$ とかく. これを集合 $A$ は $B$ に含まれる, 集合 $B$ は集合 $A$ を含む, 集合 $A$ は $B$ の部分集合である, 等という.
なお, $A \subset B$ でないとき, $A \not \subset B$ とかく.
たとえば,
$A=\{1, 2, 3\}$,
$B=\{1, 2, 3, 4\}$
のとき,
$A \subset B$ だが, $B \not \subset A$ です。
定義(集合の相当)
集合 $A$ と $B$ について,
$A \subset B$ かつ $B \subset A$
であるとき, 集合 $A$ と $B$ は等しいといい, $A=B$ とかく.
なお, $A = B$ でないとき, $A \not = B$ とかく.
たとえば,
$A=\{1, 2, 3\}$,
$B=\{x \in \mathbb{N} \mid 1 \leq x \leq 3\}$
のとき,
$A = B$
です。
共通部分 $A \cap B$, 和集合 $A \cup B$
定義(共通部分)
集合 $A$ と $B$ について, 共通部分 $A \cap B$ を
$x \in A$ かつ $x \in B$
である要素の集合とする.

たとえば,
$A=\{1, 2, 3\}$,
$B=\{2, 3, 4\}$
のとき,
$A \cap B$ $=\{ 2, 3 \}$ です。
定義(和集合)
集合 $A$ と $B$ について, 和集合 $A \cup B$ を
$x \in A$ または $x \in B$
である要素の集合とする.

たとえば,
$A=\{1, 2, 3\}$,
$B=\{2, 3, 4\}$
のとき,
$A \cup B$ $=\{ 1, 2, 3, 4 \}$ です。
差集合 $A \backslash B$, 対称差 $A \bigtriangleup B$
定義(差集合)
集合 $A$ と $B$ について, 差集合 $A \backslash B$, $A-B$ とは,
$x \in A$ かつ $x \not\in B$
である要素の集合とする.

たとえば,
$A = \{1, 2, 3, 4\}$,
$B=\{3, 4, 5\}$
のとき,
$A \backslash B$ $=\{ 1, 2 \}$ です。
定義(対称差)
集合 $A$ と $B$ について, 対称差 $A \bigtriangleup B$ とは,
$A \bigtriangleup B$ $:=(A -B) \cup (B-A)$
で定まる集合である.

たとえば,
$A = \{1, 2, 3, 4\}$,
$B=\{3, 4, 5\}$
のとき,
$A \bigtriangleup B$ $=\{ 1, 2, 5 \}$ です。
全体集合 $U$, 補集合 $\overline{A}$
定義(全体集合)
考える対象全体の集合を全体集合とよぶ.
定義(補集合)
全体集合が $U$ であるとき, 集合 $A$ の補集合 $\overline{A}$ とは, $U \backslash A$, すなわち
$x \not\in A$ かつ $x \in U$
である要素の集合とする.

たとえば,
全体集合 $\{1, 2, 3, 4\}$,
$A=\{2, 3\}$
のとき,
$\overline{A}$ $=\{ 1, 4 \}$ です。
集合に関する関係式について
$\overline{A \cup B} = \overline{A} \cap \overline{B}$, $\overline{A \cap B} = \overline{A} \cup \overline{B}$(ド・モルガンの法則)
ド・モルガンの法則を証明してみよう。
命題(ド・モルガンの法則)
集合 $A$ と $B$ について,
$\overline{A \cap B} = \overline{A} \cup \overline{B}$
$\overline{A \cup B} = \overline{A} \cap \overline{B}$
が成り立つ.


証明.
全体集合を $U$ とする.
■ $\overline{A \cap B} = \overline{A} \cup \overline{B}$ を証明する.
$\overline{A \cap B}$ $=$ $\overline{A} \cup \overline{B}$ $\Longleftrightarrow$ $\overline{A \cap B}$ $\subset \overline{A} \cup \overline{B}$ かつ $\overline{A} \cup \overline{B}$ $\subset \overline{A \cap B}$
$x \in \overline{A \cap B}$ をとる.
$\Leftrightarrow$ $x \in U$ かつ $x \not\in A \cap B$
$\Leftrightarrow$ $x \in U$ かつ ($x \not\in A$ または $ x \not \in B$ )
$\Leftrightarrow$ ( $x \in U$ かつ $x \not\in A$ ) または ( $x \in U$ かつ $ x \not \in B$ )
$\Leftrightarrow$ $x \in \overline{A}$ または $x \in \overline{B}$
$\Leftrightarrow$ $x \in \overline{A} \cup \overline{B}$
以上から,
$\overline{A \cap B}$ $\subset \overline{A} \cup \overline{B}$ かつ $\overline{A} \cup \overline{B}$ $\subset \overline{A \cap B}$
である.
ゆえに, $\overline{A \cap B}$ $=$ $\overline{A} \cup \overline{B}$ が成り立つ.
■ $\overline{A \cup B} = \overline{A} \cap \overline{B}$ を証明する.
さきほど証明した等式 $\overline{A \cap B}$ $=$ $\overline{A} \cup \overline{B}$ について, $A$ を $\overline{A}$, $B$ を $\overline{B}$ に置き換えると,
$\overline{\overline{A} \cap \overline{B}}$ $=$ $\overline{\overline{A}} \cup \overline{\overline{B}}$
$\Leftrightarrow$ $\overline{\overline{A} \cap \overline{B}}$ $=$ $A \cup B$
を得る. この等式の両辺のそれぞれの補集合を考えると,
$\overline{A} \cap \overline{B}$ $=\overline{A \cup B}$
となる.
ゆえに, $\overline{A \cup B}$ $=\overline{A} \cap \overline{B}$ が成り立つ.
たとえば,
$A=\{1, 2\}$
$B=\{2,3\}$,
全体集合 $U=\{1, 2, 3, 4\}$ の場合,
$\overline{A \cap B}$ $=\{1,3,4\}$,
$\overline{A \cup B}$ $=\{4\}$,
$\overline{A} \cup \overline{B}$ $=\{1,3,4\}$
$\overline{A} \cap \overline{B}$ $=\{4\}$
になります。
その他の関係式
余裕ができたら、たくさん掲載します。
【お絵描き】Illustratorでベン図の作成
ベン図の作成(シェイプの結合・分割)
Illustarator(adobe)を使って、ベン図を作る方法を紹介します。
ベン図は集合の重なりを視覚化する図です。
集合の共通部分や和集合などをIllustratorの「シェイプを結合」や「すべてを分割」の機能を利用して色分けする方法も紹介します!
※iPad版Illustratorで作業しています。
Illustratorでシェイプを結合する
ベン図を現す集合として丸の形を2つ用意しました。
左側の黒丸を集合 $A$, 右側の橙丸を集合 $B$ を表す図形とします。

2つの図形が重なるように移動させます。
2つの図形を同時に選択した状態で、次の図に示したマークを押します。(次の図を参照してください。)

すると、シェイプを結合の中に「すべてを合体」「全面オブジェクトで型抜き」「交差」「中マド」といった項目が現れます。

これらの項目を選択すると、図形がその形に結合されます。
それぞれイメージ図が出ているの分かりやすいですね!
1つずつ確認していきましょう。
すべてを合体
「すべてを合体」を使うと、2つの図形がすべて重なり合った図形ができます。もともと上にあった図形の色に統一されます。

ベン図のこの部分は数学では和集合といい、$A \cup B$ として表します。
前面オブジェクトで型抜き
「前面オブジェクトで型抜き」を使うと、2つの図形のうち、前にあった図形で、後ろにある図形を切り抜いた図形ができます。このときの色は、切り抜かられた図形(後ろにある図形)の色のままになっています。

ベン図のこの部分は数学では差集合といい、$A \backslash B$ として表します。
交差
「交差」を使うと、2つの図形が重なっている部分だけの図形ができます。このときは、もともと上にあった図形の色になります。

ベン図のこの部分は数学では共通部分といい、$A \cap B$ として表します。
中マド
「中マド」を使うと、2つの図形の全体から2つの図形が重なっている部分だけを切り抜いた図形ができます。このときも、もともと上にあった図形の色になります。

ベン図のこの部分は数学では対称差といい、$A \bigtriangleup B$ や $A \ominus B$ といった記号で表します。
上記のことから、和集合から共通部分を切り取った集合が対称差ということが成り立ちます。実は、数学の集合の式でも同様に成り立ち、次のように表します。
$$(A\cup B) \backslash (A \cup B) = A \bigtriangleup B$$
Illustratorですべてを分割する
次は、3つのシェイプ(集合)の重なりを色付けていきましょう。
まず、3つの丸い図形を重ねたものに対して、先ほどの操作を見てみます。
3つの図形を同時に選択した状態で「シェイプを結合」の機能を見ます。

「すべてを合体」「前面オブジェクトで型抜き」「交差」「中マド」のそれぞれの機能は3つの図形でも利用できることが分かります。
今回は左下の図形が最も下にあるため、「前面オブジェクトで型抜き」は他の2つの図形で切り抜かれた形になっています。
すべてを分割
分かりやすいように、3つの図形の色をなくして、境界線だけにしました。

3つの図形をすべて選択した状態で「シェイプを結合」のところを押します。
今回は、一番下にある「すべてを分割」を利用しましょう。

そして、図形を選択した状態で「グループを解除する」を押します。(下の図を参照。)

このようにすると3つの図形のそれぞれの重なりで図形を分割することができます。
たとえば、右下のパーツも切り離されているので、右下のパーツだけを動かすこともできます!

他のパーツも切り離されているので、ぜんぶバラバラに操作できます。

「グループを解除」でシェイプを切り離した段階で、それぞれのパーツが別々の図形になったので、それぞれに好きな色を塗ることができます。

このようにすれば、好きなベン図を作って、重なりごとに色分けすることができます。

もちろん、着色してから、各パーツを動かすこともできます。

以上、ベン図を作って、「シェイプを結合」で重なりごとの図形を切り出す方法と、「すべてを分割」で重なりのパーツをすべて切り離す方法を紹介しました。
最後まで、お読みいただき、ありがとうございました!
いろいろな集合について
UpSet Plot(アップセットプロット)
4つ以上の集合のベン図の代わりに、重なりを見やすく表すことができるグラフのこと。(勉強中)

11個の集合までのベン図(外部リンク参照)
こちらのリンク(外部参照)に11次元のベン図まで記載されていました。
面白かったです。
$\{ c \in \mathbb{C}\mid \lim_{n \to \infty} |z_{n}|<\infty\}$ ※マンデルブロ集合
定義(マンデルブロ集合)
複素数の定数 $c$ について, 漸化式 $z_{n+1} = z_n^2 +c$, $z_0=0$ で定義される数列 $\{ z_n \}_{n \in \mathbb{N}}$ を考える.
数列 $\{ z_n \}_n$ が有界であるときの $c \in \mathbb{C}$ の集合をマンデルブロ集合という.

たとえば,
$c=0$ のとき, $z_n =0$ で $\{ z_n \}$ は収束します。
$c=1$のとき, $\{ z_n \}$ は発散します。
【コード】Pythonで集合の処理
集合{要素1, 要素2, …}
set([要素1, 要素2, …])
集合 $A=\{ 1, 2, 3\}$ のようなものを扱う方法をPythonでやってみよう。
Pythonコード
集合は{要素1, 要素2, …}
もしくはset([要素1, 要素2, …])
で表す。
set()
関数はリスト型を集合型に変換する役割をもつ。
空集合はset()
で表す。
入力例①. 集合 $\{1, 2, 3\}$ と 空集合 $\emptyset$ を定義する。
print({1, 2, 3})
print(set([1, 2, 3]))
print(set())

集合の要素の追加.add()
除去.discard()
.remove()
集合に要素を追加したり, 除去したりして, 新しい集合を作ることをPythonで出力してみよう。
Pythonコード
例えば, 集合をA
とする.
要素a
を追加する場合A.add(a)
とする。
要素a
を除去する場合A.discard(a)
もしくはA.remove(a)
とする。(.remove()
はA
にa
が存在しない場合エラーを返す。)
入力例. 集合 $A=\{1, 2, 3\}$ に $4$ を追加して, $1$ を除去した集合を作る。
s = {1, 2, 3}
s.add(4)
print(s)
s.discard(1)
print(s)

集合の演算A|B
A&B
A-B
A^B
など
集合 $A$ と $B$ の和集合 $A \cup B$, 共通部分 $A \cap B$, 差集合 $A \backslash B$, 対称差 $(A\backslash B) \cup (B\backslash A)$ の計算をPythonで出力してみよう。
Pythonコード
例えば, 集合をA
,B
とする.
[演算子の利用]和集合はA | B
, 共通部分はA & B
, 差集合はA - B
, 対称差はA^B
を使う。
[メソッドの利用]和集合はA.union(B)
, 共通部分はA.intersection(B)
, 差集合はA.difference(B)
, 対称差はA.symmetric_difference(B)
を使う。
※メソッドを利用すると, 2つ以上の集合の演算ができる。演算子は2つの集合に対する演算しかできない。
入力例①. 集合 $A=\{1, 2, 3\}$ と $B=\{3, 4\}$ の和集合, 共通部分, 差集合, 対称差を表示する。
A = {1,2,3}
B={3,4}
print(f"和集合: {A|B}")
print(f"共通部分: {A & B}")
print(f"差集合A\B: {A - B}")
print(f"差集合B\A: {B - A}")
print(f"対称差: {A ^ B}")

入力例②. 集合 $A=\{1, 2, 3\}$ と $B=\{3, 4\}$, $C=\{ 3 \}$ の和集合, 共通部分, 差集合, 対称差を表示する。
A = {1,2,3}
B={3,4}
C = {3}
print(f"和集合 A∪B∪C: {A.union(B, C)}")
print(f"共通部分 A∩B∩C: {A.intersection(B, C)}")
print(f"差集合 A\(B∪C): {A.difference(B, C)}")
print(f"対称差 (A\C)∪(C\A): {A.symmetric_difference(C)}")

包含関係の判定A==B
A<=B
A<B
など
集合 $A$ と $B$ について, 等しい $A=B$, 含まれる $A \subset B$, 真に含まれる $A \subsetneq B$, 含む $A \supset B$, 真に含む $A \supsetneq B$ かどうか, 共通部分 $A \cup B$ があるかどうかの判定をPythonで出力してみよう。
Pythonコード
例えば, 集合をA
,B
とする.
[演算子の利用]$A=B$ はA==B
, $A \subset B$ はA <= B
, $A \subsetneq B$ はA < B
, $A \supset B$ はA >= B
, $A \supsetneq B$ はA > B
で判定できる。
[メソッドの利用]$A \subset B$ はA.issubset(B)
, $A \supset B$ はA.issuperset(B)
で判定できる。また, $A \cap B = \emptyset$ であるかはA.isdisjoint(B)
で判定できる。
入力例①. 集合 $A=\{1, 2, 3\}$ と $B=\{2, 3\}$, $C=\{ 1, 2, 3 \}$ の包含関係を調べる。
A = {1, 2, 3}
B = {2, 3}
C = {1, 2, 3}
print(A == B)
print(A <= B)
print(A < B)
print(A >= C)
print(A > C)

入力例②. 集合 $A=\{1, 2, 3\}$ と $B=\{2, 3\}$ の包含関係を調べる。
A = {1, 2, 3}
B = {2, 3}
print(A.issubset(B))
print(A.issuperset(B))
print(A.isdisjoint(B))

ベン図の作成matplotlib_venn
2つか3つの集合について, それらの重なりにある要素の個数をベン図で表示することをPythonで出力してみよう。
Pythonコード
matplotlib_venn
モジュールのvenn2()
venn3()
関数を使う。
ベン図の図示はmatplotlib
モジュールで行う.
2つの集合(A
とB
)のベン図を書く場合は, venn2([A,B])
としてベン図を作成する。
3つの集合(A
とB
, C
)のベン図を書く場合は, venn3([A,B,C])
としてベン図を作成する。
入力例①. 集合 $A=\{1, 2, 3, 4\}$ と集合 $B=\{3, 4, 5, 6\}$ のベン図を表示して, 重なりにある要素の個数を図示する。
pip install matplotlib-venn
from matplotlib_venn import venn2
import matplotlib.pyplot as plt
# 集合
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# ベン図の描画
venn2([A, B], set_labels=('A', 'B'))
plt.show()

入力例②. 集合 $A=\{1, 2, 3, 4\}$ と集合 $B=\{3, 4, 5, 6\}$ のベン図を表示して, 重なりにある要素の個数を図示する。
pip install matplotlib-venn
from matplotlib_venn import venn3
import matplotlib.pyplot as plt
# 集合を定義
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
C = {1, 4, 5, 6, 7}
# ベン図を描く
venn3([A, B, C], set_labels=('A', 'B', 'C'))
# グラフを表示
plt.show()

まとめノート
「集合」とは
所属するかどうかが明確に定まっているものの集まりのこと。
記号
集合 $A$ に $x$ が属すことを $x \in A$ とかく, $x$ は $A$ の要素(元)という. 集合 $A$ に $x$ が属さないことを $x \not\in A$ とかく.
A. 集合の包含関係
集合 $A$ が集合 $B$ に含まれるとき $A \subset B$ とかく. $A$ は $B$ の部分集合ともいう. 含まれないときは $A \not\subset B$ とかく.
B. 集合の演算
- 共通部分:$A \cap B = \{ x \mid x \in A \ \textrm{かつ} \ x \in B \}$
- 和集合:$A \cup B=\{ x \mid x \in A \ \textrm{または} \ x \in B \}$
- 補集合:$\overline{A} (={}^cA)=\{ x \in U \mid x \not\in A \}$( $U$ は全体集合とする)
- 差集合:$A \backslash B=\{ x \mid x \in A \ \textrm{かつ} \ x \not\in B \}$
空集合 $\emptyset$
要素が何もない集合のこと [性質] $A\cap \overline{A}=\emptyset$, $\emptyset \subset A$.
全体集合
考える対象全体の集合のこと [性質] $\overline{U} = \emptyset$, $A \cup \overline{A} = U$.
C. ド・モルガンの法則
① $\overline{A \cup B} = \overline{A} \cap \overline{B}$
② $\overline{A \cap B} = \overline{A} \cup \overline{B}$
ポイント解説
表記
集合の表現方法には2種類ある;
- 内包表記:$\{ x \mid x \ \textrm{は} 5 \textrm{以下の自然数} \}$
- 外延表記:$\{ 1, 2, 3, 4, 5 \}$
A
$\forall x \in A \Rightarrow x \in B$
が $A \subset B$ の定義である。また,
$A \subset B$ かつ $A \subset B$
のとき $A=B$ とする(外延性の公理)。
B
それぞれの集合のベン図;


C
ベン図は次の通り;

発展
ZFC公理系
が集合を保証する。