Sztuczne życie i algorytmy genetyczne dr inż. Piotr Gołąbek
„Soft computing” Algorytmy genetyczne – hipotetyczne zasady rządzące zjawiskiem życia Sztuczne sieci neuronowe – fizjologiczne podstawy funkcjonowania naszego mózgu Logika rozmyta – sposób rozumowania właściwy człowiekowi
Gra w życie John Conway (lata sześćdziesiąte) Zasady: komórka która ma mniej niż dwóch sąsiadów obumiera („z samotności”) komórka, która ma więcej niż trzech sąsiadów obumiera („z zatłoczenia”) w pustym polu, które ma dokładnie trzech sąsiadów rodzi się nowa komórka
Konfiguracja stabilna: Gra w życie Konfiguracja stabilna:
Konfiguracja stabilna: Gra w życie Konfiguracja stabilna:
Konfiguracja quasi-stabilna: Gra w życie Konfiguracja quasi-stabilna:
Gra w życie Wiele kolonii kończy swój rozwój na stabilnych lub quasi stabilnych konfiguracjach Wiele kolonii znika Są też konfiguracje, które rozwijają się dość burzliwie
Gra w życie - przykłady Konfiguracja ‘LifeConway’s Life Rabbits@0’ – z prostej kolonii – burzliwy rozwój Konfiguracja ‘Vanishing star@20’ –bogata kolonia znika Konfiguracja ‘Round2@20,@0’ – quasi stabilna bogata kolonia utrzymująca się przy życiu Demonstaracje za pomocą oprogramowania Mirek’s Cellebration (Demonstracje/MirekCell). Strona: http://www.mirekw.com/index.html, konfiguracje z tego slajdu są w kategorii ‘Life/Conway’s Life’
Automaty komórkowe Gra w życie jest przykładem automatu komórkowego Automat komórkowy to dyskretny, dynamiczny model rządzony lokalnymi regułami oddziaływań Zamiast opisywać całe zjawisko globalnie, próbuje się zdefiniować lokalne reguły, prowadzące do analizowanego globalnego efektu
Automaty komórkowe Można zastosować inne reguły np. konfiguracja ‘Larger than LifeGlobeSeed_r27’ Większe sąsiedztwo, wiele stanów („starzenie się”), zmienione reguły rodzenia się, przetrwania i obumierania
Przykład zastosowania Modelowanie sieci energetycznych Projekt CAPOW Instytutu Santa Fe (1998-2004) Sieć energetyczna jest złożonym dynamicznym, równoległym systemem, rządzonym lokalnymi oddziaływaniami Takie złożone, równoległe systemy są praktycznie nieprzewidywalne, w tym sensie, że nie ma krótszej drogi predykcyjnej niż symulacja zachowania się systemu – np. za pomocą automatu komórkowego
CAPOW - przykład Przykład symulacji zjawiska cyklicznego zaniku energii (np. w wielkich miastach) – ‘2D Hodge’ Oprogramowanie w katalogu: ‘Demonstracje/Capow 2003 Light’, strona: http://www.cs.sjsu.edu/faculty/rucker/capow/
Zjawisko samoorganizacji Lokalne oddziaływania prowadzą do wyłaniania się globalnych, regularnych struktur Podstawowe dwa rodzaje lokalnych oddziaływań to współzawodnictwo o zasoby i współpraca (inhibicja i aktywacja) Współzawodnictwo o zasoby ma jedną podstawową przyczynę – zasoby są ograniczone
Sieci neuronowe SOM Przykład systemu z wbudowanymi mechanizmami samoorganizacyjnymi
Znaleźć najkrótszą drogę objazdu n miast i powrotu do punktu wyjścia Problem komiwojażera Znaleźć najkrótszą drogę objazdu n miast i powrotu do punktu wyjścia 5 3 4 1 2 START 27 Waga połączenia oznacza odległość, względnie koszt przemieszczenia się z miasta do miasta
Permutacje bez powtórzeń: Problem komiwojażera Próbne trasy: (1,2,3,4,5,1), (1,2,3,5,4,1), (1,2,5,3,4,1), ... Permutacje bez powtórzeń: (START,n-1,n-2,...,1,START) Ilość wszystkich możliwości: (n-1)!
Problem komiwojażera Np. dla 30 miast: 29! = 8841761993739701954543616000000 Procesor 1GHz, rozpatrujący jedną trasę w jednym takcie zegara (1ns), czas wykonania: 8841761993739701954543 sek 2456044998261028320 godz. 102335208260876180 dni 279604394155399 lat Wiek Wszechświata: 15000000000 lat 18640 * wiek Wszechświata
Problem komiwojażera - SOM Prezentacja ‘TSP-2D’ Prezentacja ‘TSP-3D’ Demonstracja 2D w katalogu: ‘Demonstracje/Travelling Salesman Problem 2D’, Demonstracja 3D w katalogu: ‘Demonstracje/Travelling Salesman Problem 3D’
Tworzenie mapy kolorów Prezentacja ‘SOMDEMO’ W katalogu: ‘Demonstracje/Color Map SOM’, strona: http://www.ai-junkie.com/som1.html, lokalna kopia: ‘Demonstracje/Color Map SOM/Info’
Mapa topologiczna Dane o zamożności
Mapa topologiczna Mapa zamożności
Wracając do sztucznego życia... Spostrzeżenia z gry w życie: Proste reguły rządzące ewolucją prowadzą do bogactwa struktur Mimo to, powstają regularne, stabilne struktury Mała zmiana reguł prowadzi do znaczącej zmiany powstających struktur
Mrówka Langtona Inny prosty automat komórkowy – na żółtym polu skręca w lewo, na szarym polu – skręca w prawo, po wejściu na pole, zmienia jego kolor na ‘przeciwny’ Mimo dość chaotycznego zachowania, nieuchronnie powstają regularne wzorce (szlak prowadzący po przekątnej) Demonstracja mrówki Langtona Applet Javy w katalogu: ‘Demonstracje/Mrowka Langtona’
„Didaboty”
„Didaboty” Początek eksperymentu:
„Didaboty” Koniec eksperymentu:
Co robiły „Didaboty”? Film Film w katalogu: ‘Demonstracje/Didabots’, norweska strona: http://www.idi.ntnu.no/grupper/ai/eval/fdagene/, ale jest też jeszcze w Zurichu Film
„Didaboty” unikają przeszkód
„Didaboty” Pewne cechy morfologiczne robotów (ustawione rozbieżnie czujniki zbliżeniowe) oraz pewne cechy środowiska (granice areny) sprawiają, że roboty zachowują się w taki a nie inny sposób
Ławica ryb Proste reguły: Prezentacja: ‘Fish’ Każda ryba stara się zająć pozycję będącą średnią pozycji jej sąsiadów Każda ryba stara się być skierowana w tę samą stronę, co jej sąsiedzi Każda ryba unika kontaktu z sąsiadami Oczywiście każda ryba ucieka w panice przed rekinem! Prezentacja: ‘Fish’ Applet Javy w katalogu ‘Demonstracje/Fish’
Algorytmy genetyczne Algorytmy genetyczne – jedna z technik AI, która usiłuje wykorzystać taką wstępnie „zaprogramowaną” populację osobników, ewoluujących w narzuconych warunkach do rozwiązania użytecznych problemów Info na temat w katalogu: ‘Demonstracje/Genetic/Info’, ze strony: http://www.ai-junkie.com/gat1.htm
Algorytmy genetyczne Każdy organizm ma zestaw wstępnie „zaprogramowanych” cech, zakodowanych w genach Geny połączone są w łańcuchy zwane chromosomami Każdy gen ma swoje znaczenie, np. może odpowiadać za kolor oczy, podatność na jakąś chorobę, itp..
Algorytmy genetyczne Kiedy organizmy rozdzielnopłciowe rozmnażają się, potem dostaje mieszankę genów swoich rodziców – następuje tzw. rekombinacja Dodatkowo geny podlegają mutacjom – zmieniają się losowo (np. pod wpływem promieniowania) Zmiana genotypu pociąga za sobą zmianę fenotypu.
Algorytmy genetyczne Z drugiej strony każdy organizm podlega mechanizmom selekcji naturalnej: organizmy dobrze przystosowane mają większe szanse przetrwania (i pomyślności) organizmy źle przystosowane giną mając małe szanse na przekazanie swojego genotypu potomstwu. Jest to darwinowska koncepcja ewolucji. Każdy gatunek jest alternatywnym „rozwiązaniem” problemu przetrwania
Algorytmy genetyczne AG starają się naśladować naturę i stosować podobne mechanizmy do rozwiązywania użytecznych dla człowieka problemów. Populacja „organizmów” poddawanych ewolucji przy użyciu AG stara się wykształcić osobniki jak najlepiej przystosowane, tj. jak najlepiej rozwiązujące zadany problem. Genotyp każdego osobnika stanowi propozycję rozwiązania problemu. W trakcie ewolucji osobniki poddawane są mechanizmom selekcji, krzyżowania i mutacji.
Algorytmy genetyczne Pierwszy krok AG to zaprojektowanie sposobu kodowanie rozwiązania – ustalenie struktury „chromosomu”: z ilu genów (cech, składowych) chromosom się składa, jak jest kodowana wartość poszczególnych cech Chromosom zazwyczaj jest po prostu ciągiem liczb, często stosowany jest kodowanie binarne, w wyniku czego chromosom staje się ciągiem zer i jedynek
Chromosomy Dach Długość Ilość miejsc Szerokość Wysokość Typ silnika Waga
Algorytmy genetyczne Algorytm zaczyna od stworzenia całkowicie losowej populacji osobników. Chromosomy tych osobników mają losowe wartości. Każdy osobnik (chromosom) poddawany jest ocenie przez tzw. funkcję przystosowania. Wartość tej funkcji określa, czy osobnik jest lepszym czy gorszym rozwiązaniem problemu
Ewolucja w AG Każdy krok ewolucji składa się z następujących operacji: Z populacji losowana są dwa osobniki przeznaczone do krzyżowania. Proces jest losowy, ale szansa na wylosowanie zależy od wartości funkcji przystosowania dla danego osobnika
Ewolucja w AG Rozstrzygane jest przez losowanie, czy wybrane osobniki poddawane są krzyżowaniu (szansa na skrzyżowanie jest zwykle dość duża, typowo – 0.7). Jeśli dochodzi do krzyżowania, osobniki wymieniają się fragmentami chromosomów (punkt podziału chromosomów jest losowany):
Ewolucja w AG Przeprowadzana jest mutacja chromosomów ale tylko z pewnym (bardzo małym) prawdopodobieństwem. Mutacja polega na zamianie wylosowanego bitu na przeciwny
Algorytmy genetyczne Nadrzędną rolę pełni funkcja przystosowania, która wyznacza kierunek ewolucji, poprzez bezpośrednie oddziaływanie na krytyczną składową algorytmu – krzyżowanie Przykład - biomorfy
Biomorfy Prezentacja ‘Biomorph’ biomorph\apponly.htm Prezentacje w katalogu: ‘Biomorph1’, ‘Biomorph2’. Zalecana ‘Biomorph2’, ale opis genomu na jednym z następnych slajdów dotyczy Biomorph1
Biomorfy
Biomorfy Geny: Kąt gałęzi skierowanych do góry Kąt gałęzi skierowanych do dołu Wydłużenie gałęzi do góry Wydłużenie gałęzi do dołu Smukłość (wydłużenie) organizmu Gradient – gwałtowność skracania się gałęzi Kolor
Użyteczne zastosowanie GA Wszelkie algorytmy optymalizacyjne Przykład – kółka Przykład – domy Demonstracja w katalogu: ‘Demonstracje/Genetic – TiddlyWinks’, info w pliku: ‘Demonstracje/Genetic/Info/Genetic Algorithm Tutorial 3.htm’, ze strony: http://www.ai-junkie.com/gat3.htm. Domy – prezentacje w katalogu ‘Demonstracje/Genetic House’, ze strony: http://www.arch.usyd.edu.au/~rob/
Po co losowość Gdyby ewolucja przebiegała bez elementu losowego, mogłaby zabrnąć w ślepą uliczkę Losowość pozwala na okresowe zróżnicowanie puli rozważanych rozwiązań W ten sposób więcej rozwiązań ma szansę być sprawdzonych
Genetic Art.. Ze stron: http://www.arch.usyd.edu.au/~rob/java/applets/genart/GenArt.html, http://mzlabs.com/gart/g4.html http://www-2.cs.cmu.edu/~mjw/