AUTOMATY KOMÓRKOWE. Symulacje komputerowe (11) Sławomir Kulesza

Podobne dokumenty
Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Modelowanie systemów biomedycznych

Automaty komórkowe. Katarzyna Sznajd-Weron

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Algorytm. Krótka historia algorytmów

Obliczenia inspirowane Naturą

Turing i jego maszyny

Sławomir Kulesza. Projektowanie automatów synchronicznych

Układy dynamiczne Chaos deterministyczny

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktura danych. Sposób uporządkowania informacji w komputerze.

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Maszyna Turinga (Algorytmy Część III)

Alan M. TURING. Matematyk u progu współczesnej informatyki

Efektywność Procedur Obliczeniowych. wykład 5

Ruch drogowy, korki uliczne - czy fizyk może coś na to poradzić?

O ALGORYTMACH I MASZYNACH TURINGA

Elementy Teorii Obliczeń

MODELOWANIE RZECZYWISTOŚCI

Hierarchia Chomsky ego Maszyna Turinga

Podstawy metodologiczne symulacji

Maszyna Turinga języki

CZYM SĄ OBLICZENIA NAT A URALNE?

M T E O T D O ZI Z E E A LG L O G R O Y R TM

O ISTOTNYCH OGRANICZENIACH METODY

Symulacje komputerowe

Architektura komputerów Wykład 2

Definicje. Algorytm to:

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Informatyka. Michał Rad

Minimalizacja form boolowskich

Tworzenie gier na urządzenia mobilne

Wprowadzenie do złożoności obliczeniowej

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Spacery losowe generowanie realizacji procesu losowego

PROBLEMY NIEROZSTRZYGALNE

1 Automaty niedeterministyczne

Asynchroniczne statyczne układy sekwencyjne

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

CZY INFORMATYKOM MUSI WYSTARCZYĆ NIESKOŃCZONOŚĆ POTENCJALNA?

Synteza układów kombinacyjnych

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Języki, automaty i obliczenia

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Historia. Zasada Działania

Technologie Informacyjne

Algorytm. Krótka historia algorytmów

Informatyka 1. Złożoność obliczeniowa

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Efektywność algorytmów

Podstawy Informatyki Systemy sterowane przepływem argumentów

Imię, nazwisko, nr indeksu

Sortowanie topologiczne skierowanych grafów acyklicznych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Podstawy Techniki Cyfrowej Teoria automatów

Elementy modelowania matematycznego

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Teoria gier. prof. UŚ dr hab. Mariusz Boryczka. Wykład 4 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego

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

Podział układów cyfrowych. rkijanka

UKŁADY MIKROPROGRAMOWALNE

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Podręcznik. Model czy teoria

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

miejsca przejścia, łuki i żetony

MODELOWANIE RZECZYWISTOŚCI

Algorytmy sztucznej inteligencji

MODELOWANIE RZECZYWISTOŚCI

MASZYNA TURINGA UPRASZCZANIE DANYCH

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

Grupy pytań na egzamin inżynierski na kierunku Informatyka

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Sieci Petriego. Sieć Petriego

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

O REDUKCJI U-INFORMACJI

Podstawy Programowania. Złożoność obliczeniowa

MODELOWANIE RZECZYWISTOŚCI

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Wykład 9: Markov Chain Monte Carlo

Wykład 3 Hipotezy statystyczne

Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga.

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Podstawy Informatyki Elementarne podzespoły komputera

U 2 B 1 C 1 =10nF. C 2 =10nF

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Aproksymacja funkcji a regresja symboliczna

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Teoretyczne podstawy informatyki

Transkrypt:

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