遠藤諭のプログラミング+日記 第214回
暗号解読やコンピュータの計算理論で有名なアラン・チューリングは生命の形を計算していた
チューリングパターンを遊ぼう!
2026年08月15日 09時00分更新
チューリングパターンはおいしい
私はサバ好きである。
サバの味噌煮も好きだし、サバの棒寿司はさらに大好物といえるほどものだ。大阪出張の帰りは、たいていサバの棒寿司を買って帰るようにしている。一時期は、有名ないずうをはじめあちこちのサバ棒鮨、鯖鮨を求めて活動していた。
そのサバの食欲をかきたてる理由の1つが、ゴマサバなどの横っ腹のあのなだらかなスロープに印刷されたように見える文様ではないかと思う。
まるで誰かがデザインしたような美しい心やすまるパターンである。
このように魚や動物などの表皮には、特徴的なシマや斑点やそのどちらともつかない柄というものがほどこされていることがある。ヒョウやシマウマなど、動物園や絵本だって、あれがあるから楽しかったりする。そうしたものは、どのようなしくみで生ずるのだろうか?
この疑問について、第二次世界大戦中の暗号解読やコンピュータの計算理論で知られる英国の数学者アラン・チューリングが数学的に説明している。
1952年の論文「The Chemical Basis of Morphogenesis」でチューリングは、2つの物質の反応の仕方や拡散速度などがある条件を満たすと、ほぼ均一だった状態に含まれる小さな揺らぎが増幅され、斑点や縞のようなパターンが生まれることを、二元連立微分方程式で表した。
この現象は、「拡散誘起不安定性」あるいは「チューリング不安定性」と呼ばれるようになる。さらに、このようにして自発的に作られる模様を、現在では「チューリングパターン」と呼んでいるのだ。
私は、関西出張のおりに新大阪駅で買ったサバ棒鮨を新幹線の中でひらくたびに、「チューリングパターン」と一人つぶやくことがクセになっていたのである。
チューリングパターン・ラボを試してみよう
それでは、チューリングパターンとは実際にはどんなものか? 今回、「チューリングパターン・ラボ」というソフトウェアを書いたので、その使い勝手とともに出力結果を本当にごく一部だが紹介する。
チューリングパターン・ラボは、以下のリンクから誰でも気軽に試せるようになっている。
https://turing-pattern-lab.pages.dev/
このソフトウェアは、チューリングの一般原理を実際にシミュレーションしやすい形で実現するものとして、よく使われる「グレイ=スコット・モデル」(Gray–Scott model)を採用。厳密には、チューリングが示した式とは少し違うものだが、物質を補給するFeed、取り除くKillの値を変えることで、さまざまな模様を生成できる。
起動すると、まずはプリセットの「迷路」と名付けたFeedとKillの値の組み合わせによる次のような画面になるはずだ。
2つの物質が反応によってどう変化するか、それが広がる速さが、このようなパターンを生み出す理由になっている。次に、プリセットの「斑点」を選んで「選択して適用」を押すと、次の文字どおり斑点の柄となる。
プリセットだけではつまらないので、ここでFeedの値をあげていってみよう。Feed=0.04までもっていくと(Kill=0.062のまま)、次のような比較的スパンの長いシマシマと点々の混じった柄になる。
まだまだ、実にさまざまな柄が自発的に形づくられる。プリセットの「細胞の区画」を選んでみてほしい。
チューリングパターンに関して、私は、ただ面白がっているだけだが、もっと踏み込んで研究している方もたくさんいると思う。
二元連立微分方程式をもとにしたプログラムというと大変そうに聞こえるかもしれないが、ハハンと思われた方もおられるはず。発想としてはプログラミングの入門時に作ってみたという人も多いと思う「ライフ」(ライフゲーム)と同じような発想で作ることができる。
ライフが、統計的に次の生命の存在パターンを出すのに対して、チューリングパターンは、そもそも隣の細胞への拡散の話から始まっている。つまり、その発端の概念がそのままプログラムのデータ構造になっているようなところがあるわけだ。
いまどきなのでAIに手伝ってもらって作ったが、何をやりたいかと、どう表現したいかが重要で、手間がかかったのはむしろその部分である。コードは、GitHubで公開している。
https://github.com/hortense667/TuringPatternLab
『月刊アスキー』の星野力さんの連載に出てきた
私の大好きなチューリングパターンというわけだが、ちゃんとどんな仕組みかを理解したのは、他でもない自分のやっている雑誌だった。
2000年頃、私が編集長をつとめていた『月刊アスキー』で筑波大学教授の星野力さんに「生命は計算できるか? チューリングへの旅」と題した全7回の連載をしていただいた。
星野先生が編集部を訪ねてこられたときのことは、いまでもよく覚えている。
私は、星野さんの有名な業績であるPACS(並列計算機)について不勉強で知らず失礼してしまった。にもかかわらず、「遺伝的プログラミング」や「完全に自動化された工場が同じ工場を作れたらそれは生命か?」など楽しいお話を聞かせていただいた。
その後にお会いしたときに、チューリングが関わったACEという最初期のコンピュータのアーキテクチャのかなり詳しいお話になったり。チューリングの自殺の理由についてのお考えを聞いたりした。そして、チューリングに関する連載となったのだった。
人工知能や計算機学者としてだけ見られることの多いチューリングだが、生命の形態や模様の形成に深い興味を持っていた。『月刊アスキー』の連載の2001年5月号にチューリングパターンの解説は出てくる。
記事では『生物の形づくりの数理と物理』(日本生物物理学会 シリーズ・ニューバイオフィジックス刊行委員会編、共立出版)で裏をとりながら分かりやすく解説していただいている。チューリングは、動物の表皮の模様だけでなく、ヒドラの触手、植物の葉序、胚の原腸形成など、形態形成全般への応用可能性を論じていたのだった。
私の編集部からは、星野先生の書籍として『ロボットにつけるクスリ:誤解だらけのコンピュータサイエンス』を出させてもらったことがある。しかし、この連載に関しては『甦るチューリング: コンピュータ科学に残された夢』(NTT出版)として刊行された。ご興味のある方はぜひ読んでみてほしい。
今年のコミケは「チューリングパターン・キューブ」で参戦だ!
さて、チューリングパターンを生成するソフトを書いただけでは、ちょっと満足感がとぼしい。世界中で数えきれない数の人がやっていることだからだ。
そこで、これは相当に前からやりたいと思っていたことが、動物の形をした立体オブジェの表面をすべて液晶で覆い、その表面にチューリングパターンを生成することだ。たいしたプログラムではないのでRaspberry Piが1個あれば、なんとかできないだろうかと軽く考えていた。
これをインテリアとして、自作のソフトウェアであるチューリングパターン・ラボのFeedとKillを2つのつまみでコントロールできるようにしてもいいし、環境変化によってパターンが変わってもいい。
しかし、このことを武蔵小山の南インド料理店で話をしていたところ、これ以上ないというこの分野のオールスターズの方々に「遠藤さんの作ろうとしているものはそれほど簡単ではないですよ」と口をそろえて言われてしまったのだった。
動物の形をしたオブジェでやるのは、お金をかければできるのだろうが、あまり現実的ではない。それで、家に帰ってやってみたのが、次の「おさかなチューリング」である。
チューリングパターン・ラボを表示したディスプレイの前に、魚の形に切り抜いた紙をぶら下げただけだが、これがなかなか楽しい。
プリセットの「混合相」を選んでKillを増加していくと、縞が切れてきてちょっとサバの横っ腹っぽいパターンが表れてくる。FeedやKillの値を画面全体に均一ではなく、グラデーションを持たせることができれば、よりサバの横っ腹っぽくなるはずだ。
次の開発目標とすることにするが、ひょっとしたら、どこかの科学館でやったらそれはそれで受けそうである。反応物質の投下(ツンツンと呼んでいる)もしたいからタッチスクリーンがよさそうだ。
これはこれで楽しいのだが、もう1つ、チューリングパターンを使って、かなり前からやりたいと思っていたことがあったのを思い出した。
それは、「チューリングパターン・キューブ」というパズルである。
キューブパズルの6面が、それぞれ、チューリングパターンの特徴的なものを選んで貼り付けてやる。一般的なキューブパズルのような色や画像を合わせるのではなく、チューリングパターンの柄を合わせるのはよさそうではないか。
なにしろ、代表的なチューリングパターンを、手の中で遊ぶことができる。
このキューブパズルは、今年の夏コミ(C108)に間に合ったので、私が参加する「寄り道総研」(東地区 V-09)のブースで頒布予定である。各面のパターンに関する詳しい解説をのせた冊子とセットを用意している。
参考までに、さきほどのプリセットの「迷路」に関する解説は、次のような具合だ。
流れのある縞・指紋状の迷路
縞模様の迷路のようなパターン。線は互いに一定の距離を保とうとする。近づきすぎると材料を奪い合い、離れすぎると空いた場所へ新しい線が入り込む。その結果、ほぼ同じ太さの縞が何本も並ぶ。途中に種や障害があると、縞はその周囲を避けるように曲がる。一本が曲がれば隣も曲がり、その隣も曲がる。局所的な小さな迂回が、画面全体の大きな流れになる。砂丘の稜線のように風が吹いたようでもあり、指紋、木目にも似ている。各部分は勝手に動いているのに、全体には一つの方向が現れている。
Feed ≒ 0.018〜0.024
Kill ≒ 0.048〜0.052
チューリングパターンは、単なる反応拡散方程式ではなく、なにか人間の心の底辺にあるものに触れるものが隠されていると思う。
Turing Pattern Lab.デモ: https://youtu.be/oje1ureRGDM
キューブビュア:https://youtu.be/PHAWdbL2TGs
遠藤 諭(えんどうさとし)
角川アスキー総合研究所リサーチパートナー、MITテクノロジーレビュー日本版アドバイザー、ZEN大学客員教授、ZEN大学 コンテンツ産業史アーカイブ研究センター研究員。プログラマを経て1985年に株式会社アスキー入社。月刊アスキー編集長、株式会社アスキー取締役、株式会社角川アスキー総合研究所取締役などを経て、2025年より現職。雑誌編集長時代は、ミリオンセラーとなった『マーフィーの法則』など書籍も手がけた。著書に、『計算機屋かく戦えり』、『近代プログラマの夕』(ともにアスキー)など。
X:@hortense667
Bluesky:https://bsky.app/profile/hortense667.bsky.social
mixi2:@hortense667
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第213回
プログラミング+
ナイジェリア鉄道に5ドル払った朝――AIによって新しい種類のバグが誕生しているのではないか -
第212回
プログラミング+
解約したいだけなのに、なぜ立てこもらなければならなかったのか? -
第211回
プログラミング+
メガネは、AIの居場所になるのか -
第210回
プログラミング+
ナポレオン一世とコンピューター -
第209回
プログラミング+
鉄腕アトムー科学+魔法=AI on NVIDIA DGX Sparkが出した答えとは? -
第208回
プログラミング+
“合成音声”はかくも機械的なのに心を揺さぶるのか? -
第207回
プログラミング+
秋葉原は「アキバノハラ」だったのか、「アキハノハラ」だったのか? -
第206回
プログラミング+
“宿題でAIを使いはじめる前”に、“AI的ゾンビ”(a-zombie)にならないための方法 -
第205回
プログラミング+
「電脳秘宝館・マイコン展」──Intel 4004“ナゾ基板”の正体と、日本最初の野球ビデオゲーム「ラスト・イニング」 -
第204回
プログラミング+
Geminiにタイ移住を命じられた――100日チャレンジからAI駆動生活へ、大塚あみさんインタビュー - この連載の一覧へ












