Math World Lab

セル・オートマトン(ライフゲーム)

たった4つの単純なルールから、生命のような自己組織化と複雑系が創発する

この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
セル・オートマトン(ライフゲーム)の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
2
公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
3
実社会における工学応用(2次元ビットグリッドによるライフゲーム更新エンジン)のTypeScript実装コードを収録。

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

セル・オートマトン(ライフゲーム)の基礎原理を体系化し、抽象的な計算を直感的に扱うために誕生した。

身につく武器・思考力

たった4つの単純なルールから、生命のような自己組織化と複雑系が創発する。この考え方を身につけることで、複雑な課題を単純化して数理モデルとして解く力が養われる。

実社会・ITでの活躍現場

  • •2次元ビットグリッドによるライフゲーム更新エンジン
  • •ITシステム・アルゴリズム実装における論理設計
  • •データ分析やシミュレーションにおける数理モデリング

Layer 1 — 直感・シミュレーター

マス目をクリックして生きたセルを自由に配置するか、「プリセット(グライダー等)」を選んで「再生」ボタンを押してみよう。周囲のセルの数(密度)に応じて、増殖したり過密で死滅したりしながら、まるで生き物のように斜めに移動する不思議なパターン(創発現象)を観察できる。

※マスをクリックして自由に配置
現在の世代数
第 0 世代
生存セル数
5 個
創発現象
単純な生死ルールから、生物のように右下へ斜めに歩き続ける「グライダー」が自己組織化されます。

Layer 2 — 定義・受験・証明

定義

ジョン・ホートン・コンウェイが考案した2次元格子上の零プレイヤーゲーム。各セルは「生」または「死」の2状態を持ち、周囲8近傍の生きたセルの数 kk によって次の世代の状態が決定される。 1. 【誕生】: 死んだセルの周囲にちょうど3つの生セルがあれば誕生する。 2. 【生存】: 生きたセルの周囲に2つまたは3つの生セルがあれば生存する。 3. 【過疎死】: 生きたセルの周囲に1つ以下の生セルしかないと孤独死する。 4. 【過密死】: 生きたセルの周囲に4つ以上の生セルがあると窒息死する。

公式・数理モデル

St+1(x,y)=f(St(x,y),∑dx,dySt(x+dx,y+dy))S_{t+1}(x,y) = f\left( S_t(x,y), \sum_{dx,dy} S_t(x+dx, y+dy) \right)

証明・導出

チューリング完全性の証明: コンウェイのライフゲームは単なる幾何学模様のシミュレーションではなく、論理ゲート(AND, OR, NOT)をセルの衝突(グライダー銃など)によって構成可能であることが数学的に証明されている。 すなわち、無限に広い格子と適切な初期配置を与えれば、いかなるコンピュータプログラムもライフゲームの中で実行可能(チューリング完全)である。極小の局所ルールから無限の計算可能性が創発する驚異的な数学モデルである。

押さえておきたいポイント

  • 中央の統括者が存在しなくても、局所的な相互作用だけで全体秩序(自己組織化)が生まれる
  • 「固定物体(ブロック等)」「振動子(ブリンカー等)」「移動体(グライダー等)」などの多様な生態系が自然発生する
  • 生物の進化、都市の形成、森林火災の伝播、ウイルスの感染拡大などのモデリングに広く応用される
  • カオス理論と決定論の境界にある「計算既約性(シミュレーションしてみるまで未来が予測できない性質)」を示す代表例
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

2次元ビットグリッドによるライフゲーム更新エンジン

配列の境界をラップアラウンド(トーラス面)しながら、周囲8近傍のカウントと次世代状態を高速計算するTypeScript実装。

1type Grid = boolean[][];
2
3function stepLifeGame(grid: Grid): Grid {
4 const rows = grid.length;
5 const cols = grid[0].length;
6 const next: Grid = Array.from({ length: rows }, () => Array(cols).fill(false));
7
8 for (let r = 0; r < rows; r++) {
9 for (let c = 0; c < cols; c++) {
10 let neighbors = 0;
11 for (let dr = -1; dr <= 1; dr++) {
12 for (let dc = -1; dc <= 1; dc++) {
13 if (dr === 0 && dc === 0) continue;
14 const nr = (r + dr + rows) % rows;
15 const nc = (c + dc + cols) % cols;
16 if (grid[nr][nc]) neighbors++;
17 }
18 }
19 // コンウェイの4ルール
20 if (grid[r][c]) {
21 next[r][c] = neighbors === 2 || neighbors === 3;
22 } else {
23 next[r][c] = neighbors === 3;
24 }
25 }
26 }
27 return next;
28}
この単元につながる学習ロードマップ
次に学ぶと面白い発展単元

この領域の最高峰単元です。工学実装コードを動かしてみましょう!

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

Boids Swarm (Flocking)
関連度高工学応用

ボイドモデルと群衆シミュレーションのアルゴリズム

全体を操るリーダーはいない — 衝突回避・整列・凝集の3ルールから生まれる自己組織化の美

関連度高工学応用

天気予報の数学(数値予報の基礎)

微分方程式を細かい時間刻みで解き進める「数値シミュレーション」としての天気予報

関連度高工学応用

レコメンドの仕組み(コサイン類似度とベクトル検索)

ユーザーの好みと商品の近さを「ベクトルのなす角」で判定するアルゴリズム

同じレベルで次に挑戦したいトピック

同レベル推薦工学応用

勾配降下法

谷底を探すAIの基本アルゴリズム

同レベル推薦工学応用

ニューラルネットワークの数学(順伝播と活性化関数)

入力に重みを掛けて足し合わせ、非線形関数で発火させるAIの基本素子

"PASS"c=mᵉ%n
同レベル推薦工学応用

RSA暗号と素数の秘密(公開鍵暗号)

「掛け算は簡単だが、素因数分解は極めて困難」という非対称性を利用した現代暗号の金字塔

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

円の面積と円周率

半径を変えると、円周と面積はどう変わる?

工学・実践連携小学校・算数

三角形・多角形の面積

頂点を動かして、面積の公式が成り立つ理由を確かめよう

工学・実践連携小学校・算数

単位変換(長さ・面積・体積)

長さが2倍になると、面積・体積は何倍になる?

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。