Мінімальний DFA, що задовольняє кінцевий вигляд мови


12

Скажімо, у вас є мова , але ніхто не знає, які рядки насправді є частиною мови. Все, що існує, - це кінцевий вигляд мови: кінцевий набір рядків які, як відомо, є мовою, і кінцевий набір рядків , які відомі не бути в мові.LΣALB(ΣL)

Наприклад, скажімо, у мене є і . У мене може бути мова , оскільки і узгоджуються з , або у мене може бути повністю інша мова.A={ab,aaab,aaaaabb}B={b,aab,aaaba}L={a2i+1bj | i,jN}ABL

Моє запитання: чи відомий спосіб створити DFA (детерміновані кінцеві автомати), який приймає рядки в і відхиляє рядки в , з мінімальною або майже мінімальною кількістю станів? У чому складність цієї проблеми? Наскільки це добре при наближенні (якщо має досить низьку описову складність, а і великі)?ABLLAB

Оригінальне запитання на math.stackexchange.com. Я вирішив репостувати тут, не отримавши відповідей на оригінальне запитання і не маючи уявлення, де їх шукати. Якби хтось міг би вказати мені на дослідження в цій галузі, це було б дуже вдячно.



2
Добре письмова відповідь Лева на запитання, яке я пов’язував, вже охоплює незрозумілість.
Цуйосі Іто

6
Я також написав допис у блозі, в якому детальніше, ніж у моїй оригінальній відповіді cstheory.blogoverflow.com/2011/08/on-learning-regular-languages
Лев Рейзін

1
Я не бачу різниці між "вашою версією" та результатом непереборності, який Лев цитував у відповіді. Крім того, я не бачу зв'язку між "вашою версією" та "йти іншим шляхом".
Цуйосі Іто

1
@TsuyoshiIto Насправді, схоже, відповідь Лева відповідає "мою версію"! Я читав повідомлення в блозі вище, і цього не було (принаймні, я не знайшов). Але оригінальна відповідь Лева зробила. Що стосується зв'язку між "моєю версією" та "йти іншим шляхом" ... Якщо ми можемо генерувати такі і , це означає, що відповідь на "мою версію" не завжди є негативною. У статті Пареха і Гонавара насправді використовується ця ідея, щоб довести, що прості DFA вивчаються з довільною високою ймовірністю. У будь-якому випадку, як можна або як закрити це питання? БAB
Франсіско Мота

Відповіді:


5

Як ви вже знаєте з коментарів, знайти мінімальний DFA, що задовольняє кінцевий набір позитивних і негативних прикладів, є -hard. Однак не вся надія втрачається, якщо ви готові трохи змінити парадигму навчання, то ми можемо повернутися до .PNPP

Припустимо, що ви намагаєтеся вивчити невідомий DFA який мінімальний для деякої мови . Якщо ви дозволяєте запитам про членство в oracle і виступаєте вчителем, відповідаючи на таке запитання: Враховуючи запропонований DFA чи визнає він ? Якщо ні, чи можете ви надати зустрічний приклад?Л Ш Г Л ШWLWGLW

Зауважте, що якщо оракул має доступ до він може порівнювати з у багаторазовий час, оскільки перевірити рівність між звичайними мовами легко. Генерування зустрічного прикладу також може бути здійснено в поліноміальний час.Г ШWGW

У цій рамці ви можете вивчити у поліномійному часі, використовуючи алгоритм Англуйна ( 1987 ; pdf ) (або уточнення його Шапіра ; див. Розділ 5.4.5). Для отримання додаткової інформації про цю модель, ось два питання щодо cstheory та CS.SE про неї:W


0

Мені здається, ви можете використовувати уточнення еквівалентності Міхіл-Нерода для цієї проблеми.

Ми можемо визначити , якщо існує таким чином, що і . Це означає, що будь-який автомат, що відокремлює від повинен знаходитись у різних станах після читання та .uvxΣuxAvxBABuv

Досить вивчити це співвідношення по префіксам елементів і . Це дасть вам нижню межу кількості необхідних станів. Я не впевнений, що це прямо дає вам можливість побудувати мінімальний автомат, але це принаймні шлях для вивчення.AB


-1

Я думаю, що ця проблема, можливо, була точно сформульована запитувачем. Опитуючий, очевидно, хоче алгоритм, який узагальнює нескінченні слова на основі конкретних кінцевих прикладів слів, використовуючи якусь механізовану індукцію, тобто розпізнаючи видимі зразки у прикладах.

На додаток до деяких досліджень теорії CS, наведених у коментарях, є ще кілька емпіричних досліджень у цій галузі, наприклад, нижче, використовуючи ANNs для створення FSM з прикладів. Зауважте, що завжди можна запустити стандартний алгоритм мінімізації DFA. Бібліотека AT&T FSM добре підходить для роботи в цій галузі.

Опитуючий не конкретизує свою проблематичну область, що може допомогти зрозуміти структуру прикладів та отримати більш конкретні посилання. Однак одним із прикладів, які можна побачити, є алгоритми AI в іграх, які використовують алгоритми FSM. Я підозрюю, що є деякі випадки, коли ФДМ вивчаються на прикладах за допомогою алгоритмів навчання.

[1] Вивчення класу великих машин з кінцевим станом з періодичною нейронною мережею C. Lee Giles, 1, BG Horne, T. Lin 1995

[2] Вивчення FSM за допомогою самонагрузки повторюваних мереж від Zeng & Smyth 1993

[3] Бібліотека AT&T FSM


1
ваше друге посилання просто посилається на це питання. Де це припустити посилання?
Артем Казнатчеєв

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