🦠 Conway’s Game of Life

L’automa cellulare più celebre della matematica ricreativa

← Torna a Virtual Desktop Site


Descrizione

Conway’s Game of Life è una simulazione dell’automa cellulare inventato dal matematico britannico John Horton Conway nel 1970. Non è un “gioco” nel senso tradizionale: è un sistema dinamico che evolve secondo regole semplici, generando comportamenti complessi e imprevedibili.

Le Quattro Regole

Il Game of Life si svolge su una griglia infinita di celle quadrate, ciascuna viva (nera) o morta (bianca). Ad ogni generazione, lo stato delle celle cambia secondo:

1. 🪦 Morte per Isolamento

Una cella viva con meno di 2 vicini vivi muore (solitudine).

2. 💚 Sopravvivenza

Una cella viva con 2 o 3 vicini vivi sopravvive alla generazione successiva.

3. 💀 Morte per Sovrappopolazione

Una cella viva con più di 3 vicini vivi muore (sovraffollamento).

4. 🐣 Nascita

Una cella morta con esattamente 3 vicini vivi diventa viva (riproduzione).

Nota: “Vicini” include le 8 celle adiacenti (diagonali incluse).

Caratteristiche dell’Applicazione

Controlli Interattivi

Pattern Precaricati

L’app include pattern classici:

Still Lifes (Configurazioni Statiche)

Oscillators (Configurazioni Periodiche)

Spaceships (Navicelle Mobili)

Modalità di Disegno

Implementazione Tecnica

File Principali

Tecnologie

Algoritmo di Evoluzione

function evolveGeneration() {
  // Per ogni cella nella griglia
  for (let y = 0; y < rows; y++) {
    for (let x = 0; x < cols; x++) {
      const neighbors = countNeighbors(x, y);
      const isAlive = grid[y][x] === 1;

      // Applica le 4 regole
      if (isAlive && (neighbors < 2 || neighbors > 3)) {
        nextGrid[y][x] = 0;  // Morte
      } else if (!isAlive && neighbors === 3) {
        nextGrid[y][x] = 1;  // Nascita
      } else {
        nextGrid[y][x] = grid[y][x];  // Invariato
      }
    }
  }

  // Swap grids per prossima generazione
  [grid, nextGrid] = [nextGrid, grid];
}

Ottimizzazioni

Pattern Famosi

Methuselah Patterns

Pattern che partono piccoli ma evolvono per centinaia o migliaia di generazioni:

Guns (Cannoni)

Generano un flusso infinito di glider:

Infinite Growth

Pattern che crescono all’infinito:

Proprietà Matematiche

Turing Completezza

Il Game of Life è Turing completo: può simulare qualsiasi computer. Sono stati costruiti:

Indecidibilità

Non esiste un algoritmo che possa predire se un pattern arbitrario:

Questo deriva dal Problema della Fermata di Turing.

Complessità Emergente

Da 4 regole semplici emerge:

Storia e Impatto

Creazione (1970)

John Conway inventò il Game of Life cercando un automa cellulare con proprietà interessanti:

Pubblicazione

Apparve per la prima volta nella rubrica “Mathematical Games” di Martin Gardner su Scientific American (Ottobre 1970), scatenando un fenomeno mondiale.

Influenza Culturale

Applicazioni Reali

Biologia

Fisica

Informatica

Curiosità

Hashlife (1984)

Algoritmo di Bill Gosper che può simulare 2^10000 generazioni in pochi secondi per certi pattern, sfruttando memoization massiva.

Game of Life nel Gioco

È possibile costruire un Game of Life dentro il Game of Life stesso (meta-simulazione ricorsiva).

Numeri Record


Esplora il Game of Life sul desktop virtuale aprendo l’icona 🦠 dal gruppo Mini Apps.