ライフゲーム

Last-modified: 2023-11-23 (木) 03:09:25
 
 

概要

関数…関数ってなんだ? 生命遊戯の喜びを味わえ!

ここではドールズフロントラインシリーズのPVに稀に登場するライフゲームについて解説する。

「ドールズフロントライン」2019年5月 大型イベント「深層映写」公式PV「ニューラルクラウド」事前登録開始記念PVニューラルクラウドOPムービー「EMOCODE」

ライフゲームとは

ライフゲーム(Conway's Game of Life)は1970年にイギリスの数学者ジョン・ホートン・コンウェイ(John Horton Conway)博士が考案したシミュレーションゲームである。ゲームの開始前に盤面の設定(各セルごとの生死の決定)を行い、ゲームを開始した後はシミュレーションの様子を観察するだけになるため、ゼロ・プレイヤー・ゲーム(zero-player game)といわれることがある。

ルール

ライフゲームの世界は縦横のグリッドで区切られた正方形の「セル」が無限に広がる二次元平面である。各セルは「生」または「死」という2つの状態のうちのいずれかを取る。すべてのセルは上下左右斜めに隣接する8つのセルと互いに影響し合い、その状態はライフゲームにおける時間の最小単位である「世代」ごとに以下のように変化(遷移)する:

  1. 生きているセルは、生きている隣接セルが2個未満の場合、次の世代で死ぬ(過疎による死)

    現世代次世代
  2. 生きているセルは、生きている隣接セルが4個以上の場合、次の世代で死ぬ(過密による死)

    現世代次世代
  3. 生きているセルは、生きている隣接セルが2個か3個の場合、次の世代も生きている(生存)

    現世代次世代
  4. 死んでいるセルは、生きている隣接セルがちょうど3個の場合、次の世代で生き返る(誕生)

    現世代次世代
セルの状態遷移図
セルの状態遷移図:数字(入力)は生きている隣接セルの数

遊び方

  • シミュレーションソフトは色々あるが、PCでやるならとりあえずGollyでいいと思う。
  • パターン集はLifeWikiが有名で様々なパターンが揃っている。
  • パターンファイルはplaintext形式(.cells)とRLE形式(.rle)がメジャーか。どちらもテキスト形式であるため、パターンファイルの内容をクリップボードにコピーしてGollyのグリッド上にペースト可能

パターンの例

特徴的な形状や挙動を見せるある範囲内のセルの状態をパターンと呼ぶ。パターンはその挙動によって分類され、固定物体、振動子、宇宙船などがある。

なおここで挙げているパターンは有名なものというよりはドルフロ系PVに登場するパターンやその構成部品の方に偏っている。

固定物体(Still Life)

世代が進んでも移動せずに同じ形状を保つパターン。
移動はしないが反応の触媒に使われたり、他の反応を抑制したり、情報を記録したりと用途は多い。

固定物体(画像)

固定物体

上の画像のRLE

上の画像のRLE

x = 43, y = 18, rule = B3/S23
$b2o6bo6bo6b2o7b2o6b2o$b2o5bobo4bobo4bo2bo5bobo4bo2bo$9bo5b2o6b2o6b2o
5b2o7$b2obo3b2o6b2o6bo8bob2o$bob2o3bobo4bo2bo4bobo5b3ob2o$10bo4bo2bo4b
obo4bo$10b2o4b2o4b2ob2o4b3ob2o$33bobo$33bobo$34bo!

ブロック(Block)
最も基本的な固定物体。色々なところに出てくる。
タブ(Tub)
4個のセルで出来た、もう一つの固定物体。たらい、桶の意。
ボート(Boat)
タブにセルを1個加えたパターン。
蜂の巣(Beehive)
ブロックの次に頻出する固定物体。
4個の蜂の巣が十字に並んだパターンは養蜂場(honeyfarm)と呼ばれる。
養蜂場(画像)

養蜂場

船(Ship)
ボートにセルを1個加えたパターン。
空母(Aircraft Carrier)
「」。死んだセルで2つに分割されているパターンでは最小。
へび(Snake)
イーター1(Eater 1)
イーター(eater)とは移動物体や反応で生じた残留パターンなどを消去できるパターン。
イーター1は最初に発見されたグライダーイーターであるため、これを単にイーターと呼ぶこともある。
池(Pond)
ハット(Hat)
イーター2(Eater 2)
ハットとブロックを組み合わせたイーター。
構成パーツの一部を異なる固定物体に置き換えた変種が存在する。

振動子(Oscillator)

移動せず一定周期ごとに同じ形状に戻るパターン。

ブリンカー(Blinker)
周期2の振動子。ライフゲームで最も小さく出現頻度が高い。
ドルフロ系PVのライフゲームでも地味だが主役級の扱い。
ちなみに4個のブリンカーが十字に並んだパターンは信号灯(traffic light)と呼ばれる。
ブリンカー(アニメ)

ブリンカー

信号灯(アニメ)

信号灯

ヒキガエル(Toad)
周期2の振動子。
ヒキガエル(アニメ)

ヒキガエル

パルサー(Pulsar)
周期3の振動子。
パルサー(アニメ)

パルサー

モールド(Mold)
周期4の振動子。
モールド(アニメ)

モールド

Kokの銀河(Kok's Galaxy)
周期8の振動子。1971年にJan Kokによって発見された。
日本語では単に銀河とも呼ばれる。
Kokの銀河(アニメ)

Kokの銀河

Twin Bees Shuttle
周期46の振動子。Bill Gosperによって1971年に発見された。
両端の安定化ブロックを別の固定物体に置き換えた変種が数多く存在する。
宇宙船の進路を90度曲げることや、グライダーから軽量級宇宙船への変換、軽量級宇宙船から中量級宇宙船への変換などを行える。
またstop and go反応はグライダーを一度ブロックに変換して次の周期で元来た方へ撃ち返す。
Twin Bees Shuttle(アニメ)

Twin Bees Shuttle

Stop and Go反応(アニメ)

Stop and Go反応

Natural Heisenburp
周期46の振動子。
Heisenburpは宇宙船の通過を進路やタイミングに影響を与えず検出できる装置。
Natural HeisenburpはHeisenburp装置の一種で2個のtwin bees shuttleから構成されている。
ちなみにHeisenburp反応中に現れる2つ目の宇宙船はout of the blueと呼ばれる。
Natural Heisenburp(アニメ)

Natural Heisenburp

Out of the Blue(アニメ)

Out of the Blue
1つ目のグライダーの通過時にブロックが生成され、そこから2つ目のグライダー(out of the blue)が生成される

重量級宇宙船の通過時に生成される軽量級宇宙船(アニメ)

重量級宇宙船の通過時に生成される軽量級宇宙船
重量級宇宙船と反応させるために安定化ブロックの数や位置、種類を変更した変種が使用されている(OTCA metapixeより)

宇宙船(Spaceship)

形状は一定周期で元に戻りつつも一定方向に移動し続けるパターン。

パターンの移動速度はその世界の最高速度である光速(speed of light、c)を基準に計られ、ライフゲームの場合は c=1セル/世代 である。移動にかかった世代数をn、横方向と縦方向の移動距離をそれぞれxとyとすると、パターンの速度vを求める式は v=MAX(|x|, |y|)/n×c となる。例えばグライダーは4世代かけて横と縦に1セルずつ移動するので速度はc/4、軽量級宇宙船は2世代かけて水平方向に1セル移動するので速度はc/2となる。

グライダー(アニメ)

グライダー
グライダー

グライダー(Glider)
ライフゲームで一番有名な移動物体。周期は4、速度は斜め方向にc/4。
グライダー同士を複数衝突させて様々なパターンを作ることをグライダー合成(glider synthesis)と呼ぶ。
グライダー合成は様々なパターンの中で部品となるパターンを動的に合成するために利用されている。
軽量級宇宙船・中量級宇宙船・重量級宇宙船(アニメ)

軽量級宇宙船・中量級宇宙船・重量級宇宙船
左から軽量級宇宙船、中量級宇宙船、重量級宇宙船

軽量級宇宙船(Lightweight Spaceship、LWSS)
小さな宇宙船。周期は4、速度は水平方向にc/2(2c/4)。この速度は宇宙船の中では最速であり、軽量級宇宙船はその最小パターンである。
中量級宇宙船(Middleweight Spaceship、MWSS)
少し大きな宇宙船。周期は4、速度は水平方向にc/2(2c/4)。
重量級宇宙船(Heavyweight Spaceship、HWSS)
大きな宇宙船。周期は4、速度は水平方向にc/2(2c/4)。

銃(Gun)

移動せずに宇宙船など移動物体を繰り返し永遠に発射し続けるパターン。

Gosperのグライダー銃(Gosper Glider Gun)
周期30のグライダー銃。1周期ごとにグライダーを1個発射する。
Bill GosperらMITのチームによって1970年に発見された。
ライフゲームで最初に発見された無限増殖するパターンにして最初のグライダー銃。
日本語で単にグライダー銃といったらこれを指すことが多い。
ドルフロ系PVのライフゲームでもグライダーを垂れ流し続ける姿がよく見られる。
Gosperのグライダー銃(アニメ)

Gosperのグライダー銃

新しい銃(New Gun)
周期46のグライダー銃。1周期ごとにグライダーを1個発射する。
Gosperのグライダー銃に続きGosperによって1971年に発見された2個目の銃。
2個のtwin bees shuttleを直角に組み合わせてグライダーを生成している。
なおGosperらが1994年に発見したさらに新しい銃と区別するためにNew Gun 1と呼ばれることもある。
新しい銃1(アニメ)

新しい銃1

Period-46 Glider Gun(P46 Glider Gun、P46 Gun)
周期46のグライダー銃。1周期ごとにグライダーを1個発射する。
2個のtwin bees shuttleをGosperのグライダー銃のように組み合わせてグライダーを生成している。
Period-46 Glider Gun(アニメ)

Period-46 Glider Gun

Period-46 Gliderless HWSS Gun(P46 Gliderless HWSS Gun)
周期46の重量級宇宙船銃。1周期ごとに重量級宇宙船を1個発射する。
Gliderlessはグライダーを用いずに目的のパターンを合成すること。
※通常の宇宙船銃ではグライダー銃で作ったグライダーを利用して目的の宇宙船を合成することが多い。
ちなみに軽量級宇宙船や中量級宇宙船のgliderless gunも存在する。
Period-46 Gliderless HWSS Gun(アニメ)

Period-46 Gliderless HWSS Gun

Period-184 Glider Gun(p184 Glider Gun、p184 Gun)
周期184の2連装グライダー銃。1周期ごとにグライダーを2か所から1個ずつ発射する。
Period-184 Glider Gun(アニメ)

Period-184 Glider Gun

長寿型(Methuselah)

何世代にも渡り非周期的な反応が続くパターン。長寿とされる反応の長さは厳格に定義されていないが概ね100世代を超えるものを指す。

長寿型(画像)

長寿型

上の画像のRLE

上の画像のRLE

x = 24, y = 9, rule = B3/S23
$18bo$18bobo$bo7bob2o6bobo$b3o5b3o7bo2bo$bobo6bo8bobo$3bo14bobo$18bo!

ハーシェル(Herschel)
128世代かけて2個のブロック、2個のグライダー、1個の船を生成する。
導管(conduit)の一種であるハーシェル導管(Herschel conduit)において、反応の起点・終点となる。
Bヘプトミノ(B-Heptomino)
148世代かけて3個のブロック、2個のグライダー、1個の船を生成する。
20世代目でブロック1個とハーシェル1個が生成されるため、上記生成物はブロック1個とハーシェルの生成物ともいえる。
対称に2個並べて固定物体で挟み振動子化したtwin bees shuttleなどに利用される。
女王蜂(Queen Bee)
191世代かけて6個のブロックと2個のブリンカーを生成する。
ブロックで挟み途中で生成される蜂の巣を消去してやると振動子化して周期30の女王蜂シャトル(queen bee shuttle)となる。
女王蜂シャトルを2個組み合わせたGosperのグライダー銃などに利用される。

メモリーセル(Memory cell)

情報を記憶できる便利なパターン。論理回路で使用される。読み書きは宇宙船などで行われる。

Boat-bit
ボートを利用したメモリーセル。
へび(イーター1などでも可)だけの状態が0、へびの隣にボートがある状態が1。
グライダーが当たる度にボートが生成または破壊され0と1が切り替わる。この反応を別のグライダーで検出して情報を読み出す。
なお中量級宇宙船とイーター1を使うとよりスマートに情報を読み出すことができる。
0のときは中量級宇宙船が素通りして0を維持、1のときは中量級宇宙船がボートを破壊(0になる)して消滅しグライダーを生成する。
Boat-bit(画像)

Boat-bit

Honeybit
蜂の巣を利用したメモリーセル。
蜂の巣の状態が0、ブロックと池の状態が1。
0のときにグライダーを当てると1に、1のときに軽量級宇宙船(情報読み出しを兼ねる)を当てると0になる。
0のときは軽量級宇宙船が素通りして0を維持、1のときは軽量級宇宙船が池に反応して消滅し0になる。
Honeybit(画像)

Honeybit

Unit Cell(Metacell)

ライフゲームのルールをライフゲーム上でシミュレートできるパターン。1個につきライフゲームの1セル分(1メタセル)に相当する。

OTCA metapixel(Outer Totalistic Cellular Automaton Meta-Pixel、OTCAMP)
ライフゲーム/OTCAmetapixel
サイズ2048×2048セル、周期35328のunit cell。1周期かけて1世代分(1メタ世代)のシミュレートを行う。
ライフゲームを含む外部総和型セル・オートマトン(outer totalistic cellular automaton)の各種ルールをシミュレートすることができる。
その特徴は縦横に並べられること、メタセルの生死を表示する部分がパターン中央の大部分を占め見やすいこと(つまりビジュアル面で強い)である。
実演例ではKokの銀河をメタセル上で再現したものが有名で、ドルフロ系PVのライフゲームにも登場する。
OTCA metapixel(画像)

OTCA metapixel

OTCA metapixel上でシミュレーションされるKokの銀河(画像)

OTCA metapixel上でシミュレーションされるKokの銀河
OTCA metapixelを225個(15個×15個)使用している

ドルフロ系PVへの登場

ドールズフロントライン

深層映写

「ドールズフロントライン」2019年5月 大型イベント「深層映写」公式PV

時刻登場パターン備考
0:03ブリンカー
グライダー
0:04OTCA metapixelただし逆再生されている。
背景にエリザ(エルダーブレイン)
0:07Gosperのグライダー銃
グライダー
背景にドリーマーとガイア
1:37OTCA metapixelやはり逆再生されている。
背景に過去のUMP45とUMP40

ニューラルクラウド

事前登録開始記念PV

「ニューラルクラウド」事前登録開始記念PV

時刻登場パターン備考
0:08ブリンカー
0:11ブリンカー
信号灯
ヒキガエル
パルサー
グライダー
ブリンカーに
>Model: Persicaria_
>Codename: Persicaria_
>AI Research Assistant_
の記述あり
0:14(上記+)
Gosperのグライダー銃
0:38ブリンカー
OTCA metapixel
Kokの銀河(メタセル上)
0:54(上記+)
Gosperのグライダー銃
1:02Gosperのグライダー銃
ブリンカー
信号灯
1:03ブリンカー
信号灯
ヒキガエル
パルサー
Gosperのグライダー銃
グライダー
1:17(上記と同様)0:08~0:30の逆再生
ライフゲームとは関係ないPVメモ

・Unicode(UTF-16)まとめ
0:23 生命的形式,
0:37 不止于人类自恃的认认知。不止于人类自恃的认认知。不止于人类自恃的认
0:48 无序绝非混乱,
0:57 虚构未必不是真实。
1:02 舍命只身去往绝地,舍命只身去往绝地,舍命只身去往绝地,
1:03 隐匿的归途上,
1:16 生命的形式
1:37 响彻流亡之人的祈祷。

生命的形式,不止于人类自恃的认认知。无序绝非混乱,虚构未必不是真实。舍命只身去往绝地,隐匿的归途上,响彻流亡之人的祈祷。

OPムービー

ニューラルクラウドOPムービー「EMOCODE」

時刻登場パターン備考
0:45Gosperのグライダー銃
グライダー
信号灯
ヒキガエル
パルサー
0:47OTCA metapixel逆再生