410 likes | 620 Views
Automaty komórkowe Cellular Automata CA. automat komórkowy. 10 11 – liczba neuronów w organizmie liczba galaktyk we wszechświecie 6 * 10 23 liczba Avogadra Otoczenie - duże zespoły wzajemnie oddziałujących elementów zmierzających do stanu równowagi
E N D
automat komórkowy 1011 – liczba neuronów w organizmie liczba galaktyk we wszechświecie 6 * 1023 liczba Avogadra Otoczenie - duże zespoły wzajemnie oddziałujących elementów zmierzających do stanu równowagi • Uproszczenia w symulacjach komputerowych • charakter oddziaływań • Ograniczenie oddziaływań do sąsiadów • Gra w życie J.H. Conway • 2D; periodyczne warunki brzegowe • Elementy populacji – osobnicy – w węzłach siatki • Reguły przetrwania, śmierci, generowania nowych osobników
CA • Stanisław Ulam, lata 40 XX w • Step Wolfram (twórca pakietu Mathematica) • Struktura danych (tablica komórek) • Algorytm • Parametry: • Typ komórki • Stan początkowy • Funkcja przejścia
Automat sprawiedliwy – niezależny od kierunku przeliczania komórek (kopia tablicy) • sasiedztwo Sąsiedztwo Neumanna Sąsiedztwo Moore’a
Przykłady automatów komórkowych • Gra w życie Conway’s Game of Life • prelokacja • Ofiary i drapieżnicy • Mrówka Langtona • Symulacje fizyczne
Gra w życie - reguły Dla każdego elementu populacji: • if ( 2<=liczba_sąsiadów<=3 ) element przeżywa 1 generację • if ( liczba_sąsiadów >=4 ) element umiera //przeludnienie • if ( liczba_sąsiadów <=1 ) element umiera //izolacja Dla każdego pustego pola: • if ( liczba_sąsiadów = 3 ) tworzy się nowy element populacji w tym polu
Gra w życie reguły Życie i śmierć zachodzą równocześnie • Przesłanki • Nie istnieje konfiguracja pierwotna, dla której w prosty sposób można udowodnić, że rośnie ona w sposób nieograniczony • Powinny istnieć konfiguracje pierwotne • prowadzące do wzrostu bez granic • znikające • tworzące stabilną konfigurację • wchodzące w nieskończone oscylacje
Gra w życie ak • Efekt końcowy automatu • Stan stabilny • Stan cyklicznie zmieniający się z niedużym okresem • Stan chaotyczny • Złożone, stabilne konfiguracje o długich okresach • Życie – równoważne maszynie Turinga
Gra w życie reguły - zastosowania • Model formowania opinii społecznej • „warszawski” • „wrocławski” • Symulacja rozchodzenia się choroby zakaźnej • Model Isinga • CA + GA • Badanie gęstości upakowania kulek w polach
0,1 0,0 -1,0 1,0 0,-1 Model formowania opinii społecznej • Stany: tak, nie si,j = -1 lub 1 • Wartość początkowa – np. 80% populacji – tak; 20% - nie • Opinie rozrzucone losowo • Przeprowadzenie rund dyskusyjnych – wymiana z innymi członkami populacji (sąsiedzi –odległość emocjonalna), siła przekonywania • fi,j – siła przekonywania • Dynamika układu – opisana regułą większości • S=f0,0s0,0(t) + f0,1s0,1(t) + f1,0s1,0(t) + f0,-1s0,-1(t) + f-1, 0s-1,0(t) S0,0 = +1, jeśli S>=0 S0,0 = -1, jeśli S<0
Model formowania opinii społecznej • Inny sposób wyboru sąsiadów , np. losowy, dla zadanego zasięgu, proporcjonalny do odległości • Szumy • Znając dynamikę zmian pojedynczego osobnika – obserwacja zmian rozkładu opinii • Tworzenie grup wokół przywódców (osoby o mocnym wpływie) • Tworzenie wałów ochronnych (słabsi osobnicy za murem osobników silniejszych) • Rozwój „grup oporu”
Model wrocławski • Bazuje na obserwacji zachowań stadnych • Jedna silnie skorelowana (to samo zdanie na pewien temat) para potrafi narzucić swoje zdanie sąsiadom • Jeśli para ma różne zdania – otoczenie nie zmienia poglądów
Rozchodzenie się choroby zakaźnej • Obszar N x N; rozmieszczenie osobników w polach • Periodyczne warunki brzegowe lub nie • Szczepienie – wśród losowo wybranej grupy • 1 losowo wybrany niezaszczepiony osobnik – źródłem choroby • V=liczba_osób_zaszczepionych/liczność_populacji • Nz – liczba osób niezaszczepionych • Zk- liczba osób zakażonych (spośród Nz) • I – wskaźnik infekcji I=Zk/Nz < 1 • I(V) – funkcja malejąca • Istnieje Vc – wskaźnik infekcji gwałtownie maleje
Model Isinga • Badanie magnetycznych własności ciał • N spinów w węzłach siatki 2D • Spiny oddziałują z sąsiadami i zewnętrznym polem magnetycznym • Stany spinów: dół -1; góra 1 • Cel – minimum energii układu • Metoda Metropolisa
prelokacja • Symulacja pożaru lasu • Szybkość i kierunek wiatru • Wilgotność powietrza i poszycia • Odległość między drzewami • Istnienie i rozmiary przecinek • Rozmieszczenie ognisk zapalnych • Pudełko z kulkami przewodnikami i izolatorami umieszczonymi w dwóch przeciwnych ściankach; po przyłożeniu napięcia – prąd popłynie jeśli utworzy się prelokujący klaster (przy powolnym wzroście liczby przewodników - gwałtowne przejście do stanu przewodnictwa) • Poszukiwanie ropy naftowej, wody – cechy porowatych skał
Algorytm prelokacji węzłowej • Tablica zajętości • Wypełniona losowo z prawdopodobieństwem p „1” lub „0” • Wektor pamięci ME • Etykiety – kolejne liczby całkowite (numer klastra) • Przeglądanie tablicy zajętości wierszami, nadając etykiety elementom zajętym; • elementowi, który ma sąsiadów (po lewej stronie i powyżej (i-1,j); (i,j-1) przyporządkowana jest najniższa z etykiet sąsiadów (y) • Ustawienie wektora pamięci ME(x)=y; x,y – etykiety; x>y • Uzgadnianie kilkustopniowe – zastąpienie etykiet z wektora ME ( od największej wartości ) x->y
Etykietowanie elementów -sąsiedztwo Element badany sąsiedzi
prelokacja ME(3)=2 ME(6)=4 ME(4)=3 6 -> 4 3 -> 2 4 -> 3
Kropla spadająca na wietrze • Kropla przesuwa się między węzłami sieci pod wpływem siły ciężkości i wiatru • Cel – określenie średniej wartości dryftu (xk-x0) • Parametry symulacji: • x0, y0 – punkt początkowy • δ x = δy – odległości między współrzędnymi węzłów • p1, p2, p3, p4 - prawdopodobieństwa ruchu w 4 kierunkach p1+ p2+ p3+ p4 = 1 • Liczba symulacji • Kryterium stopu pojedynczej symulacji – yk= 0
Kropla spadająca na wietrze Reguły poruszania się po sieci (xi,yi) : • Wylosuj r rzeczywiste є(0,1) • if (r <= p1) (xi,yj) -> (xi+1,yi) → • if (r >= p1 && r < p1+p2 ) (xi,yi) -> (xi,yi-1) ↑ • if (r >= p1+p2 && r < p1+p2 +p3 ) (xi,yj) -> (xi-1,yi) ← • if (r >= p1+p2+p3 && r < 1 ) (xi,yj) -> (xi,yi+1) ↓
Kropla spadająca na wietrze → ↑ ← ↓ y0 yk =0 x0 xk
Ruchy Browna • Brown 1827, Einstein 1905, Smoluchowski 1906 • Ruchy małych cząstek zawiesiny w sieci • Wyznaczenie położenia cząstki zawiesiny w chwili t=0, Δt, 2Δt, 3Δt,…. oraz Δxi, Δyi • Badanie średniej wartości kwadratu przesunięcia wraz z upływem czasu (liczba kroków)
Ruchy Browna • śr_wartość_kwadratu_x(liczba kroków)- zależność liniowa • śr_wartość_kwadratu_y(liczba kroków)- zależność liniowa
Ruchy Browna • Nachylenie prostej • Dla gazów - 2D; D – współczynnik dyfuzji • D=kT/(6πηr) • k - stała Boltzmanna • T – temperatura • ηwspółczynnik lepkości • r – promień cząstki
Mrówka Langtona • Langton’s Ant • Pamiętane parametry: • Bieżąca pozycja (x, y) • Kierunek ( 1 z 8 lub 1 z 4 ) • W każdej iteracji przeliczana jedna komórka • Modyfikacja komórki (P(x,y)=T/F) • Modyfikacja kierunku • przesunięcie o jedno pole • Np.: if (P(x,y)) zmień kierunek o 900 w lewo; else zmień kierunek o 900 w prawo; P(x,y)=~P(x,y); Move (o 1 pole w zadanym kierunku) • Po 100 000 kroków – tablica nieuporządkowana ak
Wyliczanie kolejnych wierszy tablicy na podstawie poprzednich – generacja fraktali • Sierpińskiego • Zaznaczenie nieparzystych liczb w trójkącie Pascala • Stan komórki – na podstawie dwóch komórek powyżej ( p + p -> p; p +np. -> np.; np. +np. ->p) ak
Symulacje fizyczne • Komórki – wycinek zdyskretyzowanej przestrzeni • Iteracje – dyskretny czas • Nowa wartość komórki zależy od poprzedniej i sąsiadujących • Rozkład ciśnienia • Rozchodzenie się fal na wodzie • Wiatr • Podobne wyniki przy sąsiedztwie 4, 8, 12 AK-fale, wiatr plamy piasek gaz
L-systemy (systemy Lindenmayera) • 1986 r – biolog, Aristid Lindenmayer • Modelowanie biologicznego wzrostu • Tworzenie grafiki komputerowej przedstawiającej rośliny, krzewy, drzewa • Technika przepisywania: zastępowanie części początkowego ciągu znaków (aksjomatu) zgodnie z ustalonymi regułami (produkcjami)
Rodzaje L-systemów • Deterministyczne bezkontekstowe • Stochastyczne • Kontekstowe • parametryczne
L-systemy deterministyczne, bezkontekstowe • Ustalone słowo początkowe (aksjomat) • Zbiór reguł (produkcji) • a→אא – słowo • Przykład: • ω: b • p1: a→ab • p2: b→a b→a→ab→aba→abaab→abaababa→abaababaabaab
L-systemy stochastyczne • Produkcje z pewnym prawdopodobieństwem • a→(P)א • Przykład: • ω: F • p1: F→(0.33) F [+F] F [-F] F • p2: F→(0.33) F [+F] F • p3: F→(0.34) F [-F] F F – krok do przodu + rysowanie linii [ - zapisz na stosie stan ] – zdejmij stan z stosu
L-systemy kontekstowe • Produkcja stosowana, gdy zgadza się kontekst (prawy, lewy lub oba) • 2L-systemy • al.<a> ar→ א • 1L-systemy • al.<a → א • a> ar → א • Przykład: • ω: baaaa • p1: b< a → b • p2: b → a baaaa → abaaa → aabaa → aaaba → aaaab →aaaaa
L-systemy parametryczne • Produkcja: A(t) : t > 5 → B(t+1)CD(t*0.5, t-2) • Symbol A ma 1 parametr – t • if ( t>5 ) A zamienione jest na …… • Domyślna produkcja: a → a • Przykład: • ω: B(2)A(4,4) • p1: A(x,y) : y<=3 → A(x*2,x+y) • p2: A(x,y) : y>3 → B(x)A(x/y,0) • p3: B(x) : x<1 → C • p4: B(x) : x>=1 → B(x-1) B(2)A(4,4) → B(1)B(4)A(1,0) → B(0)B(3)A(2,1) → CB(2)A(4,3) → CB(1)A(8,7) → CB(0)B(8)A(8/7,0) → CCB(7)A(16/7,8/7) → ….
Interpretacja ciągów znaków - żółw • Stan żółwia: (x,y,C) • x,y –położenie • α – kierunek • Dane: • krok = d • zmiana kąta = β • Ciąg znaków – komenda: • F – krok do przodu o d w kierunku α z rysowaniem linii • f – krok do przodu bez rysowania linii • + – skręt w lewo o β • - – skręt w prawo o β
Kwadratowa wyspa Kocha ω: F-F-F-F p1: F → F – F + F + FF – F – F + F • F – krok do przodu o d • + – skręt w lewo o 900 • - – skręt w prawo o 900 n=0 n=1
F – krok do przodu + rysowanie linii • [ - zapisz na stosie stan • ] – zdejmij stan z stosu