Мови, прийняті модифікованими версіями кінцевих автоматів


16

Детермінований кінцевий автомат (DFA) - це модель машини машини, здатна приймати всі та лише звичайні мови. DFA можуть бути (і зазвичай є) визначені таким чином, що кожен стан повинен забезпечувати певний перехід для всіх елементів вхідного алфавіту; іншими словами, функція переходу повинна бути (загальною) функцією.δ:Q×ΣQ

Уявіть, що ми будемо називати подвійно детермінованим кінцевим автоматом (DDFA). Він визначається аналогічно DFA, за двома винятками: по-перше, замість переходу, що веде від одного стану до іншого, для кожного можливого символу введення, він повинен призводити до двох різних станів; по-друге, щоб прийняти рядок, всі потенційні шляхи повинні відповідати тій чи іншій з наступних умов:

  1. Всі потенційні шляхи через DDFA призводять до стану прийняття (ми це будемо називати DDFA типу-1).
  2. Усі потенційні шляхи через DDFA призводять до одного і того ж приймаючого стану (це будемо називати DDFA типу-2).

Тепер для мого питання:

Які мови приймають DDFA типу 1 і 2? Зокрема, це так, що , L (DDFA) = L (DFA) або L (DDFA) \ subsetneq L (DFA) ? У випадку, якщо L (DDFA) \ neq L (DFA) , чи є простий опис L (DDFA) ?L ( D D F A ) = L ( D F A ) L ( D D F A ) L ( D F A ) L ( D D F A ) L ( D F A ) L ( D D FL(DFA)L(DDFA)L(DDFA)=L(DFA)L(DDFA)L(DFA)L(DDFA)L(DFA)L(DDFA)

Докази (або хоча б помірно чіткі ескізи) цінуються, якщо вони не надто складні.

Відповіді:


9

Це в поєднанні з відповіддю Алекса дає повну картину.

L(DDFA)L(DFA) можна довести, пристосувавши звичайну конструкцію набору електроживлення з модифікованим умовою остаточного стану. У побудові набору потужності стани - це набори станів від початкового автомата. Зазвичай після виконання побудови силового набору стан є остаточним, якщо одне із станів у наборі є остаточним у вихідному автоматі.

  • У DDFA типу-1 кінцевими станами в побудованому автоматі є множини, де всі елементи остаточні в оригінальному автоматі.

  • У DDFA типу-2 кінцеві стани - це однотонні множини кінцевих станів від початкового автомата.

В обох випадках отримані автомати є DFA.

Тепер тип-2DDFA може виражати лише мови та , залежно від того, приймає початковий стан чи ні. Це тому, що два переходи із стану повинні переходити до різних станів, але прийняття можливе лише в тому випадку, якщо вони опиняються в одному стані.{ϵ}


7

Для початку аналізу можу сказати, що для типу 1.L(DFA)L(DDFA)

Це можна зробити, дублюючи DFA та додаючи краї до дублюваних станів. Якщо стан має перехід до на , ви також здійснюєте перехід від до на . Крім того, має перехід до та на . Очевидно, це означає, що ми майже завжди знаходимося в станах та одночасно (або, можливо, лише , спочатку), і отже, ми будемо розпізнавати ту саму мову.s 2 x s 1 s 2 x s 1 s 2 s 2 x s i s i s is1s2xs1s2xs1s2s2xsisisi

Оновлення: у нас також є для типу 2, оскільки не існує DDFA типу-2, який розпізнає мову . Якщо ви намагаєтеся зробити такий DDFA, у вас є стан запуску , і тоді у вас повинні бути два вихідних ребра для станів та на , але ці стани повинні бути різними, а значить, два прийнятих контури закінчуються різними приймаючи держави.L(DFA)L(DDFA){a}ss1s2a

Разом з відповіддю Дейва Кларка, це дає вам повний аналіз.


Дуже приємно помітити цей лічильник приклад для типу 2!
Дейв Кларк

@Dave Кларк: дякую. Це трохи дурний приклад, але він працює :)
Олексій десять Бринк

"Патологічний" на місці "дурного".
Дейв Кларк

Дуже гарна робота, хлопці. Перевірити було чотири речі, і кожен з вас отримав дві. Якщо жоден із вас не заперечить, я виберу як відповідь @DaveClarke, лише тому, що у нього менше представників, ніж у Алекса.
Patrick87

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