Przekształcenia automatów skończonych

Podobne dokumenty
4.3. Przekształcenia automatów skończonych

Języki, automaty i obliczenia

Matematyczne Podstawy Informatyki

JĘZYKI FORMALNE I AUTOMATY SKOŃCZONE

Gramatyki regularne. Teoria automatów i języków formalnych. Dr inż. Janusz Majewski Katedra Informatyki

4.2. Automat skończony

ZADANIA AUTOMATY I JĘZYKI FORMALNE AUTOMATY SKOŃCZONE

4.6. Gramatyki regularne

4.5 Deterministyczne i zupełne automaty Moore a i Mealy ego

1 Wprowadzenie do automatów

bezkontekstowa generujac X 010 0X0.

Lista 4 Deterministyczne i niedeterministyczne automaty

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

Podstawy układów logicznych

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

PODSTAWY BAZ DANYCH Wykład 2 2. Pojęcie Relacyjnej Bazy Danych

Modele abstrakcyjne w weryfikacji

Weryfikacja modelowa jest analizą statyczną logiki modalnej

R O Z D Z I A Ł I I I

Zadania. I. Podzielność liczb całkowitych

Metody generowania skończonych modeli zachowań systemów z czasem

POLITECHNIKA GDAŃSKA Wydział Elektrotechniki i Automatyki Katedra Energoelektroniki i Maszyn Elektrycznych M O D E L O W A N I E I S Y M U L A C J A

Część 2 7. METODA MIESZANA 1 7. METODA MIESZANA

Wspomaganie obliczeń za pomocą programu MathCad

Rozbiór wstępujący gramatyki z pierwszeństwem. Rozbiór wstępujący gramatyki z pierwszeństwem

Zbiory wyznaczone przez funkcje zdaniowe

Wyrównanie sieci niwelacyjnej

Programy współbieżne

Jaki język zrozumie automat?

2. Na ich rozwiązanie masz 90 minut. Piętnaście minut przed upływem tego czasu zostaniesz o tym poinformowany przez członka Komisji Konkursowej.

Analiza Matematyczna (część II)

Hipoteza Černego, czyli jak zaciekawić ucznia teorią grafów

SZTUCZNA INTELIGENCJA

Wykład 2. Pojęcie całki niewłaściwej do rachunku prawdopodobieństwa

Notatki z Analizy Matematycznej 4. Jacek M. Jędrzejewski

Maciej Grzesiak. Iloczyn skalarny. 1. Iloczyn skalarny wektorów na płaszczyźnie i w przestrzeni. a b = a b cos ϕ. j) (b x. i + b y

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna

Gramatyki regularne i bezkontekstowe. Spis treści. Plan wykładu spotkania tydzień po tygodniu. Plan wykładu spotkania tydzień po tygodniu.

Ekoenergetyka Matematyka 1. Wykład 15. CAŁKI OZNACZONE. Egzaminy I termin poniedziałek :00 Aula B sala 12B Wydział Informatyki

Całka Riemanna Dolna i górna suma całkowa Darboux

( ) Lista 2 / Granica i ciągłość funkcji ( z przykładowymi rozwiązaniami)

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

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Algorytmy graficzne. Filtry wektorowe. Filtracja obrazów kolorowych

Obliczenia inspirowane Naturą

Języki formalne i automaty Ćwiczenia 7

1 Automaty niedeterministyczne

Matematyka finansowa r. Komisja Egzaminacyjna dla Aktuariuszy. LXVI Egzamin dla Aktuariuszy z 10 marca 2014 r. Część I

MATEMATYKA Wykład 4 (Funkcje) przyporządkowany został dokładnie jeden element

1 Definicja całki oznaczonej

Realizacje zmiennych są niezależne, co sprawia, że ciąg jest ciągiem niezależnych zmiennych losowych,

Systemy Wyszukiwania Informacji

RACHUNEK CAŁKOWY. Funkcja F jest funkcją pierwotną funkcji f na przedziale I R, jeżeli. F (x) = f (x), dla każdego x I.

Wyznacznikiem macierzy kwadratowej A stopnia n nazywamy liczbę det A określoną następująco:

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

2. Ciągi liczbowe. Definicja 2.1 Funkcję a : N R nazywamy ciągiem liczbowym. Wartość funkcji a(n) oznaczamy symbolem a

Całki oznaczone. Funkcja górnej granicy całkowania. Zastosowania całek oznaczonych. Całki niewłaściwe. Małgorzata Wyrwas

Całki oznaczone. Funkcja górnej granicy całkowania. Zastosowania całek oznaczonych. Całki niewłaściwe. Małgorzata Wyrwas

Wprowadzenie: Do czego służą wektory?

Obliczenia naukowe Wykład nr 14

2. PODSTAWY STATYKI NA PŁASZCZYŹNIE

Metody Lagrange a i Hamiltona w Mechanice

Częściowo przemienne grafy bezkontekstowe

PODSTAWY ALGEBRY MACIERZY. Operacje na macierzach

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

4. RACHUNEK WEKTOROWY

Minimalizacja automatu

PRZEGLĄD FUNKCJI ELEMENTARNYCH. (powtórzenie) y=f(x)=ax+b,

Obliczenia inspirowane Naturą

WYKŁAD 5. Typy macierzy, działania na macierzach, macierz układu równań. Podstawowe wiadomości o macierzach

Teoria automatów i języków formalnych. Określenie relacji

1.5. Iloczyn wektorowy. Definicja oraz k. Niech i

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algebra macierzowa. Akademia Morska w Gdyni Katedra Automatyki Okrętowej Teoria sterowania. Mirosław Tomera 1. ELEMENTARNA TEORIA MACIERZOWA

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

Wykład z matematyki dla studentów Inżynierii Środowiska. Wykład 1. Literatura PRZEGLĄD FUNKCJI ELEMENTARNYCH

Pochodne i całki, macierze i wyznaczniki

Analiza matematyczna i algebra liniowa

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

3.4. Przekształcenia gramatyk bezkontekstowych

Języki formalne i automaty Ćwiczenia 9

W. Guzicki Zadanie 19 z Informatora Maturalnego poziom rozszerzony 1

METODY KOMPUTEROWE 11

RBD Relacyjne Bazy Danych

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}

Komisja Egzaminacyjna dla Aktuariuszy LII Egzamin dla Aktuariuszy z 15 marca 2010 r. Część I Matematyka finansowa

Maciej Grzesiak Instytut Matematyki Politechniki Poznańskiej. Całki oznaczone. lim δ n = 0. σ n = f(ξ i ) x i. (1)

ezyki Automaty i Obliczenia (nieformalne notatki)

Wykład 6. Wyszukiwanie wzorca w tekście

Podstawy programowania obiektowego

INSTRUKCJA. - Jak rozwiązywać zadania wysoko punktowane?

GRAFY i SIECI. Graf: G = ( V, E ) - para uporządkowana

Piotr Stefaniak. Materiały uzupełniające do wykładu Matematyka

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

VI. Rachunek całkowy. 1. Całka nieoznaczona

Grażyna Nowicka, Waldemar Nowicki BADANIE RÓWNOWAG KWASOWO-ZASADOWYCH W ROZTWORACH ELEKTROLITÓW AMFOTERYCZNYCH

Maszyna Turinga języki

Wykład 2. Funkcja logarytmiczna. Definicja logarytmu: Własności logarytmu: Logarytm naturalny: Funkcje trygonometryczne

Prace Koła Matematyków Uniwersytetu Pedagogicznego w Krakowie (2014)

Transkrypt:

Przeksztłceni utomtów skończonych Teori utomtów i języków formlnych Dr inŝ. Jnusz Mjewski Ktedr Informtyki Konstrukcj utomtu skończonego n podstwie wyrŝeni regulrnego (lgorytm Thompson) Wejście: wyrŝenie regulrne r nd lfetem Σ Wyjście: utomt skończony kceptujący język L(r) (język opisny wyrŝeniem regulrnym r) Metod: wyodręnić z wyrŝeni regulrnego r elementy podstwowe. Dl elementów podstwowych skonstruowć odpowidjące im utomty, nstępnie połączyć je według poniŝszych zsd: Dl zudowć A( ) Dl zudowć A() i f

Konstrukcj utomtu skończonego n podstwie wyrŝeni regulrnego (lgorytm Thompson) Dl Σ zudowć A() i f Gdy A(s) i A(t) są utomtmi dl wyrŝeń regulrnych s i t, to dl wyrŝeni s t zudowć A(s t) A(s) i f A(t) Konstrukcj utomtu skończonego n podstwie wyrŝeni regulrnego (lgorytm Thompson) Gdy A(s) i A(t) są utomtmi dl wyrŝeń regulrnych s i t, to dl wyrŝeni st zudowć A(st) i A(s) A(t) f Gdy A(s) jest utomtmi dl wyrŝeni regulrnego s, to dl wyrŝeni s* zudowć A(s*) i A(s) f

Przykłd: konstrukcj utomtu skończonego dl wyrŝeni regulrnego r = ( )* Rozkłd wyrŝeni ( )* : r 9 r 7 r 8 r 5 r 6 r 4 * ( r ) Przykłd: konstrukcj utomtu skończonego dl wyrŝeni regulrnego r = ( )* = = 4 5 r = = 6 4 5

Przykłd: konstrukcj utomtu skończonego dl wyrŝeni regulrnego r = ( )* r 4 = (r ) r 5 = r 4 * 6 7 4 5 Przykłd: konstrukcj utomtu skończonego dl wyrŝeni regulrnego r = ( )* r 6 = ; r 8 = ; = - konstrukcje identyczne jk dl i r x = 7' 8 9 r = r 5 r x = ( )* Osttecznie otrzymujemy:

Przykłd: konstrukcj utomtu skończonego dl wyrŝeni regulrnego r = ( )* 6 7 4 5 8 ( )* 9 Konstrukcj utomtu deterministycznego n podstwie utomtu niedeterministycznego Dl kŝdego utomtu skończonego istnieje deterministyczny utomt skończony kceptujący ten sm język. Dl q Q definiuje się ziór -CLOSURE(q) zwierjący te stny r Q, do których moŝn dojść z q przechodząc tylko przez -przejści, przy czym równieŝ q -CLOSURE(q). Dl S Q definiuje się ziór -CLOSURE(S) zwierjący te stny r Q, do których moŝn dojść ze stnów S przechodząc tylko przez -przejści, przy czym równieŝ S -CLOSURE(S). Dl S Q, dl Σ rozszerz się definicję funkcji przejści: δ(s,) = { r Q r δ(s,), s S }

Konstrukcj utomtu deterministycznego n podstwie utomtu niedeterministycznego Wejście: A=< Σ, Q, F, q, δ > - utomt skończony niedeterministyczny Wyjście: A =< Σ, Q, F, r, δ > - utomt skończony deterministyczny (ez -przejść) Metod: Q S r Q /* podziór zioru stnów pojedynczy stn */ r := -CLOSURE({q }); r - nieoznczony; /* r stn początkowy A i równocześnie podziór zioru stnów Q utomtu A */ Q := {r }; while X Q nd X nieoznczony do /* X = {q,...,q k } Q*/ egin ozncz X; for kŝde Σ do egin U := {q Q q δ(s,) s X } /* U = δ(x,) */ Y := -CLOSURE(U) ; if Y Q then egin Q := Q {Y}; Y nieoznczony; /* dołączenie Y do Q jko nieoznczonego*/ end; δ (X,) := Y; /* ustlenie funkcji przejści utomtu A */ end; end; F := { r Q r F } /* tutj r trktowne jko (r Q) podziór stnów utomtu A */ Przykłd () 6 7 4 5 8 ( )* 9 r = -CLOSURE({}) = {,,,4,7 } = r ; Q ={ r } r oznczmy U = δ(r,) = {,8} = -CLOSURE({,8}) = {,,,4,6,7,8 }= ; δ (r,) = U = δ(r,) = {5} = -CLOSURE({5}) = {,,4,5,6,7 }= ; δ (r,) = Q = { r,, } /* stn podkreślony jest oznczony */

Przykłd () 6 7 8 9 oznczmy U = δ(,) = {,8} 4 5 ( )* -CLOSURE({,8}) = {,,,4,6,7,8 }= ; δ (,) = U = δ(,) = {5,9} -CLOSURE({5,9}) = {,,4,5,6,7,9 }= r ; δ (,) = r Q = { r,,, r } oznczmy U = δ(,) = {,8} -CLOSURE({,8}) = ; δ (r,) = r U = δ(,) = {5} -CLOSURE({5}) = ; δ (,) = Q = { r,,, r } Przykłd () 6 7 8 9 r oznczmy U = δ(r,) = {,8} 4 5 ( )* -CLOSURE({,8}) = ; δ (r,) = U = δ(r,) = {5,} -CLOSURE({5,}) = {,,4,5,6,7, } = r 4 ; δ (r,) = r 4 Q = { r,,, r, r 4 } r 4 oznczmy U = δ(r 4,) = {,8} -CLOSURE({,8}) = ; δ (r 4,) = U = δ(r 4,) = {5} -CLOSURE({5,}) = ; δ (r,) = Q = { r,,, r, r 4 }

Przykłd (4) 6 7 4 5 8 ( )* 9 Osttecznie: Stn r r r r 4 r 4 F ={r 4 } strt r r r 4 ( )* Uzupełnienie utomtu skończonego Wejście: A = < Σ, Q, F, q, δ > - utomt skończony Wyjście: A = < Σ, Q, F, q, δ > - utomt skończony zupełny Q := Q { err } for q Q do for Σ do for Σ do if δ(q,) = then δ (q,) := { err } else δ (q,) := δ(q,); δ (err,) := { err }

Przykłd strt Stn pułpki err nie jest stnem końcowym kceptującym err Redukcj utomtu skończonego A = < Σ, Q, F, q, δ > - deterministyczny, zupełny utomt skończony x Σ* - słowo nd lfetem Σ q, q, q, q 4 Q stny utomtu A x Σ* rozróŝni stny q i q () (q,x) A* (q, ) () (q,x) A* (q 4, ) () (q F q 4 F ) (q F q 4 F ) q i q są k nierozróŝnilne, co oznczmy q k q ( x Σ*) tkie Ŝe: x rozróŝni q i q orz x k q i q są nierozróŝnilne, co oznczmy q q ( k ) (q k q ) q Q {q } jest nieosiąglny ( x Σ*) ((q,x) A+ (q,y) y Σ*) Automt skończony (deterministyczny, zupełny) nzywmy zredukownym () ( q Q) (q jest nieosiąglny) () ( q,q Q) (q i q nie są nierozróŝnilne)

Usuwnie stnów nieosiąglnych A = < Σ, Q, F, q, δ > - deterministyczny utomt skończony Niech R ędzie relcją (R Q Q) zdefiniowną nstępująco: q R q ( Σ ) ( δ(q,) = q ) Trze znleźć utomt A = < Σ, Q, F, q, δ > ez stnów nieosiąglnych, to znczy trze wyznczyć Q = { q Q q R* q } Zkłdmy, Ŝe elementy Q są nieoznczone. L := {q }; while L do egin end; := pierwszy element z L; ozncz w Q; L := L {}; L := L { c Q R c c nieoznczone w Q }; stop; /* elementy nieoznczone w Q są nieosiąglne */ Przykłd usuwni stnów nieosiąglnych () B C F strt A D E G

Przykłd usuwni stnów nieosiąglnych () L = { A }; A ; Q = { A, B, C, D, E, F, G }; L = L = { B, D }; B ; Q = { A, B, C, D, E, F, G }; L = { D } L = { D, C }; D ; Q = { A, B, C, D, E, F, G }; L = { C } L = { C, E}; C ; Q = { A, B, C, D, E, F, G }; L = { E } L = { E }; E ; Q = { A, B, C, D, E, F, G }; L = nieoznczone = nieosiąglne PRZED: B C F PO: B C strt A strt A D E G D E Łączenie stnów nierozróŝnilnych A = < Σ, Q, F, q, δ > - utomt skończony, ez stnów nieosiąglnych, deterministyczny, zupełny. Twierdzenie. Niech n = #Q ( ) ( n- ) ( n- )... ( ) ( ) przy czym: ( ) Q Q; ( k ) Q Q q q (q F q F) (q F q F) q k q q k- q ( Σ ) (δ(q,) k- δ(q,)) Twierdzenie. Relcj nierozróŝnilności ( ) Q Q jest zwrotn, symetryczn i przechodni, jest więc relcją równowŝności. Algorytm łączeni stnów nierozróŝnilnych poleg n wyznczeniu relcji nierozróŝnilności ( ) Q Q, nstępnie przypisniu kŝdej klsie równowŝności relcji ( ) stnu tworzonego utomtu zredukownego. Relcję ( ) wyznczmy zgodnie z tw. poczynjąc od ( ) i dokonując kolejnych podziłów Q n klsy równowŝności.

Algorytm łączeni stnów nierozróŝnilnych Wejście: A = < Σ, Q, F, q, δ > - deterministyczny, zupełny, ez stnów nieosiąglnych Wyjście: A = < Σ, Q, F, q, δ > - utomt posidjący njmniejszą liczę stnów spośród wszystkich utomtów deterministycznych i zupełnych kceptujących język L(A) ) Podzielić Q n klsy równowŝności dl relcji ( ), ( ),.... Postępowć tk długo, Ŝ podziły : dl ( k ) i dl ( k+ ) ędą identyczne. Jko podził względem relcji ( ) przyjąć ten dl ( k ) ) Oznczmy [q] klsę równowŝności relcji ( ) w Q, do której nleŝy q Q ) Q := { [p] p Q } 4) δ ( [p], ) := [q] δ(p,) = q 5) q := [q ] 6) F := { [q] q F } Przykłd Relcj Klsy równowŝności Przejści Przed: ( )* {4} {,,, } {4} {,, } {} {4} {, } {} {} {4} {,} {} {} kceptujący początkowy δ(,)= δ(,)= δ(,)= δ(,)= δ(,)= δ(,)= δ(,)= δ(,)=4 δ(,)= δ(,)= δ(,)= δ(,)= δ(,)= strt Po: strt, 4 4