Conway's Game of Life
Főnév
Conway's Game of Life (tsz. Conway's Game of Lifes)
- (informatika) Conway’s Game of Life – magyarul Conway-féle Életjáték – egy celluláris automata, amelyet John Horton Conway angol matematikus talált ki 1970-ben. A játék a rácson zajló élet szimulációját valósítja meg egyszerű szabályok alapján, mégis képes bámulatosan összetett viselkedésre. Nem valódi „játék”, mert nincs játékos és nincs győzelem vagy vereség – sokkal inkább egy matematikai modell vagy szimulációs rendszer.
🌱 Alapötlet
A játék célja: megfigyelni, hogyan fejlődik egy kezdeti cellaállapot az időben, adott szabályok szerint. A rács végtelen (vagy nagy), és minden négyzetrács mező (cell) kétféle állapotú lehet:
- Élő (live) – általában fekete vagy színes négyzet
- Halott (dead) – fehér vagy üres négyzet
A játék lépésekben (generációkban) halad. Minden generációban minden cella vizsgálja a 8 szomszédját, és a következő szabályok szerint változtatja az állapotát.
⚙️ Szabályok (B3/S23 szabályrendszer)
Minden cella 8 szomszédot vizsgál:
- A születés (Birth, B) akkor következik be, ha egy halott cellának épp 3 élő szomszédja van → ez a cella életre kel.
- A túlélés (Survival, S) akkor történik, ha egy élő cellának 2 vagy 3 élő szomszédja van → életben marad.
- Más esetben:
- Egy élő cella meghal (0 vagy 1 szomszéd: magány, 4+ szomszéd: túlnépesedés)
- Egy halott cella halva marad, ha nincs pontosan 3 élő szomszédja.
Ez determinisztikus: minden új állapot kizárólag az előző állapottól függ.
🧠 Példa: egyszerű minták
| Minta neve | Leírás |
|---|---|
| Block | 2x2 élő cella – stabil, nem változik |
| Blinker | Három egymás melletti élő cella – periodikus, 2 fázis |
| Glider | 5 cellás forma – mozog átlósan a rácson |
| Gosper glider gun | Létrehoz folyamatosan glidereket – végtelen növekedés |
📊 Turing-teljesség
Az Élet játéka Turing-teljes, ami azt jelenti, hogy bármilyen algoritmus (amelyet számítógépen végre lehet hajtani) elvileg modellezhető az Élet játékán keresztül. Ez azt mutatja, hogy a rendszer számítási szempontból elképesztően erős – pusztán lokális, egyszerű szabályokkal.
🧩 Szimulációs jelentőség
Az Élet játékát gyakran használják:
- Komplex rendszerek modellezésére
- Önszervező rendszerek, mintafelismerés, evolúció, biológiai rendszerek vizsgálatára
- Számítástudományi oktatásban, algoritmusok és optimalizáció illusztrálására
💻 Megvalósítás (algoritmus vázlat)
- Készíts egy rácsot (2D mátrix), pl.
n x nméretben - Kezdeti állapot: élő és halott cellák
- Minden generációban:
- Minden cellára számold meg az élő szomszédokat
- Alkalmazd a szabályokat
- Készíts új mátrixot a következő generációhoz
- Ismételd, amíg kell (vagy végtelen ciklus)
🧑💻 Példa kód (Python)
import numpy as np
def count_neighbors(grid, x, y):
neighbors = 0
for i in [-1, 0, 1]:
for j in [-1, 0, 1]:
if not (i == 0 and j == 0):
neighbors += grid[(x + i) % grid.shape[0], (y + j) % grid.shape[1]]
return neighbors
def step(grid):
new_grid = np.zeros_like(grid)
for x in range(grid.shape[0]):
for y in range(grid.shape[1]):
n = count_neighbors(grid, x, y)
if grid[x, y] == 1 and n in [2, 3]:
new_grid[x, y] = 1
elif grid[x, y] == 0 and n == 3:
new_grid[x, y] = 1
return new_grid
📚 Történelmi érdekesség
- A játékot Martin Gardner mutatta be 1970-ben a Scientific American magazinban.
- Az Élet játéka volt az egyik első példája annak, hogyan tudnak egyszerű szabályokból komplex viselkedések kialakulni – ez előfutára volt a káoszelméletnek és a komplex rendszerek tudományának is.
🧬 Tanulság
Conway Élet játéka bemutatja, hogyan lehet a determinista lokális szabályokból globálisan nem determinisztikusnak tűnő komplex viselkedést kapni. Egyaránt inspiráló matematikusok, informatikusok, biológusok és művészek számára.
- Conway's Game of Life - Szótár.net (en-hu)
- Conway's Game of Life - Sztaki (en-hu)
- Conway's Game of Life - Merriam–Webster
- Conway's Game of Life - Cambridge
- Conway's Game of Life - WordNet
- Conway's Game of Life - Яндекс (en-ru)
- Conway's Game of Life - Google (en-hu)
- Conway's Game of Life - Wikidata
- Conway's Game of Life - Wikipédia (angol)