Jaki język zrozumie automat?

Wielkość: px
Rozpocząć pokaz od strony:

Download "Jaki język zrozumie automat?"

Transkrypt

1 Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice 7. Forum Matematyków Polskich, września 2016, Olsztyn

2 Prosty Automat do kawy Przemawiamy do automatu przy pomocy ciągów monet. Na wejściu (starcie) automatu są ciągi monet spośród: 5, 10, 20. Automat rozpoznaje (rozumie) te ciągi, ktorych suma = 20, wtedy wydaje kawę.

3 Prosty Automat do kawy Przemawiamy do automatu przy pomocy ciągów monet. Na wejściu (starcie) automatu są ciągi monet spośród: 5, 10, 20. Automat rozpoznaje (rozumie) te ciągi, ktorych suma = 20, wtedy wydaje kawę. Stany automatu wyznaczone są kwotą wrzuconych monet, mamy:

4 Prosty Automat do kawy Przemawiamy do automatu przy pomocy ciągów monet. Na wejściu (starcie) automatu są ciągi monet spośród: 5, 10, 20. Automat rozpoznaje (rozumie) te ciągi, ktorych suma = 20, wtedy wydaje kawę. Stany automatu wyznaczone są kwotą wrzuconych monet, mamy: stan początkowy:q 0, kwota = 0,

5 Prosty Automat do kawy Przemawiamy do automatu przy pomocy ciągów monet. Na wejściu (starcie) automatu są ciągi monet spośród: 5, 10, 20. Automat rozpoznaje (rozumie) te ciągi, ktorych suma = 20, wtedy wydaje kawę. Stany automatu wyznaczone są kwotą wrzuconych monet, mamy: stan początkowy:q 0, kwota = 0, q 1 kwota = 5, q 2 kwota = 10, q 3 kwota = 15,

6 Prosty Automat do kawy Przemawiamy do automatu przy pomocy ciągów monet. Na wejściu (starcie) automatu są ciągi monet spośród: 5, 10, 20. Automat rozpoznaje (rozumie) te ciągi, ktorych suma = 20, wtedy wydaje kawę. Stany automatu wyznaczone są kwotą wrzuconych monet, mamy: stan początkowy:q 0, kwota = 0, q 1 kwota = 5, q 2 kwota = 10, q 3 kwota = 15, stan końcowy: q 4, kwota = 20 (nie wydaje reszty)

7 Automat do kawy A K q 1 : 5 q 2 : 10 start q 0 : 0 q 4 : 20 q 3 : 15

8 Automat do kawy A K q 1 : 5 q 2 : 10 start q 0 : 0 q 4 : 20 q 3 : 15 Stan początkowy:q 0, kwota = 0, q 1 kwota = 5, q 2 kwota = 10, q 3 kwota = 15, stan końcowy: q 4, kwota = 20

9 Automat do kawy A K q 5 1 q 2 start q q 4 q 3 5

10 Automat do kawy A K q 5 1 q 2 start q q 4 q 3 5 ciągi (czyli słowa), które dają sukces (kawę) - słowa rozpoznane: (5, 5, 5, 5), (5, 5, 10), (5, 10, 5), (10, 5, 5), (10, 10), (20)

11 Automat do kawy A K q 5 1 q 2 start q q 4 q 3 5

12 Automat do kawy A K q 5 1 q 2 start q q 4 q 3 5 Automat rozpoznaje ( rozumie ) ciągi, czyli słowa: (5, 5, 5, 5), (5, 5, 10), (5, 10, 5), (10, 5, 5), (10, 10), (20). Słowa zbudowane z alfabetu Σ = {5, 10, 20}

13 Automat do kawy A K q 5 1 q 2 start q q 4 q 3 5 Automat rozpoznaje ( rozumie ) ciągi, czyli słowa: (5, 5, 5, 5), (5, 5, 10), (5, 10, 5), (10, 5, 5), (10, 10), (20). Słowa zbudowane z alfabetu Σ = {5, 10, 20} L(A K ) = {(5, 5, 5, 5), (5, 5, 10), (5, 10, 5), (10, 5, 5), (10, 10), (20)}, język zaakceptowany przez A K.

14 Automat skończony Ogólnie: automat to (Q, Σ, δ, s, F ),

15 Automat skończony Ogólnie: automat to (Q, Σ, δ, s, F ), Q - skończony zbiór stanów, Σ - alfabet, skończony zbiór znaków, (symboli) δ : Q Σ Q - funkcja przejścia δ(q, a) to stan do którego przechodzimy ze stanu q na skutek wczytania znaku a, s to stan początkowy F - zbiór stanów końcowych (akceptujących)

16 Automat skończony Ogólnie: automat to (Q, Σ, δ, s, F ), Q - skończony zbiór stanów, Σ - alfabet, skończony zbiór znaków, (symboli) δ : Q Σ Q - funkcja przejścia δ(q, a) to stan do którego przechodzimy ze stanu q na skutek wczytania znaku a, s to stan początkowy F - zbiór stanów końcowych (akceptujących) Przykład. Automat do kawy: ({q 0,..., q 4 }, {5, 10, 20}, δ, q 0, {q 4 }) δ(q i, 5) = q i+1, i = 0,..., 3, δ(q i, 10) = q i+2, i = 0, 1, 2, δ(q 0, 20) = q 4.

17 Automat skończony, alfabet, słowa i język Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem, ε - słowo puste

18 Automat skończony, alfabet, słowa i język Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem, ε - słowo puste Przykłady. Σ = {a, b}, wtedy Σ : ε, a, b, aa, bb, ab, ba, aaa, bbb, aba, aab, baa,..., bbabaaab,...

19 Automat skończony, alfabet, słowa i język Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem, ε - słowo puste Przykłady. Σ = {a, b}, wtedy Σ : ε, a, b, aa, bb, ab, ba, aaa, bbb, aba, aab, baa,..., bbabaaab,... Σ = {0, 1}, wtedy Σ : ε, 0, 1, 00, 11, 01, 10, 000, 111, 010, 001, 100,...,

20 Automat skończony, alfabet, słowa i język Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem, ε - słowo puste Przykłady. Σ = {a, b}, wtedy Σ : ε, a, b, aa, bb, ab, ba, aaa, bbb, aba, aab, baa,..., bbabaaab,... Σ = {0, 1}, wtedy Σ : ε, 0, 1, 00, 11, 01, 10, 000, 111, 010, 001, 100,..., Działanie na słowach - konkatenacja (połączenie) słów: w 1 = a 1... a n, w 2 = b 1... b k, to wtedy w 1 w 2 = a 1... a n b 1... b k, łączne, nie przemienne,

21 Automat skończony, alfabet, słowa i język Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem, ε - słowo puste Przykłady. Σ = {a, b}, wtedy Σ : ε, a, b, aa, bb, ab, ba, aaa, bbb, aba, aab, baa,..., bbabaaab,... Σ = {0, 1}, wtedy Σ : ε, 0, 1, 00, 11, 01, 10, 000, 111, 010, 001, 100,..., Działanie na słowach - konkatenacja (połączenie) słów: w 1 = a 1... a n, w 2 = b 1... b k, to wtedy w 1 w 2 = a 1... a n b 1... b k, łączne, nie przemienne, ε jest elementem neutralnym: εw = wε = w monoid syntaktyczny Σ, z elementem neutralnym ε,

22 Automat skończony (Q, Σ, δ, s, F ) automat skończony,

23 Automat skończony (Q, Σ, δ, s, F ) automat skończony, δ : Q Σ Q - funkcja przejścia, rozszerzamy na δ : Q Σ Q - funkcja przejścia - następująco:

24 Automat skończony (Q, Σ, δ, s, F ) automat skończony, δ : Q Σ Q - funkcja przejścia, rozszerzamy na δ : Q Σ Q - funkcja przejścia - następująco: δ(q, ε) = q δ(q, wa) = δ(δ(q, w), a)

25 Automat skończony (Q, Σ, δ, s, F ) automat skończony, δ : Q Σ Q - funkcja przejścia, rozszerzamy na δ : Q Σ Q - funkcja przejścia - następująco: δ(q, ε) = q δ(q, wa) = δ(δ(q, w), a) Np. W A K : δ(q 0, 555) = q 3, δ(q 0, 5555) = q 4 Język j. rozpoznany, zaakcetowany przez automat A, tzn. L(A) = {w Σ : δ(s, w) F }

26 Automat skończony (Q, Σ, δ, s, F ) automat skończony, δ : Q Σ Q - funkcja przejścia, rozszerzamy na δ : Q Σ Q - funkcja przejścia - następująco: δ(q, ε) = q δ(q, wa) = δ(δ(q, w), a) Np. W A K : δ(q 0, 555) = q 3, δ(q 0, 5555) = q 4 Język j. rozpoznany, zaakcetowany przez automat A, tzn. L(A) = {w Σ : δ(s, w) F } W A K słowo 555 nie jest rozpoznane, słowo rozpoznane

27 Automat skończony (Q, Σ, δ, s, F ) automat skończony, δ : Q Σ Q - funkcja przejścia, rozszerzamy na δ : Q Σ Q - funkcja przejścia - następująco: δ(q, ε) = q δ(q, wa) = δ(δ(q, w), a) Np. W A K : δ(q 0, 555) = q 3, δ(q 0, 5555) = q 4 Język j. rozpoznany, zaakcetowany przez automat A, tzn. L(A) = {w Σ : δ(s, w) F } W A K słowo 555 nie jest rozpoznane, słowo rozpoznane Język jest regularny gdy jest rozpoznawany przez jakiś automat, czyli L = L(A) dla pewnego automatu skończonego A.

28 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0).

29 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ.

30 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ.

31 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ. Działania: (L 1, L 2 Σ ) L 1 L 2 = {w : w L 1 lub w L 2 }, złożenie L 1 L 2 = {w 1 w 2 : w 1 L 1, w 2 L 2 }, piszemy : L 1 L 2, {ε} = L 0, L = L 1, LL = L 2, LLL = L 3 itd.

32 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ. Działania: (L 1, L 2 Σ ) L 1 L 2 = {w : w L 1 lub w L 2 }, złożenie L 1 L 2 = {w 1 w 2 : w 1 L 1, w 2 L 2 }, piszemy : L 1 L 2, {ε} = L 0, L = L 1, LL = L 2, LLL = L 3 itd. Gwiazdka Kleenego, domknięcie Kleenego L języka L: L = {L k : k = 0, 1, 2,... },

33 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ. Działania: (L 1, L 2 Σ ) L 1 L 2 = {w : w L 1 lub w L 2 }, złożenie L 1 L 2 = {w 1 w 2 : w 1 L 1, w 2 L 2 }, piszemy : L 1 L 2, {ε} = L 0, L = L 1, LL = L 2, LLL = L 3 itd. Gwiazdka Kleenego, domknięcie Kleenego L języka L: L = {L k : k = 0, 1, 2,... }, także L 1 L 2 oraz dopełnienie L = Σ \ L. Równania na językach, np.: jeżeli ε / A to równanie X = AX B ma dokładnie jedno rozwiązanie X =

34 Języki i działania na nich Σ alfabet (skończony zbiór znaków), Σ zbiór wszystkich słów nad alfabetem Σ, tj. zbiór wszystkich skończonych ciągów nad alfabetem i ε (długości 0). Język L nad alfabetem Σ to dowolny podzbiór L Σ. Działania: (L 1, L 2 Σ ) L 1 L 2 = {w : w L 1 lub w L 2 }, złożenie L 1 L 2 = {w 1 w 2 : w 1 L 1, w 2 L 2 }, piszemy : L 1 L 2, {ε} = L 0, L = L 1, LL = L 2, LLL = L 3 itd. Gwiazdka Kleenego, domknięcie Kleenego L języka L: L = {L k : k = 0, 1, 2,... }, także L 1 L 2 oraz dopełnienie L = Σ \ L. Równania na językach, np.: jeżeli ε / A to równanie X = AX B ma dokładnie jedno rozwiązanie X = A B (rozw. Arden).

35 Automat skończony Σ = {a, b} b a, b q a start 0 q 1

36 Automat skończony Σ = {a, b} b a, b q a start 0 q 1 rozpoznaje słowa np. : a, ba, bba, b... ba,..., aa, ab, aba, abb,... rozpoznaje wszystkie słowa zawierające choć raz literę a

37 Automat skończony Σ = {a, b} b a, b q a start 0 q 1 rozpoznaje słowa np. : a, ba, bba, b... ba,..., aa, ab, aba, abb,... rozpoznaje wszystkie słowa zawierające choć raz literę a L(A) = {w Σ : w zawiera choć raz literę a}.

38 Automat liczący Σ = {0, 1} q 0 start q 1 q 2 1 0

39 Automat liczący Σ = {0, 1} q 0 start q 1 q rozpoznaje np. : 0, 11, 110, 1001, 1100, 1111, 10010,.. nie 100 co to za słowa?

40 Automat liczący Σ = {0, 1} q 0 start q 1 q rozpoznaje np. : 0, 11, 110, 1001, 1100, 1111, 10010,.. nie 100 co to za słowa? 0 (2) = 0, 11 (2) = = 3,

41 Automat liczący Σ = {0, 1} q 0 start q 1 q rozpoznaje np. : 0, 11, 110, 1001, 1100, 1111, 10010,.. nie 100 co to za słowa? 0 (2) = 0, 11 (2) = = 3, 110 (2) = = 6,

42 Automat liczący Σ = {0, 1} q 0 start q 1 q rozpoznaje np. : 0, 11, 110, 1001, 1100, 1111, 10010,.. nie 100 co to za słowa? 0 (2) = 0, 11 (2) = = 3, 110 (2) = = 6, 1001 (2) = 9, 1100 (2) = 12, 1111 (2) = 15, (2) = 18, itd. nie rozpoznaje 100 (2) = 4

43 Automat liczący Σ = {0, 1} q 0 start q 1 q rozpoznaje np. : 0, 11, 110, 1001, 1100, 1111, 10010,.. nie 100 co to za słowa? 0 (2) = 0, 11 (2) = = 3, 110 (2) = = 6, 1001 (2) = 9, 1100 (2) = 12, 1111 (2) = 15, (2) = 18, itd. nie rozpoznaje 100 (2) = 4 L(A) = {z Σ : z zapis w układzie binarnym - dzieli się przez 3}

44 Projektowanie automatów Zadanie: dla Σ = {0.1}, zbudować automat, który rozpoznaje wszystkie słowa nad Σ, ktore mają nieparzystą ilość jedynek. Takie skończone słowo może być bardzo długie, np. stąd do Księzyca, a automat nie ma pamięci, aby to zliczyć.

45 Projektowanie automatów Zadanie: dla Σ = {0.1}, zbudować automat, który rozpoznaje wszystkie słowa nad Σ, ktore mają nieparzystą ilość jedynek. Takie skończone słowo może być bardzo długie, np. stąd do Księzyca, a automat nie ma pamięci, aby to zliczyć. start Par NPar

46 Projektowanie automatów Zadanie: dla Σ = {0.1}, zbudować automat, który rozpoznaje wszystkie słowa nad Σ, ktore mają nieparzystą ilość jedynek. Takie skończone słowo może być bardzo długie, np. stąd do Księzyca, a automat nie ma pamięci, aby to zliczyć. start Par NPar start Par NPar 1

47 Automaty skończone niedeterministyczne Dotychczas rozważaliśmy automaty deterministyczne - δ : Q Σ Q była funkcją, δ(q, w) jednoznacznie określone. A gdyby nie? wtedy automaty niedeterministyczne.

48 Automaty skończone niedeterministyczne Dotychczas rozważaliśmy automaty deterministyczne - δ : Q Σ Q była funkcją, δ(q, w) jednoznacznie określone. A gdyby nie? wtedy automaty niedeterministyczne. Σ = {a, b}. Zbudować automat rozpoznający słowa, w ktorych drugi symbol od końca = a.

49 Automaty skończone niedeterministyczne Dotychczas rozważaliśmy automaty deterministyczne - δ : Q Σ Q była funkcją, δ(q, w) jednoznacznie określone. A gdyby nie? wtedy automaty niedeterministyczne. Σ = {a, b}. Zbudować automat rozpoznający słowa, w ktorych drugi symbol od końca = a. a, b q a a,b start 0 q 1 q 2

50 Automaty skończone niedeterministyczne Dotychczas rozważaliśmy automaty deterministyczne - δ : Q Σ Q była funkcją, δ(q, w) jednoznacznie określone. A gdyby nie? wtedy automaty niedeterministyczne. Σ = {a, b}. Zbudować automat rozpoznający słowa, w ktorych drugi symbol od końca = a. a, b q a a,b start 0 q 1 q 2 δ(q 0, a) = q 0 albo = q 1 - automat niedeterministyczny, δ nie jest funkcją, δ(q 0, a) = {q 0, q 1 } - zbiór,

51 Automaty skończone niedeterministyczne Dotychczas rozważaliśmy automaty deterministyczne - δ : Q Σ Q była funkcją, δ(q, w) jednoznacznie określone. A gdyby nie? wtedy automaty niedeterministyczne. Σ = {a, b}. Zbudować automat rozpoznający słowa, w ktorych drugi symbol od końca = a. a, b q a a,b start 0 q 1 q 2 δ(q 0, a) = q 0 albo = q 1 - automat niedeterministyczny, δ nie jest funkcją, δ(q 0, a) = {q 0, q 1 } - zbiór, L(A) = {w Σ : δ(s, w) F }, słowo jest rozpoznane jeżeli uda się znaleć przejście od startu s (tu q 0 ) do zbioru stanów końcowych F (tu q 2 )

52 Automat deterministyczny z niedeterministycznego b q a start 0 q 1 a b a b q 3 b q 2 a

53 Automat deterministyczny z niedeterministycznego b q a start 0 q 1 a b a b q 3 b q 2 L(A) = {w Σ : δ(s, w) F }, gdzie F = {q 2, q 3 }, a

54 Automat deterministyczny z niedeterministycznego b q a start 0 q 1 a b a b q 3 b q 2 L(A) = {w Σ : δ(s, w) F }, gdzie F = {q 2, q 3 }, L(A) = {w Σ : w ma drugi symbol od końca = a}. a

55 Automaty skończone Twierdzenie. Istnieje procedura (algorytm) pozwalająca dla każdego automatu skończonego niedeterministycznego A zbudować automat skończony deterministyczny A, który rozpoznaje ten sam język, tzn. L(A) = L(A ).

56 Automaty skończone Twierdzenie. Istnieje procedura (algorytm) pozwalająca dla każdego automatu skończonego niedeterministycznego A zbudować automat skończony deterministyczny A, który rozpoznaje ten sam język, tzn. L(A) = L(A ). Nie za darmo: jeżeli A ma n elementów, to deterministyczny A może mieć do 2 n elementów.

57 Automaty skończone Twierdzenie. Istnieje procedura (algorytm) pozwalająca dla każdego automatu skończonego niedeterministycznego A zbudować automat skończony deterministyczny A, który rozpoznaje ten sam język, tzn. L(A) = L(A ). Nie za darmo: jeżeli A ma n elementów, to deterministyczny A może mieć do 2 n elementów. Istnieją procedury pozwalające znależć automat skończony minimalny (ze względu na liczbę elementów).

58 Twierdzenie Kleenego Fakt 1. Każdy język skończony jest regularny, tj. posiada automat skończony, który go rozpoznaje. Lemat 1. Jeżeli L 1 = L(A 1 ) i L 2 = L(A 2 ) oraz A 1, A 2 są deterministyczne, to można efektywnie zbudować automat deterministyczny A 3 taki, że L 1 L 2 = L(A 3 ).

59 Twierdzenie Kleenego Lemat 2. Jeżeli L 1 = L(A 1 ) i L 2 = L(A 2 ) oraz A 1, A 2 są deterministyczne, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 3 taki, że L 1 L 2 = L(A 3 ).

60 Twierdzenie Kleenego Lemat 2. Jeżeli L 1 = L(A 1 ) i L 2 = L(A 2 ) oraz A 1, A 2 są deterministyczne, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 3 taki, że L 1 L 2 = L(A 3 ). Lemat 3. Jeżeli L = L(A) i A jest deterministyczny, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 0 taki, że L = L(A 0 ).

61 Twierdzenie Kleenego Lemat 2. Jeżeli L 1 = L(A 1 ) i L 2 = L(A 2 ) oraz A 1, A 2 są deterministyczne, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 3 taki, że L 1 L 2 = L(A 3 ). Lemat 3. Jeżeli L = L(A) i A jest deterministyczny, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 0 taki, że L = L(A 0 ). Wniosek. Jeżeli język da się zbudować ze skończonej ilości języków skończonych, przy pomocy operacji,,, to jest on regularny, tzn. można efektywnie zbudować automat (na ogół niedeterministyczny), ktory go rozpoznaje.

62 Twierdzenie Kleenego Lemat 2. Jeżeli L 1 = L(A 1 ) i L 2 = L(A 2 ) oraz A 1, A 2 są deterministyczne, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 3 taki, że L 1 L 2 = L(A 3 ). Lemat 3. Jeżeli L = L(A) i A jest deterministyczny, to można efektywnie zbudować automat (na ogół niedeterministyczny) A 0 taki, że L = L(A 0 ). Wniosek. Jeżeli język da się zbudować ze skończonej ilości języków skończonych, przy pomocy operacji,,, to jest on regularny, tzn. można efektywnie zbudować automat (na ogół niedeterministyczny), ktory go rozpoznaje. Twierdzenie Kleenego mówi, ze jest też na odwrót - że wszystkie języki regularne można tak otrzymać.

63 Twierdzenie Kleenego Twierdzenie Kleenego. Język jest zbudowany ze skończonej ilości języków skończonych, przy pomocy operacji.,, wtedy i tylko wtedy, gdy jest on regularny, tzn. można efektywnie zbudować automat (na ogół niedeterministyczny), ktory go rozpoznaje.

64 Twierdzenie Kleenego Twierdzenie Kleenego. Język jest zbudowany ze skończonej ilości języków skończonych, przy pomocy operacji.,, wtedy i tylko wtedy, gdy jest on regularny, tzn. można efektywnie zbudować automat (na ogół niedeterministyczny), ktory go rozpoznaje. Przykłady. L(A) = {w Σ : w zawiera choć raz literę a}= {b} {a}{a, b}, L(A) = {w Σ : w ma drugi symbol od końca = a} = {a, b} {a}{a} {a, b} {a}{b} = {a, b} {a}{a, b}.

65 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R.

66 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R. oko, ala, abba, możejutrotadamadatortujeżom, devillived itp. Σ = {a, b}

67 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R. oko, ala, abba, możejutrotadamadatortujeżom, devillived itp. Σ = {a, b} Palindromy (parzyste) np. abba, aa, bb,

68 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R. oko, ala, abba, możejutrotadamadatortujeżom, devillived itp. Σ = {a, b} Palindromy (parzyste) np. abba, aa, bb, Palindromy (nieparzyste) np.: a, aba, aaa, bab, bbb,

69 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R. oko, ala, abba, możejutrotadamadatortujeżom, devillived itp. Σ = {a, b} Palindromy (parzyste) np. abba, aa, bb, Palindromy (nieparzyste) np.: a, aba, aaa, bab, bbb, Palindromy nie tworzą języka regularnego, ale język bezkontekstowy, tj. generowany przez gramatykę bezkontekstową (Noam Chomsky). Podobnie język {a n b n : n = 1, 2,... } ab, aabb, aaabbb,... czyli ab, a 2 b 2, a 3 b 3,...

70 Języki nieregularne, bezkontekstowe Palindrom to słowo w = a 1... a n takie, że w R = a n... a 1, czytane od końca jest takie samo jak czytane od początku: w = w R. oko, ala, abba, możejutrotadamadatortujeżom, devillived itp. Σ = {a, b} Palindromy (parzyste) np. abba, aa, bb, Palindromy (nieparzyste) np.: a, aba, aaa, bab, bbb, Palindromy nie tworzą języka regularnego, ale język bezkontekstowy, tj. generowany przez gramatykę bezkontekstową (Noam Chomsky). Podobnie język {a n b n : n = 1, 2,... } ab, aabb, aaabbb,... czyli ab, a 2 b 2, a 3 b 3,... Automat skończony tu nie wystarcza, trzeba dodać tzw. stos, automaty ze stosem rozpoznają palindromy i {a n b n : n = 1, 2,... }.

71 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky)

72 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky) Przykład: język {a n b n : n = 1, 2,... } można generować gramatyką bezkontekstową.

73 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky) Przykład: język {a n b n : n = 1, 2,... } można generować gramatyką bezkontekstową. Reguły (produkcje): 1. S asb 2. S ε

74 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky) Przykład: język {a n b n : n = 1, 2,... } można generować gramatyką bezkontekstową. Reguły (produkcje): 1. S asb 2. S ε Np. S asb ab, 1, 2.

75 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky) Przykład: język {a n b n : n = 1, 2,... } można generować gramatyką bezkontekstową. Reguły (produkcje): 1. S asb 2. S ε Np. S asb ab, 1, 2. S asb aasbb aabb 1, 1, 2.

76 Języki nieregularne, bezkontekstowe Gramatyki bezkontekstowe (N. Chomsky) Przykład: język {a n b n : n = 1, 2,... } można generować gramatyką bezkontekstową. Reguły (produkcje): 1. S asb 2. S ε Np. S asb ab, 1, 2. S asb aasbb aabb 1, 1, 2. S asb aasbb aaasbbb aaabbb 1, 1, 1, 2 etc.

77 Jaki język zrozumie, rozpozna automat (skończony)? język regularny, tj. zbudowany z języków skończonych, przy pomocy operacji,,.

78 Jaki język zrozumie, rozpozna automat (skończony)? język regularny, tj. zbudowany z języków skończonych, przy pomocy operacji,,. Automaty ze stosem rozpoznają języki bezkontekstowe,

79 Jaki język zrozumie, rozpozna automat (skończony)? język regularny, tj. zbudowany z języków skończonych, przy pomocy operacji,,. Automaty ze stosem rozpoznają języki bezkontekstowe, Ale to jeszcze daleko do naszgo komputera, ktory jest odpowiednikiem tzw. Maszyny Turinga.

80

81

82

83

84 Literatura: Devlin, Keith, Żegnaj Kartezjuszu. Rozstanie z logiką..., Prószyński Warszawa, Hopcroft, J.E., Motwani, R. Ullman, J.D. Wprowadzenie do teorii automatów, jązyków i obliczeń, PWN, Howie J. M., Automata and Languages, Oxford Science Publications, Sipser, M., Wprowadzenie do teorii obliczeń, WNT, 2009.

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 9 Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej

Bardziej szczegółowo

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}

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} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

Języki formalne i automaty Ćwiczenia 7 Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

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

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze

Bardziej szczegółowo

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

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki

Bardziej szczegółowo

Hierarchia Chomsky ego Maszyna Turinga

Hierarchia Chomsky ego Maszyna Turinga Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór

Bardziej szczegółowo

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka Języki i operacje na językach Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Definicja języka Definicja języka Niech Σ będzie alfabetem, Σ* - zbiorem wszystkich łańcuchów

Bardziej szczegółowo

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

(j, k) jeśli k j w przeciwnym przypadku. Zadanie 1. (6 punktów) Rozważmy język słów nad alfabetem {1, 2, 3}, w których podciąg z pozycji parzystych i podciąg z pozycji nieparzystych są oba niemalejące. Na przykład 121333 należy do języka, a 2111

Bardziej szczegółowo

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

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady

Bardziej szczegółowo

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia) Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia) Kamil Matuszewski 20 lutego 2017 22 lutego 2017 Zadania, które

Bardziej szczegółowo

Symbol, alfabet, łańcuch

Symbol, alfabet, łańcuch Łańcuchy i zbiory łańcuchów Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Symbol, alfabet, łańcuch Symbol Symbol jest to pojęcie niedefiniowane (synonimy: znak, litera)

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

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

Dopełnienie to można wyrazić w następujący sposób: 1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie

Bardziej szczegółowo

Hierarchia Chomsky ego

Hierarchia Chomsky ego Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym

Bardziej szczegółowo

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:

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: Zbiory 1 Rozważmy dowolne dwa zbiory A i B. Suma A B składa się z wszystkich elementów, które należą do zbioru A lub do zbioru B: (x A B) (x A x B). Część wspólna (przekrój) A B składa się z wszystkich

Bardziej szczegółowo

10110 =

10110 = 1. (6 punktów) Niedeterministyczny automat skończony nazwiemy jednoznacznym, jeśli dla każdego akceptowanego słowa istnieje dokładnie jeden bieg akceptujący. Napisać algorytm sprawdzający, czy niedeterministyczny

Bardziej szczegółowo

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16 1 2 3 Krótka historia Znaczenie 2 / 16 Czego dowiedzieliśmy się

Bardziej szczegółowo

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 5 Gramatyki bezkontekstowe i automaty ze stosem 1 Wprowadzenie 1.1 Gramatyka bezkontekstowa

Bardziej szczegółowo

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, δ)

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, δ) Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =

Bardziej szczegółowo

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2 Dowodzenie nieregularności języka [lemat o pompowaniu] Jeśli L regularny to istnieje stała c spełniająca : jeżeli z L, z c to istnieje dekompozycja w = u v x tak, że uv i x L dla każdego i 0 [lemat o skończonej

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych Szczepan Hummel Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych 24.11.2005 1. Minimalizacja automatów deterministycznych na słowach skończonych (DFA) [HU] relacja

Bardziej szczegółowo

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

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy

Bardziej szczegółowo

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)

Bardziej szczegółowo

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia Nazwa przedmiotu: Kierunek: Rodzaj przedmiotu: obowiązkowy dla wszystkich specjalności Rodzaj zajęć: wykład, ćwiczenia Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences

Bardziej szczegółowo

Zestaw A 1. Jakie slowa akceptuje ten automat:

Zestaw A 1. Jakie slowa akceptuje ten automat: Zestaw A 1. Jakie slowa akceptuje ten automat: wszystkie konczace sie na bb wszystkie konczace sie na aa slowa postaci: (ba)*bb slowa postaci: a(ba)*a 2. pytanie dotyczące zawierania sie w sobie języków

Bardziej szczegółowo

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

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 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 anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest

Bardziej szczegółowo

Jȩzyki, automaty, zlożoność obliczeniowa

Jȩzyki, automaty, zlożoność obliczeniowa Jȩzyki, automaty, zlożoność obliczeniowa Joanna Jȩdrzejowicz Andrzej Szepietowski 23 października 2007 Przedmowa Podręcznik niniejszy jest przeznaczony dla studentów drugiego roku kierunku informatyki

Bardziej szczegółowo

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego 2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór

Bardziej szczegółowo

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ Wykład5,str1 p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana Z p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana 0 Z p 0,Z 0Z 0,0 00

Bardziej szczegółowo

Automaty Büchi ego i równoważne modele obliczeń

Automaty Büchi ego i równoważne modele obliczeń Politechnika Krakowska im. Tadeusza Kościuszki Wydział Fizyki, Matematyki i Informatyki Kierunek Matematyka Paulina Barbara Rozwód Automaty Büchi ego i równoważne modele obliczeń praca magisterska studia

Bardziej szczegółowo

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne Automat skończony (AS), ang. Finite Automaton (FA) Automat skończony (automat czytający, maszyna Rabina-Scotta)

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 3

Języki formalne i automaty Ćwiczenia 3 Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania

Bardziej szczegółowo

Wyrażenia regularne.

Wyrażenia regularne. Teoretyczne podstawy informatyki Wykład : Wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs.2.202 Wyrażenia regularne Wyrażenia regularne (ang. regular expressions) stanowią algebraiczny sposób definiowania

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową

Bardziej szczegółowo

Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń

Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 21 marca 2019 1 Gramatyki! Gramatyka to taki przepis

Bardziej szczegółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1 J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)

Bardziej szczegółowo

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę:

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę: AUTOMATY SKOŃCZONE DETERMINISTYCZNY AUTOMAT SKOŃCZONY - DAS Automat skończony jest modelem matematycznym systemu o dyskretnych wejściach i wyjściach. System taki w danej chwili może znajdować się w jednym

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 4

Języki formalne i automaty Ćwiczenia 4 Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Szymon Toruńczyk 2018 Szymon Toruńczyk. Data ostatniej modyfikacji: 2018-09-18 15:35:20+02:00 Spis treści 1 Słowa i języki 7 2 Języki regularne 11 2.1 Wyrażenia regularne

Bardziej szczegółowo

Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1

Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1 Obliczanie 1 Obliczanie Co to jest obliczanie? Czy wszystko można obliczyć? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 2 Czym jest obliczanie? Dawid

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 10: Opis wzorców - wyrażenia regularne. http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Wyrażenia regularne Wyrażenia

Bardziej szczegółowo

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204 Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego

Bardziej szczegółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - Wprowadzenie do Gramatyk bezkontekstowych JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa

Bardziej szczegółowo

Równoważność automatów wielotaśmowych

Równoważność automatów wielotaśmowych Równoważność automatów wielotaśmowych Dariusz Leniowski 07.05.2008 1 Automaty Automaty probabilistyczne Monoidy S-automaty Automaty wielotaśmowe (2-taśmowe) 2 Pierścienie i R-S-automaty Pierścienie Automaty

Bardziej szczegółowo

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

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów

Bardziej szczegółowo

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1. 3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy

Bardziej szczegółowo

Paradygmaty i języki programowania. Analiza leksykalna Skaner, RE, DAS, NAS, ε- NAS

Paradygmaty i języki programowania. Analiza leksykalna Skaner, RE, DAS, NAS, ε- NAS Paradygmaty i języki programowania Analiza leksykalna Skaner, RE, DAS, NAS, - NAS Etapy pracy kompilatora Character stream [Lexical Analyzer] token stream [Syntax Analyzer] syntax tree [SemanFc Analyzer]

Bardziej szczegółowo

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

Definiowanie języka przez wyrażenie regularne(wr) Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w

Bardziej szczegółowo

TEORIA ZŁOŻONOŚCI PROBLEMY I ALGORYTMY OGRANICZENIE DOLNE I GÓRNE PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

TEORIA ZŁOŻONOŚCI PROBLEMY I ALGORYTMY OGRANICZENIE DOLNE I GÓRNE PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI TEORIA ZŁOŻONOŚCI I MASZYNA TURINGA TEORIA ZŁOŻONOŚCI Teoria złożoności poszukuje rozwiązania dla problemów, które są algorytmicznie trudne do rozwiązania

Bardziej szczegółowo

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 Dla każdego zadania określić: graf przejść tablicę stanów automatu skończonego akceptującego określoną klasę słów podać dwa przykłady ilustrujące parę AS

Bardziej szczegółowo

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

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994] Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie

Bardziej szczegółowo

Języki i gramatyki formalne

Języki i gramatyki formalne Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny

Bardziej szczegółowo

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Nazwa modułu: Teoria automatów i języków Rok akademicki: 2013/2014 Kod: AMA-2-044-BS-s Punkty ECTS: 6 Wydział: Matematyki Stosowanej Kierunek: Matematyka Specjalność: (bez wyboru specjalności) Poziom studiów:

Bardziej szczegółowo

Matematyczny świat języków. Wprowadzenie i języki regularne materiały do ćwiczeń

Matematyczny świat języków. Wprowadzenie i języki regularne materiały do ćwiczeń Matematyczny świat języków. Wprowadzenie i języki regularne materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 18 maja 2017 1 Na rozgrzewkę intelektualną Poniższe dwa zadania

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 2

Języki formalne i automaty Ćwiczenia 2 Języki formalne i automaty Ćwiczenia 2 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Metoda brute force... 2 Konwersja do postaci normalnej Chomskiego... 5 Algorytm Cocke a-youngera-kasamiego

Bardziej szczegółowo

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. 1 Zbiór potęgowy - Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. - Dowolny podzbiór R zbioru 2 S nazywa się rodziną zbiorów względem S. - Jeśli S jest n-elementowym zbiorem,

Bardziej szczegółowo

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

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin 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,

Bardziej szczegółowo

Maszyna Turinga (Algorytmy Część III)

Maszyna Turinga (Algorytmy Część III) Maszyna Turinga (Algorytmy Część III) wer. 9 z drobnymi modyfikacjami! Wojciech Myszka 2018-12-18 08:22:34 +0100 Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych

Bardziej szczegółowo

Maszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM

Maszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM Maszyny Turinga Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Funkcje rekurencyjne Jerzy Pogonowski (MEG) Maszyny Turinga Funkcje rekurencyjne 1 / 29 Wprowadzenie

Bardziej szczegółowo

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

JAO - lematy o pompowaniu dla jezykow bezkontekstowy JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja

Bardziej szczegółowo

Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J.

Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J. Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J. Szmański: Matematyka dyskretna dla informatyków, UAM, 2008 Uzupełniająca:

Bardziej szczegółowo

Definicja 2. Twierdzenie 1. Definicja 3

Definicja 2. Twierdzenie 1. Definicja 3 INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 205 temat: ZASTOSOWANIE JĘZYKA WYRAŻEŃ

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI TEORETYCZNE PODSTAWY INFORMATYKI Podstawowe pojęcia teorii automatów i języków Zbiór grupa obiektów, nazywanych elementami zbioru, traktowana jako całość {0,5,7,21,57,12,18} Ciąg lista obiektów nazywanych

Bardziej szczegółowo

Rozwiązania części z około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego

Rozwiązania części z około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego Rozwiązania części z około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego Kamil Matuszewski 20 lutego 2017 23 marca 2017 Zadania, które zrobiliśmy

Bardziej szczegółowo

Wprowadzenie do analizy leksykalnej. Bartosz Bogacki.

Wprowadzenie do analizy leksykalnej. Bartosz Bogacki. Wprowadzenie do analizy leksykalnej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład w którym wezmą Państwo udział dotyczy wprowadzenia do analizy leksykalnej. Zapraszam serdecznie

Bardziej szczegółowo

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1) Wprowadzenie Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Literatura (1) 1. Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison-Wesley,

Bardziej szczegółowo

Projekt matematyczny

Projekt matematyczny Projekt matematyczny Tomasz Kochanek Uniwersytet Śląski Instytut Matematyki Katowice VI Święto Liczby π 15 marca 2012 r. Tomasz Kochanek (Uniwersytet Śląski) Projekt matematyczny 1 / 32 Wielkie twierdzenie

Bardziej szczegółowo

Wyk lad 2 Podgrupa grupy

Wyk lad 2 Podgrupa grupy Wyk lad 2 Podgrupa grupy Definicja 2.1. Pod grupy (G,, e) nazywamy taki podzbiór H G, że e H, h 1 H dla każdego h H oraz h 1 h 2 H dla dowolnych h 1, h 2 H. Jeśli H jest grupy G, to bedziemy pisali H G.

Bardziej szczegółowo

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,

Bardziej szczegółowo

Teoria obliczeń czyli czego komputery zrobić nie mogą

Teoria obliczeń czyli czego komputery zrobić nie mogą Teoria obliczeń czyli czego komputery zrobić nie mogą Marek Zaionc Uniwersytet Jagielloński Materiały do wykładu: P. Odifreddi, Classical Recursion Theory, North Holland 1989. J.H. Hopcroft, J.D. Ullman

Bardziej szczegółowo

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 05 Biologia i gramatyka Jarosław Miszczak IITiS PAN Gliwice 07/04/2016 1 / 40 1 Nieformalne określenie fraktali. 2 Wymiar pudełkowy/fraktalny. 3 Definicja fraktali.

Bardziej szczegółowo

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym. Wyrażenie nawiasowe Wyrażeniem nawiasowym nazywamy dowolny skończony ciąg nawiasów. Każdemu nawiasowi otwierającemu odpowiada dokładnie jeden nawias zamykający. Poprawne wyrażenie nawiasowe definiujemy

Bardziej szczegółowo

Lista zadań - Relacje

Lista zadań - Relacje MATEMATYKA DYSKRETNA Lista zadań - Relacje Zadania obliczeniowe Zad. 1. Która z poniższych relacji jest funkcją? a) Relacja składająca się ze wszystkich par uporządkowanych, których poprzednikami są studenci,

Bardziej szczegółowo

R O Z D Z I A Ł V I I

R O Z D Z I A Ł V I I R O Z D Z I A Ł V I I 1. Podstawowe definicje RozwaŜane w poprzednim rozdziale automaty Rabina-Scotta były urządzeniami o bardzo ograniczonej zdolności przechowywania informacji. Rzeczywista pojemność

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA

Bardziej szczegółowo

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki Mgr inż. Janusz Marecki -1- -2- WSTĘP......... -3- -4- Spis treści 1. WPROWADZENIE... 8 1.1 DOW ODY INDUKCYJNE... 8 1.2 DOWODY WTEDY-I-TYLKO-W TEDY... 9 1.3 JĘZYKI... 11

Bardziej szczegółowo

Złożoność obliczeniowa

Złożoność obliczeniowa Złożoność obliczeniowa Wykłady dla III roku bioinformatyki Paweł Urzyczyn urzy@mimuw.edu.pl 24 stycznia 2017, godzina 13: 27 1 Języki regularne Definicja 1.1 Słowo nad alfabetem A to dowolny skończony

Bardziej szczegółowo

O geometrii semialgebraicznej

O geometrii semialgebraicznej Inauguracja roku akademickiego 2018/2019 na Wydziale Matematyki i Informatyki Uniwersytetu Łódzkiego O geometrii semialgebraicznej Stanisław Spodzieja Łódź, 28 września 2018 Wstęp Rozwiązywanie równań

Bardziej szczegółowo

JĘZYKIFORMALNE IMETODYKOMPILACJI

JĘZYKIFORMALNE IMETODYKOMPILACJI Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model

Bardziej szczegółowo

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania semestr letni 2016/2017 wersja z dnia: 6 czerwca 2017 Marek Góźdź (2016/2017) JiPP 6 czerwca 2017 1 / 289 Literatura podstawowa Aut J.E. Hopcroft, R. Motwani, J.D. Ullman,

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 04 Systemy Lindenmayera Jarosław Miszczak IITiS PAN Gliwice 19/10/2016 1 / 37 1 L-Systemy 2 GroIMP i XL ALife 2 / 37 L-Systemy L-systemy czyli systemy Lindenmayera.

Bardziej szczegółowo

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel Gramatyki (1-2) Definiowanie języków programowania Piotr Chrząstowski-Wachjtel Zagadnienia Jak zdefiniować język programowania? Gramatyki formalne Definiowanie składni Definiowanie semantyki l 2 Pożądane

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

Bardziej szczegółowo

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3. (Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)

Bardziej szczegółowo