Zajímá vás jak se bude vyvíjet městská aglomerace v závislosti na zdrojích, infrastruktuře nebo na znečištění životního prostředí? Jak spolu budou koexistovat kolonie dvou a více odlišných druhů bakterií? Co se stane, když jeden ze soupeřů změní strategii? Pomoci nám mohou buněčné (celulární) automaty, které slouží k simulaci reálných jevů na počítači.
Máme například čtverec sto krát sto pixelů. Představme si, že každý pixel tohoto čtverce (záhonu) je rostlina. Rostlina jednoho druhu, která buď kvete (červená barva pixelu), nebo nekvete (zelený pixel). To znamená, že každý pixel se může nacházet v jednom ze dvou stavů. Na tom není nic zvláštního. Jako zkušení zahradníci však víme, že rostliny, které spolu bezprostředně sousedí se navzájem ovlivňují podle jednoduchých pravidel. Jeden určitý pixel má buď čtyři, nebo osm (pokud počítáme i pixely na rozích) sousedů. Pro zjednodušení ponecháme stranou okraje a rohy záhonu.
Jestliže rostlina kvete a v jejím okolí je méně než dva nebo více než tři kvetoucích sousedů, pak rostlina odkvete. Má-li dva nebo tři kvetoucí sousedy, kvete dál. Jesliže rostlina nekvete a má právě tři kvetoucí sousedy, rozkvete také.
Jak se náš záhon bude mněnit ze dne na den ?
Chceme vědět jesli se rostliny samy uspořádají do nějakého pravidelného kvetoucího vzoru a jestli vývoj záhonu můžeme ovlivnit tím, jak na počátku umístíme vedle sebe kvetoucí a odkvetlé rostliny (náhodně nebo pravidelně).
Rostliny nahradíme pixely, záhon monitorem, a necháme pracovat počítač.
Pixely mohou symbolizovat rostliny, bakterie, molekuly, atomy, lidi, galaxie atd. Pravidla, která ovlivňují vývoj námi simulovaného systému mohou být složitější, rostlin může být více druhů, mohou na ně působit škůdci atd.
Jiný buněčný automat může simulovat vztahy systému tráva - zajíci - lišky. Zajíci žerou trávu, lišky žerou zajíce. Povrch země je nerovnoměrně pokryt pískem a trávou. Lišky i zajíci se po povrchu náhodně pohybují. Ocitne-li se zajíc v blízkosti trávy, přesune se na pozici trávy a sežere jí. Tráva po určitém počtu dní znovu vyraší. Králík jednou za čas s určitou pravděpodobností vrhne mláďata. Bez potravy hyne. Je-li liška vedle zajíce, posune se na jeho pozici a sežere ho. Taktéž se rozmnožuje, ovšem v závislosti na množství potravy. Liška která několik dní nežrala hyne. Jak se bude vyvíjet tento systém? Ustálí se v nějakém poměru trávy zajíců a lišek, bude pravidelně oscilovat, nebo se bude vyvíjet chaoticky ?
Další buněčný automat - lavina v kanceláři. V kanceláři jsou pravidelně rozmístěny psací stoly a u každého stolu sedí jeden úředník. Poslíček přináší spisy a náhodně je rozděluje na stoly. Úředníci jsou líní a v podstatě nikdy nezpracují ani jeden spis. Na svém stole však každý úředník toleruje jen tři nevyřízené spisy. Pokud se stane, že se na stole ocitne čtvrtý nevyřízený spis, úředník propadne panice (vždyť to vypadá, že nic nedělá) a rozdělí spisy mezi své čtyři nejbližší sousedy. Ti z nich, co už mají před sebou tři spisy a kolega jim hodil na stůl čtvrtý se rozčílí, opět rozhodí své spisy na stoly nejbližších sousedů a celý proces se lavinovitě rozrůstá. Když lavina dorazí až k úředníkům u oken (na okrajích) vyhodí tito nezodpovědní lidé některé spisy oknem.
Pomocí buněčných automatů lze simulovat třeba šíření epidemií v populaci, různé strategie spolupráce mezi jedinci (vězňovo dilema) atd. Náš model by měl obsahovat zkoumané prvky systému a soubor pravidel, která vymezují jejich vzájemné interakce. Pakliže je automat sestaven, můžeme si hrát s jeho parametry, měnit pravidla atd., aby byl náš model v co největším souladu s pozorovanou skutečností. Potom zvolíme počáteční podmínky (výchozí stav) a necháme pracovat čas.
Pro větší názornost by měl být v archivu na disku přiložen jednoduchý prográmek (Omikron Basic) ZÁHON.PRG (.BAS). Prográmek o zahradníkovi a jeho květinovém záhonu z tohoto článku. Aby byl vývoj systému znázorněn co nejpůsobivěji, je nutno dosáhnout co největší rychlosti programu. Ta není u Záhonu zrovna největší, za což se omlouvám.
Doufám, že jsem inspiroval aspoň jednoho programátora k vytvoření zajímavého programu, simulátoru nebo strategické hry.
-JS-
použitá literatura: VTM č. 9/1990 a 2/1997, Vesmír č. 11/1997, Ian Stewart: Čísla přírody (Archa, Bratislava 1996)