Найменший DFA, який приймає задані рядки та відхиляє інші задані рядки


11

Враховуючи два набори рядків над алфавітом , чи можна обчислити найменший детермінований кінцевий стан автомата (DFA) таким, що і ?Σ M A L ( M ) L ( M ) Σ BА,БΣМAL(M)L(M)ΣB

Іншими словами, являє собою сукупність позитивних прикладів. Кожен рядок в повинен бути прийнятий DFA. являє собою сукупність негативних прикладів. DFA не повинен приймати жоден рядок уА Б ВAABБ

Чи є спосіб вирішити це, можливо, використовуючи мінімізацію DFA методи ? Я міг би уявити собі створення автоматичного типу DFA, який має три види станів: стан прийому, стан відхилення та стан "небайдужих" (будь-який вхід, який закінчується в стані "небайдужий", може бути прийнятий або або відхилено). Але чи можемо ми потім знайти спосіб мінімізувати це до звичайної DFA?

Ви можете подумати про це як про проблему вивчення DFA, надавши позитивні та негативні приклади.

На це надихає, чи regex golf NP-Complete? , який задає аналогічні запитання щодо регулярних виїмок замість DFA.


1
Я думаю, вам потрібно буде поставити якесь обмеження щодо того, які мови можуть бути та B, і як вони можуть бути визначені. АБ
reinierpost

Існує багато літератури про функції навчання / мови, наприклад, подана під час навчання в обмежених межах (також навчання в золотому стилі). Вони точно не відповідають вашій проблемі, але можуть бути цікавими.
Рафаель

Відповіді:


7

DFA, як ви описуєте, називається DFA, що відокремлюється . Існує певна література з цієї проблеми, коли і B є звичайними мовами, такими як Навчання мінімального розділення DFA для перевірки композиції Ю-Фанг Чен, Азаде Фарзан, Едмунд М. Кларк, Іх-Куен Цай, Боу-Яу ВанАБ

Зауважте, що як заявляє @reinierpost, без будь-яких обмежень на A і B проблема може стати невирішеною.


Якщо A і B обидві звичайні мови, і якщо дозволено довільно приймати або відхиляти будь-які дані, для яких A і B дають однаковий результат, я не бачу, як проблема може бути невирішеною. Для DFA будь-якого конкретного розміру можна було б сконструювати повністю вичерпний набір вхідних даних, які він повинен приймати, і входи, які він повинен відхиляти, таким чином, щоб будь-який DFA з однаковою кількістю станів або меншим, що правильно обробляє всі тестові випадки можна гарантувати поведінку однаково у всіх випадках. Оскільки машина, яка приймає все A, приймає та відкидає все інше, буде ...
supercat

... задовольняючи обмеження, можна поставити верхню межу кількості станів, яку повинна містити машина; оскільки існує кінцева кількість можливих машин будь-якого заданого розміру, і кінцева кількість тестових випадків, що підлягають оцінці, можна було б створити всі можливі машини, менші за А, і побачити, чи будь-яка з них відповідає необхідним умовам. Не зовсім швидкий спосіб вирішення проблеми, але, безумовно, вирішується, якщо A і B регулярні. Якщо вони не регулярні, DFA не зможе вирішити A або B. "Різниця" іноді може бути регулярною, навіть якщо A і B немає, але це ...
supercat

... це був би "незвичайний" випадок.
supercat

8

АБАБ=ААБ тоді явно такого DFA немає.

Знаходження мінімального коду DFA, який відповідає заданому набору рядків, не є завершеним NP. Цей результат постає як теорема 1 в роботі Англлюйна Про складність мінімальних висновків регулярних множин . Тож очевидно, що ваша проблема також не є повною.

Щоб отримати багато хороших посилань та обговорень щодо вивчення звичайних мов, перегляньте блог-пошта CSTheory " Про вивчення звичайних мов" .


Якби вимоги були змінені так, щоб автомат міг довільно приймати або відхиляти все, що є і в А, і в В, ця проблема завжди була б вирішена для будь-яких A і B; якщо пошук оптимального автомата був би повним NP, не роблячи цього, він би був NP-повним навіть з цією вимогою.
supercat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.