Úvodní stránka | Tato stránka v originále

Konečný státní stroj

V informatice, konečný-stroj státu (FSM) nebo konečný-automat státu (FSA) je abstraktní stroj to má jen konečné, konstantní množství paměti. Interní statess stroje nést žádnou další strukturu. Tento druh modelu je velmi široce použitý ve studiu počítání a jazycích.

To může být conceptualised jak orientovaný graf. Tam být finitely mnoho států, a každý stát má přechody ke státům. Tam je řetězec vstupu, který určuje který přechod je následován (některé přechody mohou být od státu k sobě). Konečné státní stroje jsou studovány v teorie automatů, subfield teoretický informatika.

Tam je několik druhů konečných státních strojů:

Příjemcové produkují “ano” nebo “ne” odpověď na vstup; oni jeden přijímat vstup nebo dělat ne. Recognizers roztřídí vstup. Snímače jsou používány produkovat výstup z daného vstupu.

Konečné automaty mohou operovat jazyky konečných slov (standardní případ), nekonečná slova (Rabin automaty, Büchi automaty), nebo různé druhy stromů (automaty stromu), jmenovat nejvíce důležité případy.

Další rozdíl je mezitím deterministický a non-deterministický automaty. V deterministických automatech, pro každého stát tam je u většiny jednoho přechodu pro každý možný vstup. V non-deterministické automaty, tam moci být víc než jeden přechod od daného státu pro daný možný vstup. Non-deterministické automaty jsou obvykle realizovány tím, že změní je na deterministické automaty - v nejhorším případě, vytvořený deterministický automat je exponenciálně větší než non-deterministický automat (ačkoli to může obvykle být podstatně optimalizováno).

Standardní přijatá podmínka pro non-deterministické automaty vyžaduje to nějaké počítání připustí vstup. Automaty střídání také poskytují dvojí pojem, kde pro přijetí všichni non-deterministická počítání musí přijmout to.

Na rozdíl od teorie, konečné státní stroje nastanou také v hardwaru obvody, kde vstup, stát a výstup jsou vektory kousku připravil velikost pro (Moore stroje a stroje Mealyho).

Mealy stroje mají akce (výstupy) sdružily se s přechody a Moore stroje mají akce spojené se státy.

Tabulka s obsahem
1 formální definice
2 příklady FSMs
3 optimalizace a Canonicalisation
4 výpočetní síla
5 reprezentace
6 implementace
7 odkazů

Formální definice

Deterministický konečný automat

Formálně, deterministický konečný automat (DFA) je 5-n-tice: (S, a Sigma;, T, s, )

Stroj začne ve státě začátku a čteních v řetězci symbolů od jeho abecedy. To používá funkci přechodu T určovat příští státní používání dnešní stav a symbol jen četli. Jestliže, když to skončilo číst, to je v přijímat stát, to je řekl, aby přijímal řetězec, jinak to je řekl, aby odmítl řetězec. Soubor řetězců to připustí tvořit jazyk, který je jazyk DFA uzná.

Non-deterministický konečný automat

Non-deterministický konečný automat (NFA) je 5-n-tice: (S, a Sigma;, T, s, )

Kde P(S) je elektrický soubor S a a epsilon; je vyprázdnit řetězec.

Stroj začne ve státě začátku a čteních v řetězci symbolů od jeho abecedy. To používá vztah přechodu T určovat příští stát (s) používat dnešní stav a symbol jen číst nebo vyprázdnit řetězec. Jestliže, když to skončilo číst, to je v přijímat stát, to je řekl, aby přijímal řetězec, jinak to je řekl, aby odmítl řetězec. Soubor řetězců to připustí tvořit jazyk, který je jazyk NFA uzná.

Celkové non-deterministický konečný automat

Celkový non-deterministický konečný automat (GNFA) je 5-n-tice: (S, a Sigma;, T, s, )

Kde R je sbírka všech pravidelných výrazů přes abecedu a Sigma;.

DFA nebo NFA může snadno být přeměněn na GNFA a pak GNFA může být snadno přeměněn na pravidelný výraz snížením počtu států until S = {s, }.

Příklady FSMs

Deterministický konečný státní stroj

Následování příkladu vysvětlí deterministický konečný státní stroj (M) s binární abecedou, který určuje jestliže vstup obsahuje sudé číslo 0s.

M = (S, a Sigma;, T, s, )Prostě daný, stát S1 reprezentuje to tam bylo sudé číslo 0s ve vstupu doposud, zatímco S2 znamená liché číslo. 1 ve vstupu nemění stav automatu. Když vstup skončí, stát se ukáže zda vstup obsahoval sudé číslo 0s nebo ne.

Optimalizace a Canonicalisation

Problém optimalizovat FSM (nacházet stroj s nejméně množství států to zastává stejnou funkci) decidable, unlike stejný problém pro více computationally silné stroje. Dále, to je možné sestrojit kanonickou verzi nějakého FSM, v objednávce k testu na rovnost. Oba tyto problémy mohou být řešeny používat algoritmus zbarvení.

Výpočetní síla

FSMs může jen rozpoznat pravidelné jazyky a od této doby oni jsou méně computationally silní než Turing stroje - tam decidable problémy, které nejsou vypočitatelné používají FSM.

Pro každý non-deterministický FSM deterministický FSM se rovnat výpočetní síla může být budována s algoritmem.

Reprezentace

FSM může být reprezentován používat státní přechodový stůl nebo diagram státu.

Implementace

Konečný státní stroj může být realizován v softwaru se státní přechodovou maticí (v některých případech rozptýlená matice splnila s provázanými seznamy nebo obrovský přepínač- sdělení pro odhalovat interní stát a pak individuální přepínací sdělení pro dekódování symbol vstupu).

V hardwaru FSM může být stavěn od programovatelného logického zařízení.

Viz též

Odkazy