18+
Ta strona może zawierać treści nieodpowiednie dla osób niepełnoletnich.
Zapamiętaj mój wybór i zastosuj na pozostałych stronach

#gra w życie

Gra w Życie

Anonymous • 2012-08-13, 22:53 IGNORUJ TEMATY Z DZIAŁU "INNE CZARNOŚCI"  
162
"Gra w Życie" (ang. The Game of Life)

Jest wymyślonym przez brytyjskiego matematyka Johna Conwaya w 1970 roku automatem komórkowym, czyli prościej mówiąc zestawem modeli matematycznych opisujących siatkę komórek oraz reguły ich zachowania - zmiany stanów i przejść.

Założenie również jest proste - mamy dwuwymiarową płaszczyznę podzieloną na komórki. W teorii jest ona nieskończenie wielka - tutaj natomiast dla celów prezentacyjnych będzie miała określony, skończony wymiar X na Y.

Każda komórka na płaszczyźnie może przyjąć jeden z dwóch stanów (stany binarne) - wizualnie komórka jest "wypełniona" (żywa) lub pusta (martwa).

Po zadaniu stanu początkowego na płaszczyźnie (wypełnieniu określonych przez "gracza" komórek) algorytm startuje i przetwarza stany wszystkich komórek w każdym kolejnym korku według określonych zasad:

- Jeśli zadana komórka jest martwa i otaczają ją dokładnie trzy komórki żywe, to komórka ta staje się żywa (rodzi się) w następnej turze.

- Jeśli zadana komórka jest żywa i otaczają ją mniej niż dwie lub więcej niż trzy żywe komórki, to komórka ta umiera w następnej turze - w przeciwnym wypadku pozostaje żywa.

Przez komórki otaczające mają być rozumiane takie, które sąsiadują z zadaną komórką - znajdują się na dowolnym z otaczających ośmiu pól na siatce 3x3, na której zadana komórka jest na środku.

Warto nadmienić, że opisane zasady wykorzystane są w oryginalnej grze, natomiast modyfikując je można stworzyć "życie" tworzące struktury innego rodzaju i reagujące w inny sposób.


To by było na tyle, jeśli chodzi o teorię...

No tak... pewnie początek wrzutki nie brzmi za ciekawie, bo robię wywody matematyczne, ale zaraz będzie ciekawiej.

Otóż okazuje się, że prosty w założeniu i pracujący na prostych zasadach układ jest w stanie wykazywać bardzo ciekawe "zachowania" - poczynając od tworzenia różnych typów struktur, które można pogrupować (o czym dalej), a kończąc na złożonych konfiguracjach potrafiących na przykład replikować się, tworzyć inne struktury, lub nawet... dokonywać obliczeń, stając się przy tym maszyną Turinga (modelem komputera zdolnego wykonywać algorytmy).

I z grubsza na tym polega cały fenomen - ludzie od lat obserwują zachowania się zadanych układów, odnajdując coraz nowsze cechy charakterystyczne.


Rodzaje struktur

Stabilne:

Struktury, których komórki nie zmieniają stanów w kolejnych fazach (generacjach, rundach "gry"), przykładowo takie:



Oscylatory:

Struktury zmieniające się okresowo, czyli powtarzające pewien cykl w formie zestawu układów komórek w nieskończoność.

Przykładowo prosty oscylator zwany "blinker" o okresie równym 2:



Oraz bardziej zaawansowany "pulsar" o okresie 3:



Oczywiście istnieją też bardziej zaawansowane oscylatory z okresami rzędów tysięcy.

"Statki":

Podobnie jak oscylatory charakteryzują się cyklicznością, jednak w odróżnieniu od nich przemieszczają się po wykonaniu pełnego okresu (w kierunku zależnym od struktury) - przykładowo "glider":



"Pociągi" (lub "Lokomotywy"): (ang. "puffers")

Warianty statków, które dodatkowo przy przemieszczaniu się pozostawiają za sobą inne struktury. Nazwa pochodzi od skojarzenia z lokomotywą, która pozostawia za sobą kłęby dymu.

Bardziej zaawansowana forma puffera to Breeder ("rozpłodnik"), zdolny do pozostawiania po sobie innych bardzo złożonych struktur. Jego przyrost komórek w populacji jest kwadratowy.

Breeder w makroskali:



Pozostawia on po sobie serie "dział" (ang. Guns) - struktur produkujących seryjnie statki. W tym przypadku są to działa "Gosper's Glider", które wyglądają tak (w przybliżeniu i odwrócone o 90 stopni w stosunku do poprzedniego obrazka):



Jak można zauważyć i wywnioskować po nazwie, działo to produkuje opisane wcześniej "glidery".

Niestałe (niestabilne):

To struktury, które "żyją" i rozwijają się przez określoną ilość pokoleń, po czym ulegają zniszczeniu lub stabilizacji w prostszą stałą strukturę - przykładowo taki układ (zwany "acorn"):



Potrzebuje on 5206 faz aby się ustabilizować - dodatkowo przy okazji produkując inne struktury.


Podsumowując

Jeśli temat Cię zaciekawił to polecam obejrzeć te filmy:





Oraz pobawić się napisanym przeze mnie symulatorem. Kliknięcie w komórkę zmienia stan - ustaw stan początkowy (i ewentualnie prędkość upływania pokoleń w milisekundach), kliknij "Start" i podziwiaj. Ewentualnie klikaj w "Step", aby samemu wywoływać kolejne pokolenia:

http://www.gipson.pl/gol/

P.S. Symulator jest on-line, napisany w JavaScript'cie - nic nie trzeba ściągać.
gipson • 2012-08-14, 10:15  Najlepszy komentarz Najlepszy komentarz (24 piw)
Keku napisał/a:

Sranie w banie. To jest proste jak drut i wszystkie te strukturki zostały zaobserwowane na samym początku kiedy coś takiego jak internet było w jeszcze w fazie planów w jakiejś militarnej bazie.

Powoli zaczyna mnie wk***iać ten pseudonaukowy bełkot rodem z fokusa. Co wam da taka wiedza? To się nadaje jedynie jako przykład automatu komórkowego i tyle. Może lepiej zmienić napis pod logo sadola na "Codzienna dawka ch*jowej wiedzy"?



Rzeczywiście, maszyna Turinga stworzona z dwóch prostych reguł jest prosta jak drut, sam Turing był tylko głupim pedałem, a wszystkie struktury posiadające okres rzędu tysięcy, jak nie milionów zostały przebadane bez użycia komputera... jak Cię wk***ia taki "bełkot" to nie czytaj - wtedy Ty masz święty spokój, a przy okazji nie wk***iasz innych.

Wróć jak sam coś opracujesz i pogadamy - tylko żeby nie był to artykuł zgodny z zainteresowaniami pt. "Jak siedzieć cały dzień na dupie i jęczeć".