• Nie Znaleziono Wyników

2014-03-20 JarosławPiersa Algorytmystochastyczne,wykład05SystemyLiendenmayera,modelowanieroślin

N/A
N/A
Protected

Academic year: 2021

Share "2014-03-20 JarosławPiersa Algorytmystochastyczne,wykład05SystemyLiendenmayera,modelowanieroślin"

Copied!
26
0
0

Pełen tekst

(1)

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2014-03-20

(2)

1 Systemy Liendenmayera Definicja

2 Grafika żółwiowa Definicja

3 L-systemy Przykład

L-systemy ze stosem Stochastyczne LS

(3)

Przypomnienie

gramatyka to system (Σ, A, s0, P),

Σ — symbole terminalne (końcowe / alfabet)

A — symbole nieterminalne (pomocnicze), A ∩ Σ = ∅ s0 ∈ A — symbol początkowy

P ⊂ (Σ ∪ A)+× (Σ ∪ A) — produkcje / reguły zastępowania zastępujemy jeden symbol w każdym kroku

(4)

System Liendenmayera

System Liendenmayera to trójka (Σ, s0, P), Σ — alfabet / symbole

s0 ∈ Σ — symbol początkowy

P ⊂ Σ+× Σ — produkcje / reguły zastępowania symbole terminalne i pomocnicze są utożsamione

jeżeli nie ma jawnej reguły dla symbolu x , to przepisujemy x zastępujemy wszystkie symbole jednocześnie

(5)

Przykład

Σ = {a, b}

s0 = a P =

 a → ab b → a



(6)

Przykład

w kolejnych iteracjach uzyskujemy a

ab aba abaab abaababa abaababaabaab

abaababaabaababaababa

(7)

Obserwacje

powyższy ciąg słów nazywamy słowami Fibonacciego długość n-tego słowa Fibonacciego wynosi Fn dla n → ∞ zachodzi:

długość słowa

liczba liter a = liczba liter a liczba liter b → φ

(8)

Ciekawostki

słowo Fibonacciego jest nieokresowe (dla okresów krótszych niż Fn/2)

słowa Fibonacciego mają „kwadraty” (podciąg powtórzony dwa razy po sobie)

każde słowo nad alfabetem binarnym długości 4 lub więcej musi mieć przynajmniej jeden kwadrat!

słowa Fibonacciego nie mają „sześcianów” (podciąg powtórzony trzy razy po sobie)

(9)

Ciekawostki

słowa Fibonacciego nadają się jako kodowanie wiadomości z odpornością na szumy / autokorektą

w słowie Fibonacciego nigdy nie wystąpią obok siebie: „aaa” ani

„bb”

odczytanie takiego podciągu oznacza błąd przesyłu wiadomości

(10)

Grafika żółwiowa

Dany: Żółw na płaszczyźnie z przymocowanym do skorupy pisakiem

(x , y ) położenie żółwia α ∈ [0, 2π) orientacja żółwia

(11)

Grafika żółwiowa

Żółw może

F — iść naprzód o s kroków rysując linię pisakiem

lub dowolny symbol pisany wielką literą

x := x + s · cos(α) y := y + s · sin(α) α bez zmian

(12)

Grafika żółwiowa

Żółw może

f — iść naprzód o s kroków bez rysowania kreski

x := x + s · cos(α) y := y + s · sin(α) α bez zmian

(13)

Grafika żółwiowa

Żółw może

+ — obrót w lewo o kat θ (x , y ) bez zmian

α := (α + θ)( mod 2π) wzorek dla układu

kartezjańskiego z osią OY zorientowaną „do góry”

(14)

Grafika żółwiowa

Żółw może

− — obrót w prawo o kat θ (x , y ) bez zmian

α := (α − θ)( mod 2π)

(15)

Przykład

Deterministyczne bezkontekstowe Σ = {F, f , +, −}

s0 = F

P = {F → F+F–F+F}

α = π/3

(16)

Przykład

n = 1

0 0.5 1 1.5 2 2.5 3

-1.5 -1 -0.5 0 0.5 1

n = 2

4 5 6 7 8 9

n = 3

0 5 10 15 20 25

-15 -10 -5 0 5

n = 4

40 50 60 70 80

n = 5

0 50 100 150 200

-150 -100 -50 0 50

(17)

L-Systemy z nawiasami

L-Systemy nawiasowe / ze stosem / z rozgałęzieniami Do alfabetu dołączamy dodatkowo: ’[’ oraz ’]’

Σ = {F , f , +, −, [, ]}

[ — zapisz bieżącą pozycję i orientację żółwia (połóż kopię na stosie)

] — odtwórz zapisaną pozycję (zdejmij ze stosu)

(18)

Przykład

L-Systemy nawiasowe / ze stosem / z rozgałęzieniami Σ = {F , L, +, −, [, ]}

L — to samo co F , ale inne reguły produkcyjne Produkcje

P = { F → L[+F ][−F ] L → LL } s0 = F

(19)

Przykład

n = 1

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.60.8

n = 2

1 1.5 2 2.5 3 3.5

n = 3

0 1 2 3 4 5 6 7

-3 -2 -1 0 1 2 3

n = 4

4 6 8 10 12 14

n = 5

0 5 10 15 20 25 30

-15 -10 -5 0 5 10 15

n = 6

10 20 30 40 50 60

(20)

Stochastyczne LS

Stochastyczne / niedeterministyczne

W zbiorze produkcji dopuszczamy dwa lub więcej produkcji o tym samym poprzedniku

Np.

P = { F → L[+F ][−F ] F → L[F ][−F ] F → L[+F ] } wybieramy losową z nich

jeżeli jest tylko jedna, to wybieramy zawsze ją

(21)

Przykład

0 2 4 6 8 10 12

-6 -4 -2 0 2 4

0 2 4 6 8 10 12 14

-2 0 2 4 6 8

-6 -4 -2 0 2 4

2 4 6 8 10 12 14

-5 0 5 10 15

-10 -5 0 5 10

2 4 6 8 10 12 14 16

(22)

Szum

do obrotu i przesunięcia dodajemy małą zmienną losową zamiast przesunięcie o s, przesuwamy o s + N(0, σ2) zamiast obrót o θ, obracamy o θ + N(0, τ2)

(23)

Przykład

0 2 4 6 8 10 12 14 16

-10 -8 -6 -4 -2 0 2 4 6 0

5 10 15 20 25

-5 0 5 10 15

(24)

Liście i kwiaty

dodajemy dodatkowo symbole i produkcje F → [+GL]F F → [−GP]F

L — liść / leaf, P — kwiat /petel, G — nienadpisywane przesunięcie (G → G )

(25)

Przykład

0 5 10 15

-5 0 5 10

0 5 10 15 20

-15 -10 -5 0 5

(26)

Źródła

P. Prosiunkiewicz, A. Liendenmayer, The algorithmic beaty of plants

Cytaty

Powiązane dokumenty

MATERIAŁY DYDAKTYCZNE PROJEKT KONSTRUKCJI BUDYNKU CZĘŚĆ ŻELBETOWA... MATERIAŁY DYDAKTYCZNE PROJEKT KONSTRUKCJI BUDYNKU

Generalizacja Walidacja jakości uczenia Błędy klasyfikacji Przypadek ciągły.. Wstęp do sieci neuronowych, wykład 09, Walidacja

Organizacja zajęć Zakładanie konta w systemie WMiI System komputerowy WMiI Poczta WMiI Podsumowanie.. Wstęp do systemów wielozadaniowych laboratorium 01 —

Wygeneruj parę kluczy, eksportuj klucz publiczny i umieść na własnej stronie www / pliku .plan lub na forum na moodle Z moodle pobierz i zaimportuj klucz publiczny prowadzącego

2 Powtórzenie z wykładu Perceptrony prosty Uczenie perceptronu.

(Linux) Uruchom klienta poczty (Thunderbird, Evolution etc.) Skonfiguruj klienta aby obsługiwał serwis poczty WMiI. Wyślij wiadomość testową do osoby siedzącej po lewej

komenda1 --parametry > ścieżka/do/pliku wynik komendy1 będzie dopisany na końcu pliku komenda2 --parametry >>

Nie m iała jednak najm n iejszej ochoty na zajm ow anie się m oją edukacją.. Spodziew ałam się