· 

マンデルブロ集合

昨年、盛岡中央高校附属中学校に勤務していた時に、1年生のある生徒から、マンデルブロ集合に関心があるので概略を教えて欲しいと言われとことがありました。フラクタルはその複雑さに心が打たれます。しかもシンプルな規則だけで美しい図形を描くことができるので、中高生にも味わってもらいたい分野でもあります。もう30年以上前からになりますが、私は「なんとなくフラクタル」というテーマで授業にフラクタルの教材を取り入れていました。等比数列とか、行列の一次変換とか、指数対数関数、複素数平面など、フラクタルのテイストを味合わせる単元は結構あるのです。

さて、マンデルブロ集合を中学生に説明するとなると、複素数の演算や複素平面の基礎知識が必要になりますが、彼はとても探究心があり、1年の段階で数検3級を持っているから大丈夫だろうと、30分ほどで概略を説明しました。その説明で用いたホワイトボードの板書が下の写真です。

一通り説明をした後、一部分を拡大すると自分自身が現れるという、自己相似性をパソコンで見てもらいます。昔はマンデルブロ集合をパソコンで描画するのはとても時間がかかったものですが、今は瞬時に描けて、部分拡大も平易に行うことができますね。

パソコンを使いながらその美しさに関心を持ち、そこで、そのメカニズムを知りたいという欲求から数学を勉強しだすという流れができれば嬉しいですね。これこそまさに探究的な学びではないかと思います。

ホワイトボードに書いて(描いて)あることを簡単に説明します。

まず、次の複素関数(2次関数)を考えます。

この関数を用いて

という差分方程式を作ります。ある複素数Cに対して、下の式のように初期値を0として、Z1,Z2,Z3・・・を求めていくと、複素数の無限点列が得られます。これを複素力学系といいます。

このようにして点列{zn}を求めていくとCの値によって、以下の様な3つの状態に分類できます。

1 どんどん遠くにいく(絶対値が無限大に発散していく)

2 ある値に収束する

3 いくつかの値をサイクリックに撮り続ける。またはある有界な図形の内点を動き回る。

※ホワイトボードの中央下の図を参照してください。

複素平面上の各点Cに対して、点列{n}を求めたとき、それが上に述べた2か3の状態になるとき(つまり無限遠に飛ばないとき)、その点Cはマンデルブロ集合Mに属するとします。つまり集合の記号を用いてマンデルブロ集合Mを表すと以下のようになります。

複素平面上のすべての点について、それら一つ一つがマンデルブロ集合に属するかどうかを調べるのは、無限に時間がかかりとうてい手計算では無理ですね。そこでパソコンを用いて、ある範囲の複素「格子」平面上でのマンデルブロ集合を調べようという試みが必然的に起きるわけですね。

しかしながら、いくらパソコンが優れていても「無限回操作」を実行させるのは無理なので、以下のような工夫を凝らしてMを求めていくのです。

 

1 ある大きな値をnとして、そこでznの計算を打ち切る(例えば100回)

2 もし計算過程で絶対値が2より大きくなったら、マンデルブロ集合の補集合とみなしセルに色を塗る。

  (回数のレベルによって色を塗り分ける)

 

このようにして、複素「格子」平面上の各点についてMの補集合を塗り絵していき、残っているところがマンデルブロ集合になるということです。


以前、エクセルでマンデルブロ集合を描画するマクロを作りました。しょうもないものですがソースのコードを見ていただければとてもシンプルに作れることがわかると思います。まあ、イメージだけでもつかめるかな。

ダウンロード
ディジタルマンデルブロ集合
エクセルで粗いマンデルブロ集合を図示します
mandel.xls
Microsoft Excel 50.5 KB