ライフゲームから生命誕生(後編) part2 | 数学アラカルト [実践] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 実戦 | 数学アラカルト | 数学に関する話題をrpnで探求!数字と遊んでみよう。

HOME > 実践 > 数学アラカルト > ライフゲームから生命誕生(後編) part2

hatena twitter facebook rss ソーシャルブックマーク

ライフゲームから生命誕生(後編) part2

前のページに戻るLinkIcon

ブリーダーは永久に増殖する

 セルの数が無限に増え続けるパターンもこれまでいくつか発見されています。以下の例はたった10個のセルが無限大に増殖します。

              ■
          ■  ■■
          ■  ■
          ■
      ■
  ■  ■


とりあえず、0世代、20世代、40世代、80世代のマトリクスを示してみます。セル数がどんどん増殖していきます。まるで歯止めが掛かりません。

  世代(0)             世代(20)
  □□□□□□■□    □□■□□□□□□□
  □□□□■□■■    □■■□□□■■□□
  □□□□■□■□    ■□□□□□■■□□
  □□□□■□□□ -> ■□■□□□□□□□
  □□■□□□□□    □■■□□□□□□□
  ■□■□□□□□    □□□□□□□■■□
                      □□□□□□□■■■
                      □□□□□□■□■□
                      □□□□□□■■□□
                               |
  世代(40)                     v
  □□■□□□□□□□□□□□□□□□□□
  □■□■□□□□□□■□□□□□□□□□
  □□■■□□□□□■□■■□□□□□□□
  □■■□□□□□■■□□□□□□□□□□
  ■■□□□□□□□□□□□□□□□□□□
  ■□□□□□□□■□□□□■□□□□□□
  □□□□□□□□■□□□□□■■□□□□
  □□□□□□□□■□□□□□□■■■□□
  □□□□□□□□□□■■□□■■□□■□
  □□□□□□□□□□□□□□□□■□□■
  □□□□□□□□□□□□□□■■□□■□
  □□□□□□□□□□□□□□□■■■□□
  □□□□□□□□□□□□□□□■□□□□
                  |
  世代(80)        v
  □□□□□□■□□□□□□□□□□□
  □□□□□■□■□□□□□□□□□□
  □□□□□■□■■□■□□□□□□□
  □□□□□□■□■■□■■□□□□□
  □□□□□□□□□■□□□■■□□□
  □■■□□□□□□□■■□□□■□□
  ■□□■□□□■■□□□■■□■□□
  □■■□□□□■□■□□■□■□□□
  □□□□□□□□□■□□■□■□□□
  □□□□□□■□□□□□■■■■□□
  □□□□□■■□■□■■■■□■■□
  □□□□■■□□■□■□■□□■■□
  □□□□□■□□■□□□■□□□□□
  ■■□□□□■■□□□□□□□□□□
  ■■□□□□□□□□□■□□□□□□
  □□□□□□■□□□□□□■□□□□
  □□□□■■□□□□■□■□■■□□
  □□□□□□■□■□□□□□■□□□
  □□□□□□□□□■■□■■□■□□
  □□□□□□□□■□□■■□■■■□
  □□□□□□□□■■■□□□□□□■
  □□□□□□□□□■■□□■□□□□
  □□□□□□□□□□■■□□□□□□
  □□□□□□□□□■■■□□□■□□
  □□□□□□□□□□■□□■□□□□


ちなみに、0世代から80世代までの生きているセル数は次のようになります。

  10 14 13 19 16 21 20 26 24 28 30 26 34 32 29
  36 22 19 18 19 21 22 26 27 38 38 46 52 54 55
  58 58 51 63 38 43 36 38 41 42 39 38 36 42 47
  58 60 56 55 53 60 57 62 51 49 59 45 36 34 34
  35 39 36 35 36 35 43 44 49 62 68 72 75 85 92
  90 106 119 101 106 104


上記のセル数がbreeder.numに格納されているとして、セル数の推移をグラフ化してみます。増減を繰り返しながら増えている様子が分かります。

  >rpn 0 -c rownum <breeder.num | xyp -x,80 -y,150 -s20,50 -n -m
  ^y 150
  | 生きているセル数
  |
  |                                    *
  100                                  ***
  |                                   *
  |                                  **
  |                                 **
  |               *        *       **
  50           ***     ******
  |           *    *****    **    **
  |    ***   **   *****      *****
  | ****** ***
  ***     **                             x
  *o                                    80 世代数
  +--------20--------40--------60-------->


イーターはマクロファージ(貪食細胞)

 固定型なのに面白い振る舞いをする物体もあります。それはイーターと呼ばれており、まさに近くにきた物体の全部もしくは一部を食べた後、自分自身は元の形に戻るという奇妙なパターンです。イーターと数種類の物体との衝突を示しておきます。いずれもイーターとの位置関係が大切です。1つでもずれていると期待通りにはなりません。

イーターvsグライダー

  世代(0)           世代(1)            世代(2)           世代(3)
  □□□□□■□    □□□□□□□     □□□□□□□    □□□□□□□
  □□□□■□□    □□□□■□■     □□□□■□□    □□□□□□□
  □□□□■■■    □□□□■■□     □□□□□□■    □□□□□■□
  □□□□□□□ -> □□□■■■□ ->  □□■□□■□ -> □□□□□□□
  □□■■□□□    □□■■□□□     □□■□□□□    □□■■□□□
  □□□■□□□    □□□■□□□     □□□■□□□    □□□■□□□
  ■■■□□□□    ■■■□□□□     ■■■□□□□    ■■■□□□□
  ■□□□□□□    ■□□□□□□     ■□□□□□□    ■□□□□□□
                                                                |
                                                                v
                                                         世代(4)
                                                         □□□□□□□
                                                         □□□□□□□
                                                         □□□□□□□
                                                         □□□□□□□
                                                         □□■■□□□
                                                         □□□■□□□
                                                         ■■■□□□□
                                                         ■□□□□□□


イーターvsブリンカー

  世代(0)           世代(1)           世代(2)           世代(3)
  □□□□□□□    □□□□□□□    □□□□□□□    □□□□□□□
  □□□□□□□    □□□□□■□    □□□□□□□    □□□□□□□
  □□□□■■■    □□□□□■□    □□□□□■■    □□□□■■■
  □□□□□□□ -> □□□■■■□ -> □□■■□■□ -> □□■■■■■
  □□■■□□□    □□■■□□□    □□■□□□□    □□■□■□□
  □□□■□□□    □□□■□□□    □□□■□□□    □□□■□□□
  ■■■□□□□    ■■■□□□□    ■■■□□□□    ■■■□□□□
  ■□□□□□□    ■□□□□□□    ■□□□□□□    ■□□□□□□
                                                              |
                                                              v
                    世代(6)           世代(5)           世代(4)
                    □□□□□□□    □□□□□□□    □□□□□□□
                    □□□□□□□    □□□□□□□    □□□□□■□
                    □□□□□□□    □□□□□■■    □□□□□□■
                    □□□□□□□    □□□□□□□    □□■□□□■
                    □□■■□□□ <- □□■■□□□ <- □□■□□□□
                    □□□■□□□    □□□■□□□    □□□■□□□
                    ■■■□□□□    ■■■□□□□    ■■■□□□□
                    ■□□□□□□    ■□□□□□□    ■□□□□□□


イーターvsイーター

  世代(0)             世代(1)             世代(2)
  □□□□□□□■    □□□□□□□■    □□□□□□□■
  □□□□□■■■    □□□□□■■■    □□□□□■■■
  □□□□■□□□    □□□□■□□□    □□□□■□□□
  □□□□■■□□    □□□□■■□□    □□□□□■□□
  □□□□□□□□ -> □□□■■□□□ -> □□■□□■□□
  □□■■□□□□    □□■■□□□□    □□■□□□□□
  □□□■□□□□    □□□■□□□□    □□□■□□□□
  ■■■□□□□□    ■■■□□□□□    ■■■□□□□□
  ■□□□□□□□    ■□□□□□□□    ■□□□□□□□
         ^                                        |
         |                 繰り返し               |
         +----------------------------------------+


エデンの園には辿り着けない

 ところで、ライフゲームで発生し得ないパターンは存在するのでしょうか。一般的に自分で初期パターンを設定する以外に、世代交代の途中で特定のパターンを意図的に作り上げることは困難です。しかし、ライフゲームは無限の初期パターンから無限のパターンが形作られます。そのうちの1つの途中経過のマトリクスに意図するパターンがある可能性は大きいでしょう。

ところが、初期にそのパターンを準備しない限り、絶対に到達できないパターンが存在するのです。それはエデンの園と命名されていますが、エデンの園以外のどんな初期パターンからも決して辿り着くことのできないパターンであることが証明されています。

現時点で発見されているエデンの園で最小のパターンは12x12と言われています。以下がそのパターンです。

      ■  ■■■
  ■■  ■  ■■■■■  ■
  ■  ■  ■■  ■  ■
    ■■■■  ■  ■■■
  ■  ■  ■■  ■■■  ■
    ■■■  ■■  ■  ■
      ■      ■■■    ■
    ■  ■■  ■  ■  ■
  ■■■  ■■■■  ■  ■
  ■■  ■■■■      ■
    ■  ■  ■■    ■
    ■■  ■    ■■  ■


あれほど多彩なパターンを作り出すライフゲームが辿り付けないパターンが実際にあるなんて興味深いですね。

        *


 他にも面白いライフゲームのパターンがあれば随時追加していく予定です。

実践数学アラカルトに戻るLinkIcon

情報rpnでライフゲームができます。本ウェブサイトの応用コーナーライフゲームのルールがあります。興味のある人はrpnプログラムをダウンロードしてみてください。

警告rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。

情報rownumはカンタン分析パッケージに同梱されています。xypとnpdはrpn姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

数学アラカルト

数字と遊んでみよう

※実践コーナーのTOP

紹介 rpnの利用シーンはこちら…

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

part2

数字と遊んでみよう

※実践コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

書籍紹介

記事に関連した書籍

本ウェブサイトで扱った話題に関連した書物で、スタッフが実際に読了したものを紹介。

書籍数学の書籍
数の世界は思ったよりもエキサイティング

書籍投資の書籍
失敗しない投資には広範囲で実践的な知識が必要

警告バックスラッシュはエンマークに読み替えて下さい(IE)。
バックスラッシュとエンマーク

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。