Kontekstno zavisni jezik
Ovaj članak ili neki od njegovih odlomaka nije dovoljno potkrijepljen izvorima (literatura, veb-sajtovi ili drugi izvori). |
Kontekstno zavisni jezik je formalni jezik koji se može definisati kontekstno zavisnom gramatikom, koja je jedan od četiri tipa gramatika u Chomskyjevoj hijerarhiji. Najmanje je korištena od sve četiri, kako u teoriji tako i u praksi.
Računska svojstva
[uredi | uredi izvor]Računski su kontekstno zavisni jezici istovjetni linearno ograničenom nedeterminističkom Turingovom mašinom. To jest, nedeterminističkoj Turingovoj mašini sa trakom od samo kn ćelija, gdje je n veličina ulaza i k konstanta asocirana sa mašinom. Ovo znači da svaki formalni jezik kojeg takva mašina odlučuje jest kontekstno zavisni jezik, i svaki kontekstno zavisni jezik može biti odlučen takvom mašinom.
Ovaj skup jezika je također poznat kao NLIN-SPACE pošto mogu biti prihvaćeni korištenjem linearnog prostora na nedeterminističkoj Turingovoj mašini. Klasa složenosti LIN-SPACE je definisana na sličan način, osim što koristi determinističku Turingovu mašinu. Očito slijedi da je LIN-SPACE podskup od NLIN-SPACE, ali se ne zna vrijedi li LIN-SPACE=NLIN-SPACE. Pretpostavlja se da te dvije klase nisu jednake.
Primjeri
[uredi | uredi izvor]Primjer kontekstno zavisnog jezika koji nije kontekstno nezavisan jest L = { ap : p je prost broj }. Najlakši način za ovo dokazati jest korištenjem linearno ograničene Turingove mašine.
Svojstva kontekstno zavisnih jezika
[uredi | uredi izvor]- Unija, presjek i nadovezivanje (konkatenacija) dva kontekstno zavisna jezika jest konteksno zavisni jezik.
- Komplement kontekstno zavisnog jezika jest i sam kontekstno zavisan.
- Svaki kontekstno nezavisan jezik jest kontekstno zavisan.