【フラクタル解説】FNFE Project #9「鍵盤ハーモニカ?」
どうもこんにちは。FNFE Projectへようこそ!
FNFEは「For New Fractal Enthusiasts(新たなフラクタル愛好家へ)」の略です。このコーナーでは「フラクタルに興味があるけど、何から始めたらいいかわからない。。。定義を見ても何が何だかさっぱりだ、、、」という人のために、フラクタルのことを分かりやすく解説していきます。
フラクタルについて一切知らない人でもフラクタルの面白さに気付けるように構成しているので、フラクタルが全く分からないという人でも是非読んでみてください!
今回は「次元」について解説します。
多様性
次元はご存知ですよね。一般的なところでいうと、2次元、3次元、4次元。でもそれだけじゃありません。1次元の端と端を繋げると円になり、2次元の端と端を繋げると球面になります。5次元、11次元、他にも無数にあります。
一般的な意味での次元は「ある空間で座標を特定するのに必要な変数の数」という意味です。例えば2次元の平面ではx、yの2つが決まれば位置が決まるし、3次元空間ではx、y、zと縦横奥が分かれば座標が分かります。
このような普通の意味での次元はルベーグ被覆次元と呼ばれます。
しかし、フラクタル図形では次元の考え方がうまくいきません。例えばコッホ曲線で言うと、「1次元の図形にしては長さが無限だし」「かといって2次元と扱うにも違和感がある」という状態だと思います。そのような状況を解決するために導入されたのがフラクタル次元です。
フラクタル次元には色々な測り方がありますが、共通する大きな特徴としては次元が小数になることがあるということです。
次元はグラデーションで、フラクタルの数だけ次元があるといってもおかしくないでしょう。ということで様々な定義の次元について紹介していきます。
ここからは次元に詳しい古堀函菜(こほり かんな)ちゃんと一緒に見ていきます。

いうほど箱か?
まず初めに紹介するのはボックス次元です。これは格子状のマス目を使ってフラクタルの次元を測定する方法です。
図を使って説明していきましょう。

こんな図形があるとします。この図形は普通に考えたら2次元の図形なんですが、ボックス次元では1次元と2次元の間のどこかとなります。ではどこになるのか実際測ってみましょう。
まず2×2の格子を用意して測りたい図形に重ねます。そして全体のマス目の数と図形が入っているマス目の数を数えます。

今回は4マス:3マスとなりますね。
次は4×4にしていきましょう。さっきと比べて縦横共に2倍細かく測ります。

全体は16マス、図形と重なっている部分は9マスです。
さらに細かくしましょう。

全体は8×8で64マス、重なっている部分は27マスですね。
ここまでまとめると、こんな風になります。
・全体が4マスの時は、3マス重なっている
・全体が16マスの時は、9マス重なっている
・全体が64マスの時は、27マス重なっている
おや???規則性を感じるぞ???となった人はいい視点で見れています。

そうですね。全体のマス目の数が4倍になる(=それぞれの箱の辺の長さが½になる)と、図形と重なっているマス目の数は3倍になります。これを基にしてボックス次元を求めることが出来ます。
重要:ボックス次元の求め方!
箱の一辺の長さが1/nになると図形と重なっているマス目の数がm倍になるとすると、フラクタル次元Dはこうなります。
$${m=n^{D}}$$
では2を何乗したら3になるのかというと、普通には表せないのでlogという特殊な関数を用いてlog₂(3)と表します。(logₙ(m)は「nを何乗したらmになるのか」という意味です。)
ちなみにこの値は大体1.5849625くらいになるので、シェルピンスキーのギャスケットの箱数え次元は約1.585とわかります。

(古堀函菜)ここで一口メモ!「マス目が図形と重なっているか」を判定する基準を紹介するよ!
「マス目と重なっている」と判定される条件は、「正方形の内部を通る」と「正方形の右辺か底辺と完全に重なる」だよ!
黄色いエリアを重なっているエリアとすると、こんな感じになるよ。



こんな基準にすることで、正確に重なり方を取れるんだよ。
あと、図形を測る時、なるべく余白が無いようにすると測定過程での誤差を減らせるよ。

図形によってはなかなか計算が難しいかもしれませんが、このボックス次元は定義もわかりやすくて直感的ですね。
ちなみにこんな方法でも求められます。
①マス目の幅を色々選び、「マス目の幅の逆数」と「重なっているマスの数」を取る(たくさん選ぶほど正確に測れる)
②グラフにプロットする(この時、両方の軸の目盛りはlog(x)のxが1上がるごとに区切るようにする)
③プロットした点から一次関数のグラフを求め、それの傾きを求める
④その値がボックス次元となる
ボックス次元以外にもボックスカウンティング次元とかミンコフスキー=ブーリガン次元とか色々呼び名があるようです。
logハウス
次に紹介するのは相似次元です。相似次元は「図形を何分の一に縮小するのか」と「元の図形を何個合わせるのか」という二つの要素から求められます。
例えばコッホ曲線は、元の図形を三分の一に縮小して、そのコピーを四つ合わせて作られています。

シェルピンスキーのギャスケットであれば、元の図形の二分の一のコピーを三つ合わせて出来ています。

相似次元は以下のようにして求めます。
重要:相似次元の求め方!(各コピーが同じ大きさの時)
元の図形の縦横を1/nに縮小したものを、m個合わせて作られる場合、相似次元は以下のようになる。
$${log_n(m)}$$
この定義はめちゃめちゃ分かりやすいですが、自己相似でないようなフラクタル(マンデルブロ集合など)に対しては定義することが出来ないというデメリットがあります。
ということで、この相似次元の考え方を一般化したのをハウスドルフ次元と言います。ハウスドルフ次元はフラクタル次元の中でも特に重要になってくるものなので、難しくてもしっかり理解した方が良いでしょう。
次元を測りたい図形をSとします。このSは二次元に限らず三次元や一次元でもよいです。そしてSの中で最も離れた2つの点の間の距離を直径と呼び、|S|と表します。

図形Sをすっぽり覆うようないくつかの図形の集合を考えます。この時、それぞれの図形の直径がある正の数 δ を上回らないようにします。このような図形の集合をδ被覆と言います。
δ被覆のイメージはこんな感じです。

さらにもう一個正の数を考えます。これをrとします。δ被覆に属するそれぞれの集合の直径のr乗を求め、それらの総和を求めます。
この時、rとδを固定してSに対して可能なあらゆるδ被覆のうち、その総和が最小になるものを求め、それを$${H^r_δ(S)}$$と表します。
なんか文字が多すぎて訳分からんかもしれないのでここでまとめておきましょう。

さてこのδ、rを固定して小さくしていくと$${H^r_δ(S)}$$は大きくなっていきます。δを少しずつ小さくしていき、最後には極限の考え方を用いてδ=0とすることもできます。この時、$${H^r_δ(S)}$$は無限大になることもあります。(ちなみに極限とは、0.1→0.001→0.00001→…と限りなく近づいていく感じです)
δ=0の極限を$${H^r(S)}$$と表します。
そしてこのrを大きくしていくと$${H^r(S)}$$は小さくなります。こんな式が成り立ちます。

ここで、$${H^r(S)}$$は3パターンの値になります。
・∞
・正の実数
・0
rを色々変えていると、ひとつだけ$${H^r(S)}$$が∞や0にならないようなrが見つかります。その時のH^r(S)がハウスドルフ次元となります。
これがハウスドルフ次元を求める方法です。
....…めんどくさ!!!!!なんだこれ!!!!!と思った方もいるでしょう。確かにハウスドルフ次元は実際に測るには複雑な手順を要します。ですがハウスドルフ次元はフラクタル次元の中でも特に重要なものであり、フラクタル次元と言ったら大体これなので覚えておくべきです。

(古堀函菜)ここで一口メモ!ハウスドルフ次元の仕組みと直感的な解説についてだよ!
一本の線分があるとするじゃん。この線分の長さを半分にして、それをいくつか繋げて元の長さにしたい。線分は何本いるかというと、2本だよね。
同じようにして、一辺が1の正方形を考える。これの縦横を半分にして、それを何個か繋げて元の正方形を作る。必要な正方形は4個だね。

同じようにして、一辺を½にした3次元の立方体を元の大きさにするには8個の立方体を必要とするんだ。
一辺が1/nのk次元図形をm個集めると元の大きさになる。これ、法則性が見えてくるよ。そう。nᵏ=m。この考え方を拡張したのがフラクタル次元なんだ。
コッホ曲線は一辺が1/3の図形を4つ集めて元の大きさにしてるね。3を何乗したら4になるのかは普通には表せないから、logという特別な関数(√みたいなものだね)を使ってlog₃(4)か$${\frac{log4}{log3}}$$と表すんだ。そしてこの数はnᵏ=mで言う所のkで、kは次元だから、これがフラクタル次元になるってわけ。
それと、ハウスドルフ次元$${H^r(S)}$$のrは定規のマス目みたいなイメージなんだ。
一次元➝線分の大きさの量は長さ。
二次元➝平面図形の大きさの量は面積。
三次元➝立体図形の大きさの量は体積。
正方形は二次元の図形だから、長さを測ろうとしてもうまくいかない。あえて長さをつけるなら無限になるだろうな。逆に体積をつけるとしても高さが0だから0になってしまう。大きさの量を正確に測るには、それぞれの図形の次元にぴったり合った単位を選ばないといけないんだ。0.000001次元でもズレちゃダメ。
でもフラクタルだと、長さが無限なのに面積が0だから、一次元でも二次元でもないような微妙な図形が出てくることがある。コッホ曲線やシェルピンスキーのギャスケットはその代表だ。一次元だと測るには大きすぎて、二次元だと測るには小さすぎるということは、その次元は一次元と二次元の間にあると考えられる。この考え方に基づいて導入されたのが、ハウスドルフ次元ってこと!

今のところ知っておくべきフラクタル次元はこの二つだと思います。他の定義も面白いので是非調べてみてください。
◆と◇
コッホ雪片などの閉曲線(内側と外側で分けられるような図形)では境界のみの次元か内側を含むかで次元に違いが出ることがあります。つまりこういう状態です。

左は境界のハウスドルフ次元を測定する様子です。境界の中は図形に含まれていないので、内側を覆う必要はありません。
一方右側は内側も含めた図形のハウスドルフ次元を測定する様子です。内側も図形に含まれるので、境界内部も被覆していますね。
ハウスドルフ次元は図形の被覆に最低でも何個集合が必要かを大切としているので、集合の数で結構次元が変わってきます。右の方が被覆に多くの集合を要するので、右の方が次元が大きくなるといえます。
ちなみに、内側も含めた図形のハウスドルフ次元は、ほぼ確定で2になります。理由はさっき古堀ちゃんが言ってくれた通り、そのような図形は0でも∞でもない面積があるからですね。面積を測れる図形の次元は2となります。
次元展示室
ということで色々な図形のフラクタル次元を見ていこうと思います。

コッホ曲線は縦横を1/3にしたものを4つ合わせているので、nᵏ=mの式に当てはめるとlog₃(4)か$${\frac{log4}{log3}}$$と表せます。これはさっき函菜ちゃんが言ってましたね。
この値はだいたい1.26186とほぼ同じくらいです。つまりコッホ曲線のフラクタル次元は約1.26186(実際は無理数です)となるわけですね。
コッホ曲線を三つ合わせたコッホ雪片の境界の次元も同じくlog₃(4)ですが、内側を含めると面積があるので次元は2となります。

こっからめんどくさいのでフラクタル次元って言ったら基本的には境界の次元を意味することにします。
次はこちら、ドラゴン曲線を見てみましょう。

面積があるので普通に見たら2ですが、境界の次元は異常にめんどくさいです。
λを三次方程式 λ³-λ²-2=0の実数解とすると、フラクタル次元は2log₂(λ)と表されるのですが、、、このλがえぐくて、こんな感じになっています。
$${λ=\frac{1+(28-3\sqrt{87})^{\frac{1}{3}}+(28+3\sqrt{87})^{\frac{1}{3}}}{3}}$$
….だる。
ちなみに2log₂(λ)の値はだいたい1.5236ほどです。

続いてはシェルピンスキーのカーペットです。1/3の図形を8個という形になっていますね。ということはnᵏ=mの式に当てはめるとlog₃(8)となりそうです。
これを求めると、約1.89279となります。シェルピンスキーのカーペットのフラクタル次元は約1.89279ということですね。

三次元の図形に対しても同じようにしてフラクタル次元を求めることが出来ます。メンガーのスポンジを例に取りましょう。
縦横だけでなく、奥行きも1/3に縮めていますが、一辺が1/3というのは変わらないのでn=3となります。
元の形が20個集まっているので、m=20となります。ということはlog₃(20)となりますね。log₃(20)≒2.7268なのでフラクタル次元は約2.7268となります。
フラクタル次元は2次元図形の場合n≦2となり、3次元図形の場合はn≦3となるという法則があります。一般に言うとk次元図形のフラクタル次元はkを上回らないということになりますね。
n次元空間充填曲線のフラクタル次元はnになります。空間充填曲線は最終的には空間の全ての点を通って面積・体積のある図形と何ら変わらない状態になるためですね。
以下のgifを見ると2次元空間充填曲線のフラクタル次元が2になる様子が分かりますね。

空間充填曲線以外にもフラクタル次元がきっかり2になるような曲線が存在します。それはマンデルブロ集合の境界です。

これはマンデルブロ集合の境界が平面上の曲線として(空間充填曲線などと並んで)あり得る最も複雑な曲線であるということを意味しています。すごいですね。
フラクタル次元は1を下回ることもあります。カントール集合というものが例としてあげられます。
カントール集合は、以下のような手順を無限回繰り返してできる集合です。
①線分を三等分する
②中央の線分を取り除く
③残った線分でも①②を行う
④③を無限回行う
この図は上記の方法でカントール集合を作り出す様子を模式的に表した図です。下に行くにつれステップを繰り返しています。

あるいは、0, 1の区間に含まれる全ての数を三進数に変換したとき、そのどの桁にも1が含まれないような数の集合、とも言うことが出来ます。
ではカントール集合のフラクタル次元を求めるにはどうすれば良いのでしょうか。
カントール集合をよく見てみると、2つの縦棒で1つのペア、みたいになっているとわかります。つまりnᵏ=mで言うところのmは2となります。また三等分というところからnは3となります。つまり3ᵏ=2となるようなkがカントール集合のフラクタル次元となります。
これをlogで表すとlog₃(2)、あるいは$${\frac{log(2)}{log(3)}}$$となり、計算するとフラクタル次元は約0.6309となります。
(本題とは逸れてしまうのですが、このカントール集合、含まれる点は無限なのにルベーグ測度という長さみたいなものは0になるという面白い特性があります)
カントール集合は一次元である数直線上の図形であるため、次元が1を下回ることはなんとなくわかりますが、実際見てみると直感に反して面白いですね。
まとめ
いかがでしたか?今回は「フラクタル次元」について紹介しました。
一次元なら長さ、二次元なら面積というように、次元ごとに適切な大きさの計測の単位があります。単位が適切でないと量が0や無限になってしまいますが、次元にあった適切な単位があれば正確に量を測ることが出来ます。これに基づいた考え方がフラクタル次元ということです。
フラクタル次元にはいろいろな求め方が有り、全体のマス目と重なるマス目をもとにして計測するボックス次元、図形を被覆して求めるハウスドルフ次元の二つが重要と学びました。
フラクタル次元は小数になることや、ルベーグ被覆次元と完全に同じになることもあると学びました。線なのに面積があったり、境界と内部で次元が違ったりなど、直感に反するのって面白いですよね。
次回、#10ではワイエルシュトラス関数、高木曲線などのフラクタル系の関数について紹介しようと思います。次回は8/12に投稿予定です。お楽しみに!
お知らせ
FNFE Projectの公式キャラクターができました!
才木珠莉亜ちゃんです!これからよろしく!(これからはマンデルブロ集合・ニュートンフラクタル等のエスケープタイムフラクタルの解説としても登場します)

需要は絶対に確定でマジで一切無いと思うんですけど、ファンアートは#FNFEFAまで。
参考にしたサイト・書籍
岩波科学ライブラリー「フラクタル」
ケネス・ファルコナー著、服部久美子訳
※この記事で利用した画像はパブリックドメインのものを拾ってきたか自作です。
