Definicja 2. Twierdzenie 1. Definicja 3

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

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

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

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

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

W ujęciu abstrakcyjnym automat parametryczny <A> można wyrazić następującą "ósemką":

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

Teoria układów logicznych

Języki formalne i automaty Ćwiczenia 1

Podstawowe układy cyfrowe

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Statyczne badanie przerzutników - ćwiczenie 3

Automat Moore a. Teoria układów logicznych

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Asynchroniczne statyczne układy sekwencyjne

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

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Synteza strukturalna automatów Moore'a i Mealy

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Matematyczne Podstawy Informatyki

1 Automaty niedeterministyczne

Języki, automaty i obliczenia

Algebra Boole a i jej zastosowania

Języki formalne i automaty Ćwiczenia 7

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

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

BADANIE UKŁADÓW CYFROWYCH. CEL: Celem ćwiczenia jest poznanie właściwości statycznych układów cyfrowych serii TTL. PRZEBIEG ĆWICZENIA

Synteza strukturalna automatu Moore'a i Mealy

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

PRZED PRZYSTĄPIENIEM DO ZAJĘĆ PROSZĘ O BARDZO DOKŁADNE

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

Hierarchia Chomsky ego Maszyna Turinga

Języki formalne i automaty Ćwiczenia 4

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Maszyna Turinga języki

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

UKŁADY MIKROPROGRAMOWALNE

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY

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.

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

PRZED PRZYSTĄPIENIEM DO ZAJĘĆ PROSZĘ O BARDZO DOKŁADNE

Definicje. Algorytm to:

Państwowa Wyższa Szkoła Zawodowa

JAO - Wprowadzenie do Gramatyk bezkontekstowych

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Jaki język zrozumie automat?

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

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}

Turing i jego maszyny

ćwiczenie 203 Temat: Układy sekwencyjne 1. Cel ćwiczenia

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Matematyczne Podstawy Informatyki

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

ĆWICZENIE NR P-8 STANOWISKO BADANIA POZYCJONOWANIA PNEUMATYCZNEGO

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Programowanie sterowników PLC wprowadzenie

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

1. SYNTEZA UKŁADÓW SEKWENCYJNYCH

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia

Automatyzacja i robotyzacja procesów produkcyjnych

Języki formalne i automaty Ćwiczenia 6

Algorytmy i struktury danych. wykład 2

Imię, nazwisko, nr indeksu

LICZNIKI PODZIAŁ I PARAMETRY

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

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

LOGIKA Klasyczny Rachunek Zdań

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Języki formalne i automaty Ćwiczenia 9

PROGRAMOWALNE STEROWNIKI LOGICZNE

Sławomir Kulesza. Projektowanie automatów synchronicznych

Technika cyfrowa Synteza układów kombinacyjnych

Hierarchia Chomsky ego

Technika cyfrowa Synteza układów kombinacyjnych (I)

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

POLITECHNIKA OPOLSKA

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

SYLABUS/KARTA PRZEDMIOTU

Transkrypt:

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Ń REGULARNYCH DO SYNTEZY I ANALIZY AUTOMATÓW SKOŃCZONYCH 1. CEL ĆWICZENIA Celem ćwiczenia jest nabycie praktycznej umiejętności projektowania i technicznej realizacji automatów przy zastosowaniu języka wyrażeń regularnych. 2. PROGRAM ĆWICZENIA 1. Na podstawie wyrażenia regularnego opisującego automat określić graf przejść pomiędzy stanami automatu. 2. Przeprowadzić syntezę automatu realizowanego jako automat Moore a.. Realizacja techniczna automatu z zastosowaniem elementów scalonych TTL serii UCY-74. 4. Sprawdzenie poprawności działania modelu automatu.. PROBLEMATYKA ĆWICZENIA Analizę abstrakcyjną automatów przeprowadza się różnymi metodami. Przy prostych automatach proces ten polega na intuicyjnym opisie zachowania automatu na podstawie jego modelu abstrakcyjnego. Zastosowanie języka wyrażeń regularnych do syntezy i analizy automatów skończonych umożliwia przeprowadzenie tego procesu w sposób formalny. Język wyrażeń regularnych powstał w wyniku poszukiwania prostszych i bardziej funkcjonalnych od tradycyjnych sposobów opisu działania automatów. 4. WIADOMOŚCI PODSTAWOWE Definicja 1 Automat skończony jest modelem matematycznym systemu dyskretnego działającego w dyskretnych chwilach czasu. Jego działanie jest określone na zbiorach skończonych sygnałów wejściowych, stanów wewnętrznych i sygnałów wyjściowych. Automat skończony można zrealizować sprzętowo lub programowo. Ogólnie, schemat blokowy automatu skończonego można przedstawić następująco: (schemat) gdzie: Z alfabet wejściowy Q zbiór stanów wewnętrznych Y alfabet wyjściowy

Automat ten akceptuje słowa należące do języka regularnego. Język regularny jako zbiór słów reprezentowany jest przez wyrażenia regularne. Załóżmy, że alfabet wejściowy automatu jest następującym zbiorem: Z = {,,, z i,, z n } Z symboli tego zbioru możemy zbudować określone słowa, np.: ; z z 9 ;, z 5 ; Zbiór wszystkich możliwych słów jest zbiorem nieskończonym Z* Z* = {,,,,, z 9 0, 2, } Na zbiorze Z* można określić rodzinę zbiorów S*. S* = {S 1, S 2,, S i,, S n } Na słowach S i S* jak również na słowach przynależnych do dowolnego zbioru S i S* przeprowadzane są określone operacje. Dowolny zbiór S i S* zawierający słowa wejściowe automatu nazywamy zdarzeniem. Definicja 2 Do oznaczenia zbiorów powstałych w wyniku wykonania operacji sumy, konkatenacji i iteracji posługujemy się wyrażeniem nazywanym wyrażeniem regularnym. W skład wyrażenia regularnego wchodzą określone słowa połączone znakami reprezentującymi powyższe operacje. Każde wyrażenie regularne reprezentuje sobą język regularny. Twierdzenie 1 Jeżeli r jest wyrażeniem regularnym, to istnieje automat NFA with ε-moves, który akceptuje słowa języka regularnego reprezentowanego przez to wyrażenie. Mając wyrażenie regularne możemy wykonywać następując transformacje: wyrażenie regularne zbiór słów. wyrażenie regularne graf przejść automatu akceptującego język reprezentowany przez to wyrażenie r S(r). wyrażenie regularne gramatyka bezkontekstowa regularna, generująca słowa danego języka S(r). Synteza abstrakcyjna automatów skończonych Definicja Synteza abstrakcyjna automatu to określenia takiego opisu formalnego automatu, na podstawie którego można zbudować tablice przejść i wyjść automatu. Synteza ta sprowadza się do przejścia od algorytmu działania automatu do grafu przejść automatu. Poszczególne etapy tej syntezy to: 1. algorytm słowny 2. przedstawienie algorytmu słownego w postaci wyrażeń regularnych. określenie grafu przejść

Przykład 1 S 1 = + S 2 = + ------------------------------ S = S 1 + S 2 = ε gdzie: S 1 - zdarzenie warunkujące pojawienie się na wyjściu automatu S 2 - zdarzenie warunkujące pojawienie się na wyjściu automatu ε - sygnał pusty W celu określenia stanów projektowanego automatu wprowadza się pojęcie miejsca w wyrażeniu regularnym. Miejscem jest położenie pomiędzy literami, między literą i znakiem dysjunkcji (OR) oraz początek i koniec wyrażenia. Miejscom tym przyporządkowuje się stany automatu. S 1 = + 0 1 2 0 1 4 S 2 = Z 2 + Z 2 Z 2 0 1 2 5 0 7 Dla uproszczenia rozpatrujemy automat Moore a. tablica 1 wyjście stany wejście 0 1 2 4 5 7 8 1 * 4 * * * * * 2 5 * * * 7 * * - do powyższego zapisu wprowadzamy stan dodatkowy, do którego automat przechodzi, gdy pojawi się słowo należące do S Po otrzymaniu tablic, przeprowadzamy minimalizację tablicy stanów 5 7, tworząc tablicę 2 tablica 2 wyjście stany wejście q 0 q 1 q 2 q q 4 q 5 q q 1 q q 4 q q 2 q 5 q 5 Na podstawie tablic można narysować graf automatu.

Wyznaczenie stanów automatów staję się bardziej złożone, gdy w wyrażeniu regularnym występuje operacja iteracji. W tym przypadku wyrażenie regularne dzieli się na miejsca podstawowe i przedpodstawowe. Miejscami podstawowymi nazywamy te miejsca w wyrażeniu regularnym, na lewo od których stoi litera oraz miejsce początkowe. Miejscem przedpodstawowym nazywamy te miejsca w wyrażeniu regularnym, na prawo od których stoi litera. Przykład 2 S 1 = ( + + )* S 2 = ( + + )* ( )* --------------------------------------------------- S = S 1 + S 2 = ε S 2 = ( + + ) * ( ) * 1 0 1 2 4 5 7 8 9 10 0 0 2 0 4 5 0 7 8 9 1 1 1 1 10 9 10 Miejsca przedpodstawowe oznacza się odpowiednimi symbolami miejsc podstawowych. Stosujemy następujące reguły: Reguła 1 Symbole miejsca podstawowego przed nawiasem iteracyjnym rozmieszcza się w miejscach przedpodstawowych we wszystkich miejscach początkowych wszystkich członów dysjunktywnych stojących w danym nawiasie. Reguła 2 Symbol miejsca końcowego dowolnego członu dysjunktywnego zamkniętego w nawiasy iteracyjne rozmieszczamy w miejscach początkowych ( przedpodstawowych ) wszystkich członów dysjunktywnych zamkniętych w danym nawiasie. Reguła Symbole miejsc podstawowych, na lewo i prawo od których stoją litery nie rozmieszcza się niegdzie więcej. Reguła 4 Symbol miejsca końcowego wyrażenia rozmieszcza się we wszystkich tych miejscach przedpodstawowych, gdzie znajduje się symbol miejsca początkowego. Reguła 5 Symbol miejsca końcowego dowolnego członu dysjunktywnego zamkniętego w nawiasy iteracyjne rozmieszcza się w miejscu przedpodstawowym bezpośrednio za danym nawiasem.

Reguła Symbol miejsca przed nawiasem iteracyjnym zapisuje się w miejscu przedpodstawowym znajdującym się za tym nawiasem. Następnie przeprowadza się minimalizację stanów. Jeżeli kilka miejsc podstawowych oznakowane jest jednakowym zbiorem symboli i na prawo od tych miejsc zapisane są takie same litery, to wówczas miejsca podstawowe położone na prawo od tych liter są sobie równoważne. Wracając do przykładu 2: Stan 4 7 są sobie równoważne (4, 7 2) 5 4, 5, 8, 9 7, 10 8, 9 W następnej fazie 4 są sobie równoważne 7, 8 7, 9 8 Tworzy się tablicę przejść: tablica wyjście stany wejście 0 1 2 4 5 7 2 2 4 2 2 7 7 1 1 1 5 1 8 8 8 2 1 0 1 5 5. PRZEBIEG ĆWICZENIA Ćwiczenie przeprowadzane jest z wykorzystaniem zestawu AUT-01. Na płycie czołowej modelu znajduje się 1 lampek sygnalizacyjnych. Lampka umieszczona nad przełącznikiem klawiszowym opisanym MAINS sygnalizuje podłączenie napięć zasilających. Osiem lampek sygnalizacyjnych nad przełącznikami STATE 0 STATE 7 służy do sygnalizacji stanów automatu, 4 lampki OUTPUT INDICATORS służą do sygnalizacji wyjść automatu oznaczonych symbolami Y0 Y. Elementy manipulacyjne Przełącznik MAINS służy do przyłączenia napięć zasilających. Zespół czterech przełączników klawiszowych X0 X służy do wprowadzania liter alfabetu wejściowego modelowanego automatu. Wciśnięcia dowolnego z przycisków X0 X odpowiada wprowadzeniu pojedynczej litery alfabetu wejściowego. Na jednym z gniazd FUNCTION X&S pojawia się sygnał utworzony z iloczynu stanu i wprowadzanej litery. Sygnał ten doprowadzony do odpowiednich gniazd STATE EXCITATION lub do gniazd OUTPUT EXCITATION powoduje wzbudzenie następnego stanu, wyzerowanie poprzedniego lub wzbudzenie odpowiedniego wyjścia. Zespół ośmiu przełączników STATE0 STATE7 służy do ustawiania stanów początkowych automatu. Naciśnięcie dowolnego z tych przełączników powoduje ustawienie nowej zawartości rejestru stanu i wyzerowanie rejestru wyjść. Gniazda opisane FUNCTION X&S są przeznaczone do łączenia przewodami z gniazdami STATE EXCITATION w celu wzbudzenia stanów i wyjść automatu. Każda

para gniazd FUNCTION X&S umiejscowiona na przecięciu wiersza X n alfabetu wejściowego X z kolumną Sn stanów S odpowiada iloczynowi X n & S n. Każdemu z ośmiu stanów STATE0 STATE7 odpowiadają 24 gniazda wzbudzenia stanów STATE EXCITATION. Gniazda OUTPUT EXCITATION umożliwiają doprowadzenie sygnałów wzbudzających do układu wzbudzenia wyjść automatu. Sygnały wzbudzające są doprowadzone z gniazd FUNCTION X&S w przypadku automatu Moore a. Każdemu z czterech wyjść odpowiada 1 gniazd wzbudzenia oznaczonych Y0 Y. Gniazda STATE0 STATE7 umieszczone w dolnej części płyty czołowej służą do wyprowadzenia z nich sygnałów wzbudzających wyjścia w przypadku automatu Moore a. Obsługa modelu: 1. Podłączyć przyrząd do sieci. 2. Włączyć napięcia zasilania przełącznikiem MAINS.. W momencie załączenia ustawienie stanów i wyjść jest przypadkowe. Przeprowadzić zerowanie wszystkich stanów i ustawić wymagany stan początkowy jednym z przełączników STATE0 STATE7. 4. Dla zbudowania modelu automatu połączyć gniazda na płycie czołowej zgodnie z zadanymi tabelami przejść i wyjść. Programowanie przejść polega na połączeniu gniazd FUNCTION X&S z odpowiednimi gniazdami STATE EXCITATION. Na przykład, aby dla litery wejściowej X 1 uzyskać przejście S5 S należy połączyć gniazdo FUNCTION X 1 & S5 z gniazdem S z kolumny STATE EXCITATION. Programowanie wyjść dla automatu Mealy jest analogiczne jak programowanie przejść. Przejście automatu ze stanu do stanu i wzbudzenie wyjść zachodzi każdorazowo po wprowadzeniu pojedynczej litery alfabetu wejściowego. Należy to zrealizować przez wciśnięcie odpowiedniego przełącznika X0 X. W danym momencie na wejście automatu może być podana tylko jedna litera alfabetu wejściowego, wzbudzony jeden stan i jedno wyjście.. ZADANIA DO WYKONANIA Część I 1. Dokonać syntezy automatu Moore a na podstawie wyrażenia regularnego podanego przez prowadzącego 2. Zamodelować automat na stanowisku.. Określić sekwencje rozpoznawane przez automat poprzez zadawanie sekwencji zdarzeń na wejściu. 4. Określić tablice przejść automatu Moore a i narysować graf tego automatu. 5. Zanalizować w sposób formalny, czy automat realizuje przedstawione wyrażenie regularne. Część II 1. Napisać wyrażenie regularne opisujące działanie zamka szyfrowego. 2. Zamodelować automat na stanowisku.. Rozpoznać sekwencję zdarzeń powodujących alarm zamka szyfrowego. 4. Przeprowadzić analizę automatu ze względu na otwarcie zamka. 5. Określić intuicyjnie definicję negacji wyrażenia regularnego na podstawie porównać obu wyrażeń.

Część III 1. Zamodelować dowolny automat na stanowisku. 2. Określić wyrażenie regularne reprerezentowane przez ten automat.. Dokonać syntezy automatu na podstawie określonego w 2. wyrażenia. 4. Udowodnić, że oba automaty rozpoznają te same sekwencje zdarzeń. 5. Określić, które stany automatów są równoważne na podstawie analizy modeli abstrakcyjnych. 7. SPRAWOZDANIE Z ĆWICZENIA W sprawozdaniu należy umieścić: temat i cel ćwiczenia, schematy zamodelowanych automatów, wyniki testowania automatów, wnioski z ćwiczenia LITERATURA 1. J. Bromirski, Teoria automatów, WNT, Warszawa, 199 2. J. Kazimierczak, J. Kluska, A. Kaczmarek, Podstawy teorii automatów laboratorium, Wydawnictwa Politechniki Rzeszowskiej, Rzeszów, 1984. E. N. Wawiłow, G. P. Portnoj, Synteza układów elektronicznych maszyn cyfrowych, WNT, Warszawa, 197