Вирішіть, чи можна без контекстних мов прийняти детермінований автоматичний вимикач


22

Враховуючи контекстну граматику G, існує недетермінований автоматичний Pushdown N, який приймає саме ту мову, яку G приймає. (і віза)

Також може існувати детермінований Pushdown Automaton D, який точно приймає мову G, яка також приймає. Це залежить від граматики.

За яким алгоритмом на виробництвах G можна визначити, чи існує D?


4
Навіть якщо ви заздалегідь знаєте, що існує DPDA для G, не існує алгоритму, щоб його знайти. Дивіться тут .
sdcvvc

Відповіді:


20

Не існує алгоритму, який би дав без контексту граматику, вирішить, чи DPDA розпізнає ту саму мову та обчислить її, якщо вона існує.

Тому що якби такий алгоритм існував, ми змогли б вирішити нерозбірливу проблему універсальності граматики без контексту, тобто визнає чи дана без контексту граматика на Σ усю мову Σ ^ * .GΣΣΣ

Припустимо, існує такий алгоритм ADPDA . Нехай G - деяка контекстна граматика. Нехай L буде L(G) . Тоді алгоритм ADPDA буде вирішити , якщо є DPDA розпізнавання л .AL

  • Якщо такого DPDA немає, то L не розпізнається DPDA, зокрема він не є регулярним, тому він не може бути Σ .

  • Якщо DPDA існує, то ми можемо вирішити, чи дорівнює оскільки універсальність визначається для DPDA. Чому? Тому що:L ΣALΣ

    • Мови DPDA закриваються доповненням (оскільки DPDA детерміновані)
    • порожнеча визначається для DPDA (тому що це для PDA )

Використовуючи ми побудували алгоритм, який вирішує, чи для будь-якої без контексту граматики , що виявилося неможливим. Тому не існує.ADPDA G A D P D AL(G)=ΣGADPDA


Я не розумію цього вибачення. Чи використовуєте ви Σ для позначення алфавіту, який використовує G? А що ви маєте на увазі "це L повна мова "? Ви хочете сказати, що ми виконаємо алгоритм на граматиці G, яка породжує , мову будь-якого рядка над Σ? Ми чітко знайдемо не лише DPDA, а й просту DFA для цієї мови. Доповненням є порожня мова, це також легко розпізнається як DPDA, так і DFA - тому я чітко пропускаю щось у вашому поясненні. ΣΣΣΣΣ
Андрій Томазос

Сподіваюсь, це зараз зрозуміліше. Зауважте, що я відповідаю на дещо інше запитання: я б поклявся, що ви запитали, чи можемо ми обчислити , а не просто вирішити, існує чи ні. D
jmad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.