Hierarhija jezikov Chomskyja je klasifikacijski sistem, ki kategorizira formalne slovnice na podlagi njihove generativne moči. Predlagal ga je Noam Chomsky, priznani jezikoslovec in računalničar, v petdesetih letih prejšnjega stoletja. Hierarhijo sestavljajo štiri ravni, od katerih vsaka predstavlja drug razred formalnih jezikov. Te ravni so znane kot tip-1950 (običajni), tip-3 (brez konteksta), tip-2 (občutljiv na kontekst) in tip-1 (neomejen).
Na najnižji ravni hierarhije so jeziki tipa 3, znani tudi kot navadni jeziki. Te jezike je mogoče prepoznati po končnih avtomatih, kot so deterministični in nedeterministični končni avtomati. Za običajne jezike so značilni regularni izrazi in regularne slovnice. Regularni izrazi so algebrski izrazi, ki opisujejo vzorce nizov, medtem ko so običajne slovnice sestavljene iz produkcijskih pravil, ki generirajo nize v običajnem jeziku. Primer običajnega jezika je niz vseh nizov, ki se ujemajo z danim regularnim izrazom, kot je jezik vseh binarnih nizov s sodim številom 0.
Navzgor po hierarhiji naletimo na jezike tipa 2, znane tudi kot jeziki brez konteksta. Te jezike je mogoče prepoznati po potisnih avtomatih, ki so končni avtomati, razširjeni s skladom. Jeziki brez konteksta so opisani s slovnicami brez konteksta, ki so sestavljene iz produkcijskih pravil, ki generirajo nize v jeziku brez konteksta. Slovnice brez konteksta imajo neterminalne simbole, terminalske simbole in produkcijska pravila, ki določajo, kako je mogoče neterminale zamenjati z zaporedjem simbolov. Primer jezika brez konteksta je nabor vseh dobro oblikovanih aritmetičnih izrazov, kjer so oklepaji uravnoteženi in operatorji pravilno uporabljeni.
Naslednja raven hierarhije so jeziki tipa 1, znani tudi kot kontekstno občutljivi jeziki. Te jezike je mogoče prepoznati po linearno omejenih avtomatih, ki so končni avtomati s trakom, ki se lahko premika v obe smeri. Kontekstno občutljive jezike opisujejo kontekstno občutljive slovnice, ki so sestavljene iz produkcijskih pravil, ki generirajo nize v kontekstualno občutljivem jeziku. Kontekstno občutljive slovnice imajo dodatno omejitev, da dolžina desne strani produkcijskega pravila ne sme biti krajša od dolžine leve strani. Primer kontekstno občutljivega jezika je niz vseh palindromov, kjer se niz bere enako naprej in nazaj.
Nazadnje, na vrhu hierarhije imamo jezike tipa 0, znane tudi kot neomejeni jeziki. Te jezike lahko prepoznajo Turingovi stroji, ki so abstraktne računalniške naprave, ki lahko simulirajo kateri koli računalniški algoritem. Neomejeni jeziki so opisani z neomejenimi slovnicami, ki nimajo nobenih omejitev glede produkcijskih pravil. Primer neomejenega jezika je nabor vseh rekurzivno števnih jezikov, ki vključuje vse izračunljive jezike.
Hierarhija jezikov Chomskyja zagotavlja sistematičen okvir za razvrščanje formalnih slovnic na podlagi njihove generativne moči. Začne se z navadnimi jeziki, ki so najmanj zmogljivi, in napreduje do kontekstno neodvisnih, kontekstno občutljivih in neomejenih jezikov, ki so čedalje močnejši. Ta hierarhija je temeljni koncept na področju teorije računalniške kompleksnosti in ima pomembne posledice za študij formalnih jezikov in avtomatov.
Druga nedavna vprašanja in odgovori v zvezi Chomskyjeva hierarhija in jeziki, občutljivi na kontekst:
- Ali obstajajo trenutne metode za prepoznavanje tipa 0? Ali pričakujemo, da bo to izvedljivo s kvantnimi računalniki?
- Opišite postopek oblikovanja kontekstno občutljive slovnice za jezik, sestavljen iz nizov z enakim številom enic, dvojk in trojk.
- Navedite primer kontekstno občutljivega jezika in pojasnite, kako ga lahko kontekstno občutljiva slovnica prepozna.
- Kako se jeziki tipa 0, znani tudi kot rekurzivno številčni jeziki, razlikujejo od drugih vrst jezikov v smislu računalniške kompleksnosti?
- Pojasnite razliko med kontekstno prostimi jeziki in kontekstno občutljivimi jeziki glede na pravila, ki urejajo njihovo oblikovanje.