Kvocient automat - Quotient automaton - Wikipedia
v počítačová věda, zejména v teorie formálního jazyka, a kvocientový automat lze získat z daného nedeterministický konečný automat připojením se k některým jeho státům. Kvocient rozpozná nadmnožinu daného automatu; v některých případech řešeno Věta Myhill – Nerode, oba jazyky jsou stejné.
Formální definice
A (nedeterministické) konečný automat je pětinásobný A = ⟨Σ, S, s0, δ, SFWhere, kde:
- Σ je vstup abeceda (konečný, neprázdný soubor symbolů),
- S je konečná, neprázdná množina stavů,
- s0 je počáteční stav, prvek S,
- δ je přechod státu vztah: δ ⊆ S × Σ × S, a
- SF je sada konečných stavů, (případně prázdná) podmnožina S.[1][poznámka 1]
A tětiva A1...An ∈ Σ* je rozpoznán A pokud existují státy s1, ..., sn ∈ S takové, že ⟨si-1,Ai,si⟩ ∈ δ pro i=1,...,n, a sn ∈ SF. Sada všech řetězců rozpoznaných A se nazývá Jazyk uznán A; označuje se jako L(A).
Pro vztah ekvivalence ≈ na scéně S z AStátů, kvocientový automat A/≈ = ⟨Σ, S/≈, [s0], δ/≈, SF/≈⟩ Je definováno[2]:5
- vstupní abeceda Σ je stejný jako u A,
- stát nastaven S/≈ být souborem všech třídy ekvivalence států z S,
- počáteční stav [s0] je třída ekvivalence APočáteční stav,
- vztah státu a přechodu δ/≈ je definován δ/≈([s],A,[t]) pokud δ(s,A,t) pro některé s ∈ [s] a t ∈ [t], a
- množina konečných stavů SF/≈ je souborem všech tříd ekvivalence konečných stavů z SF.
Proces výpočtu A/≈ je také nazýván factoring A o ≈.
Příklad
Automat diagram | Uznáno Jazyk | Je podíl z | |||
---|---|---|---|---|---|
A podle | B podle | C podle | |||
A: | ![]() | 1+10+100 | |||
B: | ![]() | 1*+1*0+1*00 | a≈b | ||
C: | ![]() | 1*0* | a≈b, c≈d | c≈d | |
D: | ![]() | (0+1)* | a≈b≈c≈d | a≈c≈d | a≈c |
Například automat A zobrazené v prvním řádku tabulky[poznámka 2] je formálně definován
- ΣA = {0,1},
- SA = {a, b, c, d},
- sA
0 = a, - δA = {⟨A, 1, b⟩, ⟨b, 0, c⟩, ⟨c, 0, d⟩} a
- SA
F = {b, c, d}.
Rozpoznává konečnou množinu řetězců {1, 10, 100}; tuto sadu lze označit také regulární výraz "1+10+100".
Vztah (≈) = {⟨a, a⟩, ⟨a, b⟩, ⟨b, a⟩, ⟨b, b⟩, ⟨c, c⟩, ⟨c, d⟩, ⟨d, c⟩, ⟨ d, d⟩}, stručněji označeno jako a≈b, c≈d, je ekvivalenční vztah na množině {a, b, c, d} automatu AStavy. Vytvoření podílu A tímto vztahem vznikne automat C ve třetím řádku tabulky; je formálně definován
- ΣC = {0,1},
- SC = {a, c},[Poznámka 3]
- sC
0 = a, - δC = {⟨A, 1, a⟩, ⟨a, 0, c⟩, ⟨c, 0, c⟩} a
- SC
F = {a, c}.
Rozpoznává konečnou množinu všech řetězců složených z libovolně mnoha 1 s, následovaných libovolně mnoha 0, tj. {Ε, 1, 10, 100, 1000, ..., 11, 110, 1100, 11000, ..., 111, ...}; tuto množinu lze označit také regulárním výrazem „1*0*".Neformálně, C lze myslet na výsledek A lepením stavu a do stavu b a lepením stavu c do stavu d.
V tabulce jsou uvedeny některé kvocientové vztahy, například B = A/a≈b, a D = C/a≈c.
Vlastnosti
- Pro každý automat A a každý vztah ekvivalence ≈ na jeho stavech nastaven, L(A/≈) je nadmnožinou (nebo rovno) L(A).[2]:6
- Vzhledem k omezenému automatu A přes nějakou abecedu Σ, lze definovat relaci ekvivalence ≈ Σ* podle X ≈ y pokud ∀ z ∈ Σ*: xz ∈ L(A) ↔ yz ∈ L(A). Podle Věta Myhill – Nerode, A/≈ je deterministický automat, který rozpoznává stejný jazyk jako A.[1]:65–66 V důsledku toho je podíl z A každým upřesnění of ≈ také rozpoznává stejný jazyk jako A.
Viz také
Poznámky
- ^ Hopcroft a Ullman (oddíl 2.3, s. 20) používají mírně odlišnou definici δ, viz. jako funkce z S × Σ do napájecí sada z S.
- ^ V diagramech automatů v tabulce symboly ze vstupní abecedy a názvy států jsou zabarveny zelená a Červené, v uvedeném pořadí; konečné stavy jsou nakresleny jako dvojité kruhy.
- ^ Sada je přísně formální SC = {[a], [b], [c], [d]} = {[a], [c]}. Konzoly třídy jsou kvůli čitelnosti vynechány.
Reference
- ^ A b John E. Hopcroft; Jeffrey D. Ullman (1979). Úvod do teorie automatů, jazyků a výpočtu. Čtení / MA: Addison-Wesley. ISBN 0-201-02988-X.
- ^ A b Tristan le Gall a Bertrand Jeannet (březen 2007). Analýza komunikujících strojů s nekonečným stavem pomocí mřížkových automatů (PDF) (Publikace Interne). Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA) - Campus Universitaire de Beaulieu. ISSN 1166-8687.