ここで、この単純な紙の上に単純な、しかしそれだけに印象的なライフシミュレーターを作成することを想像してください。 多かれ少なかれ。 もちろん、それは非常に単純化されますが、複雑なことを理解するには、単純なものから始める必要がありますか? このシミュレータはさまざまな科学に適用でき、それぞれの科学には非常に興味深い接点がたくさんあります。 社会学から天文学まで、生物学から電気工学まで。
さて、十分なルアー。 それは数学を打つ時間です。
![](https://habrastorage.org/getpro/geektimes/post_images/ba0/d8e/04f/ba0d8e04f75f72026ee3b9ad51b5b93b.jpg)
むかしむかし、1940年代、悪名高いジョン・フォン・ノイマンは 、自分自身を再現できる機械の設計に着手しました。 奇妙なことに、彼は成功しました。 確かに、このマシンのルールは非常に複雑であるため、広く使用されていませんでした。
30年後、 John Conwayという名前の別の科学者(そう、Johnは非常に人気のある名前です)がこのマシンに興味を持ち、単純化することにしました。 奇妙なことに、彼は成功しました。 才能のある科学者、確かに。
ルール
など。 繰り返しますが、頭の中に細胞がある紙をすばやく描きます。 ルールは非常に簡単です。
- 各セルは、生きている(満たされている)または死んでいる(空の)2つの状態のいずれかになります。
- 各セルの各動きは、その状態とその8つの隣接セルすべての状態によって決定されます。
- 空のセルで、ちょうど3つの隣接セルがある場合、このセルが生き返ります。 他のすべての場合、空のセルは空のままです。
- それが生きている細胞である場合、生きている隣人の数が計算されます。
- 隣人が0または1の場合、セルは孤独で死にます。
- 隣人が2または3の場合、セルは生き続けます。
- 4つ以上の近隣がある場合、セルは人口過多により死にます。
トリプレットの5つのバリアントの進化の簡単な例(3つのセルの図):
![画像](https://habrastorage.org/getpro/geektimes/post_images/711/1b5/e2b/7111b5e2ba95dc62f84fccc8fd2a685b.gif)
複雑なことはありませんか? 概して、生きている細胞の最初の配置のみがプレイヤーに依存し、その後は自分で生きることになり、作成者はそれらに従うだけで済みます。 しかし、これがまさに彼らがこのゲームに40年近く興味を持っている理由です。
少なくとも10 * 10セルであっても、最小フィールドにセルを配置するためのオプションの数を想像してください。 これは2,100です。 そして、これらの各オプションは進化します。 いくつか-ほんの数十の動き、そしていくつかはサイクルで行くことができます。 トーラスの原理によって閉じられた100 * 100、またはそれ以上の大きなフィールドについて言えます。
![画像](https://habrastorage.org/getpro/geektimes/post_images/c8a/b76/1cc/c8ab761cc7ccd0636eb49c5e32511f52.gif)
フィギュア
このゲームのフィールドトライアルでは、最初に紙の上で、次にコンピューターモデリングの助けを借りて、多くの数字が特定されました。これらの数字は、行動に応じていくつかのクラスに分類できます。
- 安定した形状:変化しない形状
- 定期的な数字:一定の世代の後に状態が繰り返される数字
- 動く数字:状態が繰り返されるが、いくらかの変位がある数字
- 散弾銃:状態は繰り返されますが、追加の可動フィギュアが表示されるフィギュア
- 蒸気機関車:安定したまたは周期的な形状の形で痕跡を残す移動する形状
- Eaters:動くフィギュアとの衝突に耐えられる安定したフィギュア。
動くフィギュアの最も簡単な例はグライダー(グライダー)です。
![画像](https://habrastorage.org/getpro/habr/post_images/aa9/62c/c63/aa962cc6325ac42c62959f154d677c38.gif)
面白くない?
次に、銃を見てみましょう:
![画像](https://habrastorage.org/getpro/geektimes/post_images/6d8/2dd/b78/6d82ddb786b599c18600710c818b0ba9.gif)
この形式では、わずかな距離で、セル間の境界がぼやけているとき、このアニメーションはすでに生物学的なものに似ていますよね? ちなみに、銃は非常にグライダーで「発射」します。
科学への関心
私があなたにあなた自身の数字を作ろうとする機会を与える前に、科学のためのこのすべてのゴミの利点についていくつかの言葉を話させてください。
一般的に、科学用語では、このゲームは、 ローカルな依存関係の観点から完全に動作が決定される離散的な動的システムであり、要するにセルラーオートマトンです。 つまり、各セルが有限数の状態を持つ格子であり、この状態自体は厳密に定義された遷移規則によって決定されます。
このゲームは、ほとんど最も単純なセルラーオートマトンです。 各セルには2つではなく、約10の異なる状態があり、それらの変化は隣接する8つのセルだけでなく、「第2境界」の16にも依存していると想像してください。
このようなセルオートマトンは、「自己組織化システム」と呼ばれることのある最も単純な例の1つです。 この主題分野は、さまざまな分野の科学者や数学者の注目を集めています。 非常に単純なルールに基づいて、複雑な構造と動作の構築を研究します。 たとえば、近くの細胞からシマウマにバラの花びらや縞模様が現れる。 したがって、有限状態マシンの研究は、まったく異なる科学においてまったく予想外の結果をもたらす可能性があります。 そのため、例えば、いくつかの複雑なコロニーの進化は、驚くべき方法で渦巻銀河の発達段階を模式的に繰り返しています。 同様に、それらは原始生物の集団の行動の法則とほぼ一致しています。
練習する
さて、今度は自分で試してみましょう。
- ここでは、「人生」についてもっと読むことができますし、読むべきです。 多くの図と原則を説明しています。 そして確かに多くの有用なもの。
- ここでは、フラッシュで「ライフ」をプレイできます。 設定はありません。 すべてが最小限に簡素化されています。 ご参考までに。
- ここでは 、高度な機能を備えたエミュレータプログラムをダウンロードできます。 時間速度の調整。 初期構成を保存およびロードする機能。 サイズ変更可能なフィールド。 一般に、行動の完全な自由。 筋金入りの労働者向け。 残念ながら、Windowsのみです。
- さて、 ここにはすべてのプラットフォーム(Windows(2000 +)、Mac OS X(10.3.9 +)、Linux(GTK +))用の同様のエミュレーターがあります。 私自身はそれを実行しませんでしたが、説明から判断すると、以前のプログラムと同じくらい可能性があります。
テストに行きます。 そして、あなたと一緒にランダムかもしれません))