4 KiB
4 KiB
Konečné automaty
obecné vlastnosti
- konečný počet stavů
- konečný počet vstupů (vstupních symbolů nebo vstupních událostí)
- následující stav je jednoznačně určen stavem a vstupním symbolem
- jednoznačně určený počáteční stav
neřešíme, jakým způsobem zařízení vydává výsledek
Typy automatů
Rozpoznávací automat
- o vstupním řetězci vydává rozhodnutí typu ano/ne
- definice:
A = \left( Q, \sum, \delta, q_{o}, F \right)
Q
- konečná neprázdná množina stavů\sum
- konečná neprázdná množina vstupních symbolůq_{0} \in Q
- počáteční stav\delta : Q \times \sum \to Q
- přechodová funkceF \subseteq Q
- množina koncových stavů
- použití
- řešení dílčích problémů v překladačích programovacích jazyků
- jednoduché úlohy AI
Klasifikační automat
- vstupní řetězec zařadí do jedné z n tříd
- definice:
A = \left( Q, \sum, \delta, q_{o}, \{Q_{i}\} \right)
Q
- konečná neprázdná množina stavů\sum
- konečná neprázdná množina vstupních symbolůq_{0} \in Q
- počáteční stav\delta : Q \times \sum \to Q
- přechodová funkce\{Q_{i}\}
- rozklad množiny stavů (třídy)
- použití
- jednoduché úlohy AI
Automat s výstupní funkcí (překladový automat)
- na základě vstupního řetězce vytvoří výstupní řetězec z výstupních symbolů
- použití
- HW - modelování číslicových systémů
- modelování a návrh systémů logického řízení
Automat Mealyho typu
- výstupní posloupnost určena posloupností přechodů, kterými automat při zpracování řetězce prošel
- výstupní řetězec má délku
n
- definice:
A = \left( Q, \sum, O, \delta, q_{o}, \lambda \right)
Q
- konečná neprázdná množina stavů\sum
- konečná neprázdná množina vstupních symbolůO
- konečná neprázdná množina výstupních symbolůq_{0} \in Q
- počáteční stav\delta : Q \times \sum \to \quad
- přechodová funkce\lambda : Q \times \sum \to O
- výstupní funkce
- použití
- pro popis systémů s pulzními výstupy
Automat Mooreova typu
- výstupní posloupnost určena posloupností stavů, kterými automat při zpracování řetězce prošel
- výstupní řetězec má délku
n + 1
- definice:
A = \left( Q, \sum, O, \delta, q_{o}, \lambda \right)
Q
- konečná neprázdná množina stavů\sum
- konečná neprázdná množina vstupních symbolůO
- konečná neprázdná množina výstupních symbolůq_{0} \in Q
- počáteční stav\delta : Q \times \sum \to Q
- přechodová funkce\lambda : Q \to O
- výstupní funkce
- použití
- pro popis systémů s hladinovými výstupy
Konfigurace automatu, ekvivalence rozpoznávacích automatů
- konfigurací automatu
A = (Q, \sum, \delta, q_{0}, F)
je každá uspořádaná dvojice(q, v) \in Q \times \sum *
q
- aktuální stav automatuv
- doposud nezpracovaná část řetězce
- automaty
A_{1}
aA_{2}
jsou ekvivalentní, jestližeL(A_{1}) = L(A_{2})
- automaty jsou ekvivalentní, pokud rozpoznávají stejný jazyk
- ekvivalentní mohou být i automaty, které nemají stejný počet stavů
Způsob popisu konečných automatů
- přechodový graf (stavový diagram)
- tabulka
- stavový strom
Zobecněná přechodová funkce deterministického konečného automatu, její vztah k přechodové funkci
- přechodová funkce:
\delta: Q \times \sum \to Q
- definiční obor zobecněné funkce
\delta^*
D(\delta^*) = Q \times \sum^* = Q \times \left( \{e\} \cup \sum \cup \sum^2 \cup \dots \right)
D(\delta) \subseteq D(\delta^*), \quad \delta^*(q, a) = \delta(q, a) \, \forall q \in Q, \forall a \in \sum
- zobecněná přechodová funkce je jednoznačně určena přechodovou funkcí
- lze ji vyjádřit rekurzivně pomocí přechodové funkce
\delta^*(q, wa) = \delta(\delta^*(q, w)a), \delta^*(q, e) = q