system
Răspunde în limba română, în stilul Wikipedia, cat mai corect gramatical.
user
Ce poți să îmi spui despre acest subiect: Ierarhia Chomsky?
assistant
Ierarhia Chomsky este o ierarhie de incluziune a claselor de gramatici formale care generează limbaje formale. Ierarhia acestor gramatici, numite și gramatici de structură a frazelor, a fost descrisă de Noam Chomsky în 1956 (vezi bibliografia).

Gramatici formale 

O gramatică formală constă dintr-o mulțime finită de simboluri terminale (literele cuvântului din limbajul formal), o mulțime finită de simboluri neterminale, o mulțime finită de reguli de producție care au o parte stângă și una dreaptă, ambele constând dintr-un cuvânt format din aceste două tipuri de simboluri, și un simbol de start. O regulă se poate aplica unui cuvânt prin înlocuirea părții stângi cu cea dreaptă. O derivare reprezintă o succesiune de aplicări ale regulilor de producție. O astfel de gramatică definește limbajul formal al tuturor cuvintelor constând numai din simboluri terminale la care se poate ajunge printr.o derivare din simbolul de start.

Neterminalii sunt în general reprezentați prin litere mari, terminalii prin litere mici, și simbolul de start prin . De exemplu, gramatica cu terminalii , neterminalii , regulile de producție
 
  (unde  este șirul vid)
 
 
 
 
 
și simbolul de start , definește limbajul tuturor cuvintelor de forma  (adică  copii ale lui  urmate de  copii ale lui ).
Următoarea gramatică definește un limbaj similar:
Terminalii , Neterminalii , Simbolul de start , Regulile de producție

Ierarhia 

Ierarhia Chomsky constă din următoarele nivele:

 Gramaticile de tip 0 (gramatici nerestricționate) includ toate gramaticile formale. Ele generează exact toate limbajele care pot fi recunoscute de o mașină Turing. Aceste limbaje sunt cunoscute și sub numele de limbaje recursiv enumerabile. De notat că acestea sunt diferite de limbajele recursive care pot fi decise de o mașină Turing care se oprește întotdeauna

 Gramaticile de tip 1 (gramatici dependente de context) generează limbaje dependente de context. Aceste gramatici au reguli de forma  cu  neterminal și ,  și  șiruri de terminali și neterminali. Șirurile  și  pot fi vide, dar  trebuie să fie nevid. Regula  este permisă dacă  nu apare în partea dreaptă a vreunei reguli. Limbajele descrise de aceste gramatici sunt exact toate limbajele care pot fi recunoscute de o mașină Turing nedeterministă a cărei bandă este limitată de o constantă înmulțită cu lungimea intrării.

 Gramaticile de tip 2 (gramatici independente de context) generează limbaje independente de context. Acestea sunt definite ca reguli de forma  cu  neterminal și  un șir de terminali și neterminali. Aceste limbaje sunt exact toate limbajele care pot fi recunoscute de un automat cu stivă nedeterminist. Limbajele independente de context constituie baza teoretică a majorității limbajelor de programare.

 Gramaticile de tip 3 (gramatici regulate) generează limbaje regulate. O astfel de gramatică restrânge regulile la un singur neterminal pe partea stângă și o parte dreaptă constând dintr-un singur terminal, care poate fi urmat (sau precedat, dar nu ambele în aceeași gramatică) de un singur neterminal. Regula  este și ea permisă dacă  nu apare în partea dreaptă a vreunei reguli. Aceste limbaje sunt exact toate limbajele care pot fi decise de un automat finit. În plus, această familie de limbaje formale poate fi obținută cu ajutorul expresiilor regulate. Limbajele regulate sunt utilizate în general pentru a căuta șabloane și în structura lexicală a limbajelor de programare.

De notat că mulțimea gramaticilor care corespund limbajelor recursive nu este membră a acestei ierarhii.

Toate limbajele regulate sunt și independente de context, toate limbajele independente de context sunt și limbaje dependente de context și toate limbajele dependente de context sunt și recursive și toate limbajele recursive sunt și recursiv enumerabile. Acestea sunt toate incluziuni stricte, adică există limbaje recursiv enumerabille care nu sunt recursive, limbaje recursive care nu sunt dependente de context, limbaje dependente de context care nu sunt independente de context și limbaje independente de context care nu sunt regulate.

Următoarea tabelă rezumă fiecare din cele patru tipuri de gramatici ale lui Chomsky, clasele de limbaje pe care le generează, tipul de automat care le recunoaște și forma regulilor de producție.

Bibliografie 

 Noam Chomsky: Three models for the description of language, IRE Transactions on Information Theory, 2 (1956), pages 113-124
 Noam Chomsky: On certain formal properties of grammars, Information and Control, 1 (1959), pages 91-112

Alte legături 
 http://www.staff.ncl.ac.uk/hermann.moisl/ell236/lecture5.htm

Limbaje formale și automate