Jaki język zrozumie automat?
|
|
- Wojciech Michalik
- 6 lat temu
- Przeglądów:
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 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ółowoPrzykł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ółowoJę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ółowoMatematyczne 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ółowoJę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ółowoJę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ółowoAutomat 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ółowoWprowadzenie: 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ółowoJę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ółowoHierarchia 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ółowoJę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.
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ółowoMaszyna 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ółowoRozwią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ółowoSymbol, 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ółowoImię, 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ółowo1 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ółowoObliczenia 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ółowoDopeł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ółowoHierarchia 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ółowoCzęść 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ółowo10110 =
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ółowozł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ółowoObliczenia 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ółowoLista 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ółowoZadanie 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ółowoJAO - 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ółowoMaszyna 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ółowoMinimalizacja 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ółowoMatematyczna 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ółowoGramatyki, 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ółowoJę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ółowoJę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ółowoMatematyczne 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ółowoZestaw 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ółowoZadanie 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ółowoJȩ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ółowo2.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ółowoWykł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ółowoAutomaty 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ółowoJę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ółowoJę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ółowoWyraż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ółowoJę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ółowoMatematyczne 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ółowoMatematyczna 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ółowoJAO - 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ółowoAUTOMATY 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ółowoJę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ółowoJę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ółowoObliczanie. 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ółowoTeoretyczne 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ółowoKATEDRA 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ółowoJAO - 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ółowoRó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ółowoTemat: 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ółowoMonoidy 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ółowoParadygmaty 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ółowoDefiniowanie 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ółowoTEORIA 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ółowoZADANIA 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ółowoProgramowanie 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ółowoJę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ółowoModele 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ółowoOpisy 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ółowoMatematyczny ś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ółowoJę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.
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ółowoAlgorytmy 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ółowoMaszyna 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ółowoMaszyny 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ółowoJAO - 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ółowoMatematyka 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ółowoDefinicja 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ółowoTEORETYCZNE 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ółowoRozwią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ółowoWprowadzenie 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ółowoWprowadzenie. 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ółowoProjekt 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ółowoWyk 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ółowoJĘ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ółowoMatematyczne 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ółowoTeoria 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ółowoWprowadzenie 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ółowoObliczenia 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ółowoWyraż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ółowoLista 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ółowoR 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ółowoZŁ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ółowoTeoretyczne 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ółowoZł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ółowoO 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ółowoJĘ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ółowoZŁ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ółowoMatematyka 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ółowoJę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ółowoObliczenia 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ółowoGramatyki (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ółowoEfektywność 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ółowo0 --> 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