Мені хотілося б знати, чому для розпізнавання без контекстних мов працюють лише недетерміновані автоматичні натискання (DPA = NPDA). Чому детерміновані автоматичні системи (DPDA) не розпізнають такі мови?
Мені хотілося б знати, чому для розпізнавання без контекстних мов працюють лише недетерміновані автоматичні натискання (DPA = NPDA). Чому детерміновані автоматичні системи (DPDA) не розпізнають такі мови?
Відповіді:
Я не зовсім впевнений, який аромат "чому" ви шукаєте. Одну з причин збільшення потужності при дозволі недетермінізму можна побачити в наступному прикладі:
Дозволяє бути набором паліндромів над деяким алфавітом (щонайменше з двох символів), де - це зворотний бік . NPDA для цієї мови може просто продовжувати натискання символів на її стек, а потім в якийсь момент здогадатися, що вона досягла середини введення і поступово спорожняє стек. Зауважте, що умова прийняття є суто екзистенційною - достатньо, щоб слово було прийнятним.
Детермінований КПК повинен був би обрати позицію, яку він вважає серединою певним чином, що залежить тільки від поточного префікса. Припустимоце така DPDA. Для будь-якого, дозволяє ; дозволяє бути порожнім словом, і . Це послідовність паліндром, кожна приставка наступна, так що повинні знаходитись у приймаючому стані , з стеком порожнім, після читання . За принципом голубої нори, їх повинно бути декілька такий як і (існує кінцева кількість станів, і тому деякі повинні бути "повторно використані", оскільки існує нескінченна кількість з). Але потім не може розрізнити , що є паліндром, від , що ні.
ФА детерміновано або недетерміновано приймає ту саму мову (тобто звичайний мов).
Але у випадку 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 .