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

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

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

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

Bardziej szczegółowo

Teoretyczne podstawy informatyki

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

Bardziej szczegółowo

Wyrażenia regularne.

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

Bardziej szczegółowo

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

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

1 Automaty niedeterministyczne

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

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 9

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

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne 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ółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Teoretyczne podstawy informatyki

Teoretyczne 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ółowo

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

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

Bardziej szczegółowo

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. 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ółowo

Matematyczne Podstawy Informatyki

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

Bardziej szczegółowo

Języki, automaty i obliczenia

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

Bardziej szczegółowo

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

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ) Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =

Bardziej szczegółowo

Maszyna Turinga języki

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Jaki język zrozumie automat?

Jaki 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ółowo

Obliczenia inspirowane Naturą

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

Bardziej szczegółowo

Teoria układów logicznych

Teoria 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ółowo

Klasyczne 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 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ółowo

Języki formalne i automaty Ćwiczenia 1

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

Bardziej szczegółowo

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

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA 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ółowo

Matematyczne Podstawy Informatyki

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

10110 =

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

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów

Wstę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ółowo

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

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

Bardziej szczegółowo

1 Działania na zbiorach

1 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ółowo

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

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

Bardziej szczegółowo

Struktury 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 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ółowo

Hierarchia Chomsky ego Maszyna Turinga

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Automat Moore a. Teoria układów logicznych

Automat 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ółowo

Języki formalne i automaty Ćwiczenia 6

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki, automaty i obliczenia

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

Bardziej szczegółowo

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Algebra Boole a

Wstę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ółowo

Hierarchia Chomsky ego

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

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 8

Ję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ółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

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

Bardziej szczegółowo

Elementy Teorii Obliczeń

Elementy 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ółowo

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

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

Bardziej szczegółowo

Definicja 2. Twierdzenie 1. Definicja 3

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

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka 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ółowo

5. Rozwiązywanie układów równań liniowych

5. 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ółowo

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

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

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

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

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy 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ółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykł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ółowo

Macierze. Rozdział Działania na macierzach

Macierze. 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ółowo

Lista zadań - Relacje

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

Bardziej szczegółowo

Zbiory, relacje i funkcje

Zbiory, 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ółowo

INSTYTUT 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 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ółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 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ółowo

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

1. 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.

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

Bardziej szczegółowo

Maszyna Turinga, ang. Turing Machine (TM)

Maszyna 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ółowo

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

1.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ółowo

PRZEDMIOTOWY SYSTEM OCENIANIA PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY

PRZEDMIOTOWY 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ółowo

Automat skończony FSM Finite State Machine

Automat 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ółowo

Złożoność obliczeniowa zadania, zestaw 2

Zł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ółowo

TEORETYCZNE PODSTAWY INFORMATYKI: POWTÓRKA CZ. II

TEORETYCZNE 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ółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy 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ółowo

Matematyczne Podstawy Informatyki

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

Bardziej szczegółowo

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

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

Bardziej szczegółowo

Obliczenia inspirowane Naturą

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

Bardziej szczegółowo

Logika 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. 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ółowo

MATeMAtyka 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 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ółowo

Podstawowe struktury algebraiczne

Podstawowe 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ółowo

WYRAŻENIA ALGEBRAICZNE

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe 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ółowo

Relacje. opracował Maciej Grzesiak. 17 października 2011

Relacje. 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ółowo

Języki formalne i automaty Ćwiczenia 2

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

Bardziej szczegółowo

Technikum 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 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ółowo

Ciał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. 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ółowo

Synteza strukturalna automatu Moore'a i Mealy

Synteza 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ółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI dla klasy I ba Rok szk. 2012/2013

WYMAGANIA 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ółowo

Struktura danych. Sposób uporządkowania informacji w komputerze.

Struktura 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ółowo

Matematyka dyskretna. 1. Relacje

Matematyka 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ółowo

Języki, automaty i obliczenia

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

Bardziej szczegółowo

ZAGADNIENIA 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 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ółowo

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Klasa 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ółowo

Układy równań i nierówności liniowych

Ukł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ółowo

Definicje. Algorytm to:

Definicje. 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ółowo

Przykładowe zadania z teorii liczb

Przykł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ółowo

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

Wykł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ółowo

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Ję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ółowo

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

0.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