MathLabs

位相幾何学(トポロジー)

距離空間

距離空間は集合に3つの公理を満たす距離関数を備えたものであり、完備距離空間上の縮小写像は常にただ一つの不動点を持つ(バナッハの定理)。これはPageRank、反復解法、フラクタル画像圧縮を支える原理である。

直観定規なしで距離を測る

GPSは直線距離を、タクシー運転手は街区格子上の距離を、スペルチェッカーは単語間の「編集距離」を使う。この3つがいずれも正当な距離の概念であるのは、同じ3つの常識的な規則を満たしているからだ:距離は決して負にならず、2点が一致するときのみ0になる、AA から BB への距離は BB から AA への距離に等しい、そして点 CC を経由する遠回りは AA から BB への直行より短くなることはない。距離空間とは、まさにこの3つの規則に従う距離関数を備えた集合のことである。

直線 T(x) = 0.5x + 1 が対角線 y = x と不動点 x = 2 で交わるグラフ、縮小写像の反復を図示。
R\mathbb{R} 上の写像 T(x)=0.5x+1T(x) = 0.5x + 1(d(x,y)=∣x−y∣d(x,y)=|x-y| とする)は比 q=0.5q=0.5 の縮小写像であり、任意の2点間の距離を常に半分にする。スライダーを動かして、どの出発点も同じ不動点 x∗=2x^* = 2 に反復収束することを確認しよう。

大学3つの公理

定義: 距離空間

集合 XX 上の距離(メトリック)とは、すべての x,y,z∈Xx,y,z \in X について次を満たす関数 d:X×X→Rd: X \times X \to \mathbb{R} である:(M1)正値性 d(x,y)≥0, d(x,y)=0  ⟺  x=yd(x,y) \ge 0,\ d(x,y)=0 \iff x=y;(M2)対称性 d(x,y)=d(y,x)d(x,y) = d(y,x);(M3)三角不等式 d(x,z)≤d(x,y)+d(y,z)d(x,z) \le d(x,y) + d(y,z)。組 (X,d)(X,d) を距離空間という。

d(x,y)≥0,d(x,y)=0  ⟺  x=yd(x,y)=d(y,x)d(x,z)≤d(x,y)+d(y,z)d(x,y) \ge 0,\quad d(x,y)=0 \iff x=y \qquad d(x,y)=d(y,x) \qquad d(x,z) \le d(x,y)+d(y,z)

重要な例は2つある。Rn\mathbb{R}^n 上の**ℓp\ell_p 距離**は p≥1p \ge 1 に対して dp(x,y)=(∑i=1n∣xi−yi∣p)1/pd_p(x,y) = \left(\sum_{i=1}^n |x_i - y_i|^p\right)^{1/p} である(p=2p=2 で通常のユークリッド距離、p=1p=1 で「タクシー」距離、p→∞p\to\infty で座標差の最大値となる)。連続関数の空間 C([a,b])C([a,b]) 上の上限距離は d∞(f,g)=sup⁡t∈[a,b]∣f(t)−g(t)∣d_\infty(f,g) = \sup_{t \in [a,b]} |f(t) - g(t)| である:2つの関数が近いとは、[a,b][a,b] のどこでもグラフの隔たりが小さいことを意味する。

dp(x,y)=(∑i=1n∣xi−yi∣p)1/pd∞(f,g)=sup⁡t∈[a,b]∣f(t)−g(t)∣d_p(x,y) = \left(\sum_{i=1}^n |x_i - y_i|^p\right)^{1/p} \qquad d_\infty(f,g) = \sup_{t \in [a,b]} |f(t) - g(t)|
Rn\mathbb{R}^n 上の距離の比較
距離公式単位球の形典型的な用途
ℓ1\ell_1(タクシー)∑∣xi−yi∣\sum |x_i-y_i|ひし形スパース復元、街区
ℓ2\ell_2(ユークリッド)∑(xi−yi)2\sqrt{\sum (x_i-y_i)^2}円物理的距離、PCA
ℓ∞\ell_\infty(チェビシェフ)max⁡i∣xi−yi∣\max_i |x_i-y_i|正方形最悪ケース誤差評価

大学球体、完備性、縮小写像

開球 B(x0,r)={x∈X:d(x,x0)<r}B(x_0, r) = \{x \in X : d(x, x_0) < r\} は中心から距離 rr 未満にある点全体である。数列 (xn)(x_n) がコーシー列であるとは ∀ε>0 ∃N ∀m,n>N: d(xm,xn)<ε\forall \varepsilon > 0\ \exists N\ \forall m,n > N:\ d(x_m,x_n) < \varepsilon が成り立つことをいう:項は互いにいくらでも近づくが、まだ固定された極限点に近づくとは限らない。距離空間が完備であるとは、すべてのコーシー列が XX の点に収束することをいう。任意の ℓp\ell_p 距離を持つ Rn\mathbb{R}^n は完備であるが、d(x,y)=∣x−y∣d(x,y)=|x-y| を持つ Q\mathbb{Q} は 2\sqrt{2} が欠けているため完備でない。

大学定理

距離空間内の任意の x,y,zx,y,z について ∣d(x,z)−d(y,z)∣≤d(x,y)|d(x,z) - d(y,z)| \le d(x,y)。

なぜ正しいのか?

これは距離関数自身が各変数についてリプシッツ連続(定数1)であることを示し、距離の極限を安全に取れる根拠になる。

証明

ステップ1 — 三角不等式を2回適用する。(M3)より d(x,z)≤d(x,y)+d(y,z)d(x,z) \le d(x,y) + d(y,z) となり、これを整理すると d(x,z)−d(y,z)≤d(x,y)d(x,z) - d(y,z) \le d(x,y) を得る。同じ公理で xx と yy の役割を入れ替えると d(y,z)≤d(y,x)+d(x,z)=d(x,y)+d(x,z)d(y,z) \le d(y,x) + d(x,z) = d(x,y) + d(x,z)(対称性 d(y,x)=d(x,y)d(y,x)=d(x,y) を使用)となり、整理すると d(y,z)−d(x,z)≤d(x,y)d(y,z) - d(x,z) \le d(x,y)、すなわち −(d(x,z)−d(y,z))≤d(x,y)-(d(x,z)-d(y,z)) \le d(x,y) を得る。

ステップ2 — 2つの評価を組み合わせる。2つの不等式 d(x,z)−d(y,z)≤d(x,y)d(x,z)-d(y,z) \le d(x,y) と −(d(x,z)−d(y,z))≤d(x,y)-(d(x,z)-d(y,z)) \le d(x,y) が同時に成り立つことは、絶対値の定義により、まさに ∣d(x,z)−d(y,z)∣≤d(x,y)|d(x,z)-d(y,z)| \le d(x,y) という主張である:実数 uu が ∣u∣≤c|u| \le c を満たすのは u≤cu \le c かつ −u≤c-u \le c が成り立つときに限る。

(X,d)(X,d) を完備距離空間とし、T:X→XT: X \to X を縮小写像、すなわちある固定された 0≤q<10 \le q < 1 とすべての x,y∈Xx,y \in X について d(T(x),T(y))≤q d(x,y)d(T(x), T(y)) \le q\, d(x,y) が成り立つものとする。このとき TT はちょうど1つの不動点 x∗∈Xx^* \in X(T(x∗)=x∗T(x^*)=x^*)を持ち、任意の x0∈Xx_0 \in X から始めた反復列 xn+1=T(xn)x_{n+1}=T(x_n) は明示的な誤差評価 d(xn,x∗)≤qn1−q d(x1,x0)d(x_n, x^*) \le \dfrac{q^n}{1-q}\, d(x_1, x_0) とともに x∗x^* に収束する。

なぜ正しいのか?

これは存在と一意性に関する問い(この方程式はちょうど一つの解を持つか?)を、収束が保証された機械的な計算に変換し、目標精度に必要な反復回数の事前評価まで与えてくれる。

証明

ステップ1 — 反復列はコーシー列である。x0∈Xx_0 \in X を固定し xn=Tn(x0)x_n = T^n(x_0) とする。縮小性を繰り返し適用すると d(xn+1,xn)=d(T(xn),T(xn−1))≤q d(xn,xn−1)≤⋯≤qn d(x1,x0)d(x_{n+1},x_n) = d(T(x_n),T(x_{n-1})) \le q\,d(x_n,x_{n-1}) \le \dots \le q^n\,d(x_1,x_0)。m>nm > n に対し、三角不等式を経路 xn,xn+1,…,xmx_n, x_{n+1}, \dots, x_m に沿って連ねると d(xm,xn)≤∑k=nm−1d(xk+1,xk)≤∑k=nm−1qk d(x1,x0)≤d(x1,x0)∑k=n∞qk=d(x1,x0) qn1−qd(x_m,x_n) \le \sum_{k=n}^{m-1} d(x_{k+1},x_k) \le \sum_{k=n}^{m-1} q^k\,d(x_1,x_0) \le d(x_1,x_0)\sum_{k=n}^{\infty} q^k = d(x_1,x_0)\,\dfrac{q^n}{1-q}(0≤q<10 \le q < 1 より等比級数の公式を使用)。n→∞n \to \infty で qn→0q^n \to 0 となるため、この末尾評価は0に収束し、(xn)(x_n) はコーシー列である。

ステップ2 — 完備性が極限を与え、連続性がそれを不動点にする。XX は完備なので、コーシー列 (xn)(x_n) はある x∗∈Xx^* \in X に収束する。縮小不等式 d(T(x),T(y))≤q d(x,y)d(T(x),T(y)) \le q\,d(x,y) より TT は(リプシッツ)連続なので、T(x∗)=T(lim⁡nxn)=lim⁡nT(xn)=lim⁡nxn+1=x∗T(x^*) = T(\lim_n x_n) = \lim_n T(x_n) = \lim_n x_{n+1} = x^* となり、x∗x^* は不動点である。

ステップ3 — 一意性。x∗x^* と y∗y^* がともに不動点だとする。すると d(x∗,y∗)=d(T(x∗),T(y∗))≤q d(x∗,y∗)d(x^*,y^*) = d(T(x^*),T(y^*)) \le q\,d(x^*,y^*) より (1−q) d(x∗,y∗)≤0(1-q)\,d(x^*,y^*) \le 0。1−q>01-q>0 なのでこれは d(x∗,y∗)=0d(x^*,y^*)=0、すなわち x∗=y∗x^*=y^* を強制する。

ステップ4 — 誤差評価。ステップ1の評価 d(xm,xn)≤qn1−q d(x1,x0)d(x_m,x_n) \le \dfrac{q^n}{1-q}\,d(x_1,x_0) で m→∞m \to \infty とし dd の連続性を使うと、まさに d(xn,x∗)≤qn1−q d(x1,x0)d(x_n,x^*) \le \dfrac{q^n}{1-q}\,d(x_1,x_0) を得る:nn 回後の真の不動点までの距離は等比的に縮小し、この評価は反復を1回も実行する前に計算できる。

大学実世界での応用と具体例

GoogleのPageRankは、確率ベクトルに繰り返し適用することでウェブリンク行列の優固有ベクトルを計算する——このべき乗反復は確率分布上の ℓ1\ell_1 距離における縮小写像である。反復線形解法(ヤコビ法、ガウス・ザイデル法)は Ax=bAx=b を不動点写像 x↦Cx+dx \mapsto Cx+d に書き換え、AA が対角優位であれば上限距離で縮小写像となる。フラクタル(IFS)画像圧縮は、画像を上限/ハウスドルフ距離を備えた画像空間上の縮小写像の唯一の不動点として表現し、復元は単にその写像を反復するだけである。

例: 確率ベクトル上の縮小写像としてのPageRank

2ページからなる小さなウェブがリンク行列 M=(0.10.90.90.1)M = \begin{pmatrix} 0.1 & 0.9 \\ 0.9 & 0.1 \end{pmatrix} を持つ(各列はダンピング係数付きでランクを再分配する)。r0=(1,0)r_0 = (1,0) から始め、ℓ1\ell_1 距離 d(x,y)=∣x1−y1∣+∣x2−y2∣d(x,y)=|x_1-y_1|+|x_2-y_2| を用いて r1=Mr0r_1 = Mr_0 と r2=Mr1r_2 = Mr_1 を計算し、q=0.8q=0.8 について d(r1,r2)≤q d(r0,r1)d(r_1,r_2) \le q\,d(r_0,r_1) を確かめよ。

解答

ステップ1 — r1r_1 を計算。r1=Mr0=(0.1⋅1+0.9⋅0, 0.9⋅1+0.1⋅0)=(0.1,0.9)r_1 = M r_0 = (0.1 \cdot 1 + 0.9 \cdot 0,\ 0.9 \cdot 1 + 0.1 \cdot 0) = (0.1, 0.9)。

ステップ2 — r2r_2 を計算。r2=Mr1=(0.1(0.1)+0.9(0.9), 0.9(0.1)+0.1(0.9))=(0.01+0.81, 0.09+0.09)=(0.82,0.18)r_2 = M r_1 = (0.1(0.1)+0.9(0.9),\ 0.9(0.1)+0.1(0.9)) = (0.01+0.81,\ 0.09+0.09) = (0.82, 0.18)。

ステップ3 — 距離を計算し縮小比を確認。d(r0,r1)=∣1−0.1∣+∣0−0.9∣=0.9+0.9=1.8d(r_0,r_1) = |1-0.1|+|0-0.9| = 0.9+0.9=1.8。d(r1,r2)=∣0.1−0.82∣+∣0.9−0.18∣=0.72+0.72=1.44d(r_1,r_2)=|0.1-0.82|+|0.9-0.18|=0.72+0.72=1.44。実際 1.44=0.8×1.81.44 = 0.8 \times 1.8 となり q=0.8q=0.8 に正確に一致する(ダンピング係数により MM の行・列和が0.5だけずれることでこの比が生まれる)。これにより反復が縮小し、定常ランクベクトル (0.5,0.5)(0.5,0.5) に収束することが確認できる。

例: 目標圧縮精度に必要な反復回数は?

あるフラクタル画像圧縮のデコーダは、画像上の上限距離に関して比 q=0.6q=0.6 の縮小写像 TT を適用し、最初の2回の反復は d(x1,x0)=100d(x_1,x_0)=100(ピクセル強度単位)を満たす。誤差評価 d(xn,x∗)≤qn1−q d(x1,x0)d(x_n, x^*) \le \dfrac{q^n}{1-q}\, d(x_1, x_0) を用いて、d(xn,x∗)<1d(x_n,x^*) < 1 を保証する最小の nn を求めよ。

解答

ステップ1 — 解くべき不等式を立てる。qn1−q d(x1,x0)<1\dfrac{q^n}{1-q}\,d(x_1,x_0) < 1、すなわち 0.6n0.4×100<1\dfrac{0.6^n}{0.4} \times 100 < 1、すなわち 0.6n<0.0040.6^n < 0.004 が必要である。

ステップ2 — 対数を取る。nln⁡(0.6)<ln⁡(0.004)n \ln(0.6) < \ln(0.004)。ln⁡(0.6)≈−0.5108\ln(0.6) \approx -0.5108 は負なので、割ると不等号の向きが変わり n>ln⁡(0.004)ln⁡(0.6)=−5.521−0.5108≈10.81n > \dfrac{\ln(0.004)}{\ln(0.6)} = \dfrac{-5.521}{-0.5108} \approx 10.81 を得る。

ステップ3 — 最小の整数に切り上げる。n=11n = 11 回の反復で d(xn,x∗)<1d(x_n,x^*) < 1 ピクセル強度単位が保証され、この回数は反復を1回も実行する前から分かっていた——これこそ画像圧縮コーデックにおける事前誤差評価の実用的な価値である。

R\mathbb{R} 上の d(x,y)=(x−y)2d(x,y) = (x-y)^2 で成り立たない性質はどれか?

ℓ2\ell_2 距離を使うと、R3\mathbb{R}^3 における d((1,2,2),(4,6,2))d((1,2,2),(4,6,2)) はいくらか?

同じ問題に対して反復解法の縮小比が q=0.1q=0.1 ではなく q=0.9q=0.9 だとどうなるか?

バナッハの不動点定理が適用できることを保証する条件の組はどれか?

参考文献

  1. Walter Rudin (1976). Principles of Mathematical Analysis
  2. James Munkres (2000). Topology
  3. Shaojie Bai, J. Zico Kolter, Vladlen Koltun (2019). Deep Equilibrium Models · arXiv:1909.01377