Чому необхідний недетермінізм (автоматичні автоматичні випадання)?


9

Мені хотілося б знати, чому для розпізнавання без контекстних мов працюють лише недетерміновані автоматичні натискання (DPA = NPDA). Чому детерміновані автоматичні системи (DPDA) не розпізнають такі мови?


10
Мова може бути розпізнана за допомогою детермінованих автоматичних виправлень, якщо для цієї мови існує деяка граматика LR (1). Оскільки існують контекстні вільні мови, які не мають жодної граматики LR (1), що описує їх, NPDA! = DPDA. Оскільки ці результати дуже добре відомі і зазвичай піддаються лікуванню під час курсу на компіляторах, я не впевнений, чи відповідає це на ваше запитання: ви, можливо, шукаєте інтуїції за цим фактом?
Олексій десять Брінк

це дійсно дещо контрсумутивне, враховуючи, що існують інші ключові моделі, де недетермінізм не має жодних змін у прийнятих мовах - FSM та TM.
vzn

Відповіді:


25

Я не зовсім впевнений, який аромат "чому" ви шукаєте. Одну з причин збільшення потужності при дозволі недетермінізму можна побачити в наступному прикладі:

Дозволяє L бути набором паліндромів ww¯ над деяким алфавітом (щонайменше з двох символів), де w¯ - це зворотний бік w. NPDA для цієї мови може просто продовжувати натискання символів на її стек, а потім в якийсь момент здогадатися, що вона досягла середини введення і поступово спорожняє стек. Зауважте, що умова прийняття є суто екзистенційною - достатньо, щоб слово було прийнятним.

Детермінований КПК повинен був би обрати позицію, яку він вважає серединою певним чином, що залежить тільки від поточного префікса. ПрипустимоAце така DPDA. Для будь-якогоkN, дозволяє uk=ab2ka; дозволяєv0 бути порожнім словом, і vk+1=vkukvk. Це послідовність паліндром, кожна приставка наступна, так щоA повинні знаходитись у приймаючому стані qk, з стеком порожнім, після читання vk. За принципом голубої нори, їх повинно бути декількаk,l такий як kl і qk=ql (існує кінцева кількість станів, і тому деякі повинні бути "повторно використані", оскільки існує нескінченна кількість kз). Але потімA не може розрізнити vkukvk, що є паліндром, від vlukvk, що ні.


0

ФА детерміновано або недетерміновано приймає ту саму мову (тобто звичайний мов).

Але у випадку PDA , якщо ми обмежимо його поведінку детерміновано, він не прийме деяких CFL (CFL без властивості префікса (крім RL)).

Чому так?

Розглянемо приклад CFL, який не має властивості префікса (властивість префіксу язика: жодна рядок не є належним префіксом іншої рядки в язиці).

L = wwr

напр. струни 00 та 0000 . (00 є правильним префіксом 0000, тому wwr не має преф. Властивості).

Після появи 00 DPDA перейде в остаточний стан. Тепер , так як DPDA не має вибору між acceptancy і безперервністю , він не може прийняти 0000 після прийняття 00 . Це місце, де КПК вимагає недетермінізму .

Спостереження : У випадку FA, lang (RL) без попередніх налаштувань. властивість може бути прийнято детерміновано (наприклад, рядки, що починаються з 0). Це показує, що ефект властивості префікса RL та CFL різний . Різниця між детермінізмом та недетермінізмом для PDA породжує нове сімейство язиків. що приймається DPDA. Цей язик називається DCFL .

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