Õppetund
Teooria — Conway elu mäng
Kogu elumäng on kaks arvu. B3: surnud rakk, millel on täpselt kolm elavat naabrit, sünnib. S23: elav rakk kahe või kolme naabriga jääb ellu, muidu sureb. Muud reeglit ei ole, juhust ei ole ja mängijat ei ole — sina paned paika esimese põlvkonna ja kõik ülejäänu on sunnitud. Kõik, mida paneel loeb, ja iga muster rippmenüüs on nende kahe arvu tagajärg, rakendatuna kõigile rakkudele korraga.
Mida iga sümbol tähendab
n- elavate rakkude arv raku kaheksa naabri seas — neli külge ja neli nurka. Iga otsus selles mängus tehakse selle ühe täisarvu põhjal.
B3- sünnireegel. Täpselt kolm: kahest jääb väheks ja neli on liiga palju, ning just see teravus annab mustritele selged servad, mitte laialivalguvad plekid.
S23- ellujäämisreegel. Elav rakk, millel on vähem kui kaks naabrit, sureb nagu üksindusse; rohkem kui kolmega nagu ülerahvastusse.
Phase- paneeli enda otsus selle kohta, mida muster teeb — Evolving, Still life, Oscillating või Extinct. See on võrdlus varasemate põlvkondadega, mitte ennustus.
Kust valem tuleb
- Loenda iga laual oleva raku kohta elavad tema kaheksa naabri seas. Tee seda ka surnud rakkude jaoks — sünd otsustatakse samamoodi nagu ellujäämine ja rakul, keda veel ei ole, on ikkagi naabrid.
- Rakenda
B3. Surnud rakk, millel n = 3, ärkab ellu. Lae plokk ja kontrolli: iga tühi ruut, mis teda puudutab, näeb ülimalt kahte elavat, seega tema kõrvale ei sünni kunagi midagi. Just seepärast plokk paigal püsibki. - Rakenda
S23. Elav rakk, millel n = 2 või n = 3, jääb alles. Iga ploki neljast rakust puudutab täpselt kolme teist, seega jäävad kõik neli ellu ja plokk taastoodab end täpselt. - Ja tee kõik seda korraga. Iga rakku hinnatakse sama hetkevõtte suhtes ja seejärel asendatakse kogu laud. Uuenda selle asemel rakk-rakuhaaval ja saad teistsuguse, vale mängu — juba muudetud naaber mõjutaks kõrvalolevat rakku. Üheaegsus pole teostuse pisiasi, vaid osa reeglist.
Kuidas nähtut lugeda
Jälgi ruudustiku asemel rida Phase. Lae plokk ja ühe põlvkonna järel seisab seal Still life; vilkur vajab kaht, enne kui ilmub Oscillating; diehard jookseb 130 põlvkonda ja näitab siis Extinct. Lae nüüd liugur ja astu nii kaua kui tahad. Ta jääb igaveseks Evolving peale — ja ta on menüü kõige korrapärasem asi, korrates oma täpset kuju iga nelja põlvkonna järel. Klassifikaator võrdleb kogu lauda varasemate laudadega ja liuguri laud ei kordu kunagi, sest kuju on nihkunud ühe ruudu diagonaalis. Ränduv kord on nähtamatu testile, mis otsib paigalseisvat korda.
- Eeldab
- Lõplikku lauda — ja sellist, mida sa päris ei juhi: iga muster toob kaasa oma ruudustiku suuruse ja tühistab sinu oma. Leht avaneb 30×30; vali Acorn ja sellest saab 50×50, sea käsitsi 70 ja see püsib, vali siis Diehard ja see langeb 40×40 peale. Conway reegel on määratletud piiramatul tasandil, nii et muster, mis siin servani jõuab, ei mängi enam päris sedasama mängu.
- Ei kehti, kui
- Phase’i rida ei saa sulle kunagi öelda, et muster jääb ellu. Lae diehard: seitse rakku, mis kasvavad kahekümne neljani, uitavad üle saja põlvkonna ja on 130. põlvkonnaks kadunud — nimi on välja teenitud. Miski ekraanil ei vihjanud sellele enne 130. põlvkonda ja miski ei saanudki. Elumäng on Turingi mõttes universaalne, seega küsimus „kas see muster sureb välja?“ on peatumisprobleem teises kübaras ja ükski algoritm seda ei lahenda. Paneel vastab otsustatavale küsimusele — kas see laud on juba kordunud? — ja ütleb oodates hoolikalt Evolving, mitte midagi tugevamat.
Ülesanne täielikult lahendatud
-
Viis elusat rakku 30 × 30 ruudustikul 5 sammu
Viis elusrakku 30 × 30 ruudustikul. Arvutage tihedus, mille paneel kuvab, seejärel arvutage, kui kiiresti liugur liigub ja miks see ei saa kiiremini liikuda. See on olek Liugur.
-
Tihedus on lihtsalt elusrakkude arv jagatud rakkude koguarvuga ning ruudustik on ruudukujuline.
-
Reegel täielikul kujul. Pane tähele, mida see ei sisalda: ei mingit mõistet suunast, kaugusest ega mälust. Rakk näeb kaheksat naabrit ja praegust põlvkonda, ja see on kõik.
-
Jälgi liugurit läbi nelja sammu ja see on taas oma algses kujus, üks rakk paremal ja üks rakk allpool. Kaks neist sammudest ei sarnane sugugi algusega, mis tõttu periood on neli, mitte kaks.
-
Kiirus on nihe jagatud perioodiga. Piirkiiruse nimetaja määravad naabrid: üks rakk põlvkonna kohta on kiireim viis, kuidas info saab liikuda.
-
Skaleeri see lauale. Läbimisaeg on mustri ja ruudustiku omadus, mitte animatsiooni kiiruse oma — see muudab vaid seda, kui kaua tuleb oodata.
Vastus
c/4, kus c on üks rakk põlvkonna kohta. Elumängul on range kiiruspiirang ja see tuleneb otseselt reeglist: rakk vaatab alati ainult oma kaheksat naabrit, seega ei saa ükski mõju liikuda rohkem kui ühe raku võrra põlvkonna kohta, ükskõik millise mustri te ehitate. See on kausaalkoonus ja Elumängu kirjanduses nimetatakse seda ilma suurema irooniata valguse kiiruseks. Liugur taastab oma algse kuju nelja põlvkonna järel, nihkudes ühe raku võrra diagonaalselt, seega liigub see veerandiga piirkiirusest — ja miski, mis on ehitatud reeglistiku B3/S23 põhjal, pole kunagi ületanud c/2 ortogonaalselt. Perioodi ja nihkega viierakuline muster on Elumängus väikseim objekt, mis kuskile liigub, ning sellel kulub laua läbimiseks 120 põlvkonda ehk selle kiirussätte juures 24 sekundit.
-
Allikad (3)
- Turing completeness made explicit — a working universal Turing machine built out of Life patterns: P. Rendell, "A Universal Turing Machine in Conway’s Game of Life." 2011 International Conference on High Performance Computing & Simulation, 764–772.
- The column that introduced Life to a general audience: Martin Gardner, "Mathematical Games: The fantastic combinations of John Conway's new solitaire game 'life'." Scientific American 223, 120–123, October 1970.
- Where Life's universality is worked out: E. R. Berlekamp, J. H. Conway & R. K. Guy, Winning Ways for Your Mathematical Plays, volume 4, 2nd edition. A K Peters, 2004. ISBN 978-1-56881-144-4.