automaty komórkowe cellular automata ca

Post on 19-Mar-2016

72 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Automaty komórkoweAutomaty komórkoweCellular AutomataCellular Automata

CACA

automat komórkowyautomat komórkowy10101111 – – liczba neuronów w organizmieliczba neuronów w organizmie

liczba galaktyk we wszechświecieliczba galaktyk we wszechświecie6 * 106 * 102323liczba Avogadraliczba Avogadra

Otoczenie - duże zespoły wzajemnie Otoczenie - duże zespoły wzajemnie oddziałujących elementów zmierzających do stanu oddziałujących elementów zmierzających do stanu równowagirównowagi

Uproszczenia w symulacjach komputerowychUproszczenia w symulacjach komputerowych charakter oddziaływańcharakter oddziaływań Ograniczenie oddziaływań do sąsiadówOgraniczenie oddziaływań do sąsiadów

Gra w życie J.H. ConwayGra w życie J.H. Conway 2D; periodyczne warunki brzegowe2D; periodyczne warunki brzegowe Elementy populacji – osobnicy – w węzłach siatkiElementy populacji – osobnicy – w węzłach siatki Reguły przetrwania, śmierci, generowania nowych Reguły przetrwania, śmierci, generowania nowych

osobnikówosobników

CACA Stanisław Ulam, lata 40 XX wStanisław Ulam, lata 40 XX w Step Wolfram (twórca pakietu Step Wolfram (twórca pakietu

Mathematica)Mathematica)

Struktura danych (tablica komórek)Struktura danych (tablica komórek) AlgorytmAlgorytm

Parametry:Parametry: Typ komórkiTyp komórki Stan początkowyStan początkowy Funkcja przejściaFunkcja przejścia

Automat sprawiedliwy – niezależny od Automat sprawiedliwy – niezależny od kierunku przeliczania komórek (kopia kierunku przeliczania komórek (kopia tablicy)tablicy)

sasiedztwosasiedztwo

Sąsiedztwo Neumanna Sąsiedztwo Moore’a

Przykłady automatów Przykłady automatów komórkowychkomórkowych

Gra w życie Gra w życie Conway’s Game of LifeConway’s Game of Life prelokacjaprelokacja Ofiary i drapieżnicyOfiary i drapieżnicy Mrówka LangtonaMrówka Langtona Symulacje fizyczneSymulacje fizyczne

Gra w życie - regułyGra w życie - regułyDla każdego elementu populacjiDla każdego elementu populacji::

if ( 2<=liczba_sąsiadów<=3 ) element przeżywa if ( 2<=liczba_sąsiadów<=3 ) element przeżywa 1 generację1 generację

if ( liczba_sąsiadów >=4 ) element umiera if ( liczba_sąsiadów >=4 ) element umiera //przeludnienie//przeludnienie

if ( liczba_sąsiadów <=1 ) element umiera if ( liczba_sąsiadów <=1 ) element umiera //izolacja//izolacja

Dla każdego pustego pola:Dla każdego pustego pola:

if ( liczba_sąsiadów = 3 ) tworzy się nowy if ( liczba_sąsiadów = 3 ) tworzy się nowy element populacji w tym poluelement populacji w tym polu

Gra w życie regułyGra w życie reguły

Życie i śmierć zachodzą równocześnieŻycie i śmierć zachodzą równocześnie PrzesłankiPrzesłanki

Nie istnieje konfiguracja pierwotna, dla której Nie istnieje konfiguracja pierwotna, dla której w prosty sposób można udowodnić, że rośnie w prosty sposób można udowodnić, że rośnie ona w sposób nieograniczonyona w sposób nieograniczony

Powinny istnieć konfiguracje pierwotne Powinny istnieć konfiguracje pierwotne prowadzące do wzrostu bez granicprowadzące do wzrostu bez granic znikająceznikające tworzące stabilną konfiguracjętworzące stabilną konfigurację wchodzące w nieskończone oscylacjewchodzące w nieskończone oscylacje

Gra w życieGra w życie

akak Efekt końcowy automatuEfekt końcowy automatu

Stan stabilnyStan stabilny Stan cyklicznie zmieniający się z niedużym Stan cyklicznie zmieniający się z niedużym

okresemokresem Stan chaotycznyStan chaotyczny Złożone, stabilne konfiguracje o długich Złożone, stabilne konfiguracje o długich

okresachokresach Życie – równoważne maszynie Turinga Życie – równoważne maszynie Turinga

Gra w życie reguły - Gra w życie reguły - zastosowaniazastosowania

Model formowania opinii społecznej Model formowania opinii społecznej „ „warszawski”warszawski” „ „wrocławski”wrocławski”

Symulacja rozchodzenia się choroby Symulacja rozchodzenia się choroby zakaźnejzakaźnej

Model IsingaModel Isinga CA + GACA + GA Badanie gęstości upakowania kulek w polach Badanie gęstości upakowania kulek w polach

Model formowania opinii społecznej Stany: tak, nie sStany: tak, nie si,ji,j = -1 lub 1 = -1 lub 1 Wartość początkowa – np. 80% populacji – tak; 20% - nieWartość początkowa – np. 80% populacji – tak; 20% - nie Opinie rozrzucone losowoOpinie rozrzucone losowo Przeprowadzenie rund dyskusyjnych – wymiana z innymi Przeprowadzenie rund dyskusyjnych – wymiana z innymi

członkami populacji (sąsiedzi –odległość emocjonalna), siła członkami populacji (sąsiedzi –odległość emocjonalna), siła przekonywaniaprzekonywania

ffi,ji,j – siła przekonywania – siła przekonywania Dynamika układu – opisana regułą większościDynamika układu – opisana regułą większości S=fS=f0,00,0ss0,00,0(t) + f(t) + f0,10,1ss0,10,1(t) + f(t) + f1,01,0ss1,01,0(t) + f(t) + f0,-10,-1ss0,-10,-1(t) + f(t) + f-1, 0-1, 0ss-1,0-1,0(t) (t)

0,0

0,1

1,0-1,00,-1

S0,0 = +1, jeśli S>=0

S0,0 = -1, jeśli S<0

Model formowania opinii Model formowania opinii społecznej społecznej

Inny sposób wyboru sąsiadów , np. losowy, dla Inny sposób wyboru sąsiadów , np. losowy, dla zadanego zasięgu, proporcjonalny do odległościzadanego zasięgu, proporcjonalny do odległości

SzumySzumy Znając dynamikę zmian pojedynczego osobnika – Znając dynamikę zmian pojedynczego osobnika –

obserwacja zmian rozkładu opiniiobserwacja zmian rozkładu opinii Tworzenie grup wokół przywódców (osoby o mocnym Tworzenie grup wokół przywódców (osoby o mocnym

wpływie)wpływie) Tworzenie wałów ochronnych (słabsi osobnicy za murem Tworzenie wałów ochronnych (słabsi osobnicy za murem

osobników silniejszych)osobników silniejszych) Rozwój „grup oporu” Rozwój „grup oporu”

Model wrocławskiModel wrocławski

Bazuje na obserwacji zachowań stadnychBazuje na obserwacji zachowań stadnych Jedna silnie skorelowana (to samo zdanie Jedna silnie skorelowana (to samo zdanie

na pewien temat) para potrafi narzucić na pewien temat) para potrafi narzucić swoje zdanie sąsiadomswoje zdanie sąsiadom

Jeśli para ma różne zdania – otoczenie nie Jeśli para ma różne zdania – otoczenie nie zmienia poglądówzmienia poglądów

Rozchodzenie się choroby Rozchodzenie się choroby zakaźnejzakaźnej

Obszar N x N; rozmieszczenie osobników w polachObszar N x N; rozmieszczenie osobników w polach Periodyczne warunki brzegowe lub niePeriodyczne warunki brzegowe lub nie Szczepienie – wśród losowo wybranej grupySzczepienie – wśród losowo wybranej grupy 1 losowo wybrany niezaszczepiony osobnik – 1 losowo wybrany niezaszczepiony osobnik –

źródłem chorobyźródłem choroby V=liczba_osób_zaszczepionych/liczność_populacjiV=liczba_osób_zaszczepionych/liczność_populacji NNzz – liczba osób niezaszczepionych – liczba osób niezaszczepionych ZZkk- liczba osób zakażonych (spośród N- liczba osób zakażonych (spośród Nzz)) I – wskaźnik infekcji I=ZI – wskaźnik infekcji I=Zkk/N/Nzz < 1 < 1 I(V) – funkcja malejącaI(V) – funkcja malejąca Istnieje VIstnieje Vcc – wskaźnik infekcji gwałtownie maleje – wskaźnik infekcji gwałtownie maleje

Model IsingaModel Isinga

Badanie magnetycznych własności ciałBadanie magnetycznych własności ciał N spinów w węzłach siatki 2DN spinów w węzłach siatki 2D Spiny oddziałują z sąsiadami i Spiny oddziałują z sąsiadami i

zewnętrznym polem magnetycznymzewnętrznym polem magnetycznym Stany spinów: dół -1; góra 1Stany spinów: dół -1; góra 1 Cel – minimum energii układuCel – minimum energii układu Metoda MetropolisaMetoda Metropolisa

prelokacjaprelokacja Symulacja pożaru lasuSymulacja pożaru lasu

Szybkość i kierunek wiatruSzybkość i kierunek wiatru Wilgotność powietrza i poszyciaWilgotność powietrza i poszycia Odległość między drzewamiOdległość między drzewami Istnienie i rozmiary przecinekIstnienie i rozmiary przecinek Rozmieszczenie ognisk zapalnychRozmieszczenie ognisk zapalnych

Pudełko z kulkami przewodnikami i izolatorami Pudełko z kulkami przewodnikami i izolatorami umieszczonymi w dwóch przeciwnych ściankach; po umieszczonymi w dwóch przeciwnych ściankach; po przyłożeniu napięcia – prąd popłynie jeśli utworzy się przyłożeniu napięcia – prąd popłynie jeśli utworzy się prelokujący klaster (przy powolnym wzroście liczby prelokujący klaster (przy powolnym wzroście liczby przewodników - gwałtowne przejście do stanu przewodników - gwałtowne przejście do stanu przewodnictwa)przewodnictwa)

Poszukiwanie ropy naftowej, wody – cechy porowatych Poszukiwanie ropy naftowej, wody – cechy porowatych skałskał

Algorytm prelokacji węzłowejAlgorytm prelokacji węzłowej Tablica zajętościTablica zajętości

Wypełniona losowo z prawdopodobieństwem p „1” lub „0”Wypełniona losowo z prawdopodobieństwem p „1” lub „0” Wektor pamięci MEWektor pamięci ME Etykiety – kolejne liczby całkowite (numer klastra)Etykiety – kolejne liczby całkowite (numer klastra)

Przeglądanie tablicy zajętości wierszami, nadając Przeglądanie tablicy zajętości wierszami, nadając etykiety elementom zajętym; etykiety elementom zajętym; elementowi, który ma sąsiadów (po lewej stronie i powyżej 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 (i-1,j); (i,j-1) przyporządkowana jest najniższa z etykiet sąsiadów (y)sąsiadów (y)

Ustawienie wektora pamięci ME(x)=y; x,y – etykiety; x>yUstawienie wektora pamięci ME(x)=y; x,y – etykiety; x>y Uzgadnianie kilkustopniowe – zastąpienie etykiet z Uzgadnianie kilkustopniowe – zastąpienie etykiet z

wektora ME ( od największej wartości ) x->ywektora ME ( od największej wartości ) x->y

Etykietowanie elementów -Etykietowanie elementów -sąsiedztwosąsiedztwo

11 11 22

33 33 22

11 11 11

11 11 11 11

11 11 11

11 11 11 11

Element badany

sąsiedzi

prelokacjaprelokacja11 11 11

11 11 1111 11 11

11 11 11 1111 11 11

11 11 11 11

11 11 2233 33 22

44 33 5566 44 44 33

44 33 3377 77 33 88

ME(3)=2

ME(6)=4

ME(4)=3

11 11 22

33 33 22

44 33 55

44 44 44 33

44 33 33

77 77 33 88

11 11 22

33 33 22

33 33 55

33 33 33 33

33 33 33

77 77 33 88

11 11 22

22 22 22

22 22 55

22 22 22 22

22 22 22

77 77 22 88

6 -> 4 4 -> 3 3 -> 2

Kropla spadająca na wietrzeKropla spadająca na wietrze

Kropla przesuwa się między węzłami sieci pod Kropla przesuwa się między węzłami sieci pod wpływem siły ciężkości i wiatruwpływem siły ciężkości i wiatru

Cel – określenie średniej wartości dryftu (xCel – określenie średniej wartości dryftu (xkk-x-x00)) Parametry symulacji:Parametry symulacji:

xx00, y, y00 – punkt początkowy – punkt początkowy δ δ x = x = δδy – odległości między współrzędnymi węzłówy – odległości między współrzędnymi węzłów pp11, p, p22, p, p33, p, p4 4 - prawdopodobieństwa ruchu w 4 - prawdopodobieństwa ruchu w 4

kierunkachkierunkach pp11+ p+ p22+ p+ p33+ p+ p4 4 = 1= 1

Liczba symulacjiLiczba symulacji Kryterium stopu pojedynczej symulacji – yKryterium stopu pojedynczej symulacji – ykk= 0= 0

Kropla spadająca na wietrzeKropla spadająca na wietrze

Reguły poruszania się po sieci (xReguły poruszania się po sieci (xii,y,yii) :) :

1.1. Wylosuj Wylosuj rr rzeczywiste rzeczywiste єє(0,1)(0,1)

2.2. if (r <= p1) (xif (r <= p1) (xii,y,yjj) -> (x) -> (xi+1i+1,y,yii) ) →→3.3. if (r >= p1 && r < p1+p2 ) (xif (r >= p1 && r < p1+p2 ) (x ii,y,yii) -> (x) -> (xii,y,yi-1i-1) ) ↑↑4.4. if (r >= p1+p2 && r < p1+p2 +p3 ) (xif (r >= p1+p2 && r < p1+p2 +p3 ) (x ii,y,yjj) -> (x) -> (xi-1i-1,y,yii) )

←←5.5. if (r >= p1+p2+p3 && r < 1 ) (xif (r >= p1+p2+p3 && r < 1 ) (xii,y,yjj) -> (x) -> (xii,y,yi+1i+1) ) ↓↓

Kropla spadająca na wietrzeKropla spadająca na wietrze

→→ ↑↑←←↓↓ x0 xk

y0

yk =0

Ruchy Browna Ruchy Browna Brown 1827, Einstein 1905, Smoluchowski Brown 1827, Einstein 1905, Smoluchowski

19061906 Ruchy małych cząstek zawiesiny w sieciRuchy małych cząstek zawiesiny w sieci

Wyznaczenie położenia cząstki zawiesiny w Wyznaczenie położenia cząstki zawiesiny w chwili t=0, chwili t=0, ΔΔt, 2t, 2ΔΔt, 3t, 3ΔΔt,….t,….oraz oraz ΔΔxxii, , ΔΔyyii

Badanie średniej wartości kwadratu Badanie średniej wartości kwadratu przesunięcia wraz z upływem czasu (liczba przesunięcia wraz z upływem czasu (liczba kroków)kroków)

i

ixNx 22 )(1)(

Ruchy BrownaRuchy Browna śr_wartość_kwadratu_x(liczba kroków)- śr_wartość_kwadratu_x(liczba kroków)-

zależność liniowazależność liniowa śr_wartość_kwadratu_y(liczba kroków)- śr_wartość_kwadratu_y(liczba kroków)-

zależność liniowazależność liniowa

0

200

400

600

800

1000

1200

0 500 1000 1500 2000 2500

x

y

Ruchy BrownaRuchy Browna

Nachylenie prostejNachylenie prostej Dla gazów - 2Dla gazów - 2DD; ; DD – współczynnik dyfuzji – współczynnik dyfuzji D=kT/(6D=kT/(6ππηηr)r)

k k - stała Boltzmanna- stała Boltzmanna TT – temperatura – temperatura ηη współczynnik lepkościwspółczynnik lepkości r r – promień cząstki– promień cząstki

Mrówka LangtonaMrówka Langtona Langton’s AntLangton’s Ant

Pamiętane parametry:Pamiętane parametry: Bieżąca pozycja (x, y)Bieżąca pozycja (x, y) Kierunek ( 1 z 8 lub 1 z 4 )Kierunek ( 1 z 8 lub 1 z 4 )

W każdej iteracji przeliczana jedna komórkaW każdej iteracji przeliczana jedna komórka Modyfikacja komórki (P(x,y)=T/F)Modyfikacja komórki (P(x,y)=T/F) Modyfikacja kierunkuModyfikacja kierunku przesunięcie o jedno poleprzesunięcie o jedno pole

Np.:Np.:if (P(x,y)) zmień kierunek o 90if (P(x,y)) zmień kierunek o 9000 w lewo; w lewo;else zmień kierunek o 90else zmień kierunek o 9000 w prawo; w prawo;P(x,y)=~P(x,y);P(x,y)=~P(x,y);Move (o 1 pole w zadanym kierunku)Move (o 1 pole w zadanym kierunku)

Po 100 000 kroków – tablica nieuporządkowana Po 100 000 kroków – tablica nieuporządkowana akak

Wyliczanie kolejnych wierszy tablicy na Wyliczanie kolejnych wierszy tablicy na podstawie poprzednich – generacja fraktalipodstawie poprzednich – generacja fraktali SierpińskiegoSierpińskiego

Zaznaczenie nieparzystych liczb w trójkącie Zaznaczenie nieparzystych liczb w trójkącie PascalaPascala

Stan komórki – na podstawie dwóch komórek Stan komórki – na podstawie dwóch komórek powyżej ( p + p -> p; p +np. -> np.; np. +np. ->p)powyżej ( p + p -> p; p +np. -> np.; np. +np. ->p)

akak

Symulacje fizyczneSymulacje fizyczne

Komórki – wycinek zdyskretyzowanej przestrzeniKomórki – wycinek zdyskretyzowanej przestrzeni Iteracje – dyskretny czasIteracje – dyskretny czas Nowa wartość komórki zależy od poprzedniej i Nowa wartość komórki zależy od poprzedniej i

sąsiadującychsąsiadujących Rozkład ciśnieniaRozkład ciśnienia Rozchodzenie się fal na wodzieRozchodzenie się fal na wodzie WiatrWiatr

Podobne wyniki przy sąsiedztwie 4, 8, 12Podobne wyniki przy sąsiedztwie 4, 8, 12AK-fale, wiatrAK-fale, wiatr

plamyplamypiasekpiasek

gazgaz

L-systemy (systemy Lindenmayera)L-systemy (systemy Lindenmayera)

1986 r – biolog, Aristid Lindenmayer1986 r – biolog, Aristid Lindenmayer Modelowanie biologicznego wzrostuModelowanie biologicznego wzrostu Tworzenie grafiki komputerowej Tworzenie grafiki komputerowej

przedstawiającej rośliny, krzewy, drzewaprzedstawiającej rośliny, krzewy, drzewa Technika przepisywania: zastępowanie Technika przepisywania: zastępowanie

części początkowego ciągu znaków części początkowego ciągu znaków (aksjomatu) zgodnie z ustalonymi regułami (aksjomatu) zgodnie z ustalonymi regułami (produkcjami)(produkcjami)

Rodzaje L-systemówRodzaje L-systemów

Deterministyczne bezkontekstoweDeterministyczne bezkontekstowe StochastyczneStochastyczne KontekstoweKontekstowe parametryczneparametryczne

L-systemy deterministyczne, L-systemy deterministyczne, bezkontekstowebezkontekstowe

Ustalone słowo początkowe (aksjomat)Ustalone słowo początkowe (aksjomat) Zbiór reguł (produkcji)Zbiór reguł (produkcji)

aa→→אא אא – – słowosłowo Przykład:Przykład:

ωω: b: b p1: a→abp1: a→ab p2: b→ap2: b→ab→a→ab→aba→abaab→abaababa→abaababaabaabb→a→ab→aba→abaab→abaababa→abaababaabaab

L-systemy stochastyczneL-systemy stochastyczne Produkcje z pewnym prawdopodobieństwemProdukcje z pewnym prawdopodobieństwem aa→→(P)(P)אא Przykład:Przykład:

ωω: F: F p1: F→(0.33) F [+F] F [-F] Fp1: F→(0.33) F [+F] F [-F] F p2: F→(0.33) F [+F] Fp2: F→(0.33) F [+F] F p3: F→(0.34) F [-F] Fp3: F→(0.34) F [-F] F

F – krok do przodu + rysowanie liniiF – krok do przodu + rysowanie linii[ - zapisz na stosie stan[ - zapisz na stosie stan] – zdejmij stan z stosu] – zdejmij stan z stosu

L-systemy kontekstoweL-systemy kontekstowe Produkcja stosowana, gdy zgadza się kontekst Produkcja stosowana, gdy zgadza się kontekst

(prawy, lewy lub oba)(prawy, lewy lub oba) 2L-systemy2L-systemy

aall.<a> a.<a> arr → → אא 1L-systemy1L-systemy

aall.<a .<a → → אא a> aa> arr → → אא

Przykład:Przykład: ωω: baaaa: baaaa p1: b< a → bp1: b< a → b p2: b → ap2: b → a

baaaa → abaaa → aabaa → aaaba → aaaab →aaaaabaaaa → abaaa → aabaa → aaaba → aaaab →aaaaa

L-systemy parametryczneL-systemy parametryczne Produkcja:Produkcja:A(t) : t > 5 A(t) : t > 5 → B(t+1)CD(t*0.5, t-2)→ B(t+1)CD(t*0.5, t-2)

Symbol A ma 1 parametr – tSymbol A ma 1 parametr – t if ( t>5 ) A zamienione jest na ……if ( t>5 ) A zamienione jest na ……

Domyślna produkcja: a → aDomyślna produkcja: a → a Przykład:Przykład:

ωω: : B(2)A(4,4)B(2)A(4,4) p1: p1: A(x,y) : y<=3 A(x,y) : y<=3 → → A(x*2,x+y)A(x*2,x+y) p2: p2: A(x,y) : y>3 A(x,y) : y>3 → → B(x)A(x/y,0)B(x)A(x/y,0) p3: p3: B(x) : x<1 B(x) : x<1 → → CC p4: p4: B(x) : x>=1 B(x) : x>=1 → → B(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) → 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) → ….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 - żółwInterpretacja ciągów znaków - żółw

Stan żółwia: (x,y,Stan żółwia: (x,y,C)C) x,y –położeniex,y –położenie αα – kierunek – kierunek

Dane:Dane: krok = dkrok = d zmiana kąta = zmiana kąta = ββ

Ciąg znaków – komenda:Ciąg znaków – komenda: F – krok do przodu o d w kierunku F – krok do przodu o d w kierunku αα z rysowaniem linii z rysowaniem linii f – krok do przodu bez rysowania liniif – krok do przodu bez rysowania linii + – skręt w lewo o + – skręt w lewo o ββ - – skręt w prawo o - – skręt w prawo o ββ

Kwadratowa wyspa KochaKwadratowa wyspa Kocha F – krok do przodu o dF – krok do przodu o d + – skręt w lewo o 90+ – skręt w lewo o 9000

- – skręt w prawo o 90- – skręt w prawo o 9000

ωω: F-F-F-F: F-F-F-Fp1: F → F – F + F + FF – F – F + Fp1: F → F – F + F + FF – F – F + F

n=0

n=1

Wyspy KochaWyspy Kocha

F – krok do przodu + F – krok do przodu + rysowanie liniirysowanie linii[ - zapisz na stosie stan[ - zapisz na stosie stan] – zdejmij stan z stosu] – zdejmij stan z stosu

liścieliście

top related