88 lines
No EOL
4 KiB
Markdown
88 lines
No EOL
4 KiB
Markdown
# 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á funkce
|
|
- $F \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 automatu
|
|
- $v$ - doposud nezpracovaná část řetězce
|
|
- automaty $A_{1}$ a $A_{2}$ jsou ekvivalentní, jestliže $L(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$ |