KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 208. Komputerowa realizacja automatów skończonych

Podobne dokumenty
Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

WikiWS For Business Sharks

D Archiwum Prac Dyplomowych - Instrukcja dla studentów

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

Urządzenia wejścia-wyjścia

Laboratorium ochrony danych

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

3. ŁUK ELEKTRYCZNY PRĄDU STAŁEGO I PRZEMIENNEGO

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

KRZYWA BÉZIERA TWORZENIE I WIZUALIZACJA KRZYWYCH PARAMETRYCZNYCH NA PRZYKŁADZIE KRZYWEJ BÉZIERA

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

Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

Diagnostyka układów kombinacyjnych

TRANZYSTOR BIPOLARNY CHARAKTERYSTYKI STATYCZNE

D Archiwum Prac Dyplomowych - Instrukcja dla opiekunów/promotorów/recenzentów

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

Weryfikacja hipotez dla wielu populacji

Symulator układu regulacji automatycznej z samonastrajającym regulatorem PID

Nowoczesne technk nformatyczne - Ćwczene 2: PERCEPTRON str. 2 Potencjał membranowy u wyznaczany jest klasyczne: gdze: w waga -tego wejśca neuronu b ba

Odtworzenie wywodu metodą wstępującą (bottom up)

Rozwiązywanie zadań optymalizacji w środowisku programu MATLAB

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

SZACOWANIE NIEPEWNOŚCI POMIARU METODĄ PROPAGACJI ROZKŁADÓW

ZAŁĄCZNIK NR 1C KARTA USŁUGI Utrzymanie Systemu Kopii Zapasowych (USKZ)

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

Sprawozdanie powinno zawierać:

Instrukcja Obsługi Drukarki Fiskalnej POSNET

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

Elektroniczna Platforma Nadzoru. Repozytorium Dokumentów. Podręcznik użytkownika

SZTUCZNA INTELIGENCJA

D Archiwum Prac Dyplomowych - kontrola antyplagiatowa

LABORATORIUM PODSTAW ELEKTROTECHNIKI Badanie obwodów prądu sinusoidalnie zmiennego

Zadanie na wykonanie Projektu Zespołowego

EUROELEKTRA. Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej. Rok szkolny 2013/2014

ALGEBRY HALLA DLA POSETÓW SKOŃCZONEGO TYPU PRINJEKTYWNEGO

WSPOMAGANE KOMPUTEROWO POMIARY CZĘSTOTLIWOŚCI CHWILOWEJ SYGNAŁÓW IMPULSOWYCH

Wprowadzenie do Sieci Neuronowych Sieci rekurencyjne

(M2) Dynamika 1. ŚRODEK MASY. T. Środek ciężkości i środek masy

x(x) k 2 = a, WIĘC ;-, - O L

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

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

AUTOMATYKA I STEROWANIE W CHŁODNICTWIE, KLIMATYZACJI I OGRZEWNICTWIE L3 STEROWANIE INWERTEROWYM URZĄDZENIEM CHŁODNICZYM W TRYBIE PD ORAZ PID

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

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

Badanie współzależności dwóch cech ilościowych X i Y. Analiza korelacji prostej

I. Elementy analizy matematycznej

Pewnie wkrocz w świat baz danych z programem Access 2010! Bonus! Odpowiedzi do zadań na FTP

Wyznaczenie promienia hydrodynamicznego cząsteczki metodą wiskozymetryczną. Część 2. Symulacje komputerowe


5. Maszyna Turinga. q 1 Q. Konfiguracja: (q,α β) q stan αβ niepusta część taśmy wskazanie położenia głowicy

Zaawansowane metody numeryczne

Realizacja logiki szybkiego przeniesienia w prototypie prądowym układu FPGA Spartan II

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Proces narodzin i śmierci

Bonus! Odpowiedzi do zadań na FTP. Pewnie wkrocz w świat baz danych z programem Access 2010!

Ćwiczenie 2. Parametry statyczne tranzystorów bipolarnych

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W PILE INSTYTUT POLITECHNICZNY. Zakład Budowy i Eksploatacji Maszyn PRACOWNIA TERMODYNAMIKI TECHNICZNEJ INSTRUKCJA

Komórkowy model sterowania ruchem pojazdów w sieci ulic.

Instrukcja użytkowania sterownika dla central wentylacyjnych Sx646DE

Określanie mocy cylindra C w zaleŝności od ostrości wzroku V 0 Ostrość wzroku V 0 7/5 6/5 5/5 4/5 3/5 2/5 Moc cylindra C 0,5 0,75 1,0 1,25 1,5 > 2

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

Proste modele ze złożonym zachowaniem czyli o chaosie

BADANIE PROCESU EKSPLOATACJI W ASPEKCIE NIEZAWODNOŚCIOWO- EKONOMICZNYM

STARE A NOWE KRAJE UE KONKURENCYJNOŚĆ POLSKIEGO EKSPORTU

Procedura normalizacji

Regulamin promocji 14 wiosna

-Macierz gęstości: stany czyste i mieszane (przykłady) -równanie ruchu dla macierzy gęstości -granica klasyczna rozkładów kwantowych

Synteza strukturalna automatów Moore'a i Mealy

8. Optymalizacja decyzji inwestycyjnych

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

Zjawiska masowe takie, które mogą wystąpid nieograniczoną ilośd razy. Wyrazów Obcych)

Semestr zimowy Brak Nie

Kier. MTR Programowanie w MATLABie Laboratorium Ćw. 12

Systemy Ochrony Powietrza Ćwiczenia Laboratoryjne

Zmodyfikowana technika programowania dynamicznego

Andrzej Borowiecki. Open Office. Calc arkusz kalkulacyjny. Przykłady zadań dla geodetów

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

POLITECHNIKA POZNAŃSKA ZAKŁAD CHEMII FIZYCZNEJ ĆWICZENIA PRACOWNI CHEMII FIZYCZNEJ

Tworzenie stron WWW. Kurs. Wydanie III

Definicja 2. Twierdzenie 1. Definicja 3

BADANIE NIEZAWODNOŚCI DIAGNOZ

Diagonalizacja macierzy kwadratowej

Sieci Neuronowe 1 Michał Bereta

Kodowanie informacji. Instytut Informatyki UWr Studia wieczorowe. Wykład nr 2: rozszerzone i dynamiczne Huffmana

Pracownia Automatyki i Elektrotechniki Katedry Tworzyw Drzewnych Ćwiczenie 3. Analiza obwodów RLC przy wymuszeniach sinusoidalnych w stanie ustalonym

5. CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

Treść zadań 1 8 odnosi się do poniższego diagramu przestrzenno-czasowego.

4.1. Komputer i grafika komputerowa

Zestaw przezbrojeniowy na inne rodzaje gazu. 1 Dysza 2 Podkładka 3 Uszczelka

Evaluation of estimation accuracy of correlation functions with use of virtual correlator model

Za: Stanisław Latoś, Niwelacja trygonometryczna, [w:] Ćwiczenia z geodezji II [red.] J. Beluch

WZÓR. z wykonania zadania publicznego.... (tytuł zadania publicznego) w okresie od... do... określonego w umowie nr... zawartej w dniu...

Opracowanie metody predykcji czasu życia baterii na obiekcie i oceny jej aktualnego stanu na podstawie analizy bieżących parametrów jej eksploatacji.

SYSTEM ZALICZEŃ ĆWICZEŃ

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

XXX OLIMPIADA FIZYCZNA ETAP III Zadanie doświadczalne

Problemy jednoczesnego testowania wielu hipotez statystycznych i ich zastosowania w analizie mikromacierzy DNA

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

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

PROSTO O DOPASOWANIU PROSTYCH, CZYLI ANALIZA REGRESJI LINIOWEJ W PRAKTYCE

Transkrypt:

KATEDRA INFORMATYKI TECHNICZNEJ Ćwczena laboratoryjne z Logk Układów Cyfrowych ćwczene 208 Temat: Komputerowa realzacja automatów skończonych 1. Cel ćwczena Celem ćwczena jest praktyczne zapoznane sę ze sposobem programowej realzacj na komputerze automatów skończonych (na przykładze automatów typu Moore'a). 2. Program ćwczena 1. Zapoznane sę z metodą transformacj formalnego modelu automatu skończonego na model odpowedn do realzacj programowej. 2. Zapoznane sę z programem dzałającym na elementach modelu formalnego automatu. 3. Wprowadzene danych reprezentujących w pamęc komputera model formalny automatu. 4. Testowane programowego warantu automatu skończonego. 5. Opracowane wynków testowana automatu. 3. Wadomośc podstawowe Automat skończony jest modelem formalnym (matematycznym) systemu lub procesu przebegającego w dyskretnych chwlach czasu [2]. Jest on węc pewną abstrakcją, którą można jednak urealnć budując odpowedn układ funkcjonalny o zachowanu zgodnym z reprezentującym go modelem matematycznym. Automat skończony można zrealzować jako układ elektronczny (hardware) lub jako program komputerowy (software). Na przykład każdy układ sekwencyjny w strukturze fzycznej komputera jak też każdy program składowy systemu operacyjnego komputera można rozpatrywać jako pewen automat skończony. Odzwercedla to dualzm mędzy strukturą fzyczną komputera (hardware) jego oprogramowanem (software). Dzałane automatu skończonego jest jednoznaczne określone przez funkcję przejść, która może być reprezentowana w postac grafu (ang. transton dagram). Dla prostych problemów graf może być stworzony ntucyjne, na podstawe słownego opsu zadana, które pownno być realzowane przez automat. Zastosowane języka wyrażeń regularnych umożlwa przeprowadzene tego procesu w sposób formalny. Przy programowej realzacj automatu jego graf mus być reprezentowany w pamęc komputera, pownen węc zostać przekształcony na odpowedną postać symbolczną. 3.1. Reprezentacja grafów za pomocą wyrażeń symbolcznych Jednym z welu sposobów opsu grafów są wyrażena symbolczne. Elementam składowym wyrażena symbolcznego są oznaczena werzchołków łuków grafu oraz specjalne symbole organzujące wyrażene, czyl ndeksowane pary nawasów w postac n (... ) n oraz przecnek jako symbol rozdzelający. Idea zapsu grafu w postac wyrażena

Logka Układów Cyfrowych Komputerowa realzacja automatów 2 symbolcznego zostane zlustrowana na przykładze prostego grafu. Powązane elementów grafu wyrażena symbolcznego pokazane jest na rys. 1. q 1 q 2 0 (q 1 1 ( q 1, q 2 2 ( q 1, q 2 ) 2 ) 1 ) 0 Rys. 1. Transformacja grafu na wyrażene symbolczne Efektem końcowym transformacj grafu jest następujące wyrażene: = 0 1 2 ( q1 ( z1q1, z2q2 ( z1q1, z2q2 2 1 0 ) ) ) Podstawowe zasady tworzena wyrażena symbolcznego są następujące: - całe wyrażene zamknęte jest w parze nawasów 0 (... ) 0, - wszystke elementy wyrażena zawarte są w parach nawasów typu n (... ) n, mogą być one zagneżdżone, z rosnącym ndeksam n (... n1 (... ) n1... ) n, dopuszczalna jest postać typu n (... n1 (... ) n1,... n1 (... ) n1,... ) n - przed każdym nawasem otwerającym, z wyjątkem 0 (, sto symbol q będący oznaczenem werzchołka grafu, - term postac q n (z m q j reprezentuje łuk z m, prowadzący od werzchołka początkowego q do werzchołka końcowego q j, łuk prowadzące z q do nnych werzchołków zapsywane są po przecnku, na przykład q n (z m q j, z n q k dla łuku z n prowadzącego do q k, - wszystke łuk wychodzące z werzchołka q muszą być opsane wewnątrz jednej pary nawasów q n (... ) n, oznacza to, że każdy symbol q może pojawć sę przed nawasem otwerającym tylko raz, - werzchołek końcowy w terme postac z m q j może otwerać kolejny pozom zagneżdżena nawasów czyl q n (... z m q j n1 (z n q k pod warunkem, że symbol q j ne wystąpł już wcześnej przed nawasem otwerającym. Wyrażene symbolczne dla danego grafu może być zapsane na wele sposobów. Ponżej pokazana jest alternatywna postać wyrażena dla przykładowego grafu. Ma ona mnejszy stopeń zagneżdżena ale jest mnej optymalna, jeśl chodz o lczbę użytych symbol: = 0 1 1 1 1 0 ( q1 ( z1q1, z2q2), q2 ( z1q1, z2q2) ) Zwykle przyjmuje sę zasadę, że przejśca z werzchołków pojawających sę w kolejnych termach z m q j są rozwjane w głąb dopók jest to możlwe, to znaczy symbol q j ne pojawł sę już wcześnej przed nawasem otwerającym. Warto zwrócć uwagę, że aby odnaleźć wszystke łuk wychodzące z werzchołka q wystarczy ustalć mejsce wystąpena symbolu q przed nawasem otwerającym n ( a następne wypsać wszystke termy z m q j zawarte wewnątrz pary nawasów n (... ) n, pomjając przy tym zawartość wszystkch ewentualnych nawasów zagneżdżonych. (1) (2)

Logka Układów Cyfrowych Komputerowa realzacja automatów 3 3.2. Zaps symbolczny grafu automatu Punktem wyjśca do programowej realzacj automatu Moore'a jest transformacja grafu automatu na wyrażene symbolczne. Załóżmy, że zadany jest automat Moore'a reprezentowany "szóstką": gdze: < Z, Q, Y, Φ, Ψ, qs > Z - alfabet wejścowy Z = {, } Y - alfabet wyjścowy Y = { y 1, y 2, y 3 } Q - zbór stanów wewnętrznych Q = { q 1, q 2, q 3, q 4 } Φ - funkcja przejść q(t1) = Φ (q(t), z(t)) Ψ - funkcja wyjść y(t) = Ψ (q(t)) q s - stan początkowy automatu. q s = q 2 Przyjmujemy, że dzałane tego automatu określone jest przez graf przedstawony na rys. 2. raf ten, oznaczony symbolem, jest transformowany na wyrażene symbolczne (według zasad opsanych w punkce 3.1). q 1 y 2 q 4 q 2 y 3 y 3 q 3 y 1 Wyrażene Rys. 2. Przykładowy graf automatu Moore'a opsujące graf z rys. 2 ma postać: = 0 1 2 3 3 2 2 ( q2 ( z1q3 ( z1q1 ( z2q2, z1q3), q3), z2q4 ( z2q1, z1q4 2 1 0 ) ) ) (3) W przedstawonym wyrażenu symbol q r stojący przed nawasem otwerającym k ( oznacza werzchołek grafu, natomast term typu q k r (z j q s reprezentuje krawędź wychodzącą z werzchołka q r prowadzącą do werzchołka q s. Wyrażene (1) ne reprezentuje w pełn grafu, poneważ ne uwzględna przyporządkowana werzchołkom q r sygnałów wyjścowych y. Stąd też, aby uzyskać

Logka Układów Cyfrowych Komputerowa realzacja automatów 4 kompletną reprezentację grafu, wyrażenu o następującej postac: Tabela Q należy przyporządkować tabelę Q (q r y j ) q r y j q 1 y 2 q 2 y 3 q 3 y 1 q 4 y 3 W celu zapsana symbolcznej reprezentacj grafu w pamęc komputera, wyrażene jest przekształcane tak, aby za dowolnym termem typu q k r ( w wyrażenu znalazły sę termy typu z j q s reprezentujące wszystke krawędze wychodzące z danego werzchołka q r. Produktem tego przekształcena jest wyrażene symbolczne o postac: = 0 1 2 3 3 2 1 1 1 0 ( q2 ( z2q4, z1q3 ( z2q3, z1q1 ( q2, z1q3) ) ), q4 ( z2q1, z1q4) ) (4) Aby zoptymalzować operacje na wyrażenu zawerająca adresy termów q r k ( w wyrażenu szczegółów mplementacj. Tabela przedstawona ponżej: Tabela Q ~ q r adres q k ( y j q 1 x 3 y 2 q 2 x 1 y 3 q 3 x 2 y 1 q 4 x 4 y 3 Wyrażene symbolczne (4) tabela warantu automatu w pamęc komputera. 3.3. Programowy warant automatu Moore'a w tabel Q dodana zostane kolumna. Interpretacja tych adresów zależy od Q po rozszerzenu otrzymuje nazwę Q ~ jest Q ~ są głównym elementam programowego Automat Moore'a reprezentowany jest w pamęc przez wyrażene symbolczne (4) tabelę Q ~. Są to elementy statyczne, na których operuje odpowedn program. Do pamętana beżących wartośc sygnałów wejścowych, wyjścowych oraz stanu automatu służą następujące elementy: - słowo "z" zawerające aktualny sygnał wejścowy z j ϵ Z, - słowo "q" zawerające aktualny stan wewnętrzny q r ϵ Q, - słowo "y" zawerające aktualny sygnał wyjścowy y ϵ Y. Konfguracja elementów programowego warantu automatu Moore'a podstawowe operacje wykonywane na tych elementach przedstawone są na rys. 3. Załóżmy, że w słowe "q" ustawony jest stan początkowy automatu q 2. Podany na

Logka Układów Cyfrowych Komputerowa realzacja automatów 5 wejśce symbol zapamętywany jest w słowe "z". Operacja ta oznaczona jest na rys. 3 symbolem. W kolejnej operacj, oznaczonej jako, symbol q 2 jest szukany w tabel Q ~. W werszu q 2 tabel Q ~ znajduje sę adres x l werzchołka q 2 w wyrażenu. Na podstawe adresu x l, w operacj, w wyrażenu odszukany zostane werzchołek q 2, stojący przed nawasem otwerającym q 1 2 (. W operacj przeszukwana jest zawartość pary nawasów 1 (... ) 1 aby odnaleźć term zawerający symbol. Wynkem operacj jest term q 4, w którym symbol q 4 oznacza nowy stan automatu, dla którego pownen być wygenerowany odpowedn sygnał wyjścowy. Stąd też w operacj w tabel Q ~ szukany jest wersz oznaczony symbolem q 4. Znalezony wersz zawera symbol y 3, który w operacj zapsywany jest w słowe "y". W operacj uaktualnany jest stan beżący automatu przez zapsane q 4 w słowe "q". Po wykonanu opsanych powyżej operacj dla jednego przejśca następuje aktualzacja danych przekazywanych przez nterfejs wyjścowy programu. Operacje dla kolejnych przejść wykonywane są w analogczny sposób. 1 z 4 7 q q 2 2 3 5 Q ~......... q 2 x 1 y 3......... q 4 x 4 y 3......... 6 y y 3... q 2 1 ( q 4... q 4 1 ( q 1... Rys. 3. Elementy programowego warantu automatu Moore'a 4. Ops programu umożlwającego realzację automatu skończonego 4.1. Ogólna koncepcja programu W poprzednm punkce przedstawono ogólne zasady programowej realzacj automatów skończonych. Obecne zostane omówony sposób mplementacj programowego warantu automatu typu Moore'a na komputerze PC. Z wcześnejszych rozważań wynka, że program reprezentujący swom dzałanem automat skończony pownen realzować trzy podstawowe funkcje: - wprowadzane danych określających strukturę automatu wstępne sprawdzene ch poprawnośc, - symulację dzałana automatu (według zasad opsanych w punkce 3.3), - grafczną prezentację dzałana automatu na ekrane komputera. Ponżej zostane przedstawony sposób realzacj tych funkcj z zaznaczenem różnc w stosunku do wcześnej omówonych założeń.

Logka Układów Cyfrowych Komputerowa realzacja automatów 6 4.1.1. Wprowadzane struktury automatu do pamęc komputera Struktura automatu skończonego reprezentowana jest w pamęc komputera w postac wyrażena symbolcznego. W omawanej mplementacj wyrażene symbolczne może być wprowadzane zarówno w wersj (3) lub wersj (4). Ne podaje sę natomast ndeksów nawasów (są one automatyczne dołączane przez procedurę czytającą dane wejścowe). Oprócz wyrażena symbolcznego podaje sę także zbór symbol wejścowych Z, zbór stanów wewnętrznych Q, zbór symbol wyjścowych Y oraz funkcję wyjść reprezentowaną przez tabelę Q (q r y j ). Po wprowadzenu wyrażena symbolcznego poddawane jest ono analze (sprawdzana jest poprawność jego składn). W tym celu wykorzystywane są dagramy składn wyrażena symbolcznego przedstawone na rys. 4. Zastosowany algorytm analzy składnowej charakteryzują dwe cechy: - określene kolejnego kroku analzy zależy tylko od obecnego stanu oraz od pojedynczego, aktualne wczytywanego symbolu, - żadnego z kolejnych kroków analzy ne można cofnąć. Jest to tzw. analza bez powrotów z wyprzedzenem o jeden symbol (ang. one-symbol-lookahead wthout backtrackng) [5]. ID: ltera cyfra łuk: ID ID nawas: ( ID nawas ), wyrażene symbolczne: ( ID nawas ), Rys. 4. Dagramy składn wyrażena symbolcznego W przypadku stwerdzena poprawnośc wyrażena symbolcznego umeszczane jest ono w pamęc, w przecwnym przypadku sygnalzowany jest błąd. Ostateczne w pamęc zapsane jest wyrażene symbolczne oraz tabela Wraz z analzą składn wyrażena symbolcznego tworzona jest lsta łuków grafu automatu. Jest ona wykorzystywana do grafcznej prezentacj grafu automatu na ekrane komputera dokładnej zostane opsana późnej. 4.1.2. Symulacja dzałana automatu Procedura symulująca dzałane automatu skończonego oparta jest na algorytme przedstawonym w punkce 3.3. Została ona rozszerzona o podprogram umożlwający Q ~.

Logka Układów Cyfrowych Komputerowa realzacja automatów 7 wprowadzane z klawatury sekwencj symbol wejścowych. Po wczytanu symbolu wejścowego wykonywane są kolejne operacje zgodne ze schematem przedstawonym na rys. 3. W ch wynku otrzymujemy nowy stan automatu q r oraz odpowadający mu symbol wyjścowy y j. W trakce symulacj dzałana automatu na ekrane wyśwetlany jest graf automatu. Werzchołek grafu odpowadający aktualnemu stanow automatu jest odpowedno oznaczony. Wraz z analzą kolejnych symbol wejścowych następuje uaktualnene obrazu grafu na ekrane komputera. Sposób uzyskana grafu automatu na ekrane komputera zostane przedstawony w następnym punkce. 4.1.3. rafczne przedstawene grafu automatu na ekrane komputera Jednym ze sposobów opsu dzałana automatu skończonego jest podane jego grafu przejść. raf automatu reprezentowany jest wówczas przez zbór werzchołków V odpowadający stanom wewnętrznym automatu oraz przez zbór krawędz E określający możlwe przejśca mędzy stanam automatu. W celu uzyskana na ekrane odpowadającego badanemu automatow grafu przejść należy określć, na podstawe wyrażena symbolcznego, zbór krawędz tego grafu. Krawędź opsywana jest następującym parametram: gdze: k = (q p, q k, z j, rk) q p - stan początkowy (aktualny), q k - stan końcowy (następny), z j - sygnał wejścowy powodujący przejśce automatu ze q p do stanu q k, rk - rodzaj krawędz. Lsta krawędz tworzona jest równolegle podczas analzy wyrażena symbolcznego (patrz punkt 4.1.1). Otrzymujemy wówczas zbór krawędz, dla których określone są q p, q k oraz z j. Następne zostaje określony rodzaj każdej krawędz zgodne z oznaczenam przedstawonym na rys. 5. rk = 0 q p q p rk = 0 q k q p rk = 1 rk = 2 Rys. 5. Rodzaje krawędz występujące w grafe automatu q k Dysponując opsanym zborem krawędz można narysować graf automatu. Odpowedna procedura składa sę z trzech częśc: - rysowane werzchołków (stan aktualny jest wyróżnony), - rysowane łuków (krawędz) odpowadających przejścom mędzy stanam, - opsane krawędz grafu odpowednm symbolam wejścowym z j. 4.2. Ops dzałana programu Menu główne programu umożlwa wybrane jednej z następujących opcj: - DANE - EDYCJA - SYMULACJA

Logka Układów Cyfrowych Komputerowa realzacja automatów 8 Wybór żądanej opcj następuje przez wprowadzene z klawatury wyróżnonego znaku dla odpowednego pola menu lub za pomocą klawszy kerunkowych (strzałek) klawsza <ENTER>. Rezygnacja z wybranej opcj następuje w wynku nacśnęca klawsza <ESC>. 4.2.1. Opcja DANE Wybór tej opcj umożlwa realzację jednej z następujących funkcj: - wczytane danych z dysku, - zapsane danych na dysk, - ncjowane wprowadzana danych, - przeglądane katalogu, - zmana katalogu, - wyjśce z programu. Do danych określających strukturę automatu należą: - zbór symbol wejścowych Z, - zbór stanów wewnętrznych Q, - zbór symbol wyjścowych Y, - funkcja przejść (w postac wyrażena symbolcznego), - funkcja wyjść (w postac tabel). Po wczytanu danych są one wyśwetlane na ekrane komputera wraz z odpowadającym m grafem automatu. 4.2.2. Opcja EDYCJA Opcja ta umożlwa wprowadzane lub modyfkację danych określających strukturę automatu. Przy wprowadzanu danych należy pamętać, że: - dentyfkator określający symbol wejścowy, stan wewnętrzny lub symbol wyjścowy może składać sę z pojedynczej ltery odpowednego ndeksu np. z1, q5, y3, - poszczególne elementy wprowadzanych danych oddzelane są przecnkem np. Z = { z1, z2, z3 }, - przy wprowadzanu wyrażena symbolcznego ne podaje sę ndeksów nawasów (są one dodawane automatyczne przez program). W przypadku wprowadzena błędnych danych sygnalzowany jest rodzaj błędu oraz mejsce jego wystąpena. Przy poprawnym zakończenu edycj na ekrane zostają wyśwetlone aktualne dane oraz odpowadający m graf automatu. 4.2.3. Opcja SYMULACJA Opcja SYMULACJA umożlwa testowane automatu, którego struktura została wczytana ze zboru dyskowego lub wprowadzona za pomocą opcj EDYCJA. Po jej wyborze stneje możlwość realzacj jednej z następujących funkcj: - zmana aktualnego stanu wewnętrznego automatu, - wprowadzene słowa wejścowego (cągu symbol wejścowych), - praca cągła automatu, - praca krokowa automatu. Po określenu słowa wejścowego można testować automat na dwa sposoby: - automat generuje na podstawe słowa wejścowego słowo wyjścowe (pracy automatu ne można wówczas przerwać),

Logka Układów Cyfrowych Komputerowa realzacja automatów 9 - praca automatu śledzona jest krok po kroku (po każdym symbolu wejścowym praca automatu jest wstrzymywana). Na ekrane można obserwować kolejne zmany stanu automatu, a ponadto wyśwetlana jest dokumentacja jego dzałana zawerająca lstę kolejnych stanów wewnętrznych oraz generowanych symbol wyjścowych. W trakce testowana automatu może powstać sytuacja, że dane przejśce w automace jest neokreślone (w przypadku automatów nezupełnych). Następuje wówczas sygnalzacja błędu oraz wstrzymywana jest dalsza praca automatu. Podczas testowana automatu stneje równeż możlwość zmany jego aktualnego stanu bez wprowadzana symbolu wejścowego. 5. Przebeg ćwczena Dla problemów zadanych przez prowadzącego, w postac opsu słownego, przygotować przetestować automaty Moore'a: - określć graf automatu Moore'a odzwercedlający zadany problem (sprawdzć czy ne zawera on stanów równoważnych), - zapsać graf automatu w postac wyrażena symbolcznego tabel wyjść Q, - wprowadzć dane do programu przetestować komputerowy model automatu podając odpowedne cąg symbol wejścowych, - zaprojektować cąg testowy o jak najmnejszej długośc, który umożlwłby pełne przetestowane automatu (sprawdzene wszystkch przejść). W przypadku nektórych automatów może być potrzebny węcej nż jeden tak cąg. 6. Sprawozdane z ćwczena - umeścć temat cel ćwczena, - umeścć grafy automatów dla problemów podanych przez prowadzącego ćwczene, - przedstawć wyrażena symbolczne reprezentujące grafy automatów, - umeścć wynk testowana programowych warantów automatów, - podać krótke wnosk z ćwczena. 7. Lteratura [1]. Bromrsk J.: Teora automatów, WNT, Warszawa 1972 [2]. Hopcroft J. E., Ullman J.D.: Introducton to Automata Theory, Languages and Computaton, Addson-Wesley Publshng Company, Readng, Massachusets 1979 [3]. Kazmerczak J.: System Cybernetyczny, Wyd. Wedza Powszechna (sera "Omega"), Warszawa 1978 [4]. Kazmerczak J., Kluska J., Kaczmarek A., Podstawy teor automatów - Laboratorum, Wyd. Poltechnk Rzeszowskej, Rzeszów 1984 [5]. Wrth N.: Algorytmy struktury danych = programy, WNT. Warszawa 1989