Des règles locales triviales engendrent une complexité globale stupéfiante. Dessinez vos propres formes initiales, puis observez la vie émerger — ou s'éteindre.
// Automate cellulaire — Game of Life (Conway 1970) function step(grid, cols, rows) { const next = new Uint8Array(cols * rows); for (let y = 0; y < rows; y++) { for (let x = 0; x < cols; x++) { let n = 0; // compter les voisins vivants for (let dy = -1; dy <= 1; dy++) for (let dx = -1; dx <= 1; dx++) if (dx || dy) n += grid[((y+dy+rows)%rows)*cols + (x+dx+cols)%cols]; const alive = grid[y * cols + x]; // B3/S23 : naissance si 3 voisins, survie si 2 ou 3 next[y * cols + x] = (alive && (n===2||n===3)) || (!alive && n===3) ? 1 : 0; } } return next; }
Placez un « planeur » (bouton) et observez sa trajectoire diagonale infinie. Pouvez-vous dessiner un « canon à planeurs » (une forme qui émet un planeur toutes les 30 générations) ?
De la cellule à l'intelligence artificielle — explorez les systèmes complexes
Réserver un créneau