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