冪集合

Basis
最終更新: タグ: Set Theory

前提知識

どんな集合にも、隠れた相棒がいる。それはその集合のすべての部分集合からなる集合で、冪集合(べきしゅうごう、power set)と呼ばれる。冪集合は元の集合よりも必ず真に大きくなる — 無限集合であっても例外ではない。冪集合は組合せ論、論理学、位相幾何学、計算機科学など幅広い分野に登場するので、早めに理解しておくと後々とても役に立つ。

定義

AA を集合とする。AA冪集合 P(A)\mathcal{P}(A) は、AA の部分集合をすべて元として持つ集合として定義される:

P(A)    {SSA}.\mathcal{P}(A) \;\coloneqq\; \{S \mid S \subseteq A\}.

P(A)\mathcal{P}(A) の元はそれ自体が集合であるという点が、最初はちょっと不思議に感じるかもしれない。どんな AA に対しても、必ず P(A)\mathcal{P}(A) に含まれると保証される部分集合が2つある:

  • P(A)\emptyset \in \mathcal{P}(A):空集合はすべての集合の部分集合だから。
  • AP(A)A \in \mathcal{P}(A)AA は常に自分自身の部分集合だから。

冪集合を順番に構成する

A={1,2,3}A = \{1, 2, 3\} としよう。すべての部分集合を大きさごとにまとめると次のようになる:

大きさ部分集合
0\emptyset
1{1}\{1\}, {2}\{2\}, {3}\{3\}
2{1,2}\{1,2\}, {1,3}\{1,3\}, {2,3}\{2,3\}
3{1,2,3}\{1,2,3\}

したがって:

P({1,2,3})={,  {1},  {2},  {3},  {1,2},  {1,3},  {2,3},  {1,2,3}}.\mathcal{P}(\{1,2,3\}) = \bigl\{ \emptyset,\; \{1\},\; \{2\},\; \{3\},\; \{1,2\},\; \{1,3\},\; \{2,3\},\; \{1,2,3\} \bigr\}.

元の数を数えると 88 個ある。

冪集合の濃度

元の個数が A=n|A| = n の有限集合 AA に対して、

P(A)=2n.(1)|\mathcal{P}(A)| = 2^n. \tag{1}

なぜ 2n2^n なのか? AAnn 個の元それぞれについて、「部分集合に含める」か「含めない」かの2択がある。nn 個すべての選択の組み合わせの総数は

2×2××2n 個=2n\underbrace{2 \times 2 \times \cdots \times 2}_{n \text{ 個}} = 2^n

となる。これが P(A)\mathcal{P}(A)2A2^A とも書く理由だ。

例で確認。 {1,2,3}=3|\{1,2,3\}| = 3 なので、P({1,2,3})=23=8|\mathcal{P}(\{1,2,3\})| = 2^3 = 8。上で列挙した8つの部分集合と一致する。

小さいケースをいくつか覚えておくと便利だ:

| A|A| | P(A)|\mathcal{P}(A)| | 例 | |-------|--------------------|----| | 00 | 11 | P()={}\mathcal{P}(\emptyset) = \{\emptyset\} | | 11 | 22 | P({a})={,{a}}\mathcal{P}(\{a\}) = \{\emptyset, \{a\}\} | | 22 | 44 | P({a,b})={,{a},{b},{a,b}}\mathcal{P}(\{a,b\}) = \{\emptyset, \{a\}, \{b\}, \{a,b\}\} | | 33 | 88 | (上の例のとおり) | | 1010 | 10241024 | — |

P()={}\mathcal{P}(\emptyset) = \{\emptyset\} は元を1個(空集合そのもの)持つことに注意 — 0個ではない。

二進文字列との対応

各部分集合 SAS \subseteq A には、AA のどの元が SS に含まれるかを示す特性関数(とくせいかんすう、characteristic function)が対応する:

1S ⁣:A{0,1},a{1aS0aS\mathbf{1}_S \colon A \to \{0, 1\}, \quad a \mapsto \begin{cases} 1 & a \in S \\ 0 & a \notin S \end{cases}

A={1,2,3}A = \{1, 2, 3\} で元の順序を (a1,a2,a3)=(1,2,3)(a_1, a_2, a_3) = (1, 2, 3) とすると、P(A)\mathcal{P}(A) と長さ3の二進文字列の間に全単射(ぜんたんしゃ、bijection)が得られる:

部分集合二進文字列 (a1,a2,a3)(a_1, a_2, a_3)
\emptyset(0,  0,  0)(0,\;0,\;0)
{1}\{1\}(1,  0,  0)(1,\;0,\;0)
{2}\{2\}(0,  1,  0)(0,\;1,\;0)
{3}\{3\}(0,  0,  1)(0,\;0,\;1)
{1,2}\{1,2\}(1,  1,  0)(1,\;1,\;0)
{1,3}\{1,3\}(1,  0,  1)(1,\;0,\;1)
{2,3}\{2,3\}(0,  1,  1)(0,\;1,\;1)
{1,2,3}\{1,2,3\}(1,  1,  1)(1,\;1,\;1)

長さ3の二進文字列はちょうど 23=82^3 = 8 個あり、これは式 (1)(1) を独立に裏付けている。

この全単射 P(A){0,1}A\mathcal{P}(A) \cong \{0,1\}^A が、表記 2A2^A の深い意味だ:22 は集合 {0,1}\{0, 1\} を表し、{0,1}A\{0,1\}^AAA から {0,1}\{0,1\} へのすべての写像の集合を意味する。

無限集合の冪集合

無限集合に対しては式 (1)(1) はそのまま使えないが、本質的な考え方は生き続ける。カントールの定理は、任意の集合 AA に対して AA から P(A)\mathcal{P}(A) への全射(ぜんしゃ、surjection)は存在しないと述べている。すなわち:

A<P(A)|A| < |\mathcal{P}(A)|

これは、AA から P(A)\mathcal{P}(A) への単射(a{a}a \mapsto \{a\} という写像)は存在するが全単射は存在しないという意味だ。冪集合は、たとえ両方が無限であっても、元の集合よりも必ず真に大きい。

まとめ

  • 冪集合 P(A)\mathcal{P}(A)AA のすべての部分集合からなる集合で、その元は集合である。
  • P(A)\mathcal{P}(A) には必ず \emptysetAA 自身が含まれる。
  • 有限集合に対しては P(A)=2A|\mathcal{P}(A)| = 2^{|A|} — 元を含めるかどうかの二択の組み合わせ分だけ部分集合がある。
  • 各部分集合は長さ A|A| の二進文字列に対応し、全単射 P(A){0,1}A\mathcal{P}(A) \cong \{0,1\}^A が得られる。これが別表記 2A2^A の由来だ。
  • カントールの定理:任意の集合 AA に対して P(A)\mathcal{P}(A)AA より真に大きく、AA から P(A)\mathcal{P}(A) への全射 AP(A)A \twoheadrightarrow \mathcal{P}(A) は存在しない。