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):

{\displaystyle {\mathcal {R}}\subsetneq {\mathcal {L}}\_{CF}\subsetneq {\mathcal {L}}\_{ECS}\subsetneq {\mathcal {L}}\_{RE}}

kde

* {\displaystyle {\mathcal {R}}} je trieda regulárnych jazykov,
* {\displaystyle {\mathcal {L}}\_{CF}} je trieda bezkontextových jazykov,
* {\displaystyle {\mathcal {L}}\_{ECS}} je trieda rozšírených kontextových jazykov,
* {\displaystyle {\mathcal {L}}\_{RE}} je trieda rekurzívne vyčísliteľných jazykov.

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 {\displaystyle {\mathcal {L}}\_{Rec}}: {\displaystyle {\mathcal {L}}\_{ECS}\subsetneq {\mathcal {L}}\_{Rec}\subsetneq {\mathcal {L}}\_{RE}}), kým iné zasa vôbec (napr. trieda jazykov generovaných 0L systémami {\displaystyle {\mathcal {L}}\_{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á | {\displaystyle u\rightarrow v,|u|\leq |v|,\sigma \rightarrow \varepsilon } | Nedeterministický lineárne ohraničený automat |
| Bezkontextový | Bezkontextová | {\displaystyle \xi \rightarrow u} | Nedeterministický zásobníkový automat |
| Regulárny | Regulárna | {\displaystyle \xi \rightarrow w\alpha ~|~w~|~\varepsilon } | Konečný automat |

(v tabuľke {\displaystyle \xi \in N,u\in (N\cup T)^{\*}N(N\cup T)^{\*},v\in (N\cup T)^{\*},w\in T^{\*}},{\displaystyle \sigma \in N} je počiatočný neterminál a v rozšírených kontextových gramatikách sa \sigma  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 |
| --- | --- |
| {\displaystyle {\mathcal {L}}\_{CF}-{\mathcal {L}}\_{R}} | {\displaystyle \{a^{n}b^{n}~|~n\geq 0\}} |
| {\displaystyle {\mathcal {L}}\_{ECS}-{\mathcal {L}}\_{CF}} | {\displaystyle \{a^{n}b^{n}c^{n}~|~n\geq 0\}} |
| {\displaystyle {\mathcal {L}}\_{RE}-{\mathcal {L}}\_{ECS}} | diagonálny jazyk,univerzálny jazyk |

| Formálne jazyky, automaty a gramatiky |
| --- |
| **Chomskéhohierarchia** | **Gramatika** | **Jazyk** | **Minimálnyautomat** |
| Typ-0 | Frázová | Rekurzívne vyčísliteľný | Turingov stroj |
|  |  | Rekurzívny | Vždy zastavujúci Turingov stroj |
| Typ-1 | Kontextová | Kontextový | (Nedeterministický) lineárne ohraničený |
| Typ-2 | Bezkontextová | Bezkontextový | (Nedeterministický) zásobníkový |
| Typ-3 | Regulárna | Regulárny | Konečný |
| Každá množina jazykov alebo gramatík je vlastnou nadmnožinou množiny priamo pod ňou. |