Kontekstno-senzitivna gramatika

Kontekstno-senzitivna gramatika je formalna gramatika kod koje leva i desna strana svakog pravila izvođenja može da bude okružena kontekstom završnih i nezavršnih simbola. Kontekstno-senzitivne gramatike su opštije od kontekstno slobodnih gramatika ali su još uvek dovoljno uređene da mogu da ih parsiraju linearno ograničeni automati.

Pojam kontekstno-senzitivne gramatike je uveo Noam Čomski tokom pedesetih godina dvadesetog veka kao način za opisivanje sintakse prirodnih jezika gde je zaista čest slučaj da reč može ali i ne mora da bude prihvatljiva na određenom mestu u zavisnosti od konteksta. Formalni jezik koji može da bude opisan kontekstno-senzitivnom gramatikom se naziva kontekstno-senzitivnim jezikom.

Formalna definicija uredi

Formalna gramatika G = (N, Σ, P, S) je kontekstno-senzitivna ako su sva pravila iz skupa P oblika

αAβ → αγβ

gde AN (to jest, A je jedan nezavršni simbol), α, β ∈ (N U Σ)* (to jest, α i β su niske nezavršnih i završnih simbola) а γ ∈ (N U Σ)+ (to jest, γ je neprazna niska nezavršnih i završnih simbola).

Neke definicije dodaju i da za svako pravilo izvođenja oblika u → v kontekstno-senzitivne gramatike mora da važi u|≤|v|. Ovde u| i v| označavaju dužine niski u i v.

Osim toga, dozvoljeno je i pravilo oblika

S → λ pod uslovom da se S ne pojavljuje na desnoj strani nijednog pravila.

Ovde λ predstavlja praznu nisku. Dodavanje prazne niske omogućava tvrdnju da su kontekstno-senzitivni jezici pravi nadskup kontekstno-slobodnih jezika, umesto slabije tvrdnjee da su sve kontekstno-slobodne gramatike bez →λ izvođenja ujedno i kontekstno-senzitivne gramatike.

Ime kontekstno-senzitivna se objašnjava time što α i β formiraju kontekst za A čime određuju da li A može da se preslika u γ ili ne. Ovo je razlika u odnosu na kontekstno-slobodne gramatike kod kojih kontekst u kom se nezavršni simbol nalazi ne uzima u razmatranje.

Ako se mogućnost dodavanja prazne niske u jezik doda u skup niski prepoznatih od strane nekontraktivnih gramatika (koje nikada ne mogu da uključe praznu nisku) onda su jezici u ove dve definicije identični.

Primeri uredi

Ova gramatika generiše kanonski ne-kontekstno-slobodni jezik  :

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  

Tok izvođenja za aaa bbb ccc je:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


Komplikovanije gramatike mogu da se koriste za parsiranje  , i drugih jezika sa još više slova:

S → abcd
S → aXbcd
Xb → bX
Xc → bYc
Yc → cY
Yd → Rcdd
cR → Rc
bR → Rb
aa

(Ova gramatika u stvari nije kontekstno-senzitivna zbog prisustva pravila izvođenja oblika Xb → bX. Međutim, postoji kontekstno-senzitivna gramatikak za ovaj jezik.)

Tok izvođenja za aaa bbb ccc ddd je:

S
aXbcd
abXcd
abbYcd
abbcYd
abbcRcdd
abbRccdd
abRbccdd
aRbbccdd
aaXbbccdd
aabXbccdd
aabbXccdd
aabbbYccdd
aabbbcYcdd
aabbbccYdd
aabbbccRcddd
aabbbcRccddd
aabbbRcccddd
aabbRbcccddd
aabRbbcccddd
aaRbbbcccddd
aaabbbcccddd

Normalne forme uredi

Svaka kontekstno-osetljiva gramatiak koja ne generiše praznu nisku može da se transformiše u ekvivalentnu gramatiku u normalnoj formi Kurode. Ovde ekvivalentnu znači da dve gramatike generišu isti jezik. Normalna forma u opštem slučaju ne mora da bude kontekstno-senzitivna, ali mora da bude nekontraktivna gramatika.

Računska svojstva i upotrebe uredi

Problem odlučivanja koji postavlja pitanje da li određena niska s pripada jeziku određene kontekstno-senzitivne gramatike G, je PSPACE-kompletan. Postoje i neke kontekstno-senzitivne gramatike za koje je problem prepoznavanja fiksne gramatike PSPACE-kompletan.

Problem praznosti za kontekstno-senzitivne gramatike (da li za datu kontekstno senzitivnu gramatiku G, važi   ?) je neodlučiv.

Pokazano je da skoro svi prirodni jezici mogu u opštem slučaju da budu opisani kontekstno-senzitivnim gramatikama, ali cela klasa konteksnto-senzitivnih gramatika izgleda da je mnogo šira od skupa prirodnih jezika. Osim toga, kako je pomenuti problem odlučivanja za kontekstno-senzitivne gramatike PSPACE-kompletan, to ih čini u potpunosti neupotrebljivim za praktične upotrebe, jer bi polinomijalni algoritam za PSPACE-kompletan problem implicirao P=NP. Tekuća istraživanja u računarskoj lingvistici su usmerena na formulisanje drugih klasa jezika koji su blago kontekstno-senzitivni, čiji bi problemi odlučivanja bili izvodljivi. Jezici generisani ovim formalizmima su pravi podskupovi kontekstno-senzitivnih i pravi nadskupovi kontekstno-slobodnih jezika.

Vidi još uredi

Literatura uredi

  • Introduction to Languages and the Theory of Computation by John C. Martin McGraw Hill 1996 (2nd edition)