Граматика без ограничења
У теорији формалних језика, граматика без ограничења је формална граматика над којом нема ограничења у вези са левом и десном страном правила извођења. Ово је најопштија класа граматика у хијерархији Чомског-Шиценбергера, и може да генерише произвољне рекурзивно пребројиве језике.
Формална дефиниција
[уреди | уреди извор]Граматика без ограничења је формална граматика , где је скуп незавршних симбола, је скуп завршних симбола, и су дисјунктни (у ствари, ово није строго неопходно, јер граматике без ограничења у суштини не праве разлику између завршних и незавршних симбола - разлика се прави само да би се знало када треба стати са генерисањем реченичних форми граматике), је скуп правила извођења облика где су и ниске симбола из , није празна ниска, и је посебно одабрани почетни симбол. Као што име наговештава, нема правих ограничења што се тиче типова правила извођења која граматика без ограничења може да садржи.
Граматике без ограничења и Тјурингове машине
[уреди | уреди извор]Може да се покаже да граматике без ограничења одговарају рекурзивно пребројивим језицима. Ово значи да за сваку граматику без ограничења постоји нека Тјурингова машина која је способна да препозна и обратно. За дату граматику без ограничења, такву Тјурингову машину је прилично једноставно конструисати, као недетерминистичку Тјурингову машину са две траке. Прва трака садржи улазну реч , која се тестира, а другу траку машина користи да генерише реченичне форме из . Тјурингова машина ради на следећи начин:
- Креће слева на другој траци и узастопно бира да се помера удесно или да одабира тренутну позицију на траци.
- Недетерминистички бира правило извођења из скупа правила из .
- Ако се појављује на некој позицији на другој траци, замењује са на том месту, уз потенцијално померање симбола на траци улево или удесно, у зависности од релативних дужина и (то јест, ако је дуже од , симболи на траци се померају улево).
- Пореди се резултујућа реченична форма на другој траци са речју са прве траке 1. Ако се речи поклапају, Тјурингова машина прихвата реч. Ако се не поклапају, враћа се на први корак.
Лако се може видети да ова Тјурингова машина генерише све и тачно све реченичне форме за на својој другој траци након што је последњи корак извршен довољан број пута, и стога језик мора да буде рекурзивно пребројив.
Могућа је и обратна конструкција. За дату Тјурингову машину је могуће направити одговарајућу граматику без ограничења.
Рачунска својства
[уреди | уреди извор]Као што се може очекивати из еквиваленције граматика без ограничења и Тјурингових машина, проблем одлучивања да ли дата ниска припада језику неке граматике без ограничења је у општем случају неодлучив.
Потпуно је могуће да се направи универзална граматика без ограничења која је у стању да прихвати језик сваке друге граматике без ограничења за дати опис језика, као што је могуће да се направи универзална Тјурингова машина, па би у теорији било могуће да се направи програмски језик базиран на граматикама без ограничења (на пример Thue).
Види још
[уреди | уреди извор]
Литература
[уреди | уреди извор]- John Hopcroft and Jeffrey D. Ullman (1979). Introduction to Automata Theory, Languages, and Computation (1. изд.). Addison-Wesley. ISBN 978-0-201-44124-6. (the Cinderella book)