1
大学数学基礎解説
文献あり

空間充填曲線の構成

589
0
$$\newcommand{diam}[1]{\mathrm{diam} \left( {#1} \right)} \newcommand{nat}[0]{\mathbb{Z}_{\ge 0}} \newcommand{pos}[0]{\mathbb{Z}_{>0}} $$

これは 物工/計数 Advent Calendar 2022 の 20 日目の記事です.

計数工学科 3 年のクマー ( @kuma_program ) と申します.
今の私がインターネット上に公開する文章は競技プログラミングについてのことがほとんどなのですが,今日は競プロに関係のない数学について書いていきたいと思います.

連続写像,全単射写像について

以下では単位区間を $I=[0,1]$, 単位正方形を $S=[0,1]\times [0,1 ]$ で表します.また選択公理も仮定しておきます.$I$ から $S$ への全単射が存在するのは非直感的な集合論の結果の一つです.それでは $I$ から $S$ への連続な全単射は存在するでしょうか?この疑問を解決するのが以下の補題です.

$X$ をコンパクト空間,$Y$ をハウスドルフ空間,$f:X\rightarrow Y$ を連続な全単射とする.このとき $f$ は同相写像である.

$f$ は連続な全単射であるから,$X$ の閉集合の $f$ による像が $Y$ の閉集合であることを示せばよい.$C\subset X$$X$ の閉集合とすると,$X$ はコンパクトであるから $C$ もコンパクトである.$f$ の連続性からその像 $f(C)$ もコンパクトで,$Y$ はハウスドルフ空間であるから $f(C)$ は閉である.(証明終)

ここから以下を得ることができます.

$I$ から $S$ への連続な全単射は存在しない.

$f: I\rightarrow S$ が連続な全単射であると仮定する.$I,S$ はコンパクトハウスドルフ空間であるから補題 1 より $f$ は同相写像である.一方で $I$ から $\frac{1}{2}\in I$ を除くと連結性を失うが,$S$ から任意に 1 点を除いても連結性を保つので $I$$S$ は同相ではない.これは矛盾である.(証明終)

それでは単射性を諦めた場合はどうなるでしょうか.$I$ からの連続像とは $S$ 内のパスですから,それの $S$ における測度は直感的には $0$ になりそうなものです.よって $I$ から $S$ への連続全射を作るのは厳しそうに思えます.しかしそのような直感に反して次が成り立ちます.

$I$ から $S$ への連続な全射写像が存在する.

$I$ から $S$ への連続な全射写像のことを空間充填曲線と呼びます.ここからは空間充填曲線の具体的な構成について書いていきます.このような曲線には様々なものが考えられますが,今回はそのうちの 1 つであるペアノ曲線について書いていきます.

空間充填曲線の構成

以下はこの記事のみにおいて用いる記号や用語です.

線分

$p, q\in S$ に対し $L(p, q) = \{(1-t)p + tq\mid t \in [0, 1]\}$ と表し,$p$$q$ を結ぶ線分と呼ぶ.

折れ線

$C\subset S$$s\in S$ を始点,$t\in S$ を終点とする折れ線であるとは,
$S$ における有限長の点列 $v_0=s, v_1, \ldots, v_n=t\in S$ が存在して $\displaystyle C=\bigcup_{k=1}^n L(v_{k-1}, v_k)$ が成り立つことをいう.始点と終点のことをまとめて端点とよぶ.

空間充填曲線を構成する前に,$S$ 内の折れ線の列 $(C_n)_{n=0,1,\ldots,}$ であって $C_n$ の端点が $\displaystyle \left(\frac{1}{2\cdot 3^n}, \frac{1}{2\cdot 3^n}\right), \left(1-\frac{1}{2\cdot 3^n}, 1 - \frac{1}{2\cdot 3^n}\right)$ であるようなものを以下のように帰納的に構成します :

  • $\displaystyle C_0=\{\left(\frac{1}{2},\frac{1}{2}\right)\}$
  • $n \ge 1$ の場合.$C_{n-1}$$\displaystyle \frac{1}{3}$ 倍に縮小したもの 5 個と,それを $y$ 軸に関して反転させたもの 4 個を図のように交互に並べる.隣り合った $C_{n-1}$ の端点どうしのうちいくつかを図のように線分で結び,全体として 1 つの折れ線になるようにする.これを $C_n$ とする.
    図において,$C_{n-1}$$\frac{1}{3}$ 倍に縮小した図形も $C_{n-1}$ と表記している.また $C_{n-1}$ を左右反転させた図形は $C_{n-1}'$ と表記している.赤や緑の点は $C_{n-1},C_{n-1}'$ それぞれの端点である.

!FORMULA[69][-2145492130][0] の構成. $C_n\ (n \ge 1)$ の構成.

具体的な $C_n$ の形状は以下の図のようになります.($n\ge 3$ の図は描くのが大変だったので省略しました.見たい方は"ペアノ曲線"などで検索すると見つかると思います)

!FORMULA[72][-549657587][0]の形状 $C_n(n=0,1,2)$の形状

折れ線の列 $(C_n)$ が得られましたが,このままでは $C_n$$I$ からの連続像とするにはやや不便なので,$C_n$ を少し伸ばした曲線 $\tilde{C}_n$ を以下で定義します : $C_n$ に線分 $\displaystyle L\left(\left(0, \frac{1}{2\cdot 3^n}\right), \left(\frac{1}{2\cdot 3^n}, \frac{1}{2\cdot 3^n}\right)\right), L\left(\left(1-\frac{1}{2\cdot 3^n}, 1 - \frac{1}{2\cdot 3^n}\right), \left(1, 1 - \frac{1}{2\cdot 3^n}\right)\right)$ をつなげて $\tilde{C}_n$ とする.$\displaystyle \left(0, \frac{1}{2\cdot 3^n}\right),\left(1, 1 - \frac{1}{2\cdot 3^n}\right)$ をそれぞれ $\tilde{C}_n$ の始点と終点とする.

さらに $n\in \nat$ について連続写像 $f_n: I\rightarrow S$ を以下を満たすように定めます (以下を満たすような $f_n$ の定め方は一意に存在します):

  • $f_n(I) = \tilde{C}_n$
  • $f_n(0) = \displaystyle \left(0, \frac{1}{2\cdot 3^n}\right), f_n(1) = \left(1, 1 - \frac{1}{2\cdot 3^n}\right)$
  • $f_n$ は単射である.
  • 任意の $t\in I$ について,$\tilde C_n$ の始点 $\left(0, \frac{1}{2\cdot 3^n}\right) $ から $f_n(t)$ まで折れ線に沿って辿るとその経路長は $3^nt$ である.

!FORMULA[94][-1472264107][0] の構成. $\tilde C_2, f_2$ の構成.

平たく言えば折れ線 $\tilde C_n$ の上を等速度で動くように $f_n(t)$ を定めるということです.

$f_n$ の定め方から以下の命題を示すことができます.
表記の簡略化のため,$1 \le i, j \le 3^n$ を満たす $n, i, j\in \nat$ に対して,$\displaystyle S_{n}({i, j})=\left[\frac{i-1}{3^n}, \frac{i}{3^n}\right] \times \left[\frac{j-1}{3^n}, \frac{j}{3^n}\right]$ と書くことにします.

任意の $n\in \nat, 1 \le i, j, \le 3^n$ について,
$ \displaystyle f_n^{-1}\left(S_n({i, j})\right) = f_{n+1}^{-1}\left(S_n({i, j})\right) = \cdots = f_m^{-1}\left(S_n({i, j})\right) = \cdots $
が成り立ち,これは長さが $\displaystyle\frac{1}{9^n}$ の 1 つの閉区間になっている.(証明略)

この命題 4 を用いると命題 5 を示すことができます.

直径

$(X, d)$ を距離空間とする.空でない有界な部分集合 $A\subset X$ の直径を $\displaystyle \sup_{x, y\in X} d(x, y) $ で定め,$\diam A$ で表す.

任意の $t\in I$ に対して,$(f_n(t))_n$$S$ 内のコーシー列となっている.従って $S$ 内に収束先$f(t)=\displaystyle \lim_{n\rightarrow\infty}f_n(t)$ が存在する.またこの収束は $t\in I$ によらず一様である.

$n\in \nat$ について $\displaystyle \bigcup_{1 \le i, j \le 3^n} S_n(i,j) = S$ であることに注意する.以下の条件を満たす添字の組の列 $((i_n, j_n))_{n=0,1,\ldots}, 1\le i_n, j_n \le 3^n$ をとる:

  • $\forall n\in\nat, f_n(t)\in S_n(i_n, j_n)$
  • $S=S_0(i_0, j_0) \supset S_1(i_1, j_1) \supset \cdots \supset S_n(i_n, j_n) \supset S_{n+1}(i_{n+1}, j_{n+1}) \supset \cdots $

このような $i_n, j_n$ が存在することは補題 4 から従う(詳細は省略する).各 $n\in\nat$ について $f_n(t), f_{n+1}(t), \ldots, \in S_n(i_n, j_n)$ であり,$\diam{S_n(i_n, j_n)} = \frac{\sqrt{2}}{3^n} \rightarrow 0$ であるから $(f_n(t))_n$ はコーシー列である.

$S$ はコンパクトであるから $(f_n(t))_n$ の収束先 $\displaystyle \lim_{n\rightarrow\infty}f_n(t)$ が存在し,これを $f(t)$ とおく.任意の $n\in\nat$ について列 $(f_n(t), f_{n+1}(t), \ldots)$$S_n(i_n, j_n)$ 内のコーシー列でもあるから,$f(t)\in S_n(i_n, j_n)$ である.よって $|f_n(t) - f(t)| \le \diam{S_n(i_n, j_n)} = \frac{\sqrt{2}}{3^n} \rightarrow 0 \ (n\rightarrow\infty)$ であり,この収束は $t$ によらない.(証明終)

折れ線の列の極限として写像 $f:I\rightarrow S$ を得ることができました.さらに次が成り立ちます.

$\displaystyle f: I\rightarrow S, t \mapsto \lim_{n\rightarrow\infty} f_n(t)$ は連続である.

$f_n$ は連続で,$f$ はその一様収束極限であることから従う.(証明終)

全射性の証明

あとは $f$ が全射であることを示せば空間充填曲線を構成できたことになります.証明の前に次の補題を紹介します.

$(X,d)$ を距離空間とする.また $K_1\supset K_2\supset \cdots \supset K_n \supset \cdots $$X$ の空でないコンパクト部分集合の減少列であって, $\displaystyle \lim_{n\rightarrow\infty} \diam{K_n} = 0$ を満たすとする.
このとき $\displaystyle \left|{\bigcap_{n=1}^\infty K_n}\right| = 1$ である.また各 $n$ について $x_n\in K_n$ であるならば,点列 $(x_n)_{n\in\nat}$$\displaystyle {\bigcap_{n=1}^\infty K_n}$ の唯一の元に収束する.

$\displaystyle x, y\in {\bigcap_{n=1}^\infty K_n}$ とすると $\diam{K_n} \ge d(x,y)$ である.一方 $\displaystyle \lim_{n\rightarrow\infty} \diam{K_n} = 0$ より $d(x, y) = 0$, よって $x=y$ である.これは$\displaystyle \left|{\bigcap_{n=1}^\infty K_n}\right| \le 1$ を意味する.
$n\in\pos$ について $x_n\in K_n$ であるとする.各 $n_0\in\pos$ に対して $(x_{n_0+n})_{n\in\nat}$$K_{n_0}$ 内のコーシー列であり,$K_{n_0}$ はコンパクトであるから,収束先 $\displaystyle \lim_{n\rightarrow\infty}x_{n_0+n}\in K_{n_0}$ が存在する.一方 $\displaystyle \lim_{n\rightarrow\infty}x_{n_0+n} = \lim_{n\rightarrow\infty}x_n$ でもあり, $n_0\in\pos$ は任意であるから $\displaystyle\lim_{n\rightarrow\infty}x_n \in{\bigcap_{n=1}^\infty K_n}$ である.(証明終)

$f$ の全射性を証明しましょう.

$f$ は全射である.

$(x,y)\in S$ を任意に取る.以下の条件を満たす添字の組の列 $((i_n, j_n))_{n\in\nat}, 1\le i_n, j_n \le 3^n$ をとる(存在性の証明は省略):

  • $\displaystyle(x,y)\in \bigcap_{n\in\nat} S_n(i_n, j_n)$
  • $S=S_0(i_0, j_0) \supset S_1(i_1, j_1) \supset \cdots \supset S_n(i_n, j_n) \supset S_{n+1}(i_{n+1}, j_{n+1}) \supset \cdots$

$I_n=f_n^{-1}\left(S_n(i_n,j_n)\right)\subset S$ とおくと,補題 4 および $i_n, j_n$ の取り方から $I=I_0\supset I_1\supset I_2\supset \cdots $ が成り立ち,各 $I_n$ は長さ $\frac{1}{9^n}$ の閉区間である.補題 7 より $\displaystyle \bigcap_{n\in \nat} I_n $ の唯一の元 $\displaystyle t\in\bigcap_{n\in \nat} I_n $ が存在する.$I_n$ の定義と補題 4 より $m\ge n$ に対して $f_m(t)\in S_n(i_n, j_n)$ が成り立つ.よって $f_n(t)$ の収束先は $f(t)$$\displaystyle \bigcap_{n\in\nat} S_n(i_n, j_n)$ の元である.補題 7 よりこの収束先は $(x,y)$ に一致する.(証明終)

以上で空間充填曲線を構成することができました.

この曲線を図に描いてみたいところですが,少なくともその全貌を描こうとすると $S$ を覆いつくしてしまうので,何が何だか分からない絵になりそうです.

応用

こんな不思議な曲線が存在したところで工学的な応用なんてあるのか?と思っていましたが,実際に空間充填曲線そのものが使われることはないようです.いかんせん形状が複雑すぎて([1]によるといたるところ微分不可能だそうです)実在する物体をその形にしたりするようなことが絶望的なのだと思います.

ただし上の証明で用いたように折れ線を細かくしていくとやがて正方形全体を覆うようになるという発想自体は画像処理などの分野で用いられるようです[1].

おわりに

個人的な話になりますが,この記事を執筆した経緯について書きたいと思います.
私がいま履修している幾何学の授業で,ある日空間充填曲線の話が少し紹介されていて,そんなものがあるのかと興味をもちました.そしてその具体的な構成を調べようとしたのですが,どのウェブサイトも折れ線の極限として空間充填曲線が得られるとしか書いておらず,それがどういった意味での極限なのか,また全射性はどうやって保証されるのかがなかなか理解できずにいました.色々考えて自分でなんとか練りだしたのがこの記事にある証明です.
特にどこかにある記事をまとめたりしたわけでもないので,何か間違いや説明が至らない点があると思います.遠慮なくコメントなどで指摘して下さると嬉しいです.

応物アドカレ の記事は面白いものばかりで,記事を読むことが最近の毎日の楽しみになっています.企画者と執筆者のみなさんにとても感謝しています.この記事が誰かの暇つぶしにでもなったら私は満足です.

ここまで読んで下さってありがとうございました.

参考文献

投稿日:20221220
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中