Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne
|
|
- Natalia Kołodziejczyk
- 8 lat temu
- Przeglądów:
Transkrypt
1 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) jest matematycznym modelem systemu o skończonej liczbie stanów. System ten może znajdować w danej chwili w jednym ze stanów. Aktualny stan automatu skończonego wynika z jego poprzednich stanów, w jakich się znajdował. AS rozpoznaje wzorce opisywane językami regularnymi. Przykładem automatu skończonego może być algorytm wykonywany przez mechanizm windy, panel operatorski bankomatu, czy stany, jakie przyjmuje zegarek elektroniczny. Jako automat skończony, chociaż bardzo złożony, można potraktować jednostkę centralną komputera. Sposób działania automatu skończonego AS składa się ze skończonego zbioru stanów i skończonego zbioru przejść ze stanu do stanu Działanie AS opisuje funkcja przejścia, którą można reprezentować w postaci tabeli przejść lub w sposób graficzny za pomocą diagramu przejść (grafu skierowanego) Przejścia są etykietowane symbolami z alfabetu wejściowego Automat skończony pobiera kolejne symbole z ciągu wejściowego (wzorca) Wierzchołki grafu nazywane stanami są etykietowane kolejnymi numerami AS rozpoczyna działanie od stanu początkowego i odczytania pierwszego symbolu z ciągu wejściowego Po przeczytaniu kolejnego symbolu automat przechodzi do innego stanu lub pozostaje w tym samym stanie Gdy AS chcemy traktować jako model matematyczny służący do rozpoznawania wzorców tekstowych do powyższych własności dochodzi jeszcze jedna AS posiada dwa rodzaje stanów: nieakceptujące i akceptujące. Przejście automatu po przeczytaniu całego wzorca do jednego ze stanów akceptujących oznacza jego zaakceptowanie (rozpoznanie) Czytanie kolejnych symboli wzorca przez automat skończony; ={0,1} - 1 -
2 stan a symbol b q 0 q 1 q 3 q 1 q 1 q 2 q 2 q 1 q 2 q 3 q 4 q 3 q 4 q 4 q 3 stan symbol 0 1 q 0 q 2 q 1 q 1 q 3 q 0 q 2 q 0 q 3 q 3 q 1 q 2 Grafy i równoważne im tabele przejść dla dwóch przykładowych automatów skończonych Przykłady: Rozważamy alfabet binarny. Automat akceptujący język wszystkich słów, w których pierwszy i trzeci symbol jest 1. Automat akceptujący język wszystkich, w których drugi symbol jest taki sam jak trzeci. Automat akceptujący język wszystkich słów, w których ostatni symbol jest 0. Automat akceptujący język wszystkich słów, w których występują co najmniej dwa symbole
3 Formalna definicja automatu skończonego Automat skończony jest uporządkowaną piątką (Q,,,q 0,F) gdzie: Q jest skończonym zbiorem stanów jest skończonym alfabetem wejściowym q 0 jest stanem początkowym (q 0 Q) F jest zbiorem stanów akceptujących (F Q) jest funkcją przejścia odwzorowującą Qx w Q Automat odczytuje kolejne symbole należące do alfabetu znajdujące się na taśmie. Czytanie symboli zaczyna od stanu q 0. Po odczytaniu danego symbolu automat przechodzi ze stanu q i do stanu q j (i j lub i=j) i odczytuje kolejny symbol. Językiem AS jest zbiór wszystkich akceptowanych przez niego słów. Języki akceptowane przez AS nazywamy językami regularnymi. Funkcja przejścia opisuje wszystkie przejścia automatu i ma postać (q,a) = p q,p Q, a Rozszerzona funkcja przejścia ˆ opisuje możliwe przejścia z jednego stanu do innego poprzez wiele przejść na skutek przeczytania ciągu znaków (słowa) ˆ (q,w) = p q,p Q, w= * Definicja języka deterministycznego automatu skończonego języka regularnego (JR) Jeżeli mamy AS: A = (Q,,,q 0,F) to język tego automatu oznaczamy przez L(A) i definiujemy następująco: L(A) = {w; ˆ (q 0,w) F} czyli L(A) jest zbiorem łańcuchów tekstowych w * przeprowadzających stan początkowy q 0 w jeden ze stanów akceptujących. Przykład: Dla automatu: A=({q 0,q 1,q 2,q 3 },{0,1},,q 0,{q 2,q 3 }) udowodnić, że definiuje on język L(A)={w; przedostatni symbol w jest 1 } dla w =0 q 0 F dla w =1 ˆ (q 0,0) = q 0 F, ˆ (q 0,1) = q 1 F dla w =2 ˆ (q 0,00) = q 0 F, ˆ (q 0,01) = q 1 F ˆ (q 0,10) = q 2 F, ˆ (q 0,11) = q 3 F dla w 3 ˆ (q 0, 00) = ˆ (q 1, 00) = ˆ (q 2, 00) = ˆ (q 3, 00) = q 0 F, - 3 -
4 ˆ (q 0, 01) = ˆ (q 1, 01) = ˆ (q 2, 01) = ˆ (q 3, 01) = q 1 F, ˆ (q 0, 10) = ˆ (q 1, 10) = ˆ (q 2, 10) = ˆ (q 3, 10) = q 2 F ˆ (q 0, 11) = ˆ (q 1, 11) = ˆ (q 2, 11) = ˆ (q 3, 11) = q 3 F Automaty deterministyczne i niedeterministyczne Rozważa się dwa rodzaje automatów skończonych: deterministyczne (DAS), ang. Deterministic Finite Automaton (DFA) niedeterministyczne (NAS), ang. Non-deterministic Finite Automaton (NFA) Automat deterministyczny to taki automat skończony, w którym dla każdego stanu q istnieje co najwyżej jedno przejście opisane symbole a. W danej chwili automat może znajdować się tylko w jednym stanie. Funkcja przejścia DAS ma postać (q i,a) = p j, q i,p j Q, a, p j pojedynczy stan Automat niedeterministyczny to taki automat skończony, dla którego istnieje co najmniej jeden stan q i, który posiada co najmniej dwa przejścia opisane tym samym symbolem a. Automat w danej chwili może znajdować się równocześnie w kilku stanach. Funkcja przejścia NAS ma postać (q i,a) = P j, q i Q, P j Q, a P j zbiór stanów NAS akceptuje słowo w, gdy przy czytaniu tego słowa możliwe są takie kolejne wybory, które doprowadzą nas od stanu początkowego do stanu akceptującego. NAS nie akceptuje słowa, gdy żadna z możliwych ścieżek nie doprowadzi nas do stanu akceptującego. Działanie NAS można interpretować jako tworzenie kopii automatu skończonego dla każdego z możliwych wariantów, lub zdolność zgadywania które przejście należy wybrać aby dojść do akceptacji. Decyzje deterministyczne i niedeterministyczne Przykładowy automat deterministyczny DAS=(Q,,, q 0, F)=({q 0,q 1,q 2,q 3,q 4 }, {0,1},, q 0, {q 0 }) (q 0,0) = q 0, (q 0,1) = q 1 (q 1,0) = q 2, (q 1,1) = q 3 (q 2,0) = q 4, (q 2,1) = q 0 (q 3,0) = q 1, (q 3,1) = q 2 (q 4,0) = q 3, (q 4,1) = q 4-4 -
5 Automat akceptuje ciągi symboli: 101, 1111, ,... Aby stwierdzić, czy dany ciąg symboli jest akceptowany przez DAS wystarczy sprawdzić jedną ścieżkę. Przykładowy automat niedeterministyczny NAS=(Q,,, q 0, F)=({q 0,q 1,q 2,q 3,q 4 }, {0,1},, q 0, {q 2,q 4 } (q 0,0) = {q 0, q 1 }, (q 0,1) = {q 0, q 3 } (q 1,0) = {q 2 }, (q 1,1) = (q 2,0) = {q 2 }, (q 2,1) = {q 2 } (q 3,0) =, (q 3,1) ={q 4 } (q 4,0) = {q 4 }, (q 4,1) = {q 4 } Powyższy automat skończony akceptuje ciągi symboli: 000, , ,... W przypadku NAS istnieje wiele ścieżek dla danego słowa. Stany w jakich znajduje się powyższy NAS podczas czytania ciągu symboli Definicja języka niedeterministycznego automatu skończonego języka regularnego Jeżeli mamy NAS: A = (Q,,,q 0,F) to język tego automatu oznaczamy przez L(A) i definiujemy następująco: L(A) = {w; ˆ (q 0,w) F } czyli L(A) jest zbiorem łańcuchów tekstowych w * takich, że ˆ (q 0,w) zawiera co najmniej jeden stan akceptujący. Przykład: NAS czy DAS? DAS rozpoznający większość słów kończących się sekwencją abc NAS rozpoznający wszystkie słowa kończące się sekwencją abc - 5 -
6 DAS rozpoznający wszystkie słowa kończące się sekwencją abc Automaty skończone dzieli się także na: zupełne dla każdego stanu q i (i=1 n) istnieją przejścia, których suma etykiet tworzy cały alfabet. niezupełne istnieje co najmniej jeden stan q i, w którym suma etykiet nie tworzy całego alfabetu. Równoważność automatów deterministycznych i niedeterministycznych Każdy język, który można opisać za pomocą pewnego NAS, można także opisać za pomocą pewnego DAS. DAS i NAS rozpoznają taką samą klasę języków JR. Jeżeli NAS składa się z n stanów, to równoważny mu (rozpoznający ten sam język) DAS może w najlepszym przypadku składać się ze zbliżonej liczby stanów, ale w najgorszym 2 n stanów. Przekształcanie NAS w DAS usuwanie niedeterminizmu Każdy automat niedeterministyczny można zastąpić automatem deterministycznym (równoważność automatów deterministycznych i niedeterministycznych). W niektórych przypadkach łatwiej jest projektować DAS, w innych NAS. Dwa automaty są równoważne, jeżeli akceptują ten sam język (zbiór słów). Sposób konwersji NAS na DAS - usuwanie z automatu niedeterminizmu konstrukcja podzbiorów Jeżeli dla danego NAS = (Q N,, N,q 0,F N ) chcemy utworzyć równoważny mu DAS=(Q D,, D,q 0,F D ) taki, że L(DAS)=L(NAS) przeprowadzamy następującą konstrukcję podzbiorów. Q N jest skończonym zbiorem stanów NAS Q D jest pewnym skończonym zbiorem potęgowym Q N F N jest zbiorem stanów akceptujących NAS (F N Q N ) F D jest zbiorem podzbiorów potęgowych S utworzonych ze zbioru Q N takich, że w S znajduje się co najmniej jeden stan akceptujący NAS, czyli jeżeli q i F N i q i S i to S i F D - 6 -
7 Dla każdego zbioru S Q N i dla każdego symbolu a konstruujemy D (S,a) = q a q S czyli rozważamy wszystkie stany q S, obserwujemy do jakich stanów przechodzi NAS z rozważanych stanów q na symbol a i tworzymy sumę teoriomnogościową wszystkich tych stanów. Przykładowe przekształcenia NAS na DAS Konwersja NAS na DAS przykład 1 N, Q N = {q 0,q 1,q 2,q 3,q 4 } Q D = {S 0,S 1,S 2,S 3,S 4,S 5,S 6,S 7,S 8 } S 1 : D (S 1,0) = q, N q, 0 q 1 ( 0) ={ N (q 0,0), N (q 1,0)}= = {q 0,q 1 } {q 2 }={q 0,q 1,q 2 }= S 2 Konwersja NAS na DAS przykład 2-7 -
8 Automaty skończone z -przejściami ( -NAS) W automatach z -przejściami (z pustymi przejściami) przejścia etykietuje się tak, jak w automatach DAS i NAS, czyli symbolami należącymi do zastosowanego alfabetu, ale dodatkowo dopuszczalne jest używanie symbolu oznaczającego symbol pusty. Przejście do kolejnego stanu/stanów oznaczone symbolem jest realizowane bez odczytania kolejnego symbolu. Klas języków akceptowanych przez -NAS jest taka sama, jak klasa języków akceptowanych przez NAS i DAS. Automaty -NAS są ściśle powiązane z wyrażeniami regularnymi. Funkcja przejścia -NAS ma postać: (q i,a) = P j, q i Q, P j Q, a { } Przykładowe automaty z -przejściami Jeżeli aktualnym stanem automatu z -przejściami jest stan q i, to jednocześnie stanem aktualnym jest dowolny stan, do którego prowadzi ścieżka zaetykietowana symbolami. -domknięcie stanu q i to zbiór stanów do których można dojść z q i po ścieżce etykietowanej tylko symbolami. -domk(q) = ˆ (q, * ) Przykładowo dla powyższego automatu: -domk(q 2 ) = {q 2,q 1,q 3,q 4,q 6,q 7,q 9 } Eliminacja -przejść Podobnie jak niedeterminizm, -przejścia można wyeliminować. Usuwając -przejścia otrzymujemy na ogół automat niedeterministyczny
9 Algorytm eliminacji -przejść zamiana -NAS na NAS Q EN jest zbiorem stanów -NAS Q N jest zbiorem stanów NAS, będącym podzbiorem Q EN zawierającym stany istotne i stan początkowy Stan istotny to taki stan, dla którego istnieje co najmniej jedno przejście dochodzące do tego stanu o etykiecie różnej od. 1. W NAS zostawiamy tylko stany istotne i stan początkowy 2. W NAS pomiędzy dwoma stanami ze zbioru Q N (także pomiędzy jednym i tym samym stanem) istnieje przejście, jeżeli w -NAS istnieje ścieżka przechodząca przez wiele przejść, łącząca te dwa stany, składająca się z n -przejść (n 0) i ostatniego przejścia o etykiecie a (n 0 oznacza, że w najprostszym przypadku przejście może być tylko jedno na symbol a) czyli jeżeli ˆ EN (q i,w) = q j, w =... a = * a, a, i j lub i=j to ˆ N (q i,a) = q j 3. F EN jest zbiorem stanów akceptujących -NAS F N jest zbiorem stanów akceptujących NAS W NAS do zbioru F N należą te stany istotne Q N, których -domknięcia zawierają przynajmniej jeden stan akceptujący Q EN n 0 czyli q i F N jeżeli -domk(q i ) F EN Przykładowe eliminacje -przejść Zamiana -NAS na NAS - przykład 1 Stany istotne: q 2, q 4, q 7 Stany akceptujące: q 2, q 4, q 7-9 -
10 Zamiana -NAS na NAS - przykład 2 Stany istotne: q 2, q 5, q 8 Stany akceptujące: q 0, q 2, q 5, q
11 Automaty skończone z wyjściem Ograniczeniem omawianego do tej pory automatu skończonego jest to, iż jego wyjście jest ograniczone do sygnału decyzyjnego dwustanowego: akceptuję lub nie akceptuję. Można także rozważać automaty o wyjściu przyjmującym wartości w postaci symboli dobieranych ze zbioru nazywanego alfabetem wyjściowym: Automat Moore a wyjście jest związane jest ze stanem automatu Automat Mealy ego wyjście jest związane z przejściem automatu Automat Moore a Automat Moore a jest uporządkowaną szóstką (Q,,,,, q 0 ) gdzie: Q jest skończonym zbiorem stanów q 0 jest skończonym alfabetem wejściowym jest stanem początkowym (q 0 Q) jest skończonym alfabetem wyjściowym jest funkcją przejścia odwzorowującą Qx w Q jest odwzorowaniem Q w zadającym wyjście związane z każdym ze stanów automatu DAS można traktować jako specjalny przypadek automatu Moore a, dla którego alfabetem wyjściowym jest ={0,1}; 1-akceptacja, 0-brak akceptacji Przykład Poniższy automat Moore a dla alfabetu wejściowego {0,1} i dla ciągu wejściowego traktowanego jako liczba binarna zwraca jeden z symboli należących do alfabetu wyjściowego ={0,1,2,3,4}. Zwracana wartość jest resztą z dzielenia tej liczby w postaci dziesiętnej przez 5. M r = (Q,,,,, q 0 )=({q 0,q 1,q 2,q 3,q 4 }, {0,1}, {0,1,2,3,4},,, q 0 ) (q 0 ) = 0 (q 1 ) = 1 (q 2 ) = 2 (q 3 ) = 3 (q 4 ) = 4 Automat Moore a wyznaczający resztę z dzielenia przez 5 Przykładowo dla ciągu wejściowego = stanem końcowym jest q 2 = 2 = 187 mod
12 Automat Mealy ego Automat skończony Mealy ego jest uporządkowaną szóstką (Q,,,,, q 0 ) Przykład gdzie: Q jest skończonym zbiorem stanów jest skończonym alfabetem wejściowym q 0 jest stanem początkowym (q 0 Q) jest skończonym alfabetem wyjściowym jest funkcją przejścia odwzorowującą Qx w Q jest odwzorowaniem Qx w zadającym wyjście związane z każdym przejściem automatu Poniższy automat Mealy ego dla alfabetu wejściowego {0,1} i dla danego ciągu wejściowego zlicza ile symboli końcowych jest takich samych. Jeżeli ostatni symbol jest inny niż przedostatni zwraca symbol J, jeżeli dwa ostatnie symbole są takie same, a trzeci od końca różny od nich zwraca symbol D, jeżeli trzy lub więcej symboli końcowych jest takich samych zwraca symbol T. M l = (Q,,,,, q 0 )=({q 0,q 1,q 2,q 3,q 4 }, {0,1}, {J,D,T},,, q 0 ) (q 0,0) = J, (q 1,0) = D, (q 2,0) = T, (q 3,0) = J, (q 4,0) = J, (q 0,1) = J (q 1,1) = J (q 2,1) = J (q 3,1) = D (q 4,1) = T Automat Mealy ego zliczający ilość takich samych symboli końcowych (1,2, 3) Przykładowo dla ciągu wejściowego odpowiedzią automatu jest T (ostatnie zrealizowane przejście). Każdy automat Moore a można zamienić na równoważny mu automat Mealy ego i odwrotnie także
13 Wyrażenia regularne (WR), ang. Regular Expressions (RE) Języki akceptowane przez automaty skończone można opisywać za pomocą prostych wyrażeń zwanych wyrażeniami regularnymi. Wyrażenia regularne stanowią algebraiczny sposób definiowania wzorców regularnych. Wartością wyrażenia regularnego jest język regularny. L(W) oznacza język zdefiniowany przez wyrażenie regularne W. Wyrażenia regularne konstruuje się w oparciu o następujące operatory: suma w 1 w 2 wystąpienie słowa w 1 lub słowa w 2 złożenie w 1 w 2 wystąpienie słowa w 2 po słowie w 1 * domknięcie Kleene go * w w definiujemy jako nieskończony zbiór i 0 zawierający wszystkie słowa powstałe w wyniku złożenia (konkatenacji) dowolnej ilości słów w (możliwy jest także ich brak) Inaczej domknięcie Kleene go można określić następująco: w * = w ww www wwww... + domknięcie dodatnie 1 i w w definiujemy jako nieskończony zbiór i zawierający wszystkie słowa powstałe w wyniku złożenia dowolnej ilości słów w, ale ich ilością minimalną jest jedno wystąpienie Inaczej domknięcie dodatnie można określić następująco: w + = w ww www wwww... w + = ww * Kolejność realizacji operatorów można ustalać stosując nawiasy. Najwyższy priorytet mają operatory domknięcia, niższy złożenie, a najniższy suma. Wyrażenia regularne są tworzone ze skończonej liczby wystąpień powyższych czterech operatorów. Przykłady: W 1 = a ab, W 2 = c bc to L(W 1 W 2 ) = {ac,abc,abbc}, L(W 1 W 2 ) = {a,ab,c,bc} W = ab to L(W * ) = {,ab,abab,ababab,...} W = a bc * d to L(W) = {a,bd,bcd,bccd,bcccd,bccccd,...} W = (a b)c + d to L(W) = {acd,bcd,accd,bccd,acccd,bcccd,...} W = 0(1 2)1 to L(W + ) = {011,021,011011,011021,021011,021021,...} (a 1 a 2 a 3... a n ) * ciąg znaków o dowolnej długości składający się z symboli a 1,a 2,a 3,..., a n 0 * 1 * 2 * ciąg, w którym występuje dowolna liczba symboli 0, po których występuje dowolna liczba symboli 1, po których z kolei występuje dowolna liczba symboli 2 (0 1) * 1(0 1)(0 1) ciąg 0 i 1 taki, że na trzeciej pozycji od końca ciągu występuje 1 (0 1) * 111(0 1) * dowolny ciąg 0 i 1, w którym występują trzy jedynki po kolei (ab ac) + ciąg symboli o parzystej długości, w którym na przemian występuje znak a i drugi znak, którym jest b lub c i
14 Prawa algebraiczne dla wyrażeń regularnych Dwa wyrażenia regularne ze zmiennymi są równoważne, jeżeli bez względu na to jakie języki podstawimy za te zmienne, to oba będą definiowały ten sam język wynikowy. Prawa przemienności i łączności w 1 w 2 = w 2 w 1 prawo przemienności sumy teoriomnogościowej (w 1 w 2 ) w 3 = w 1 (w 2 w 3 ) prawo łączności sumy teoriomnogościowej (w 1 w 2 ) w 3 = w 1 (w 2 w 3 ) prawo łączności złożenia Elementy neutralne i anihilator w = w = w w = w = w w = w = Prawa rozdzielności zbiór pusty jest elementem neutralnym dla sumy symbol pusty jest elementem neutralnym dla złożenia zbiór pusty jest anihilatorem dla złożenia w 1 (w 2 w 3 ) = w 1 w 2 w 1 w 3 prawo lewostronnej rozdzielności złożenia względem sumy (w 1 w 2 ) w 3 = w 1 w 3 w 2 w 3 prawo prawostronnej rozdzielności złożenia względem sumy Prawa dotyczące domknięć (w * ) * = w * domknięcie wyrażenia, które jest już domknięte nie zmienia języka * = domknięcie zbioru pustego to łańcuch pusty * = domknięcie łańcucha pustego jest łańcuchem pustym w + = w w * = w * w zapis domknięcia dodatniego za pomocą domknięcia w * = w + zapis domknięcia za pomocą domknięcia dodatniego
15 Różne sposoby definicji języków regularnych JR można definiować na dwa różne sposoby za pomocą opisu w postaci stanów i diagramu przejść oraz w postaci wyrażeń algebraicznych. Twierdzenie: Jeżeli L=L(A) dla pewnego DAS A, to istnieje takie WR W, że L=L(W) Cztery notacje języków regularnych Przekształcanie wyrażeń regularnych na niedeterministyczne automaty skończone z -przejściami (WR -NAS) Konstrukcje -NAS dla czterech operatorów konstruujących WR Suma dwóch wyrażeń regularnych W 1 W 2 Złożenie dwóch wyrażeń regularnych W 1 W 2 Domknięcie Kleene go W * Domknięcie dodatnie W + Przykład WR: 0 (0 1) (0 1) * -NAS:
16 Przekształcanie deterministycznych automatów skończonych na wyrażenia regularne - metoda eliminacji stanów (DAS WR) Metoda ta polega na eliminacji kolejnych stanów automatu, poza stanem początkowym i jednym ze stanów akceptujących. Etykiety przejść, które są symbolami z rozważanego alfabetu w trakcie eliminacji są zastępowane przez coraz bardziej złożone wyrażenia regularne. W przedostatnim kroku metody eliminacji stanów otrzymujemy automat zredukowany do dwóch stanów stanu początkowego S i stanu akceptującego T. W ostatnim kroku automat ten zastępujemy równoważnym mu wyrażeniem regularnym. W celu wyjaśnienia sposobu eliminacji pojedynczego stanu wprowadzono następujące oznaczenia: U eliminowany stan S i poprzedniki eliminowanego stanu U (i=1...n) T j następniki eliminowanego stanu U (j=1...m) s i etykieta przejścia ze stanu S i do U t j etykieta przejścia ze stanu U do stanu T j u przejście ze stanu U do U r ij bezpośrednie przejście z poprzednika S i do następnika T j Algorytm eliminacji stanów: Jeżeli istnieją stany nieakceptujące nie posiadające następników, to je usuwamy Eliminujemy kolejne stany automatu pozostawiając na końcu tylko stan początkowy i akceptujący Eliminację danego stanu U wykonujemy tak, aby zbiór etykiet przejść pomiędzy dowolnymi dwoma stanami nie uległ zmianie po usunięciu U Przed eliminacją stanu U Etykiety przejść od stanu S i do stanu U, od stanu U do niego samego, oraz dalej od stanu U do stanu T j opisuje wyrażenie regularne s i u * t j Etykiety przejść od stanów S i bezpośrednio do stanów T j opisują wyrażenia regularne r ij Po wyeliminowaniu stanu U oraz wszystkich przejść wiodących do i od niego etykiety przejść od S i do stanów T j opisują wyrażenia regularne r ij = r ij s i u * t j Po wyeliminowaniu wszystkich stanów poza stanem początkowym i akceptującym otrzymujemy generyczny automat dwustanowy o etykietach przejść w postaci WR
17 Wyrażenie regularne opisujące wszystkie akceptujące ścieżki generycznego automatu dwustanowego ma postać: w = s * u (t vs * u) * Definiuje ono ten sam JR, który zdefiniowany był przez niezredukowany DAS Jeżeli stan początkowy jest także stanem akceptującym, to eliminujemy wszystkie stany poza stanem początkowym. Wyrażenie regularne znajdujące się na przejściu ze stanu początkowego do niego samego należy domknąć poprzez domknięcie Kleenego. Otrzymane WR realizuje ten sam język co DAS. Gdy automat posiada więcej niż jeden stan akceptujący, to algorytm eliminacji stanów wykonujemy dla każdego stanu akceptującego osobno, a wyrażenie regularne będące rozwiązaniem otrzymujemy zapisując sumę teoriomnogościową wszystkich otrzymanych wyrażeń regularnych. Przykład: Generyczny automat dwustanowy a) eliminujemy q 1 U = q 1 u = S = {q 0 } s ={1} T = {q 0, q 2 } t = {0, 1} r 00 = 0 r 02 = r 00 = r 00 s 0 u * t 0 = 0 10 r 02 = r 02 s 0 u * t 2 = 11 b) eliminujemy q 2 U = q 2 u = 1 S = {q 0, q 3 } s ={11, 1} T = {q 3 } t = {0} r 03 = r 33 = r 03 = r 03 s 0 u * t 3 = 111 * 0 r 33 = r 33 s 3 u * t 3 = 11 * 0 c) automat dwustanowy s = 0 10 u = 111 * 0 v = 0 t = 11 * 0 d) wyznaczamy WR W = s * u (t vs * u) * = (0 10) * 111 * 0 (11 * 0 0(0 10) * 111 * 0) *
18 Własności zamkniętości języków regularnych Zamkniętość JR na pewne operacje oznacza, że jeżeli jeden lub kilka języków jest językami regularnymi, to języki powiązane z nimi za pomocą pewnych operacji są także regularne. Rozważamy następujące operacje na językach: suma, iloczyn, różnica, dopełnienie, odwrócenie JR są zamknięte ze względu na sumę teoriomnogościową Jeżeli L 1 i L 2 są językami regularnymi, to również L 1 L 2 jest językiem regularnym zawierającym wszystkie słowa należące do L 1 lub L 2. Reprezentacja języka za pomocą WR Jeżeli L 1 =L(W 1 ) i L 2 =L(W 2 ) to L 1 L 2 =L(W 1 W 2 ) Reprezentacja języka za pomocą AS Niech L 1 i L 2 są odpowiednio językami automatów: A 1 =(Q 1,, 1,q 01, F 1 ) i A 2 =(Q 2,, 2,q 02, F 2 ) Dla L 1 L 2 konstruujemy automat A symulujący działanie zarówno A 1 jaki i A 2. Stany A to zbiory będące parami stanów automatów A 1 i A 2 : A=(Q 1 Q 2,,,(q 01,q 02 ),F 1 F 2 ) gdzie ((q i,q j ),a)=( 1 (q i,a), 2 (q j,a)), a, q i Q 1, q j Q 2 Automat A akceptuje słowo w wtedy, gdy słowo to akceptuje automat A 1 lub automat A 2 czyli: ˆ ((q 01,q 02 ),w) = ( ˆ 1 (q 01,w), ˆ 2 (q 02,w)) co najmniej jeden ze stanów jest akceptujący Przykład L 1 ={w; w zawiera 11 } L 2 ={w; w zawiera 00 } L 3 ={w; w zawiera 11 lub 00 } JR są zamknięte ze względu na iloczyn teoriomnogościowy Jeżeli L 1 i L 2 są językami regularnymi, to również L 1 L 2 jest językiem regularnym zawierającym wszystkie słowa należące zarówno do języka L 1 jak i języka L 2. Reprezentacja języka za pomocą WR - nie ma bezpośredniej metody Reprezentacja języka za pomocą AS konstrukcja tak jak dla sumy teoriomnogościowej, inaczej tylko ustalane są stany akceptujące:
19 Automat A akceptuje słowo w wtedy, gdy zarówno automat A 1 jak i automat A 2 akceptują to słowo czyli: ˆ ((q 01,q 02 ),w) = ( ˆ 1 (q 01,w), ˆ 2 (q 02,w)) jest parą stanów akceptujących JR są zamknięte ze względu na różnicę teoriomnogościową Jeżeli L 1 i L 2 są językami regularnymi, to również L 1 L 2 jest językiem regularnym zawierającym wszystkie słowa należące do języka L 1, ale nie należące do języka L 2. Reprezentacja języka za pomocą WR - nie ma bezpośredniej metody Reprezentacja języka za pomocą AS konstrukcja tak jak dla sumy teoriomnogościowej, inaczej tylko ustalane są stany akceptujące: Automat A akceptuje słowo w wtedy, gdy automat A 1 akceptuje, a automat A 2 nie akceptuje czyli: ˆ ((q 01,q 02 ),w) = ( ˆ 1 (q 01,w), ˆ 2 (q 02,w)) jest parą stanów odpowiednio: akceptującego i nieakceptującego. JR są zamknięte ze względu na dopełnienie Dopełnienie języka regularnego jest językiem regularnym, tzn. jeżeli L jest JR nad alfabetem, to L = * L jest także JR. Reprezentacja języka za pomocą WR - nie ma bezpośredniej metody Reprezentacja języka za pomocą AS Jeżeli L =L(A 1 ) dla pewnego DAS A 1 =(Q,,,q 0,F), to L =L(A 2 ), gdzie DAS A 2 =(Q,,,q 0,Q-F), tzn. automat A 2 otrzymujemy poprzez zamianę stanów nieakceptujących automatu A 1 na stany akceptujące i odwrotnie akceptujące na nieakceptujące Przykład L={w; w kończy się 11 } L ={w; w nie kończy się 11 } JR są zamknięte ze względu na odwrócenie Odwrócenie łańcucha w=a 1 a 2 a 3 a n to łańcuch w R =a n a n-1 a n-2 a 1, a w przypadku języków L={0010,01,111}, L R ={0100,10,111} Odwrócenie języka regularnego jest językiem regularnym, tzn. jeżeli L jest JR, to L R jest także JR. Reprezentacja języka za pomocą WR Zasady odwracania dla operatorów WR: Jeżeli W=W 1 W 2 to W R =W R R 1 W 2 Jeżeli W=W 1 W 2 to W R =W R R 2 W 1 Jeżeli * W=W 1 to W R =(W R 1 ) * Przykład W = (0 10) * 110 W=W 1 W 2, W R = W R 2 W R 1 ; W 1 =W * 3, W R 1 =(W R 3 ) * ; W 3 =W 4 W 5, W R 3 =W R R 4 W 5 W R = 011(0 01) *
20 Reprezentacja języka za pomocą AS Jeżeli dany jest język L=L(A) to język L R konstruujemy następująco: 1) Zmieniamy kierunki wszystkich przejść w automacie A 2) Stan początkowy staje się jedynym stanem akceptującym 3) Tworzymy nowy stan początkowy z przejściem na do wszystkich stanów akceptujących automatu A W ten sposób otrzymujemy automat -NAS, który potem możemy zamienić na NAS i DAS Przykład L={w; w kończy się 11 } -NAS NAS DAS L R ={w; w zaczyna się 11 }
21 q n q 0 q 1 q n-1 Równoważność i minimalizacja automatów skończonych Def: Dwa automaty są równoważne jeżeli definiują ten sam język. Def: Dwa stany w AS q i i q j są równoważne (można je zastąpić pojedynczym stanem) jeżeli dla wszystkich łańcuchów wejściowych w, ˆ (q i,w) F ˆ (q j,w) F Nie wymaga się aby ˆ (q i,w) i ˆ (q j,w) były tym samym stanem, lecz aby oba były akceptujące lub nieakceptujące. Jeżeli dwa stany nie są równoważne, to są rozróżnialne. Algorytm wyszukiwania stanów równoważnych i rozróżnialnych 1. Tworzymy tabelę rozróżnialności stanów zawierającą jedną pozycję dla każdej pary stanów. q 1 q 2 Wprowadzamy następujące oznaczenia: znak x umieszczony w komórce tabeli oznacza dwa stany rozróżnialne, znak o dwa stany równoważne. 2. Jako oczywiste stany rozróżnialne oznaczamy x te pary stanów, gdzie jeden ze stanów jest akceptujący, a drugi nieakceptujący (q 1 F q 2 F) (q 1 F q 2 F) 3. Dla wszystkich pozostałych par stanów (nie oznaczonych x ) dobierając kolejno coraz dłuższe słowa w przechodzimy do kolejnych par stanów. 4. Rozważanie przejść do kolejnych par stanów kończymy, gdy: a. Osiągniemy parę stanów rozróżnialnych ( x ) wtedy wszystkie odwiedzone pary stanów oznaczamy jako rozróżnialne ( x ) w + takie, że ( ˆ (q i,w) F ˆ (q j,w) F) ( ˆ (q i,w) F ˆ (q j,w) F) b. Dla wszystkich rozważonych łańcuchów w każda przeanalizowana para przejść powoduje osiągnięcie pary stanów akceptujących bądź pary stanów nieakceptujących bądź tego samego stanu wtedy taką parę stanów oznaczamy jako równoważną ( o ). w + ( ˆ (q i,w) F ˆ (q j,w) F) ( ˆ (q i,w) F ˆ (q j,w) F) ( ˆ (q i,w)= ˆ (q j,w)) 5. Algorytm kończy działanie po przeanalizowaniu wszystkich par stanów. Pozycje w tabeli oznaczone x to stany rozróżnialne, pozycje oznaczone o to stany równoważne. Stany równoważne łączymy w jeden stan. Twierdzenie: Równoważność stanów jest przechodnia, tzn. jeżeli stany q 1 i q 2 są równoważne (q 1 q 2 ) oraz q 2 q 3 to stany q 1 i q 3 są także równoważne (q 1 q 3 )
22 Korzystając z algorytmu wyszukiwania stanów równoważnych oraz twierdzenia o równoważności stanów można zminimalizować liczbę stanów DAS, tzn. można znaleźć DAS równoważny podanemu automatowi skończonemu, który ma nie więcej stanów niż jakikolwiek inny DAS akceptujący ten sam JR. Minimalizacja AS polega na: 1. Usunięciu stanów nieosiągalnych ze stanu początkowego 2. Wyszukaniu stanów równoważnych 3. Połączeniu stanów równoważnych Przykład: Stan q 7 jest stanem nieosiągalnym ze stanu początkowego, dlatego można go usunąć z automatu. Tabela rozróżnialności stanów przedstawia się następująco: x x x o x x x x x x x x x x x x o x x x x q 0 q 1 q 2 q 3 q 4 q 5 Pary stanów równoważnych ( o w tabeli) to: q 1 q 2 q 3 q 4 q 5 q 6 q 0 q 3 q 1 q 6 stan q 0 jest równoważny stanowi q 3 ponieważ: 1 0 (q 0,q 3 ) (q 4 ) (q 0,q 3 ) (q 1,q 6 ) (q 0,q 3 ) (q 5 ) (q 0,q 3 ) (q 2 )
23 a stan q 0 jest równoważny stanowi q 3 ponieważ: 1 0 (q 1,q 6 ) (q 2 ) (q 1,q 6 ) (q 5 ) AS o minimalnej liczbie stanów składa się z 5 stanów i wygląda następująco: Dowodzenie regularności bądź jej braku dla języków regularnych Lemat o pompowaniu Lemat o pompowaniu jest narzędziem służącym do przeprowadzania dowodów, że dany język jest, bądź nie jest regularny, czyli czy można go zdefiniować za pomocą AS lub WR. Lemat o pompowaniu dla JR, ang. pumping lemma Niech L będzie językiem regularnym. Istnieje wtedy stała n (zależna od L) taka, że dowolny łańcuch w L o długości w n można rozbić na trzy łańcuchy w = xyz takie, że: a) y b) xy n c) dla dowolnego k 0 łańcuch xy k z także należy do L
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ół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ół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ół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ół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ół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ół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 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ółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 10b: Wzorce i automaty. http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Wzorce i automaty Problematyka wzorców
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 10, part I 2 Wzorce, automaty Definicja Grafy reprezentujące maszyny stanów Symulacje automatów Automaty
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 9: Wzorce, automaty, wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs 1 Wzorce i automaty Problematyka wzorców stanowi bardzo rozwiniętą dziedzinę wiedzy.
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ół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ół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ół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ół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ółowo1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
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, 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ół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ół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ół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ół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ółowoJaki język zrozumie automat?
Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy
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ółowoTeoria układów logicznych
Automat Moore a Automatem Moore a nazywamy uporządkowaną piątkę ( Q, X,,, ) gdzie Q jest skończonym zbiorem niepustym, nazwanym zbiorem stanów automatu, X jest skończonym zbiorem niepustym, nazwanym alfabetem
Bardziej szczegółowoKlasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33
Klasyczne i kwantowe podejście do teorii automatów i języków formalnych mgr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Zakład Informatyki Stosowanej i Inżynierii Oprogramowania Instytut Informatyki
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ół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ółowoLOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
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ół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ół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ół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ółowoWstęp do Techniki Cyfrowej... Teoria automatów
Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia
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ółowo1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
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ółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
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ół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ółowoAutomat Moore a. Teoria układów logicznych
Automat Moore a Automatem Moore a nazywamy uporządkowaną piątkę (Q,X,Y,δ, λ )gdzie Qjestskończonym zbiorem niepustym, nazwanym zbiorem stanów automatu, Xjestskończonym zbiorem niepustym, nazwanym alfabetem
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ół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ół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ół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ół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ół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ółowoWstęp do Techniki Cyfrowej... Algebra Boole a
Wstęp do Techniki Cyfrowej... Algebra Boole a Po co AB? Świetne narzędzie do analitycznego opisu układów logicznych. 1854r. George Boole opisuje swój system dedukcyjny. Ukoronowanie zapoczątkowanych w
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ółowoJęzyki formalne i automaty Ćwiczenia 8
Języki formalne i automaty Ćwiczenia 8 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Konwersja NFA do DFA... 2 Minimalizacja liczby stanów DFA... 4 Konwersja automatu DFA do
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ółowoElementy Teorii Obliczeń
Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych
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ół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ółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowo5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
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ół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ółowoElementy logiki matematycznej
Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
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ółowoZbiory, relacje i funkcje
Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację
Bardziej szczegółowoINSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW
INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 temat: AUTOMATY MOORE A I MEALY 1.
Bardziej szczegółowoRozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F
Bardziej szczegółowo1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.
Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze
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, ang. Turing Machine (TM)
Maszyna Turinga, ang. Turing Machine (TM) Alan Turing wybitny angielski matematyk, logik i kryptolog, jeden z najważniejszych twórców informatyki teoretycznej, któremu zawdzięczamy pojęcie maszyny Turinga
Bardziej szczegółowo1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.
20. Definicje i przykłady podstawowych struktur algebraicznych (grupy, pierścienie, ciała, przestrzenie liniowe). Pojęcia dotyczące przestrzeni liniowych (liniowa zależność i niezależność układu wektorów,
Bardziej szczegółowoPRZEDMIOTOWY SYSTEM OCENIANIA PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY
PRZEDMIOTOWY SYSTEM OCENIANIA PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY Warszawa 2019 LICZBY RZECZYWISTE stosować prawidłowo pojęcie zbioru, podzbioru, zbioru pustego; zapisywać zbiory w różnej postaci
Bardziej szczegółowoAutomat skończony FSM Finite State Machine
Automat skończony FSM Finite State Machine Projektowanie detektora sekwencji Laboratorium z Elektroniki Współczesnej A. Skoczeń, KOiDC, WFiIS, AGH, 2019 AGH, WFiIS, Elektronika Współczesna 1 Deterministyczny
Bardziej szczegółowoZłożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI: POWTÓRKA CZ. II
1 TEORETYCZNE PODSTAWY INFORMATYKI: POWTÓRKA CZ. II 27/01/2014 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 8 2 Modele danych: grafy Podstawowe pojęcia Grafy wywołań Grafy skierowane
Bardziej szczegółowoSystemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
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ół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ół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ółowoLogika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.
Logika binarna Logika binarna zajmuje się zmiennymi mogącymi przyjmować dwie wartości dyskretne oraz operacjami mającymi znaczenie logiczne. Dwie wartości jakie mogą te zmienne przyjmować noszą przy tym
Bardziej szczegółowoMATeMAtyka 1. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony Klasa pierwsza
MATeMAtyka 1 Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych Zakres podstawowy i rozszerzony Klasa pierwsza Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe
Bardziej szczegółowoPodstawowe struktury algebraiczne
Maciej Grzesiak Podstawowe struktury algebraiczne 1. Wprowadzenie Przedmiotem algebry było niegdyś przede wszystkim rozwiązywanie równań. Obecnie algebra staje się coraz bardziej nauką o systemach matematycznych.
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoRelacje. opracował Maciej Grzesiak. 17 października 2011
Relacje opracował Maciej Grzesiak 17 października 2011 1 Podstawowe definicje Niech dany będzie zbiór X. X n oznacza n-tą potęgę kartezjańską zbioru X, tzn zbiór X X X = {(x 1, x 2,..., x n ) : x k X dla
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ółowoTechnikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu
Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu Wymagania edukacyjne niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z obowiązkowych
Bardziej szczegółowoCiała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);
Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy
Bardziej szczegółowoSynteza strukturalna automatu Moore'a i Mealy
Synteza strukturalna automatu Moore'a i Mealy (wersja robocza - w razie zauważenia błędów proszę o uwagi na mail'a) Załóżmy, że mamy następujący graf automatu z 2 y 0 q 0 z 1 z 1 z 0 z 0 y 1 z 2 q 2 z
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI dla klasy I ba Rok szk. 2012/2013
Dział LICZBY RZECZYWISTE Uczeń otrzymuje ocenę dopuszczającą lub dostateczną, jeśli: podaje przykłady liczb: naturalnych, całkowitych, wymiernych, niewymiernych, pierwszych i złożonych oraz przyporządkowuje
Bardziej szczegółowoStruktura danych. Sposób uporządkowania informacji w komputerze.
Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk
Bardziej szczegółowoMatematyka dyskretna. 1. Relacje
Matematyka dyskretna 1. Relacje Definicja 1.1 Relacją dwuargumentową nazywamy podzbiór produktu kartezjańskiego X Y, którego elementami są pary uporządkowane (x, y), takie, że x X i y Y. Uwaga 1.1 Jeśli
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ółowoZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II
ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II POZIOM ROZSZERZONY Równania i nierówności z wartością bezwzględną. rozwiązuje równania i nierówności
Bardziej szczegółowoKlasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:
Klasa 1 technikum Przedmiotowy system oceniania wraz z wymaganiami edukacyjnymi Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i
Bardziej szczegółowoUkłady równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Bardziej szczegółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoWykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27
Wykład 7 Informatyka Stosowana 21 listopada 2016 Informatyka Stosowana Wykład 7 21 listopada 2016 1 / 27 Relacje Informatyka Stosowana Wykład 7 21 listopada 2016 2 / 27 Definicja Iloczynem kartezjańskim
Bardziej szczegółowoJęzyk skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
Bardziej szczegółowo0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.
Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek
Bardziej szczegółowo