Чи є вдосконалення алгоритму Дана Англуйна для вивчення регулярних наборів


33

У своєму семінарному документі 1987 р. Dana Angluin представляє поліноміальний алгоритм часу для вивчення ДФА з запитів про членство та теоретичних запитів (контрприклади до запропонованого DFA).

Вона показує, що якщо ви намагаєтеся вивчити мінімальний коефіцієнт DFA з станами, а ваш найбільший зразок довжини m , то вам потрібно зробити O ( m n 2 ) членські запити і максимум n - 1 теоретичні запити.нмО(мн2)н-1

Чи відбулися значні покращення щодо кількості запитів, необхідних для вивчення регулярного набору?


Посилання та відповідні запитання


Будемо сподіватися, що @DominikFreydenberger в якийсь момент відпадає. Він буде знати.
Рафаель

2
Я підозрюю, що @LevReyzin також знав би відповідь ... І саме тому я спочатку вважав, що прошу про cstheory, але, мабуть, я повинен допомогти виростити цей новий сайт.
Артем Казнатчеєв

Не відповідь на питання, але все ж може бути корисною: [ citeulike.org/user/erelsegal-halevi/article/9275508 Універсальне ядро ​​для вивчення звичайних мов]
Ерел Сегал-Халеві

дякую за посилання @Erel, але я не розумію, як це стосується. Універсальне ядро ​​Конторовича не є ефективно обчислюваним, і модель навчання не має контрприкладів.
Артем Казнатчеєв

Відповіді:


15

У своїй відповіді на cstheory.SE Лев Рейзін направив мене на тезу Роберта Шапіра, яка покращує прив’язаність до запитів членства у розділі 5.4.5. Кількість запитів контрприкладів залишається незмінною. Алгоритм, який використовує Schapire, відрізняється тим, що він робить після контрприкладного запиту.О(н2+нжурналм)


Ескіз поліпшення

На найвищому рівні сили Шапіра з алгоритму Англуйна мають додаткову умову, що для закритого ( S , E , T ) і кожного s 1 , s 2S, якщо s 1s 2, то r o w ( s 1 ) r o w ( s 2 ) . Це гарантує, що | S |(S,Е,Т)(S,Е,Т)с1,с2Sс1с2rош(с1)rош(с2) а також робитьвластивістьпослідовностіалгоритму Англуйна тривіальною для задоволення. Для цього він повинен по-різному обробляти результати контрприкладу.|S|н

З огляду на контрприклад , Angluin просто додав г і все префікси до S . Schapire робить що - то більш тонке шляхом замість додавання одного елемента е в Е . Це нове е змусить ( S , E , T ) не бути закритим у сенсі Англуїна та оновленням, щоб закрити, ввести принаймні одну нову рядок до S , зберігаючи чіткі всі рядки. Умова на e :zzSеЕе(S,Е,Т)Sе

с,с'S,аΣвулrош(с)=rош(с'а)іо(δ(q0,се))о(δ(q0,с'ае))

Якщо - вихідна функція, q 0 - початковий стан, а δ правило оновлення справжнього "невідомого" DFA. Іншими словами , e має бути свідком, щоб відрізнити майбутнє s від s a .оq0δесс'а

Щоб з'ясувати це з z, ми робимо двійковий пошук, щоб з'ясувати підрядку r i таку, що z = p i r i і 0 | p i | = i < | z | таким чином, що поведінка нашої гіпотезованої машини відрізняється на основі одного символу введення. Більш детально, дозвольмо s i - рядок, що відповідає стану, досягнутому в нашій гіпотезованій машині, дотримуючись p i . Ми використовуємо двійковий пошук (тут знаходиться журнал mеzriz=piri0|pi|=i<|z|сipiжурналмпоходить від) знайти a такий, що o ( δ ( q 0 , s k r k ) ) o ( δ ( q 0 , s k + 1 r k + 1 ) . Іншими словами, r k + 1 розрізняє два йдеться , що наші машини висловили припущення знаходить еквівалентні і , таким чином , задовольняє умову на е , тому ми додамо його в E .ко(δ(q0,скrк))о(δ(q0,ск+1rк+1)rк+1еЕ


5

Я не знаю, чи моя відповідь все ще актуальна. Нещодавно було описано реалізацію нового алгоритму під назвою "Пакет спостережень" або за деяких обставин "Дерево дискримінації" від Falk Howar. Цей алгоритм схожий на L *, але використовуйте Rivest-Shapire або інший метод (див. Штеффен та Ісбернер) для обробки декомпозиції прикладу; і воно використовує структуру даних, дерево дискримінації (двійкове дерево) для ефективного "просіювання", а саме вставки A-переходу (де A - кожен символ алфавіту) нового стану, знайденого до тих пір, поки не буде закритості . Цей алгоритм існує у двох версіях: OneGlobally та OneLocally залежно від того, додається суфікс, заснований при розкладанні, до кожного компонента чи ні (співвідношення за алгоритмом полягає в тому, що всі префікси в компоненті еквівалентні короткому префіксу і представляють однаковий стан у цілі відповідно до знайдених суфіксів пізніше з новим контрприкладом знайдеться новий суфікс, який розмежовує щонайменше 2 префікси одного і того ж компонента. Це спричиняє розщеплення цього компонента на два компонента). У OneLocally набагато менше запитів щодо членства, але кількість запитів на еквівалентність може різко збільшитися при великій цільовій DFA. Скоріше OneGlobally має кількість запитів щодо членства, завжди нижчих за L * (але більше, ніж OneLocally) та аналогічну кількість запитів відповідності, ніж L * Пізніше з новим контрприкладом знайдеться новий суфікс, який розмежовує щонайменше 2 префікси одного і того ж компонента. Це спричиняє розкол цього компонента на два компоненти). У OneLocally набагато менше запитів щодо членства, але кількість запитів на еквівалентність може різко збільшитися при великій цільовій DFA. Скоріше OneGlobally має кількість запитів щодо членства, завжди нижчих за L * (але більше, ніж OneLocally) та аналогічну кількість запитів відповідності, ніж L * Пізніше з новим контрприкладом знайдеться новий суфікс, який розмежовує щонайменше 2 префікси одного і того ж компонента. Це спричиняє розкол цього компонента на два компоненти). У OneLocally набагато менше запитів щодо членства, але кількість запитів на еквівалентність може різко збільшитися при великій цільовій DFA. Скоріше OneGlobally має кількість запитів щодо членства, завжди нижчих за L * (але більше, ніж OneLocally) та аналогічну кількість запитів відповідності, ніж L *

Я знаю, що існує й інший алгоритм: алгоритм TTT, який також краще, ніж пакет спостереження, але я не маю належних знань про нього. Алгоритм TTT повинен бути сучасним


Дякую за цю відповідь! Чи є у вас паперова довідка для алгоритму Howar і для TTT?
Артем Казнатчеєв

Це посилання для пакета спостереження Howar і це для посилання алгоритму TTT TTT Ви можете знайти реалізацію в LearLib (Пакет спостереження називається там Дискримінаційним деревом)
Umbert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.