Екібастұздық грамматикалар мен детерминистик емес арасындағы қатынастар мен айырмашылықтар қандай?

Интуитивті түрде, мен бірдей емес грамматиканың детерминистикалық емес грамматикалармен бірдей екенін болжадым. сәйкес Уикипедия, алайда, бұл жалған:

анықтамалық емес анықталған CFGs бар

Грамматикадағы анықсыздық пен детерминизм арасындағы айырмашылық қандай? Грамматикаға тәуелсіз, бірақ анық емес грамматиканың үлгісі қандай?

4
Біріншіден, '' deterministic grammar 'сияқты ештеңе жоқ; дегенмен контекстсіз тіл $ L $ - бұл детерминистик, егер оны танитын детерминистикалық басу автоматы болса. Бинарлы алфавиттің үстінен бірдей ұзын палиндромдар $ \ {ww ^ R \ mid w \ in \ {a, b \} ^ \ ast \} $ (мұндағы $ w ^ R $ сөздің қайта қалпына келтіруін білдіреді) $ w $), ол бір мәнді емес: ол үшін бір грамматика бар, мысалы, $ S \ to a \, S \, a \ mid b \, S \, b \ mid \ varepsilon $.
қосылды автор Justin Tanner, көзі
Менің ойымша, бұл дұрыс пайдаланылмайды: тілдер немесе автоматтар грамматиканы емес, детерминистикалық болуы мүмкін. Дұрыс тұжырым: «Ресми грамматикалық теорияда детерминистикалық контекстен тыс тілдер (DCFL) контекстен тыс тілдердің (CFL) тиісті жиынтығы».
қосылды автор Justin Tanner, көзі
Мен wikipedia бетіне қараған жоқпын. Олар детерминисттік CFG-ді сол тілде DPDA бар болғандар ретінде анықтайды. Бұл қауіпті анықтама, себебі ол бұл DPDA құрастыру үшін сізге how туралы айтпайды. Кейінірек параграфта: «DCFG - бұл практикалық қызығушылық, өйткені оларды сызықтық уақытында талдау мүмкіндігі бар, ал шын мәнінде парсерді генератор арқылы грамматиканың автоматты түрде жасалуы мүмкін», дегенмен undecidable i>, CFG ескере отырып, оның тілі DCFL болсын.
қосылды автор Justin Tanner, көзі
@sjmc: Sipser DCFG дегеніміз не LR (0) грамматикасының класы (Sipster's Есептеу теориясына кірісу 3-ші шығарылым). Осындай грамматикалық үлгілер үшін және жалпы LR ($ k $) граммалары үшін кейбір $ k $ тіркелген, сізде тиімді DPDA құрылысы бар.
қосылды автор Justin Tanner, көзі
@Sylvain сізді түсінуім үшін ғана - Википедия мақаласында «формальды грамматикалық теорияда детерминистикалық контекстсіз грамматикалар (DCFG) контекстсіз грамматикалардың тиісті жиынтығы» деп айтылған кезде дұрыс емес. Бұл жағдайда ОП-ды ғана алып тастауым керек шығар?
қосылды автор AntouanK, көзі
@Sylvain Мен білмеймін, белгісіздік мәселесі жарамсыз, бірақ менің ойымша, бұл CFG детерминистикалығын анықтау мүмкін емес деп ойладым. Sipser кіріспе кітабында (3-ші басылым) «DK-тест» сипаттамасы бар, егер CFG детерминистикалық болса, онда ол өтеді.
қосылды автор wchargin, көзі

1 жауаптар

Осыған байланысты Wikipedia сілтемесін қараңыз:

http://en.wikipedia.org/wiki/Unambiguous_grammar#Recognizing_ambiguous_grammars

Мәтінмәнсіз грамматиканы талдаудың тиімділігі анықталады   оны қабылдайтын автомат. Детерминистикалық мәтінмәндік грамматика   детерминистикалық автоматтандыруды автоматтандыру арқылы қабылданады және оны талдау мүмкін болады   сызықтық уақыт, мысалы, LR анализаторы. [3] Бұл - ішкі жиындар   контекстсіз грамматика, олар автоматты түрде қабылданады   полиномдық уақыттарда, мысалы CYK алгоритмі арқылы талдау мүмкін.    Мағынасы жоқ мәтінмәндік грамматика нетренимерника болуы мүмкін. Мысалы, 0-дегі алфавит бойынша біркелкі палиндромдардың тілі   1-те S → 0S0 | бірегей контекстсіз грамматика бар 1S1 | ε. А   Осы тілдің кез-келген жолын оқып-үйренусіз талдау мүмкін емес   оның әріптері алдымен автоматтың басуын көруі керек дегенді білдіреді   балама түрдегі өтпелі кезеңдер әр түрлі болуы мүмкін   жартылай талданған жолдың ықтимал ұзындығы. [4] Дегенмен, жою   грамматикалық белгісіздік детерминистикалық контекстсіз грамматиканы шығаруы мүмкін   осылайша тиімдірек талдау жүргізуге мүмкіндік береді. Компилятор генераторлары сияқты   YACC сияқты кейбір белгісіздіктерді шешу үшін мүмкіндіктер бар   басымдық пен ассоциативті шектеулерді пайдалану арқылы.

Емес грамматика грамматика ретінде анықталуы мүмкін, ол үшін біреуден артық парсовый ағаш бар, ол туғызатын тілге тиесілі.

Детерминистикалық грамматика грамматика ретінде анықталуы мүмкін, ол үшін оның пайда болатын тілді тануға қабілетті детерминистік машина үлгісі бар.

Грамматика 1 Грамматика сияқты бірдей тілді жасайды деп пайымдаңыз. 2. Грамматика 1 бірдей және Grammar 2 бірдей емес. Егер детерминистикалық машина үлгісі Грамматика бойынша 1 тілге негізделген тілді тануға қабілетті болса, ол сондай-ақ грамматика 2 шығарған тілді тани алады (олардың екеуі бірдей тіл қалыптастырады деп болжайды). Әрине, екеуі де детерминистикалық грамматика болып табылады, алайда олар анықталмаған сұрақ бойынша ерекшеленеді.

Грамматиканың анықтамасы айқын емес грамматиканың шынайы синтаксистік құрылымы және оны талдаудың қатынасын қарастырады, ЕМЕС емес, грамматиканы бірдей тілді және бірақ белгісіздікті алып тастаңыз.

Алайда грамматиканың анықтамасы детерминизм , грамматиканың құрылымымен байланысты емес, ол тиісті детерминистикалық машина үлгісі арқылы тануға байланысты туындайтын тілдің қасиеттеріне байланысты.

2
қосылды