- プログラミングにおける集合はデータ構造の一種
- 数学における集合。以下に述べる。
数学における集合(しゅうごう、set, ensemble)とは、いくつか(有限または無限)の「もの」からなる「集まり」である。集合に含まれる「もの」のことを元(げん、element; 要素)という。
集合は、集合論のみならず現代数学全体における最も基本的な概念の一つであり、現代数学のほとんどが集合と写像の言葉で書かれていると言ってよい。
慣例的に、ある種の集合が系(けい、system)や族(ぞく、family)などと呼ばれることもある。実際には、これらの呼び名に本質的な違いはないが細かなニュアンスの違いを含むと考えられている。例えば、方程式系("相互に連立する" 方程式の集合)、集合族("一定の規則に基づく" 集合の集合)、加法族("加法的な性質を持つ" 集合族)など。
導入
集合は「もの」の「集まり」である。集合の
元(要素)として集められる対象となる「もの」は、
数、
文字、
記号などをはじめ、どんなものでも(もちろん集合でも)構わない。
一方で、どんな「集まり」でも集合と呼んで良いわけではない。その「集まり」が集合と呼ばれるためには、対象が「その集まりの元であるかどうかが不確定要素なしに一意に決定できる」ように定義されていなければならない。
- ウィキペディアの記事を例にとって考えると、記事がスタブであるかどうかは人によって判断が分かれるところなので 「"スタブ記事" の集まり」は集合を定義しないが、stubが張ってあるかどうかは誤解の余地がないので「"スタブテンプレートが張られている記事" の集まり」は集合である。
属すること・部分であること
集合と元、集合と集合などの間には含んだり含まれたりといった素朴な関係を考えることができる。対象
a が考えている集合
A の元になっているとき、「
a は集合
A に属す」「集合
A は
a を元として含む」などと言い、
a ∈
A と表す。
2 つの集合 A, B について、A に属する元がすべて B にも属するとき、すなわち a ∈ A ⇒ a ∈ B が a の取り方に依らずに成り立つとき、「A は B の部分集合である」「A は B に集合として含まれる」「B は A を包含する」などといい、A ⊂ B または A ⊆ B と記す。
1 つも要素を含まないような集合を空集合といい、{} または ∅ と表す。全ての集合は空集合を部分集合として含む。
2 つの集合が同じ元を全て含み、なおかつ異なる元を含まないとき、2 つの集合が等しいという。集合 A と B が等しいことを A = B と表す。
部分集合の関係を用いて、次のことが成り立つ:
- A = B ⇔ A ⊆ B かつ A ⊇ B.
集合の記述法
具体的な集合を取り扱うためには、集合を具体的に記述する方法が必要である。たとえば集合に属する元をすべて列挙することが 1 つの方法である。たとえば 10 未満の
自然数におけるのなかで
奇数であるもの全体の集合は
-
と記すことができる。また、集合に属する元が満たすべき条件を明示することも集合を記述する方法である。
- N は全ての自然数からなる集合である。
- N の元は自然数であって、自然数はすべて N に属す。
集合は、順番を入れ替えたり、同じものを付け加えても、もとのものと等しい:
-
記法
外延的記法
「集合に属する元をすべて列挙すること」で集合を記述する方法を集合の
外延的記法と言う。
内包的記法
「ある集合に属するために元が満たさなければならない条件を明示すること」で集合を記述する方法を
内包的記法と言う。対象
x がある集合に属する条件が
P(
x) であるということを {
x |
P(
x)} という記号で表す。つまり
-
と記せば、S は P(x) を満たすようなすべての元 x から構成される集合であるという意味である。なお、"|" のかわりに ":" が用いられることもある。
-
例
- A = {0,1,2,3,4,5},
- B = {n | n ∈ N, n ≤ 5 } (自然数に 0 を含む)
を例にとると、
A は外延的、
B は内包的に記述されてはいるが、
A =
B である。
すべての奇数からなる集合(自然数に 0 を含む場合):
-
これはしばしば、外延的に
- C = {1, 3, 5, 7, ...}
のようにも書かれるが、"..." の部分が何を言っているのかが明らかな場合以外は混乱を生じる恐れがあり、注意して使わなくてはならない。
濃度
集合の元の数のことを
濃度(または
基数)といい、集合
A の濃度を #(
A), |
A|, card(
A) などと書く。
濃度が有限であるような集合のことを
有限集合(ゆうげんしゅうごう、
finite set)と呼び、有限集合でない集合を
無限集合(むげんしゅうごう、
infinite set)という。
自然数、実数の集合はそれぞれ無限集合であるが、その濃度をそれぞれ
0(アレフ・ヌル)、
(アレフ)と書く。
濃度の大小は、集合
A から集合
B への単射 φ:
A →
B が存在するならば #(
A) ≤ #(
B) と定める。
自然数と有理数や、数直線と平面が同じ濃度を持つ、自然数と実数は真に異なる濃度を持つ、は(数学を学ぶ者にとって)よく知られた事実である。
数直線と平面の間の全単射の存在証明
まず、平面 R2上の領域 (0,1]×(0,1] から
数直線 R上の区間 (0,1] への単射を考える。
- (0.a1a3a5a7a9…,0.a2a4a6a8a10…)
という(0,1]×(0,1] 上の点から、(0,1] に含まれる実数、
- 0.a1a2a3a4a5…
を対応させると、これは(0,1]×(0,1]から(0,1]への単射である。
ただし、実数の無限小数展開が二通りあり得る場合には、最後に 0 だけが並ぶことの無いように行うものとする。
この単射は
m,
s,
tを全て整数として、(
s,
s+1]×(
t,
t+1] から (
m,
m+1]への単射に容易に拡張することが出来る。
mを整数として数直線 R は、 Im=(m,m+1] の形の区間にわけることができ、
- I0,I-1,I1,I-2,I2
というように並べることができ、これによって数直線
R を重なりなく覆うことができる。
s,tを整数として、平面 R2 は J(s,t)=(s,s+1]×(t,t+1] の形の領域に分けることができる。|s|,|s+1|,|t|,|t+1| の内、最大のものをnとして、n=1 となるものから順に並べていくことで
- J(0,0),J(-1,0),J(-1,-1),J(0,-1),J(1,0),J(1,1),J(0,1),J(-1,1),…
のような列を作ることができ、これによって平面
R2を重なりなく覆うことができる。
平面 R2 の1番目の領域J(0,0) から数直線 R の 1番目の区間I0 への単射を作ることができ、2番目同士も同じく単射を構成でき…ということを繰り返すことによって、平面 R2 から数直線 Rへの単射が得られる。
一方、R 上の任意の点 x に対して R2上の点 (x,0) を対応させると、これは R から R2 への単射になっている。
R2 から R への単射と、R から R2 への単射が、両方存在するので R2 と R の間に全単射が存在するといえる(ベルンシュタインの定理)。
関連項目
集合論 | 初等数学
Множество | Množina | Menge | Set | Aro | Conjunto | Joukko | Ensemble | 집합 | Verzameling | Zbiór | Conjunto | Множество | Množica | Mängd | Множина | 集合