Chomsky-hierarkiet af sprog er et klassifikationssystem, der kategoriserer formelle grammatikker baseret på deres generative kraft. Det blev foreslået af Noam Chomsky, en kendt lingvist og datalog, i 1950'erne. Hierarkiet består af fire niveauer, der hver repræsenterer en anden klasse af formelle sprog. Disse niveauer er kendt som Type-3 (Almindelig), Type-2 (Kontekstfri), Type-1 (Kontekstfølsom) og Type-0 (Ubegrænset).
På det laveste niveau i hierarkiet har vi Type-3 sprog, også kendt som almindelige sprog. Disse sprog kan genkendes af endelige automater, såsom deterministiske og ikke-deterministiske endelige automater. Regulære sprog er kendetegnet ved regulære udtryk og regulære grammatikker. Regulære udtryk er algebraiske udtryk, der beskriver mønstre af strenge, mens regulære grammatikker består af produktionsregler, der genererer strenge i et regulært sprog. Et eksempel på et regulært sprog er mængden af alle strenge, der matcher et givet regulært udtryk, såsom sproget for alle binære strenge med et lige antal 0'er.
Når vi bevæger os op i hierarkiet, støder vi på Type-2-sprog, også kendt som kontekstfrie sprog. Disse sprog kan genkendes af pushdown-automater, som er endelige automater udvidet med en stak. Kontekstfrie sprog er beskrevet af kontekstfri grammatikker, som består af produktionsregler, der genererer strenge i et kontekstfrit sprog. Kontekstfrie grammatikker har ikke-terminale symboler, terminalsymboler og produktionsregler, der specificerer, hvordan ikke-terminaler kan erstattes af en sekvens af symboler. Et eksempel på et kontekstfrit sprog er sættet af alle velformede aritmetiske udtryk, hvor parenteser er afbalancerede og operatorer anvendes korrekt.
Det næste niveau i hierarkiet er Type-1 sprog, også kendt som kontekstfølsomme sprog. Disse sprog kan genkendes af lineært afgrænsede automater, som er endelige automater med et bånd, der kan bevæge sig i begge retninger. Kontekstfølsomme sprog beskrives af kontekstfølsomme grammatikker, som består af produktionsregler, der genererer strenge i et kontekstfølsomt sprog. Kontekstfølsomme grammatikker har den yderligere begrænsning, at længden af højre side af en produktionsregel ikke kan være kortere end længden af venstre side. Et eksempel på et kontekstfølsomt sprog er sættet af alle palindromer, hvor en streng læser det samme frem og tilbage.
Endelig, øverst i hierarkiet, har vi Type-0 sprog, også kendt som Ubegrænsede sprog. Disse sprog kan genkendes af Turing-maskiner, som er abstrakte beregningsenheder, der er i stand til at simulere enhver computeralgoritme. Ubegrænsede sprog er beskrevet af ubegrænsede grammatikker, som ikke har nogen begrænsninger på produktionsreglerne. Et eksempel på et ubegrænset sprog er sættet af alle rekursivt talrige sprog, som omfatter alle regnesprog.
Chomsky-hierarkiet af sprog giver en systematisk ramme for klassificering af formelle grammatikker baseret på deres generative kraft. Det starter med regulære sprog, som er de mindst kraftfulde, og udvikler sig til kontekstfrie, kontekstfølsomme og ubegrænsede sprog, som bliver stadig mere kraftfulde. Dette hierarki er et grundlæggende begreb inden for beregningsmæssig kompleksitetsteori og har vigtige implikationer for studiet af formelle sprog og automater.
Andre seneste spørgsmål og svar vedr Chomsky Hierarki og kontekstfølsomme sprog:
- Hvad betyder det, at et sprog er stærkere end et andet?
- Er der aktuelle metoder til at genkende Type-0? Forventer vi, at kvantecomputere gør det muligt?
- Beskriv processen med at designe en kontekstfølsom grammatik til et sprog bestående af strenge med lige mange enere, toere og treere.
- Giv et eksempel på et kontekstfølsomt sprog og forklar, hvordan det kan genkendes af en kontekstfølsom grammatik.
- Hvordan adskiller type 0-sprog, også kendt som rekursivt enumerable sprog, sig fra andre typer sprog med hensyn til beregningsmæssig kompleksitet?
- Forklar forskellen mellem kontekstfri sprog og kontekstfølsomme sprog i forhold til de regler, der styrer deres dannelse.