Gramatika bez ograničenja

U teoriji formalnih jezika, gramatika bez ograničenja je formalna gramatika nad kojom nema ograničenja u vezi sa levom i desnom stranom pravila izvođenja. Ovo je najopštija klasa gramatika u hijerarhiji Čomskog-Šicenbergera, i može da generiše proizvoljne rekurzivno prebrojive jezike.

Formalna definicija uredi

Gramatika bez ograničenja je formalna gramatika  , gde je   skup nezavršnih simbola,   je skup završnih simbola,   i   su disjunktni (u stvari, ovo nije strogo neophodno, jer gramatike bez ograničenja u suštini ne prave razliku između završnih i nezavršnih simbola - razlika se pravi samo da bi se znalo kada treba stati sa generisanjem rečeničnih formi gramatike),   je skup pravila izvođenja oblika   gde su   i   niske simbola iz  ,   nije prazna niska, i   je posebno odabrani početni simbol. Kao što ime nagoveštava, nema pravih ograničenja što se tiče tipova pravila izvođenja koja gramatika bez ograničenja može da sadrži.

Gramatike bez ograničenja i Tjuringove mašine uredi

Može da se pokaže da gramatike bez ograničenja odgovaraju rekurzivno prebrojivim jezicima. Ovo znači da za svaku gramatiku bez ograničenja   postoji neka Tjuringova mašina koja je sposobna da prepozna   i obratno. Za datu gramatiku bez ograničenja, takvu Tjuringovu mašinu je prilično jednostavno konstruisati, kao nedeterminističku Tjuringovu mašinu sa dve trake. Prva traka sadrži ulaznu reč  , koja se testira, a drugu traku mašina koristi da generiše rečenične forme iz  . Tjuringova mašina radi na sledeći način:

  1. Kreće sleva na drugoj traci i uzastopno bira da se pomera udesno ili da odabira trenutnu poziciju na traci.
  2. Nedeterministički bira pravilo izvođenja   iz skupa pravila iz  .
  3. Ako se   pojavljuje na nekoj poziciji na drugoj traci, zamenjuje   sa   na tom mestu, uz potencijalno pomeranje simbola na traci ulevo ili udesno, u zavisnosti od relativnih dužina   i   (to jest, ako je   duže od  , simboli na traci se pomeraju ulevo).
  4. Poredi se rezultujuća rečenična forma na drugoj traci sa rečju sa prve trake 1. Ako se reči poklapaju, Tjuringova mašina prihvata reč. Ako se ne poklapaju, vraća se na prvi korak.

Lako se može videti da ova Tjuringova mašina generiše sve i tačno sve rečenične forme za   na svojoj drugoj traci nakon što je poslednji korak izvršen dovoljan broj puta, i stoga jezik   mora da bude rekurzivno prebrojiv.

Moguća je i obratna konstrukcija. Za datu Tjuringovu mašinu je moguće napraviti odgovarajuću gramatiku bez ograničenja.

Računska svojstva uredi

Kao što se može očekivati iz ekvivalencije gramatika bez ograničenja i Tjuringovih mašina, problem odlučivanja da li data niska   pripada jeziku neke gramatike bez ograničenja je u opštem slučaju neodlučiv.

Potpuno je moguće da se napravi univerzalna gramatika bez ograničenja koja je u stanju da prihvati jezik svake druge gramatike bez ograničenja za dati opis jezika, kao što je moguće da se napravi univerzalna Tjuringova mašina, pa bi u teoriji bilo moguće da se napravi programski jezik baziran na gramatikama bez ograničenja (na primer Thue).

Vidi još uredi


Literatura uredi