Upload
colton
View
69
Download
4
Embed Size (px)
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
Citation preview
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