Gramatika bez ograničenja

S Vikipedije, slobodne enciklopedije

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]


Literatura[uredi | uredi izvor]