Chomského hierarchia

Zo stránky testwiki
Prejsť na navigáciu Prejsť na vyhľadávanie
Chomského hierachia (diagram tried).

Chomského hierarchia jazykov je porovnanie štyroch tried klasických jazykov (a tým aj sily ich príslušných gramatík a automatov):

CFECSRE

kde

Túto hierarchiu (systém inklúzií) popísal ako prvý americký informatik a lingvista Noam Chomsky v roku 1956.

Nové jazyky, príp. jazyky generované novými gramatikami či akceptované novými automatmi, sa často porovnávajú s týmito jazykmi. Ich zaradením do Chomského hierarchie získame odhad ich sily vzhľadom na známe klasické jazyky (gramatiky, automaty). Niektoré jazyky sa pekne zaraďujú do tejto hierarchie (napr. trieda rekurzívnych jazykov Rec: ECSRecRE), kým iné zasa vôbec (napr. trieda jazykov generovaných 0L systémami 0L).

Chomského hierarchia jazykov však nepokrýva všetky jazyky, t. j. existujú jazyky, ktoré nie sú ani rekurzívne vyčísliteľné (pozri napr. problém zastavenia).

Všetky jazyky Chomského hierarchie sú generované gramatikami, ktoré vznikli z frázovej gramatiky postupných pridávaním obmedzení na prepisovacie pravidlá. Nasledujúca tabuľka zhŕňa jazyky tejto hierarchie, k nim zodpovedajúce gramatiky a povolené prepisovacie pravidlá a typ automatu, ktorý ich dokáže akceptovať:

Jazyk Gramatika Prepisovacie pravidlá Automat
Rekurzívne vyčísliteľný Frázová (žiadne obmedzenia) Turingov stroj
Rozšírený kontextový (Rozšírená) kontextová uv,|u||v|,σε Nedeterministický lineárne ohraničený automat
Bezkontextový Bezkontextová ξu Nedeterministický zásobníkový automat
Regulárny Regulárna ξwα|w|ε Konečný automat

(v tabuľke ξN,u(NT)*N(NT)*,v(NT)*,wT*,σN je počiatočný neterminál a v rozšírených kontextových gramatikách sa σ nevyskytuje na pravej strane žiadneho pravidla)

Všetky inklúzie v Chomského hierarchii sú vlastné. Nasledujúca tabuľka uvádza príklady jazykov, ktoré sa nachádzajú v príslušných rozdieloch tried:

Rozdiel Príklad
CFR {anbn|n0}
ECSCF {anbncn|n0}
REECS diagonálny jazyk,univerzálny jazyk

Šablóna:Formálne jazyky a gramatiky