Sławomir Kulesza kulesza@matman.uwm.edu.pl Symulacje komputerowe (11) AUTOMATY KOMÓRKOWE Wykład dla studentów Informatyki (1 rok MU) Ostatnia zmiana: 1.06.2012 (ver. 3.13)
UKŁADY ZŁOŻONE Wszelki rozwój dokonuje się etapami: układy proste nieuporządkowane układy złożone Cechy układów złożonych: uporządkowane układy złożone zbudowane z modułów (części różniących się funkcją), zachowanie modułów determinowane sprzężeniem zwrotnym z innymi modułami, zachowanie układu determinowane sprzężeniem zwrotnym z poszczególnymi modułami. 2/37
CECHY UKŁADÓW ZŁOŻONYCH 3/37
UNIWERSALNE CECHY UKŁADÓW ZŁOŻONYCH Zachowanie układu jako zbioru modułów różni się od zachowania każdego z wyizolowanych modułów z osobna. Występowanie krytycznego poziomu złożoności, powyżej którego własności makroskopowe układu jakościowo różnią się od własności mikroskopowych jego elementów. Silnie nieliniowa (ale nie przypadkowa) zależność pomiędzy opisem makroskopowym i mikroskopowym. Opis makroskopowy jest zwykle prostszy niż porządek mikroskopowy samoorganizacja układu. 4/37
KORZYŚCI Z UKŁADÓW ZŁOŻONYCH Zainteresowanie układami złożonymi wynika z 2 faktów: Po przekroczeniu poziomu krytycznego, układy złożone osiągają jakościowo nowe cechy w stosunku do swoich składników synergia, Poziom złożoności zmienia się ze skalą układu, Nadmiarowość układów złożonych naturalnie chroni je przed błędami oraz dopasowuje strukturę do wykonywanych zadań adaptacja i ochrona. 5/37
SAMOREPLIKACJA KLUCZEM SKALOWALNOŚCI Samoreplikacja układów jest odpowiednikiem procesu podziału komórek, który z kolei napędza wzrost organizmów wielokomórkowych. Wraz ze zwiększaniem się ilości komórek układ zbliża się do krytycznego poziomu złożoności, powyżej którego nabywa cechy nowe jakościowo. 6/37
SKALA A ZŁOŻONOŚĆ UKŁADU 7/37
MASZYNA TURINGA JAKO PIERWOWZÓR AUTOMATÓW KOMÓRKOWYCH Maszyna Turinga (MT) jest efektem prac teoretycznych nad zagadnieniem obliczalności funkcji poprzez analizę prostych modeli komputerów. Została wymyślona w latach 30-tych XX w. przez Alana M. Turinga. MT jest modelem algorytmu lub równoważnego mu deterministycznego automatu (obliczenia), który składa się z: nieskończonej taśmy pełniącej rolę pamięci R/W, głowicy odczytująco-zapisującej taśmę, układu sterowania reagującego zgodnie z zapisanym w nim diagramem przejść między skończoną liczbą stanów maszyny. 8/37
AUTOMATY SEKWENCYJNE MT jest maszyną sekwencyjną (automat z pamięcią), której zachowanie zależy zarówno od danych wejściowych (zawartość pola pod głowicą), jak też dotychczasowej historii (stan maszyny). Stan maszyny nie jest przy tym tożsamy z jej aktualnym wyjściem. 9/37
TWIERDZENIE GÖDLA Każde obliczenie w MT można przedstawić poprzez siedem elementarnych operacji, a zatem wszystkie możliwe algorytmy (m.in. dowody twierdzeń) można ustawić w ciąg i ponumerować tworzą one zbiór przeliczalny. Swój numer ma również dowód, że niektórych algorytmów nie ma na liście, a więc że nie istnieją. Nie istnieją więc dowody niektórych twierdzeń! Kurt Gödel (1931): W ramach każdego formalizmu można wypowiedzieć twierdzenia, których w ramach tegoż formalizmu nie można udowodnić (np. problem zatrzymania MT). 10/37
IMPLIKACJE TWIERDZENIA GÖDLA Istnieją problemy (algorytmy) absolutnie nierozwiązywalne (nierozstrzygalne) przez współczesne komputery sekwencyjne, które istotnie różnią się od problemów rozwiązywalnych w bardzo długim czasie (np. problem komiwojażera (NP-zupełny)). Wyznacza to granicę możliwości obliczeniowych komputerów tradycyjnych i daje impuls do budowy maszyn o zupełnie innej filozofii działania (np. komputery kwantowe). Z drugiej strony, ograniczenia tego typu są zaletą z punktu widzenia np. kryptografii (absolutnie bezpieczne klucze i wiadomości). 11/37
DIAGRAMY PRZEJŚĆ MASZYNY TURINGA Tablica stanów Graf przejść S R symbol odczytany S W symbol zapisany A 0, A 1 kolejne stany automatu - kierunek ruchu głowicy 12/37
PRZYKŁADOWE PROGRAMY DLA MASZYNY TURINGA Negator 13/37
Dyskryminator (tu: sekwencji '011') 14/37
UNIWERSALNY KONSTRUKTOR VON NEUMANNA Ucomp Uconst' D(Uconst) M' Uconst D(Ucomp) M Uconst D(Uconst) M UKvN jest w stanie zbudować dowolny skończony automat Ucomp na podstawie jego opisu D(Ucomp) oraz kopię siebie Uconst' na podstawie własnego opisu D(Uconst). 15/37
UNIWERSALNY KONSTRUKTOR VON NEUMANNA DAUGHTER CELL Ucomp' Uconst' M' D(Uconst+Ucomp) MOTHER CELL Ucomp Uconst M D(Uconst+Ucomp) GENOME UKvN jest organizmem jednokomórkowym. 16/37
AUTOMATY KOMÓRKOWE Twórcą idei automatów komórkowych (Cellular Automata CA) był John von Neumann. CA miały stanowić uproszczone modele fizyki rzeczywistego świata, a okazały się obiektami z pogranicza fizyki deterministycznej, chaosu i procesów losowych modelami procesów dynamicznych w dyskretnej przestrzeni z dyskretnym czasem. CA to zbiór MT połączonych wspólną pamięcią i pracujących równolegle. CA pokazują, w jaki sposób proste reguły powielone w wielu kopiach stają się zaczynem złożoności. Każdy automat składa się z siatki komórek w D-wymiarowej przestrzeni, mogących znajdować się w jednym spośród skończonej liczby stanów (automaty deterministyczne). 17/37
EWOLUCJA CA Ewolucja automatu (zmiana stanu komórek) dokonuje się w regularnych odstępach czasowych we wszystkich komórkach jednocześnie. Nowy stan komórki σ i (t k+1 ) jest wypadkową jej stanu dotychczasowego σ i (t k ) oraz stanu komórek jej otoczenia N i (t k ): i t k 1 =F i t k, N i t k 18/37
DETERMINISTYCZNE A NIEDETERMINISTYCZNE CA Deterministyczne automaty komórkowe zmieniają swój stan wyłącznie pod wpływem swojej dotychczasowej historii oraz aktualnego stanu swojego otoczenia: i t k 1 =F i t k, N i t k Funkcja przejść F jest przy tym zdefiniowana jednoznacznie. W automatach niedeterministycznych funkcja F jest zdefiniowana niejednoznacznie, tzn. te same wartości argumentów mogą powodować odmienną ewolucję układu jeśli uwzględni się dodatkowo wpływ pewnej zmiennej losowej X (np. statystyczny szum, wynik losowania itp.): i t k 1 =F i t k, N i t k, X t k Element losowości dodatkowo związany jest z przypadkowym wyborem początkowej konfiguracji automatu i/lub losowym charakterem reguł przejścia. Stąd też CA można analizować metodami deterministycznymi (uciążliwe!) lub MC. 19/37
KLASYFIKACJA CA Klasyfikacja CA jako modeli procesów dynamicznych w dyskretnej przestrzeni z dyskretnym czasem pozwoliłaby pośrednio sklasyfikować te procesy na podstawie ich reguł, uniezależniając się jednocześnie od konfiguracji początkowej brak uniwersalnych reguł takiej klasyfikacji. Stephen Wolfram zasadniczo podzielił CA na 4 grupy w zależności od przebiegu ich ewolucji od 'nieuporządkowanego' stanu początkowego: Automaty jednorodne CA1, Automaty regularne CA2, Automaty chaotyczne CA3, Automaty złożone CA4, 20/37
Automaty jednorodne w skończonym czasie ewoluują do stanu, w którym wszystkie komórki przyjmują jednakowe wartości: **o**o****o************o****** ***********o************o****** *****o****o*****o******o****** ***********o************o****** ******************************** ******************************** ******************************** ******************************** ******************************** 21/37
Automaty regularne w skończonym czasie ewoluują do stanu będącego kombinacją konfiguracji stabilnych (atraktorów) i prostych struktur powtarzalnych (oscylatory): *****ooooo*****o******o****** *****ooooo******************** *****ooooo*****o******o****** *****ooooo*****o******o****** *****ooooo******************** *****ooooo*****o******o****** *****ooooo*****o******o****** *****ooooo******************** *****ooooo*****o******o****** 22/37
Automaty chaotyczne w skończonym czasie z dowolnego stanu początkowego generują konfiguracje chaotyczne (np. struktury fraktalne), aczkolwiek o dobrze określonych własnościach statystycznych (np. stała średnia liczba stanów niezerowych): Własności chaotyczne automatów tego typu ujawniają się w skończonym czasie obserwacji dla wystarczająco bogatej statystyki ewolucji stanów początkowych (liczba komórek N ). Niewielka zmiana konfiguracji wejściowej prowadzi wówczas do narastającej w czasie modyfikacji kolejnych stanów (niestabilność). 23/37
Automaty złożone w skończonym czasie ewoluują w stronę złożonych konfiguracji lokalnych, często o długich czasach życia. Dla CA4 istnieją konfiguracje sieci blokujące rozchodzenie się uszkodzeń, stąd uważa się je za mogące wykonywać obliczenia. 24/37
PARAMETR LAMBDA Parametr lambda wprowadzony przez Chrisa Langtona pozwala oszacować stopień złożoności danego CA: lambda= K N n K N gdzie: K ilość stanów automatu, N = (2r + 1) rozmiar otoczenia, n ilość przejść do wybranego stanu martwego. Wartości lambda: 0 brak zmian (stan martwy), 1 brak przejść do stanu martwego, (K-1)/K wszystkie stany jednakowo dostępne. 25/37
KLASYFIKACJA WG WARTOŚCI LAMBDA 0.2 0.4 0.31 0.37 0.5 0.35 0.34 26/37
LAMBDA A ZŁOŻONOŚĆ 27/37
LIFE JOHNA H. CONWAYA Gra w życie (Life) wymyślona w r. 1970 przez brytyjskiego matematyka Johna H. Conwaya jest najbardziej znanym automatem komórkowym; została spopularyzowana przez serię artykułów w Scientific American na przełomie lat 70. 2-wymiarowy i 2-stanowy (boole'owski) automat komórkowy o bogatej dynamice ewolucji definiowanej w oparciu o sąsiedztwo Moore'a; lambda = 0.273. 28/37
REGUŁY PRZEŻYCIA W LIFE Birth of a cell Three neighbors Death of a cell Survival of a cell More than three neighbors Less than three neighbors Two or three neighbors 29/37
PODSTAWOWE NIEZANIKAJĄCE STRUKTURY (ATRAKTORY) W GRZE W ŻYCIE W Grze w życie można zasadniczo wyróżnić trzy typy struktur: obiekty statyczne (nieruchome), np.: klocek, łódź obiekty periodyczne (oscylatory), np.: migacz, żabka obiekty przemieszczające się, np.: szybowiec, lekki krążownik 30/37
RODOWÓD LIFE Początki Gry w życie sięgają prac J. von Neumanna nad maszynami samoreplikującymi oraz badaniami nad zrównolegleniem obliczeń maszynowych. Można spotkać opinie, że automaty komórkowe takie jak Life naśladują zachowanie całego Wszechświata z uwagi na ich silną równoległość (w porównaniu do komputerów sekwencyjnych), jak też z uwagi na ich złożoność i zdolność do samoorganizacji generowaną przez synergetyczny efekt bardzo wielu identycznych, acz bardzo prostych operacji naśladowanie Natury. 31/37
ODWRACALNOŚĆ CA Zagadnienie odwracalności automatów komórkowych jest w ogólności nierozstrzygalne ewolucja komórek automatu zależy od stanu danej komórki i jej otoczenia, zwracając jednak nową wartość tylko danej komórki. Problem odwracalności można jednak badać pośrednio, poszukując konfiguracji CA, które nigdy nie są realizowane (tzw. rajskie ogrody). Konfiguracje takie mogą służyć jedynie jako punkty wyjścia ewolucji, a nie etapy pośrednie. Jeśli dany CA posiada rajskie ogrody, to jego funkcja ewolucji nie jest bijekcją. W przypadku 2-wymiarowych CA, minimalny rozmiar automatu z pewnością nieodwracalnego wynosi N = 2 315 816 000. 32/37
SAMOPOWIELANIE CA Problem samopowielania CA jest ściśle powiązany z problemem odwracalności: Jeśli funkcja ewolucji danego CA jest nieodwracalna (a więc automat posiada rajskie ogrody), to takie struktury nie mogą być replikowane kreacjonizm vs. ewolucjonizm. Możliwość replikacji rajskich ogrodów może wynikać wyłącznie z błędnego działania automatu (złamania reguł), co jest obserwowane w układach złożonych. 33/37
SAMOREPLIKUJĄCE CA PĘTLA LANGTONA Historycznie pierwszym działającym, samoreplikującym CA był automat Chrisa Langtona (1984 r.), zwany pętlą Langtona: Środowisko: 5 sąsiadów, 8 stanów, okres replikacji 151 kroków. 34/37
PĘTLA LANGTONA Problem: poza replikacją, pętla nie wykonuje żadnych innych działań. 35/37
FUNKCJONALNA SAMOREPLIKACJA Udoskonalenie reguł pętli Langtona pozwoliło zwiększyć złożoność automatów i nadać im ograniczoną funkcjonalność (wykonywanie określonych działań). 36/37
HARDWARE ONTOGENE- TYCZNY Dzięki istnieniu programowalnych bramek logicznych (FPGA), możliwa stała się budowa struktur elektronicznych wykazujących pewne cechy organizmów żywych: samoreplikację oraz samonaprawę. 37/37