Automaty Komórkowe

Download Report

Transcript Automaty Komórkowe

Automaty komórkowe
Cellular Automata
CA
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
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)
0,1
S0,0 = +1, jeśli S>=0
0,0
-1,0
0,-1
1,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
1
1
2
3
3
Element
badany
2
sąsiedzi
1
1
1
1
1
1
1
1
1
1
1
1
1
1
prelokacja
1 1
1
1 1 1
1
1
1
1 1 1 1
1 1 1
1 1
1
1
1 1
3
4
6 4 4
4
7 7
6 -> 4
1
2
4
4
7
4
7
3
3
4
3
3
1
2
3
4
1
5
3
3
3
3
8
7
7
1
2
3
ME(3)=2
ME(6)=4
ME(4)=3
3 -> 2
4 -> 3
1
3
2
3 2
3
5
3
3 3
3
8
3
3
3
3
3
2
2
2
3
3
1
2
5
2
2
3
8
7
7
2
2
2
2
2
2
2
2
5
2
8
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) :
1. Wylosuj r rzeczywiste є(0,1)
2. if (r <= p1) (xi,yj) -> (xi+1,yi)
→
3. if (r >= p1 && r < p1+p2 ) (xi,yi) -> (xi,yi-1) ↑
4. if (r >= p1+p2 && r < p1+p2 +p3 ) (xi,yj) -> (xi1,yi)
←
5. 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)
1
(x) 2 
N

i
(x i ) 2
Ruchy Browna
 śr_wartość_kwadratu_x(liczba kroków)zależność liniowa
 śr_wartość_kwadratu_y(liczba kroków)zależność liniowa
1200
x
1000
y
800
600
400
200
0
0
500
1000
1500
2000
2500
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:





ω:
p1:
p2:
p3:
p4:
B(2)A(4,4)
A(x,y) : y<=3
A(x,y) : y>3
B(x) : x<1
B(x) : x>=1
→
→
→
→
A(x*2,x+y)
B(x)A(x/y,0)
C
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 – krok do przodu o d
 + – skręt w lewo o 900
 - – skręt w prawo o 900
ω: F-F-F-F
p1: F → F – F + F + FF – F – F + F
n=0
n=1
Wyspy Kocha
F – krok do przodu +
rysowanie linii
[ - zapisz na stosie stan
] – zdejmij stan z stosu
liście