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

Podobne dokumenty
Algorytmy stochastyczne, wykład 07 Parametryczne systemy

Obliczenia inspirowane Naturą

Języki formalne i automaty Ćwiczenia 5

Obliczenia inspirowane Naturą

Wykład 1 Wybrane problemy algorytmiki

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Hierarchia Chomsky ego Maszyna Turinga

Systemy Lindenmayera (L-systemy)

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Systemy Lindenmayera (L-systemy)

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 4

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki

Języki formalne i automaty Ćwiczenia 3

Języki formalne i automaty Ćwiczenia 1

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Imię, nazwisko, nr indeksu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

JĘZYKIFORMALNE IMETODYKOMPILACJI

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Hierarchia Chomsky ego

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Języki, automaty i obliczenia

Jaki język zrozumie automat?

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

Obliczenia inspirowane Naturą

JĘZYKI FORMALNE I METODY KOMPILACJI

Lista zadań - Relacje

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

(j, k) jeśli k j w przeciwnym przypadku.

Krzywe stożkowe Lekcja II: Okrąg i jego opis w różnych układach współrzędnych

Języki, automaty i obliczenia

i = [ 0] j = [ 1] k = [ 0]

Modelowanie roślin przy użyciu języków formalnych

Maszyna Turinga języki

Dopełnienie to można wyrazić w następujący sposób:

Języki formalne i automaty Ćwiczenia 2

Obliczenia inspirowane Naturą

Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Gramatyka operatorowa

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Języki, automaty i obliczenia

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Kody Tunstalla. Kodowanie arytmetyczne

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Repetytorium z matematyki ćwiczenia

Instrukcje dla zawodników

JĘZYKI FORMALNE I METODY KOMPILACJI

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Języki formalne i automaty Ćwiczenia 7

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

ALGORYTMY. Polecenia Skrót Znaczenie Działanie Przykład pż

Wykład 5. Komórka elementarna. Sieci Bravais go

3.4. Przekształcenia gramatyk bezkontekstowych

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

10110 =

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

MECHANIKA PRĘTÓW CIENKOŚCIENNYCH

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

Metody systemowe i decyzyjne w informatyce

11 Probabilistic Context Free Grammars

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

L-systemy Lindemayera w 3D. Gramatyki grafowe

Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne

Podstawy Informatyki Gramatyki formalne

Elementy grafiki komputerowej. Elementy geometrii afinicznej

1. Maszyna Turinga, gramatyki formalne i ONP

Tajna wiadomość. Scenariusz lekcji

Optymalizacja ciągła

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

GRAMATYKI BEZKONTEKSTOWE

1 Automaty niedeterministyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Efektywna analiza składniowa GBK

Matematyka dyskretna. Andrzej Łachwa, UJ, 2019 Zadania 1-100

Logika dla socjologów Część 3: Elementy teorii zbiorów i relacji

Symbol, alfabet, łańcuch

Podstawy Informatyki Maszyna Turinga

Definiowanie języka przez wyrażenie regularne(wr)

Języki formalne i automaty Ćwiczenia 6

Maszyna Turinga (Algorytmy Część III)

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

Transkrypt:

Algorytmy stochastyczne, wykład 5, modelowanie roślin Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 214-3-2

1 2 3 ze stosem

Przypomnienie gramatyka to system (Σ, A, s, P), Σ symbole terminalne (końcowe / alfabet) A symbole nieterminalne (pomocnicze), A Σ = s A symbol początkowy P (Σ A) + (Σ A) produkcje / reguły zastępowania zastępujemy jeden symbol w każdym kroku

System Liendenmayera System Liendenmayera to trójka (Σ, s, P), Σ alfabet / symbole s Σ 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

Σ = {a, b} s = a { a ab P = b a }

w kolejnych iteracjach uzyskujemy a ab aba abaab abaababa abaababaabaab abaababaabaababaababa...

Obserwacje powyższy ciąg słów nazywamy słowami Fibonacciego długość n-tego słowa Fibonacciego wynosi F n dla n zachodzi: długość słowa liczba liter a = liczba liter a liczba liter b φ

Ciekawostki słowo Fibonacciego jest nieokresowe (dla okresów krótszych niż F n /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)

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

Dany: Żółw na płaszczyźnie z przymocowanym do skorupy pisakiem (x, y) położenie żółwia α [, 2π) orientacja żółwia

Żół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

Żółw może f iść naprzód o s kroków bez rysowania kreski x := x + s cos(α) y := y + s sin(α) α bez zmian

Żół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

Żółw może obrót w prawo o kat θ (x, y) bez zmian α := (α θ)( mod 2π)

ze stosem Deterministyczne bezkontekstowe Σ = {F, f, +, } s = F P = {F F+F F+F} α = π/3

ze stosem n = 1 3 2.5 n = 3 25 2 2 1.5 1 15 n = 5.5 5 2-1.5-1 -.5.5 1 n = 2 9 8 7 6 5 4 3 2 1-15 - -5 5 n = 4 8 7 6 5 4 3 2 15 5-15 - -5 5-5 -4-3 -2-1 1 2 3-5 -4-3 -2-2

L-Systemy z nawiasami ze stosem 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)

ze stosem L-Systemy nawiasowe / ze stosem / z rozgałęzieniami Σ = {F, L, +,, [, ]} L to samo co F, ale inne reguły produkcyjne Produkcje s = F P = { F L[+F ][ F ] L LL }

ze stosem n = 1 1.8 1.6 1.4 1.2 n = 3 7 6 5 n = 5 3 25 2 1.8.6.4.2 4 3 2 1 15 5 -.8 -.6 -.4 -.2.2.4.6.8 n = 2 3.5 3-3 -2-1 1 2 3 n = 4 14 12-15 - -5 5 15 n = 6 6 5 2.5 4 2 8 3 1.5 1.5 6 4 2 2-1.5-1 -.5.5 1 1.5-6 -4-2 2 4 6-3 -2-2 3

ze stosem 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ą jeżeli nie ma żadnych, to stosujemy X X

ze stosem 12 8 15 6 8 6 4 2 5 4 2-2 -6-4 -2 2 4-6 -4-2 2 4-5 - -5 5 14 14 16 12 12 14 12 8 8 8 6 6 6 4 4 4 2 2 2-6 -4-2 2 4 6 8-4 -2 2 4 6 8 - -8-6 -4-2 2 4 6

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

ze stosem 16 25 14 12 2 15 8 6 4 2 5 - -8-6 -4-2 2 4 6-5 5 15

Liście i kwiaty ze stosem dodajemy dodatkowo symbole i produkcje F [+GL]F F [ GP]F L liść / leaf, P kwiat /petel, G nienadpisywane przesunięcie (G G)

ze stosem 15 2 15 5 5-5 5-15 - -5 5

Źródła ze stosem P. Prosiunkiewicz, A. Liendenmayer, The algorithmic beaty of plants