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