ラングトンのアリを探求する

ご自身でパラメータを調整してみてください: : : :

ラングトンのアリ:わずかなルールに従うだけで、予期せぬ軌跡を描き出す

白と黒の格子模様で埋め尽くされた紙の上にアリを置き、そこに「白いマスなら右へ、黒いマスなら左へ曲がる」という2つの単純な命令だけを与えて、そのまま歩かせ続けたら、一体どんな模様ができあがるでしょうか? 複雑に絡み合った線になるのか、それともどこかで同じ場所を行ったり来たりするだけなのか、あるいは何も特別なことは起きないのでしょうか。

しかし、本当に驚くべきことに、このプロセスを十分に長く続けると、アリは突然「道」を見つけたかのように、整然とした斜めの線に沿って、外側へと進み始めるのです。

これが、有名な「ラングトンのアリ」です。

そこには複雑な数式も、乱数も、あるいは多くのルールも存在しません。あるのは1匹のアリと、白黒の格子模様、そしてごく単純な数個のルールだけです。

それにもかかわらず、単純なルールが長時間繰り返されることで、予測不可能なほど複雑な振る舞いが生まれるのです。

ラングトンのアリのルール

あまり複雑に考えず、まずは最も単純なケースから見ていきましょう。

たくさんの小さな正方形で構成された盤面を想像してください。最初はすべてのマスが白で、そのうちの1つのマスにアリが立っています。ここで、アリにいくつかの命令を与えます。

□ □ □ □ □

□ □ □ □ □

□ □ 🐜 □ □

□ □ □ □ □

□ □ □ □ □

ルールはとてもシンプルです。

アリが白いマスにいる場合、右に向きを変え、そのマスを黒色に変えてから、1歩前へ進んで次のマスへ移動します。

アリが黒いマスにいる場合、左に向きを変え、そのマスを白色に変えてから、1歩前へ進んで次のマスへ移動します。

これだけです。非常に単純で、他のルールはありません。アリは「きれいな絵を描こう」とも、「右斜め上へ進もう」とも、あるいは「どこまで進もうか」とも考えていません。ただ、色を見て → 向きを変え → 色を変え → 前に進む。そして、それを何度も何度も繰り返すだけなのです。

最初は、ごく普通に見える

動き始めた当初、アリは自分の周囲をうろついているだけです。白いマスを通ると右に曲がり、そのマスを黒に変えます。次にそこへ戻ってきたとき、黒いマスを見て左に曲がり、再び白に戻します。こうして、アリは周囲を行ったり来たりするのです。

数十歩動かしただけでは、「なんだ、大したことはないな」と思うかもしれません。しかし、すぐに止めてはいけません。

そのまま動かし続けてみましょう。

100歩も進むと、白と黒が入り混じり始めます。小さな四角形ができたり、対称的な構造が現れたりして、全体が複雑な様相を呈してきます。

さらに続けます。

1000歩進むと、アリが通った場所は広がり、残された白黒の模様は、もはや単純な幾何学図形とは呼べないものになっています。次にアリがどこへ向かうのか、予測することさえ困難です。すべてが、ひどく混沌としているように見えます。

では、そのまま続けてみよう

これこそが、ラングトンのアリの最も不思議なところです。そのまま観察を続けると、非常に長く、一見すると何の規則性もないような過程が続くかもしれません。ところが――ある瞬間、突然変化が訪れます。アリは特定の動きのパターンを繰り返すようになり、次第に規則的な構造が現れ、ある方向に向かってひたすら進み始めるのです。

アリは、それまでのように同じ領域をうろつき回ることはなくなります。向きを変え、マスを移動し、また向きを変える……そうして一定の方向に進み続けながら、背後に非常に規則的な白黒の構造を残していくのです。まるで、どこか遠くへ続く道が突然見つかったかのようです。しかも驚くべきことに、その道がどこにあるのか、誰が教えたわけでもないのです。

この構造は、一般的に「ハイウェイ」と呼ばれています。

単純なルールが、単純な結果をもたらすとは限らない

しかし、最初からそうなるような兆しは全く見えません。これこそが、「ラングトンのアリ」において最も考察に値する点なのです。

最初の数十ステップだけを観察すると、「このアリはただデタラメに動き回っているだけだ」と思うかもしれません。数百ステップ観察しても、「やはり混沌としている」と感じるでしょう。かなりの時間が経過しても、最終的にどのような形が出来上がるのかを見抜くのは困難です。

ところが、ルール自体は一切変わっていません。変わったのは、そのルールが何度も何度も繰り返し適用されたという点だけです。

「ラングトンのアリ」が私たちに与えてくれる最も重要な示唆は、システムのルールは非常に単純でありながら、長期的に生み出される挙動は極めて複雑になり得るということです。

私たちは往々にして、「ルールが2、3個しかなければ、結果もそれほど複雑にはならないはずだ」という直感を抱きがちです。しかし、「ラングトンのアリ」は、必ずしもそうではないことを教えてくれます。

単純なルールが、それまでの結果(履歴)に対して繰り返し作用し続けると、システムはますます複雑な状態を生み出していきます。そして、それらの状態が、次のステップで何が起こるかに影響を与えるのです。

つまり、単純さ → 複雑さ → さらなる複雑さ → 新たな構造の創発、という流れになるのです。

アリには実は「記憶」がない

もう一つ、非常に興味深い点があります。アリ自身は、「自分がこれまでどこを通ってきたか」を記憶しておく必要はないのです。ただ、「今、自分の足元は何色か?」を観察しさえすればよいのです。

しかし、システム全体はある種の「記憶」を持っている。

なぜか?それは、アリが通ったマス目を変化させたからです。

こうして、過去に何が起きたのかが白と黒の格子に書き込まれ、次にアリがそこを通るときには、目に映る色はすでに変わっているのです。

そのため過去の行動が現在の環境を変化させ、 そして現在の環境が次の行動に影響を与えるのです。

そのため過去の行動が現在の環境を変化させ、 そして現在の環境が次の行動に影響を与えるのです。

最終的に形成された高速道路を目にすると、「このアリは、自分がどこへ向かっているのかを知っているのではないか?」という錯覚を抱きやすい。

もちろん、違います。そこには目標も、地図も、ナビゲーションも、あらかじめ設計されたルートもありません。ただ機械的に、「白なら右折、黒なら左折」という動作を実行しているだけなのです。

しかし、複雑な行動が、こうした単純なルールから自ずと現れたのです。

これがいわゆる、創発です。

では、なぜアリは最終的に外へ出てしまうのでしょうか?

これは「ラングトンのアリ」の、もう一つの非常に興味深い点です。

「高速道路」が形成された後、ステップ数が非常に大きくなると、アリはその高速道路に沿ってひたすら進み続け、二度と戻ってこなくなります。そして最終的には、本当に画面の外へ出てしまうことがあるのです。

これはプログラムのバグや「暴走」ではありません。アリは単に自分だけの高速道路を見つけ出し、最初からのルールに従って、未知の場所へと進み続けているだけなのです。

一匹のアリ、一枚の盤面、いくつかのルール

ですから、最終的な模様だけを見つめていてはいけません。「ラングトンのアリ」の真の面白さは、その全プロセスにあります。すなわち、「混沌 → 複雑化 → 長期的な変化 → 突然の秩序の出現 → 高速道路(ルート)の形成 → さらなる外側への拡大」という流れです。

これは、私たちが普段目にする多くの数学的な図形とは少し異なります。「ここに美しい最終的な答えがある」というものではなく、「このシステムが自らどのような姿に変わっていくのか、それを見てみよう」というものなのです。

多くの図形における面白さは「パラメータ」にあります。パラメータを変えれば、また別の新しい世界が生まれるからです。

しかし、「ラングトンのアリ」がもたらす驚きは「時間」の中にあります。ただスタートボタンを押し、あとは待つだけでいいのです。

10ステップ目で何が起きるか、1000ステップ目でどう変化するか、1万ステップを超えたらどうなるか……それは誰にも分かりません。そして最終的に、おもちゃのように単純なルールが、あらかじめ設計図など存在しなかったはずの道を、自ら切り拓いていくことになるのです。

「ラングトンのアリ」の最も魅力的な点は、一言でこう表現できるかもしれません。「どこへ向かうのか自分でも分かっていないのに、結果として一つの道を切り拓いていく」ということです。

地図を描いてくれる人も、目的地を教えてくれる人も、高速道路を設計してくれる人もいません。ただ、「白なら右へ、黒なら左へ曲がり、色を反転させて一歩前へ進む」――これを、ただひたすら、幾度となく繰り返すだけなのです。

ラングトンのアリとフラクタル、何が違うの?

「ラングトンのアリ」も、次々と模様を生み出していく数学アートのように見えますが、マンデルブロ集合やコッホ雪片といったフラクタルとは性質が異なります。

例えば、コッホ雪片のルールは、図形を再帰的に修正し続けるというもので、次の段階でどのような形ができるのかが明確に決まっています。

一方、マンデルブロ集合のルールは、複素数の方程式を繰り返し計算するというものです。開始する点(初期値)が異なれば、描かれる軌跡も変わってきます。

それに対してラングトンのアリは、環境を変化させる「小さな存在」が動き続けるという仕組みです。次にどう動くかは、アリ自身の現在位置だけでなく、それまでに残してきた痕跡にも左右されます。つまり、単なる幾何学的な再帰ではなく、「行動」と「環境」が絶えず相互に作用し合うシステムだと言えるのです。

ラングトンのアリとホパロン・アトラクターには、どのような違いがあるのでしょうか?

ラングトンのアリとホパロン・アトラクターは少し似ていますが、どちらも「制御が難しい」という点で、それぞれ異なる面白さを持っています。

ホパロン・アトラクター:美しいパターンは「パラメータ空間」の中に隠れています。パラメータをほんの少し変えるだけで、結果が劇的に変わってしまうこともあります。パラメータを変更したときに何が現れるかは予測できず、驚きはまさにこのパラメータ空間から生まれます。

ラングトンのアリ:そのルール自体は非常に固定されたものですが、反復回数が増えるにつれて、アリはやがて有限の領域から「外へ」出てしまいます。また、初期に見られる局所的なパターンと、後期の挙動との間には大きな違いがあります。単純なルールを十分に長い時間実行したときに何が起こるかは予測できず、驚きは時間と反復回数から生まれます。

数学の世界をさらに探求しよう

他にも魅力的な数学的図形を眺めてみたり、ウィキペディアで「ラングトンのアリ」についてさらに詳しく調べてみたりすることができます。

新しいタブを開くたびに、こうした素晴らしい数学的ビジュアルを目にしてみませんか?今すぐChrome拡張機能をインストールして、「科学ふしぎ箱」を新しいタブのページに設定しましょう。🚀

詳細を見る