ライフゲームでピタゴラスイッチ:April-fool Edition
どうも、108Hassiumです。
今年の4月1日、つまりエイプリルフールにこんな動画を投稿しました。
この記事では、この動画の背景などを解説します。
※以下の記事を読んでいる前提で話を進めます。
エイプリルフール要素
あの動画を4月1日に投稿したのは、動画内に出てくるセル・オートマトンがライフゲームではないからです。
Hensel記法では「B3/S235eky」と表記されるルールで、ライフゲームに対して生存条件を付け加えたルールに相当します。
※☟Hensel記法の説明がある記事
大まかな挙動はライフゲームとそっくりですが、生存条件が増えているのでライフゲームでは存在できない固定物体が存在する等の違いがあります。
B3/S235eky
B3/S235ekyの細かい性質を紹介します。
ランダムなパターンの挙動を観察してみると、以下の"small lake"という固定物体の発生率が異常なほど高いことがわかります。
この現象は、tテトロミノが以下のように変化することに由来します。
ライフゲームではtテトロミノはtrafic light(blinker4つ)に変化するので、B3/S235ekyでsmall lakeが自然発生しやすいのはライフゲームでtrafic lightが出現しやすいのと同じ現象と考えられます。
ちなみにtテトロミノがsmall lakeになるようにするには5eを追加だけで十分ですが、5kと5yを入れると発生する以下の衝突反応が何かに使えそうだったのでこのルールを採用しました。
tテトロミノ以外の「ライフゲームでよく見る中間生成物」は、以下のように変化します。
ちなみに、以下のヘキソミノはライフゲームだと1世代でΠへプトミノに変化しますが、このルールだとhoney farmの前駆体になります。
製作過程
作り方は以前の記事で説明したものと大体同じでした。
まず、9セル以下の全ての固定物体に対してグライダーとの衝突反応を全パターン調べ上げました。
10セル以上の固定物体については、出現頻度の高いsmall lakeとライフゲームには存在しない固定物体を少しだけ調べました。
そして、これらの調査結果からグライダーの方向転換パターンをかき集めました。
ちなみに以前の記事では「グライダーの方向転換パターンは全部で8種類に分類できる」と書きましたが、後の調査で実は16種類に分けなければならないことが発覚しました。
今回は全種類集め切ることはできませんでしたが、タイミング調整を余程シビアにやろうとしない限り何とかなるようです。
方向転換以外で有用そうな反応としては、以下のようなパターンが目につきました。
グライダー自身は何も影響を受けずに固定物体を破壊する衝突反応です。
この反応は最終的に以下の2箇所の仕掛けに使用しました。
続いて、Πヘプトミノなどの「出現率の高い中間生成物」とブロックの干渉反応の調査をしました。
その結果の中で一番の収穫は、以下の反応でした。
honey farmの前駆体がグライダー1個になる反応です。
固定物体とグライダーの衝突反応にはhoney farmの前駆体が出現するものがけっこうたくさんあり、ブロックを1個追加するだけでグライダーの方向転換パターンを作れたり、さらにブロックを2個にしてグライダーを複製することもできます。
こういった調査と並行して高速系の導火線の調査も行い、いい感じに素材が集まったら適当に組み合わせていきます。
今回組み立てが一番大変だったのは、この部分です。
最初の方で紹介した「small lakeとグライダーの衝突反応」とsmall lakeが出てくる導火線を組み合わせた、small lake尽くしの仕掛けです。
生存条件を増やした弊害なのか、このルールでは固定物体を追加して副生成物を消す作業の成功率がライフゲームより低く、導火線の制御が難しいように感じました。
特に上半分の仕掛けのsmall lakeの消去はブロックだとどうしても上手くいかなかったため、ボートとタブという変則的な組み合わせを使うことになりました。
最後の「ピ」の部分に関しては、1作目と似たようなシンプルな仕掛けにしました。
しかし完全に同じだと面白くないので、ライフゲームでは存在できない固定物体で文字を作り、「『ピ』が完成した後でルールをライフゲームに切り替えて『ピ』が爆散する」というオチをつけました。
また、ライフゲームではないことを匂わせるために、オチ以外のところでもライフゲームでは存在できない固定物体を積極的に採用しました。
付録
おまけです。
衝突パターン集
B3/S235ekyでピタゴラスイッチをやってみたいという人のために、有用そうなファイルを配布します。
まず、9セル以下の固定物体とグライダーの衝突反応の目録です。
グライダーの方向転換パターンのコレクションです。
中身について少し補足します。
5ekytuner.mcに収録されているパターンには、以下のように数字が書かれています。
各パターンの上に書かれた数字は「そのパターンのグライダーが26セル下に移動するまでの世代数」を表し、左端の数字は各パターンの上の数字を4で割った余りを表しています。
5ekytuner.mcの下端には、方向転換の角度が90度ではなく180度と0度のものがそれぞれ並んでいます。
※最下段はグライダーの複製パターン
このパターンに書かれている数字は、反応時間ではなく下方向への軌道のズレ幅を表しています。
ついでにライフゲームのデータも置いておきます。
類似ルール
B3/S235eky以外のライフゲームモドキでピタゴラスイッチをやりたい人のために、似たようなルール(を見つけるヒントになりそうな情報)を紹介します。
紹介基準は、B3/S235ekyにおけるsmall lakeのような「サイズのわりに出現率が異常に高い固定物体」が存在することです。
まず、ライフゲームにS4nを追加したB3/S234nというルールでも、B3/S235eと同様にtテトロミノがsmall lakeに変化します。
ただし、B3/S234nは爆発性のあるルールなので、誕生条件や生存条件を削っておとなしくさせる必要があります。
t→small lake反応やグライダーの存在等の性質を崩さずに爆発性を抑えるには、誕生条件なら3ckqy、生存条件では3ckのうちのどれかを適当に削れば良さそうです。
ちなみに、B3/S234nには以下のようなグライダーを連結したような移動物体が存在します。
どうやらB3ckyとS3ckのどれを削ってもこれらの移動物体は存在できるようなので、ピタゴラスイッチの途中で登場させたりすると面白いかもしれません。
B3/S234nにさらにS4ceqを追加すると、tテトロミノは以下の固定物体に変化するようになります。
この系統のルールで個人的に一番面白いと思ったのは、B3-cqy/S234cenqです。
グライダー以外の小型の移動物体3種、puffer2種、そしてtテトロミノの進化先以外の大型固定物体2種が高頻度で出現し、さらにtテトロミノから生成される固定物体を連結させることができるルールです。
また、こんなルールも見つけました。
tテトロミノだけでなく"angel"というパターンも大型固定物体になるルールです。
こんなのもあります。
余談
Q:エイプリルフールからもう27日も経ってますけど、なんでこんなタイミングでこの記事投稿したんですか?
A:肝心の動画があまりにもウケなさ過ぎて凹んでたからです。