Game of life Spis treści Powstanie gry Opis reguł gry Reguły według Conwaya Elementy występujące w grze Modyfikacje gry Charakterystyka automatu komórkowego „Gra w Życie” Powstanie gry Game of life (Gra w życie) - jeden z pierwszych i najbardziej znanych przykładów automatu komórkowego, wymyślony w roku 1970 przez brytyjskiego matematyka Johna Conwaya. Gra powstała dzięki Conwayowi, który zainspirowany pracami Stanisława Ulama oraz Roberta Schrandta nad układami sąsiadów i regułami zmian, eksperymentował nad stworzeniem takiego automatu pod koniec lat 60. XX wieku. Reguły, które w ostateczności przyczyniły się do powstania „Gry w życie”, zostały wybrane, ponieważ pozwalały na równowagę pomiędzy zbyt szybkim rozrastaniem się struktur i zbyt wolnym pojawianiem się szybko znikających obiektów. Do badania populacji żyjących Conway używał komputera PDP-7. Gra została spopularyzowana przez Martina Gardnera na łamach Scientific American. Od momentu publikacji zawsze wzbudzała duże zainteresowanie z powodu zaskakującego sposobu, w jaki struktury potrafią ewoluować. To właśnie jej pojawienie się wzbudziło zainteresowanie automatami komórkowymi wśród studentów, którzy traktowali ją jako rozrywkę, oraz fizyków, którzy zwrócili uwagę na możliwości automatów w zakresie symulatorów fizycznych. Dzisiaj matematyków, ekonomistów i naukowców z innych dziedzin interesuje sposób, w jaki przy zastosowaniu tylko kilku prostych reguł powstają skomplikowane struktury. Opis reguł gry Gra toczy się na nieskończonej planszy (płaszczyźnie) podzielonej na kwadratowe komórki. Każda komórka ma ośmiu "sąsiadów", czyli komórki przylegające do niej bokami i rogami. Każda komórka może znajdować się w jednym z dwóch stanów: może być albo "żywa" (włączona), albo "martwa" (wyłączona). Stany komórek zmieniają się w pewnych jednostkach czasu. Stan wszystkich komórek w pewnej jednostce czasu jest używany do obliczenia stanu wszystkich komórek w następnej jednostce. Po obliczeniu wszystkie komórki zmieniają swój stan dokładnie w tym samym momencie. Stan komórki zależy tylko od liczby jej żywych sąsiadów. W „Grze w życie” nie ma graczy w dosłownym tego słowa znaczeniu. Udział człowieka sprowadza się jedynie do ustalenia stanu początkowego komórek. Zdefiniowano kilka wzorców reguł generowania, najbardziej rozpowszechnione są reguły wymyślone przez Conwaya. Reguły według Conwaya: martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się); żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; przy innej liczbie sąsiadów umiera (z "samotności" albo "zatłoczenia"). Elementy występujące w grze: Struktury niezmienne Oscylatory Struktury niestałe Statki Działa Struktury niezmienne Struktury niezmienne, inaczej stabilne lub statyczne, pozostają identyczne bez względu na krok czasowy (dla każdej żywej komórki spełniony jest warunek przetrwania i dla żadnej spośród martwych nie jest spełniony); najprostsza taka struktura (Block) składa się z 4 żywych komórek. Pojawiają się bardzo często jako produkty końcowe ewolucji struktur. Tworzy się je stosunkowo prosto, istnieją schematy według których można wymyślać nowe tego typu struktury. Oto przykłady: Blok Łódź Bochenek Kryształ Koniczynka Oscylatory Oscylatory zmieniają się okresowo, co pewien czas powracają do swojego stanu pierwotnego; najprostsza taka struktura składa się z trzech żywych komórek położonych w jednym rzędzie. Najprostsze z nich dość często pojawiają się jako produkty końcowe ewolucji struktur. Okresy oscylatorów najczęściej przyjmują wartości 2, 3, 4, 6 lub 8, choć w grze w życie znaleziono i takie, których okres wynosi prawie 150000. Dla pewnych reguł istnieje nawet oscylator o nazwie "biały rekin", który ma okres 150000034. Większość liczb naturalnych może być długościami okresu oscylatora. Wyjątkami są jednak liczby 19, 23, 31, 37, 38, 41, 43, oraz 53. Nie wiadomo, czy oscylatory dla takich długości okresów istnieją, ale jest bardzo prawdopodobne, że tak jest. Warto dodać, że dla okresów 34 i 51 jedyne znane oscylatory składają się z niezależnie działających struktur o okresie 2 lub 3 i 17. Przykładowo oscylator o okresie 34 tworzy się z oscylatorów długości 2 i 17 w takiej odległości, by na siebie nie wpływały. Dla cyklu długości 14 istnieje natomiast tylko jeden oscylator (Fontanna). Charakterystyczną cechą oscylatorów o dłuższych okresach jest podobieństwo tych o cyklu jednakowej długości (np. oscylatory długości 32 przypominają zegary z obracającą się wskazówką). Ich tworzenie jest dość trudne (wymaga sporej wyobraźni). Oto kilka przykładów oscylatorów: Blinker (światła uliczne) Żabka Krokodyl Fontanna Struktury niestałe Struktury niestałe zmieniają się, nie powracając nigdy do swojego stanu pierwotnego. Jest to w praktyce grupa łącząca struktury nie należące do żadnej z pozostałych kategorii. Z tego też powodu jest ich najwięcej, A ich uzyskanie nie sprawia większych trudności (losowy układ komórek wprowadzony jako warunki początkowe zwykle okazuje się być strukturą niestałą). Niektóre struktury niestałe mają jednak właściwość ciekawego lub bardzo długiego przebiegu rozwoju. Jedną z cech takich struktur jest stosunek liczby komórek w stadium początkowym do liczby kroków, po których następuje stabilizacja, tj. zamiana na konfigurację układów stabilnych, oscylatorów i statków (zwykle gliderów). Wartość ta oznaczana będzie tutaj przez L. Najważniejsze spośród najprostszych struktur niestałych: - R-Pentomino (F-Pentomino) – chaotyczny rozwój aż do około 1200 kroku, emisja kilkudziesięciu gliderów; L≈280. - B-Heptomino – rozwój przez ponad 100 kroków aż do uzyskania zespołu struktur stabilnych; emituje glidera; L≈15. - Pi-Heptomino – efektowny rozwój przez ponad 200 kroków aż do uzyskania charakterystycznego zespołu blinkerów (oscylatorów) i struktur stabilnych, tzw. rezultatu B-Pi; L≈30. - Bi-Pi-Heptomino – struktura złożona z dwóch Pi-Heptomino odwróconych względem siebie do góry nogami. Efektownie rozwija się, po czym zanika po około 10 krokach czasowych. - W-Mino – efektowny rozwój, zakończony po 50 krokach powstaniem zbioru blinkerów (oscylatorów) i struktur stabilnych; L≈6. Najdłużej rozwijające się struktury niezmienne nazwane są matuzalemami (nazwa pochodzi od Matuzalema). Terminem diehard (ang. die – umierać, hard – trudno) określa się układ, który co prawda znika, ale dopiero po długim czasie. Diehard – umiera po 130 krokach; L≈15 Żołądź – stabilizuje się po 5206 krokach; L≈700 Odkryto również kilka układów nieśmiertelnych. Po okresie przejściowym tworzą podobne "dymiące lokomotywy" zostawiające zygzakowatą linię kwadratów (w wypadku ostatniego układu – dwie lokomotywy): Nieśmiertelny układ; tylko 10 komórek Nieśmiertelny układ; mieści się w kwadracie 5x5 Nieśmiertelny układ – mieści się w jednej linii Statki Tzw. "statki" zwykle zmieniają się okresowo – choć okresy nie przekraczają jednak najczęściej kilkunastu kroków czasowych – ale wraz z każdym cyklem przesuwają się o stałą liczbę pól po planszy w określonym kierunku. Najbardziej znanym przykładem takiej struktury, będącym jednocześnie niejako symbolem „Gry w życie”, jest glider (szybowiec). Glider Lot szybowca LWSS (Dakota) Lot Dakoty Poza tym znane są także tzw. statki kosmiczne. Różnią się one od glidera kierunkiem poruszania się (pion lub poziom, a nie ukos) oraz możliwością modyfikacji – poprzez dodawanie komórek w odpowiedni sposób będziemy uzyskiwać kolejne statki. W zależności od ich wielkości nazywane są LWSS, MWSS, HWSS lub OWSS (skrótowce od Light/Medium/Heavy/Over Weight Space Ship – Lekki/Średni/Ciężki/"Nadciężki" Statek Kosmiczny). Stosuje się też do nich nazwę Dakota z liczbą określającą ich rozmiar. Jeszcze większe Dakoty nie mogą latać samodzielnie, ale mogą w towarzystwie mniejszych. Poza tym istnieje jeszcze kilka innych statków o stosunkowo niewielkich rozmiarach (m. in. Maszyna Schicka, Rzutka). Pozostałe (kilkaset) takie struktury są duże (kilkaset żywych komórek) i trudne do tworzenia. Wymyślający je informatycy nadają im często artystyczną formę, np. ryby czy falującej wody. Działa Działa to oscylatory, które co jeden okres "wyrzucają" z siebie jeden statek, który odłącza się i egzystuje samodzielnie. Najwięcej dział generuje glidery, poza tym część jest zdolna do wytwarzania statków kosmicznych. Długość okresu tych struktur waha się od 30 (najprostszy Gosper Glider Gun) aż do kilkudziesięciu tysięcy kroków czasowych. Ze względu na fakt, że są to formy bardzo zaawansowane (od stu do nawet kilku tysięcy żywych komórek), ich tworzenie jest zwykle bardzo czasochłonne i wymaga praktyki. Gosper Glider Gun Modyfikacje gry Modyfikacje reguł Modyfikacje kształtu komórek Modyfikacje kolorystyczne Immigration QuadLife Modyfikacje reguł Reguły, jakim podlega automat opisywane są często skrótowo w następujący sposób: przed ukośnikiem umieszcza się te liczby komórek w sąsiedztwie, dla których żywe komórki przeżywają (dla reguły Conwaya będzie to 23); następnie umieszcza się ukośnik: /; po ukośniku umieszcza się te liczby komórek w sąsiedztwie, dla których martwe komórki ożywają (dla reguły Conwaya będzie to 3); Pedały (reguła 3/3) Modyfikacje kształtu komórek Oprócz powszechnie przyjętego podziału płaszczyzny na kwadraty można zastosować także sześciokąt (siatka heksagonalna). Najczęściej stosowaną regułą jest 3/24, jednak nie znaleziono struktur tak interesujących jak w oryginale. Modyfikacje kolorystyczne Nie zmieniając reguł automatu, możemy zabarwić część komórek, co da ciekawszy efekt, nie wpłynie jednak na kształt generowanych struktur. Immigration Żabka w Immigration: dla żywych komórek dostępne są dwa kolory – zwykle czerwony i żółty. Dla martwych sytuacja się nie zmienia względem oryginału; definiując warunki początkowe każdej z komórek przypisujemy jeden kolor. Na każdy z kolorów powinna być zabarwiona przynajmniej jedna komórka, w przeciwnym razie uzyskamy zwykłą grę w życie; nowo powstające komórki przyjmują taki kolor, jaki ma większość z ich 3 żywych sąsiadów; kolory żywych komórek nie zmieniają się w trakcie gry. Żabka w Immigration QuadLife Glider gun w QuadLife: dla żywych komórek dostępne są aż cztery kolory – zwykle czerwony, żółty, zielony i niebieski. Dla martwych sytuacja się nie zmienia względem Oryginału; definiując warunki początkowe każdej z komórek przypisujemy jeden kolor. Na przynajmniej dwa spośród kolorów powinna być zabarwiona przynajmniej jedna komórka, przeciwnym razie uzyskamy zwykłą grę w życie; nowo powstające komórki przyjmują taki kolor, jaki ma większość z ich 3 żywych sąsiadów; jeżeli ma po jednym sąsiedzie z każdego koloru przyjmuje pozostały kolor; kolory żywych komórek nie zmieniają się w trakcie gry. Glider gun w QuadLife Dalsze losy "Gry w życie" Stephen Wolfram, który podzielił automaty komórkowe na cztery różne klasy, biorąc pod uwagę efekty jakie one wywołują, przyporządkował „Grę w życie” do klasy czwartej, charakteryzującej się tym, że nie prowadzą one ani do globalnego porządku, ani do globalnego chaosu. Przedstawił on hipotezę, że ten automat może wykonywać obliczenia i jest równoważny maszynie Turinga. Chris Langton, twórca innego popularnego automatu komórkowego, znanego jako mrówka Langtona wykazał w roku 1991, że proponowana przez Wolframa klasa czwarta, znajduje się pomiędzy klasą zachowań chaotycznych (klasa II) i struktur okresowych (klasa III). Przygotował: Marcin Chojnacki Bibliografia: www.wikipedia.pl