Hra o život je hra — vlastně jednoduchý celulární automat, kterou v roce 1970 vytvořil britský matematik John Horton Conway.

Hra se často popisuje jako hra s nulovým počtem hráčů: po nastavení počáteční konfigurace buněk se systém vyvíjí automaticky bez dalšího zásahu. Jedinou „interakcí“ člověka je volba výchozího rozložení živých buněk; poté už se sleduje, jak se vzory mění z generace na generaci podle pevně daných pravidel.

Základní princip a pravidla

Hra běží na dvourozměrné čtvercové mřížce (teoreticky neomezené), kde každá buňka může být ve stavu „živá“ nebo „mrtvá“. Stav každé buňky v příští generaci závisí na počtu živých sousedů ze 8 možných (tzv. Mooreovo sousedství).

  • Podvyživení: živá buňka s méně než 2 živými sousedy umírá.
  • Přežití: živá buňka se 2 nebo 3 živými sousedy přežije do další generace.
  • Přelidnění: živá buňka s více než 3 sousedy umírá.
  • Rozmnožení: mrtvá buňka s přesně 3 živými sousedy ožije.

Pravidla se běžně zapisují zkratkou B3/S23 (Birth 3 / Survival 2 nebo 3).

Typy vzorů a chování

Navzdory jednoduchým pravidlům se v Hře o život objevuje bohaté chování a mnoho charakteristických typů vzorů:

  • Stabilní vzory (still lifes): nezmění se po další generaci (např. blok, beehive).
  • Oscilátory: vracejí se do svého původního stavu po několika generacích (např. blinker, toad).
  • Skákající vzory a kosmické lodě (spaceships): pohybují se po mřížce, nejznámější je glider.
  • Glider gun: stabilní konstrukce, která periodicky „vypouští“ glidery (nejznámější Gosperův glider gun), což umožňuje nekonečné generování struktur.
  • Růst a chaos: některé počáteční konfigurace vedou k nekontrolovanému růstu, jiné k chaotickému chování nebo k postupnému „usazování“ do menších struktur.

Význam a vlastnosti

  • Emergence: jednoduchá lokální pravidla mohou vést k nečekaně složitému globálnímu chování.
  • Turingova úplnost: Hra o život je Turingovsky úplná — je možné v ní konstruovat výpočetní prvky a simulovat libovolný algoritmus (to demonstrovali badatelé vytvářením logických bran a počítačů uvnitř automatu).
  • Učení a výzkum: Hra slouží jako model v oblasti komplexních systémů, počítačové vědy a matematické rekreace; je oblíbená ve výuce i při experimentech s evolucí vzorů.

Praktické poznámky

  • Inicializace: hráč nebo program nastaví počáteční konfiguraci (několik nebo mnoho živých buněk) a poté opakovaně aplikuje pravidla na celou mřížku.
  • Implementace: existuje mnoho implementací Hry o život — od jednoduchých programů a webových appletů po rychlé simulátory pro velké mřížky; v praxi se často používají ohraničené nebo obalující (torické) hrany, aby se vyřešila otázka konečného pole.
  • Variace: existují stovky variant pravidel (např. HighLife B36/S23), které dávají vzniknout odlišným druhům chování a vzorů.

Jak začít

Nejjednodušší způsob, jak vyzkoušet Hru o život, je použít některý z online simulátorů nebo napsat malý program. Postup:

  • vyberte nebo nakreslete počáteční vzor živých buněk,
  • spusťte opakované aplikování pravidel a sledujte vývoj,
  • zkoušejte různé počáteční konfigurace a pozorujte, které vzory vznikají (stabilní, oscilátory, vesmírné lodě, glider guny apod.).

Hra o život je přitažlivá právě proto, že ze zcela jednoduchých pravidel vzejde bohatá a nečekaná dynamika — proto zůstává populárním tématem mezi matematiky, programátory i amatérskými tvůrci.