Podręcznik
3. Automaty skończone
3.2. Automaty skończone
Automaty skończone są abstrakcyjnymi modelami rzeczywistych systemów cyfrowych.
Automat skończony lub dokładniej deterministyczny automat skończony (DAS) to piątka uporządkowana , gdzie - jest zbiorem stanów, - alfabetem wejściowym, - funkcją przejść automatu, - tzw. stanem początkowym a – zbiorem stanów końcowych.
Stan automatu umożliwia pamiętanie historii wejścia tzn. stan w chwili bieżącej. Ogólnie rzecz biorąc zależy od słowa podanego na wejście w chwilach poprzednich.
Mówimy, że automat skończony akceptuje słowo pojawiające się na wejściu automatu, jeśli ciąg przejść ze stanu do stanu odpowiadający literom słowa wejściowego prowadzi od stanu początkowego do jakiegoś stanu akceptowalnego tzn takiego że .
Automat skończony wyobrażamy sobie jako układ o skończonej liczbie stanów, z jednym wejściem, który znajduje się w pewnym stanie i czyta ciąg symboli z alfabetu , czyli czyta słowo nad alfabetem podane na wejście. Układ działa w dyskretnych chwilach, które dla uproszczenia utożsamiamy z liczbami naturalnymi. W każdej chwili automat może odczytać tylko jedną literę słowa czyta ją i zmienia stan ze stanu zgodnie z funkcją przejścia na po czym automat staje i czeka na następną chwilę. W kolejnych chwilach pojawiają się więc na wejściu litery i następują zmiany stanu. Jeśli tzn. dotarliśmy do stanu akceptującego to uważamy, że automat zaakceptował słowo wejściowe dotychczas podane na wejście automatu.
Jeśli mamy funkcję przejścia to w naturalny sposób można ją rozszerzyć do funkcji definiując następująco:
Język akceptowany przez automat skończony to z definicji zbiór . Język nazywamy językiem regularnym, jeśli jest akceptowany przez jakiś automat skończony
Niedeterministyczny automat skończony to piątka uporządkowana , gdzie jest zbiorem stanów automatu, alfabetem wejściowym, - tzw. stanem początkowym, - zbiorem stanów końcowych a - funkcją przejść automatu niedeterministycznego. Przypominamy, że symbolem oznaczamy zbiór wszystkich podzbiorów zbioru .
Zbiór jest zbiorem wszystkich stanów do których możliwe jest przejście ze stanu pod wpływem litery podanej na wejście automatu.
Zauważmy, że zdefiniowane wyżej automaty są automatami bez wyjścia. Ponieważ w praktyce najczęściej mamy do czynienia z systemami cyfrowymi z wyjściem, dlatego też wprowadza się definicje automatów skończonych z wyjściem.
Automat skończony z wyjściem to szóstka uporządkowana , gdzie są alfabetami, i są funkcjami oraz . to alfabet wejściowy, alfabet wyjściowy a jest tzw. zbiorem stanów. Funkcja nosi nazwę funkcji przejść, funkcja nazywa się funkcją wyjść, a jest tzw. stanem początkowym. Tak zdefiniowany automat nazywa się automatem Moore’a.
Jeśli funkcja jest funkcją bezpośrednio zależną od wejścia tzn. , to taką szóstkę uporządkowaną nazywamy automatem Mealy'ego.
Automat skończony z wyjściem wyobrażamy sobie jako układ o skończonej liczbie stanów, z jednym wejściem i jednym wyjściem, który znajduje się w pewnym stanie i czyta ciąg symboli z alfabetu czyli czyta słowo nad alfabetem podane na wejście. Układ działa w dyskretnych chwilach, które dla uproszczenia utożsamiamy z liczbami naturalnymi 1,2,3..... W każdej chwili automat może odczytać tylko jedną literę słowa czyta ją i zmienia stan ze stanu zgodnie z funkcją przejścia na i wyprowadza na wyjście literę w przypadku automatu Moore’a lub w przypadku automatu Mealy’ego po czym automat staje i czeka na następną chwilę. W kolejnych chwilach pojawiają się więc na wejściu litery , na wyjściu litery i następują zmiany stanu. Automaty Moore’a i Mealy’ego są więc urządzeniami do przetwarzania słów.
Układ sekwencyjny to układ elektroniczny realizujący automat skończony.
Rys. 2. Przetwarzanie słów przez automat skończony bez wyjścia
Rys. 3. Przetwarzanie słów przez automat skończony z wyjściem
Rys. 4. Schemat blokowy układu automat skończony z wyjściem a) automat Moore’a, b) automat Mealy’ego
Rys. 5. Struktura uniwersalna automatu Moore’a z kodowaniem binarnym symboli wejściowych, wyjściowych i stanów; rejestr stanu jest rejestrem r bitowym
Rys. 6. Struktura uniwersalna automatu Mealy’ego z kodowaniem binarnym symboli wejściowych, wyjściowych i stanów
Opis automatu grafem. Z każdym automatem skończonym wiążemy diagram przejść lub dokładniej graf automatu. Jest to graf skierowany w którym wierzchołki grafu odpowiadają stanom automatu Jeśli w automacie istnieje przejście ze stanu do stanu przy wejściu to diagram zawiera gałąź prowadzącą ze stanu do stanu i opatrzoną etykietą .
Rys.7. Opis automatu grafem. Z każdym automatem skończonym wiążemy diagram przejść czyli graf skierowany opisujący działanie automatu