Mikä on soluautomaatti
Soluautomaatti on ruutujen muodostama lauta, jossa jokainen ruutu on jossain tilassa (tässä elävä tai kuollut) ja joka muuttuu vaiheittain, joita kutsutaan sukupolviksi. Joka vaiheessa kaikki ruudut päivittyvät yhtä aikaa saman säännön mukaan, joka katsoo vain jokaista ruutua ympäröiviä kahdeksaa naapuria.
Elämänpeliä ei voita eikä häviä: sinä valitset alkuasetelman ja säännöt hoitavat loput. Mielenkiintoista on, että näin yksinkertaisista säännöistä syntyy hyvin monimutkaista ja arvaamatonta käytöstä, minkä vuoksi peliä tutkitaan matematiikassa, tietojenkäsittelyssä ja jopa biologiassa.
Säännöt yksinkertaisesti
Jokaisesta ruudusta lasketaan elävien naapurien määrä (ympäröivät kahdeksan ruutua, vinottaisetkin mukaan lukien), ja seuraavia sääntöjä sovelletaan yhtä aikaa koko laudalla:
- Elävä solu, jolla on alle kaksi elävää naapuria, kuolee yksinäisyyteen.
- Elävä solu, jolla on kaksi tai kolme elävää naapuria, pysyy elossa.
- Elävä solu, jolla on yli kolme elävää naapuria, kuolee liikakansoitukseen.
- Kuollut ruutu, jolla on täsmälleen kolme elävää naapuria, herää eloon.
Näiden sääntöjen lyhyt merkintätapa on B3/S23: B (englannin sanasta birth, syntymä) 3 tarkoittaa, että solu syntyy kolmella naapurilla, ja S (survival, selviytyminen) 23 tarkoittaa, että se säilyy hengissä kahdella tai kolmella. Työkalun vaihtoehtoiset säännöt käyttävät samaa merkintää, esimerkiksi HighLife on B36/S23 ja Siemenet B2/S.
Yksi sukupolvi käsin laskettuna
Otetaan vilkkuja: kolme elävää solua vaakasuorassa rivissä. Keskimmäisellä on 2 elävää naapuria, joten se pysyy elossa. Ääripäiden soluilla on vain 1 naapuri, joten ne kuolevat. Keskikohdan ylä- ja alapuolella olevilla ruuduilla on 3 elävää naapuria (rivin kolme solua), joten ne syntyvät. Tulos: pystysuora kolmen solun rivi.
Seuraavassa sukupolvessa prosessi toistuu ja rivi on taas vaakasuora. Siksi vilkkuja on jaksoltaan 2 oleva oskillaattori. Kokeile samaa lohkolla, 2 × 2 -neliöllä: jokaisella solulla on 3 naapuria, joten kaikki säilyvät, eikä yhdelläkään tyhjällä ruudulla ole 3 elävää naapuria. Se ei muutu koskaan, ja siksi sitä kutsutaan vakaaksi kuvioksi.
Historia: Conway, Gardner ja lehti
Brittiläinen matemaatikko John Conway keksi pelin vuonna 1970. Sen teki tunnetuksi Martin Gardner Scientific American -lehden matemaattisten pelien palstalla lokakuun 1970 numerossa, ja siitä lähtien se on synnyttänyt valtavan harrastajayhteisön, joka etsii ja luetteloi kuvioita.
Ajan myötä osoitettiin, että peli on Turing-täydellinen: sopivilla kuvioilla sillä voi periaatteessa laskea kaiken, minkä tietokone laskee. Se on yksi syy siihen, miksi se on yhä kuuluisa: rajaton monimutkaisuus pienimmistä säännöistä.
Kuvioperheet ja mitä kokeilla
Kuviot luokitellaan käytöksensä mukaan. Kaikki löytyvät työkalun «Kuvio»-valikosta näillä nimillä:
| Perhe | Kuvio | Mitä se tekee |
|---|---|---|
| Vakaa kuvio | Lohko, Mehiläispesä | Ei muutu koskaan: lohkossa 4 solua, mehiläispesässä 6 |
| Oskillaattori | Vilkkuja, Sammakko, Majakka | Jakso 2: alkaa alusta 2 sukupolven välein |
| Oskillaattori | Pulsari | Jakso 3, 48 solua alkuvaiheessa |
| Oskillaattori | Pentadekatloni | Jakso 15 |
| Avaruusalus | Liitäjä | 5 solua; etenee 1 ruudun vinottain 4 sukupolvessa |
| Avaruusalus | Kevyt avaruusalus | Ylittää laudan suoraan, jakso 4 |
| Tykki | Gosperin liitäjätykki | Lähettää uuden liitäjän 30 sukupolven välein |
| Alkukaaos | R-pentomino | 5 solua, jotka vakiintuvat äärettömällä tasolla 1 103 sukupolvessa |
Gosperin tykin löysi Bill Gosper vuonna 1970, ja se oli ensimmäinen todiste siitä, että populaatio voi kasvaa rajattomasti. Näiden lisäksi työkalussa on Terho ja Die Hard, kaksi pientä kuviota, joiden ratkeaminen kestää hyvin kauan.
Miten käytät Elämänpeli-työkalua
- Napauta tai vedä laudalla piirtääksesi eläviä soluja (napauta elävää ruutua uudelleen poistaaksesi sen) tai valitse kuvio «Kuvio»-valikosta.
- Paina «Käynnistä». «Yksi sukupolvi» etenee yhden askeleen kerrallaan, jotta voit seurata kehitystä rauhassa, ja «Tauko» pysäyttää kaiken. Voit käyttää myös näppäimistöä, kun lauta on valittuna: välilyönti käynnistää tai pysäyttää, N etenee yhden askeleen, R täyttää satunnaisesti ja C tyhjentää.
- Säädä «Nopeus», «Laudan koko» ja «Sääntö» ja kokeile «Satunnainen» (sekä «Satunnaisuuden tiheys») aloittaaksesi solujen täyttämällä laudalla. «Tyhjennä» jättää laudan tyhjäksi.
- Ota käyttöön «Väritä solut iän mukaan» nähdäksesi, mitkä alueet ovat pysyneet vakaina pisimpään. Ylhäällä näkyvät sukupolvi ja elävät solut, ja työkalu ilmoittaa, kun lauta vakiintuu, joutuu kiertoon tai elämä loppuu.
Kaikki lasketaan laitteellasi, eikä mitään lähetetä palvelimelle. Työkalu tallentaa selaimeesi asetukset (koon, nopeuden, säännön), mutta ei piirrosta.
Kokeiluja tehtäväksi
- Lataa liitäjä ja laske, kuinka monta sukupolvea sillä kestää siirtyä yksi ruutu vinottain: 4. Kun reunat on yhdistetty, se kiertää laudan ympäri ja ilmestyy toiselta puolelta.
- Aseta kaksi liitäjää törmäyskurssille ja katso, miten käy: tulotavasta riippuen ne voivat tuhoutua tai jättää jälkeensä vakaan kuvion.
- Lataa Gosperin tykki vähintään 48 × 48 -laudalle ja laske, kuinka kauan jokaisen liitäjän lähettäminen kestää: 30 sukupolvea.
- Lataa R-pentomino isolle laudalle ja vertaa yhdistetyillä reunoilla ja ilman. Äärettömällä tasolla se vakiintuu 1 103 sukupolvessa, mutta rajallisella laudalla tulos muuttuu.
- Vaihda sääntöä samalla piirroksella. Siemenet-säännöllä (B2/S) jokainen solu kuolee joka sukupolvessa ja jäljelle jäävät vain synnyt, joten kuvio laajenee ulospäin; Sokkelo-säännöllä (B3/S12345) syntyy käytävämäisiä rakenteita.
Rajallisen laudan rajoitukset
Alkuperäinen peli tapahtuu äärettömällä tasolla. Työkalun lauta on kooltaan kiinteä, joten reunalle ehtivä käyttäytyy toisin: yhdistetyillä reunoilla se tulee takaisin vastakkaiselta puolelta (lauta muuttuu eräänlaiseksi donitsiksi), ja ilman yhdistämistä se sammuu seinää vasten.
Siksi suuret kuviot tarvitsevat tilaa (Gosperin tykki vaatii vähintään 48 × 48) ja jotkut, kuten R-pentomino, voivat päättyä toisin kuin rajattomalla tasolla. Jos kuvio ei mahdu, työkalu pyytää suurempaa lautaa.
Usein kysytyt kysymykset
Mitkä ovat Conwayn Elämänpelin säännöt?
Elävä solu, jolla on 2 tai 3 elävää naapuria, pysyy elossa; alle 2 naapurilla se kuolee yksinäisyyteen ja yli 3:lla liikakansoitukseen. Kuollut ruutu, jolla on täsmälleen 3 elävää naapuria, herää eloon. Lyhyesti B3/S23.
Mitä B3/S23 tarkoittaa?
B on syntymä (birth) ja S selviytyminen (survival). B3 tarkoittaa, että solu syntyy 3 elävällä naapurilla, ja S23 sitä, että 2 tai 3 naapuria omaava solu säilyy hengissä.
Mikä on liitäjä?
Se on viiden solun kuvio, joka liikkuu vinottain yhden ruudun 4 sukupolvessa. Se on pelin tunnetuin kuvio.
Kuka keksi Elämänpelin?
Brittiläinen matemaatikko John Conway vuonna 1970. Martin Gardner teki sen tunnetuksi samana vuonna Scientific American -lehdessä.
Miksi piirrokseni katoaa tai pysähtyy?
Se on tavallisinta: monet pienet kuviot sammuvat tai vakiintuvat muutamassa sukupolvessa. Kokeile toista lähtökohtaa, isompaa lautaa tai «Satunnainen»-painiketta.