上極限集合と下極限集合
定義 1 集合列
集合 Γ が ℕ のとき,集合族 {Aγ}γ ∈ Γ は
{A1, A2, ⋯, An, ⋯}
と表される.これを集合列という.
集合列の和集合・直和・共通部分
$$
\begin{align}
\text{集合列の和集合:} \ \ & \bigcup_{n=1}^\infty A_n\\
\text{集合列の直和:} \ \ & \bigsqcup_{n=1}^\infty A_n\\
\text{集合列の共通部分:} \ \ & \bigcap_{n=1}^\infty A_n
\end{align}
$$
定義 2 上極限集合
$$
\lim_{n\to\infty}\sup A_n = \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k
$$
$x\in \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k$ をまず考えます.これはすべての n に対して
$$
x \in \bigcup_{k=n}^\infty A_k
$$
を意味します.一方,$x \in \bigcup_{k=n}^\infty A_k$ は k ≥ n を満たすある k に対して
x ∈ Ak
これらふたつをあわせると
$$
\bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \{x | \text{すべての n に対して,ある} k\geq n \text{が存在して} x \in A_k\}
$$
上極限集合を無限に多くの k に対して x ∈ Ak と解釈する
x ∈ lim sup An のとき,ある k1 に対して x ∈ Ak1 となります.ここで
$$
\bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \left(\bigcap_{n=1}^{k_1}\bigcup_{k=n}^{\infty} A_k\right) \bigcap \left(\bigcap_{n>k_1}^\infty\bigcup_{k=n}^\infty\right)
$$
であることから,k ≥ k1 + 1 をみたすある k2 についても
x ∈ Ak2
とならなくてはいけません.これを繰り返していくと k1 < k2 < ⋯ < kn < ⋯ で
x ∈ Ak1, x ∈ Ak2, ⋯, x ∈ Akn, ⋯
つまり,x ∈ lim sup An であるならば,無限に多くの k に対して x ∈ Ak ということになります.
逆に,「無限に多くの k に対して x ∈ Ak」であるならば,
任意の n について k ≥ n を満たす x ∈ Ak となるような k が存在する
であるので,
$$
\bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \{x | \text{すべての n に対して,ある} k\geq n \text{が存在して} x \in A_k\}
$$
が成立します.
定義 3 下極限集合
$$
\lim_{n\to\infty}\inf A_n = \bigcup_{n=1}^\infty\bigcap_{k=n}^\infty A_k
$$
下極限集合は,
limn → ∞inf An = {x|ある n が存在して,k ≥ n となるようなすべての k について x ∈ Ak}
と解釈できます
例 1 supとinfの関係
i ∈ ℕ として,集合 Ai を以下のように定義します
$$
A_i = \left\{(x, y) | t_i = 1 - \frac{1}{i}, (x - t_i)^2 + y^2 < 4\right\}
$$
このとき,
$$
\begin{align}
\lim_{n\to\infty} \sup A_n &= \text{青の境界を含まない開集合}\\
\lim_{n\to\infty} \inf A_n &= \text{黒斜線部のの境界を含まない開集合}
\end{align}
$$
また,
limn → ∞inf An ⊆ limn → ∞sup An
であることがわかります.
コード
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
x = np.linspace(-2.5, 3, 1000)
y = np.linspace(-3, 3, 1000)
X, Y = np.meshgrid(x, y)
# Intersection region
region1 = (X - 1)**2 + Y**2 <= 4
region2 = X**2 + Y**2 <= 4
intersection_common = region1 & region2
# Plot
plt.figure(figsize=(8, 6))
plt.contourf(X, Y, region1, levels=[0.5, 1], colors='#B4D7FF', alpha=0.6)
plt.contour(X, Y, region2, levels=[0.5], colors='black')
plt.contourf(X, Y, region1, levels=[0.5, 1], colors='none', hatches=['///'])
# 凡例用パッチ作成
patch_region_sup = mpatches.Patch(color='#B4D7FF', alpha=0.6, label='$\lim\sup A_n$')
patch_region_inf = mpatches.Patch(facecolor='white', hatch='///', label='$\lim\inf A_n$', edgecolor='black')
plt.legend(handles=[patch_region_sup, patch_region_inf])
plt.xlabel('x')
plt.ylabel('y')
plt.axis('equal')
plt.grid(True)
plt.show()
<>:21: SyntaxWarning: invalid escape sequence '\l'
<>:22: SyntaxWarning: invalid escape sequence '\l'
<>:21: SyntaxWarning: invalid escape sequence '\l'
<>:22: SyntaxWarning: invalid escape sequence '\l'
/tmp/ipykernel_3926/2157649176.py:21: SyntaxWarning: invalid escape sequence '\l'
patch_region_sup = mpatches.Patch(color='#B4D7FF', alpha=0.6, label='$\lim\sup A_n$')
/tmp/ipykernel_3926/2157649176.py:22: SyntaxWarning: invalid escape sequence '\l'
patch_region_inf = mpatches.Patch(facecolor='white', hatch='///', label='$\lim\inf A_n$', edgecolor='black')
事象列の上極限集合と下極限集合
(Ω, ℱ, P) を確率空間とします.事象の列 An ∈ ℱ があったとして,
limn → ∞sup An
を考えてみます.
$$
\omega \in \lim_{n\to\infty}\sup A_n = \bigcap_{k=1}^\infty\bigcup_{n=k}^\infty A_n
$$
とすれば,ω は どんなに大きなk をとってもそれ以降の An に必ず含まれることを意味しています.もし ω が有限個の {An1, ⋯, Anm} にのみ属するならば矛盾してしまうので,無限個の An に属していなくてはならないことになります.つまり,
- ℙ(lim sup An) は「ω ∈ Ak を満たすような事象が,たびたび,しかし何回でも起こる確率」と解釈できます
次に,
limn → ∞inf An
これは,ある n 以降全ての k ≥ n で ω ∈ Ak となっているので,
- 「十分先では常に Ak が起こっているという事象」を意味します.
ℙ(lim sup An) は「ω ∈ Ak を満たすような事象が,たびたび,しかし何回でも起こる確率」と解釈できることから
P(Ak , i.o.)
と表記する場合もあります.i.o. は infinitely oftenの略です.