Jump to content

Детерминированный ациклический конечный автомат

(Перенаправлено с Compact DAWG )
Строки «tap», «taps», «top» и «tops», хранящиеся в дереве (слева) и DAFSA (справа), EOW означает «конец слова».

В информатике детерминированный ациклический конечный автомат ( DAFSA ), [1] — это структура данных , которая представляет набор строк и позволяет выполнять операцию запроса, проверяющую, принадлежит ли данная строка набору за время, пропорциональное ее длине. Существуют алгоритмы для создания и обслуживания таких автоматов . [1] сохраняя при этом их минимальными .DAFSA — это повторное открытие структуры данных под названием «Направленный ациклический граф слов» (DAWG). [2] хотя то же имя уже было присвоено другой структуре данных, связанной с суффиксом автомат . [3]

DAFSA — это частный случай конечного распознавателя состояний , который принимает форму ориентированного ациклического графа с одной исходной вершиной (вершина без входящих ребер), в которой каждое ребро графа помечено буквой или символом, и в котором каждая вершина имеет не более одного исходящего ребра для каждой возможной буквы или символа. Строки, представленные DAFSA, формируются символами на путях графа от исходной вершины до любой приемной вершины (вершины без исходящих ребер). Фактически, детерминированный конечный автомат является ациклическим тогда и только тогда, когда он распознает конечный набор строк . [1]

Блумер и др. [3] впервые определенная терминология Направленный ациклический граф слов (DAWG) в 1983 году. Аппель и Якобсен [2] использовали то же название для другой структуры данных в 1988 году. Независимо от более ранних работ, Daciuk et al. [1] заново открыл последнюю структуру данных в 2000 году, но назвал ее DAFSA.

Сравнение с попытками

[ редактировать ]

Позволяя достигать одних и тех же вершин несколькими путями, DAFSA может использовать значительно меньше вершин, чем сильно связанная структура данных дерева . Рассмотрим, например, четыре английских слова «tap», «taps», «top» и «tops». Дерево для этих четырех слов будет иметь 12 вершин, по одной для каждой строки, сформированной как префикс одного из этих слов, или для одного из слов, за которым следует маркер конца строки. Однако DAFSA может представлять те же четыре слова, используя только шесть вершин v i для 0 ≤ i ≤ 5 и следующие ребра: ребро от v 0 до v 1, помеченное как «t», два ребра от v 1 до v 2, помеченные как «t». «a» и «o», ребро от v 2 до v 3, помеченное как «p», ребро от v 3 до v 4, помеченное как «s», и ребра от v 3 и v 4 до v 5, помеченные концом -строковый маркер. Существует компромисс между памятью и функциональностью, поскольку стандартный DAFSA может сказать вам, существует ли в нем слово, но он не может указать вам вспомогательную информацию об этом слове, тогда как trie может.

Основное различие между DAFSA и trie заключается в устранении избыточности суффиксов и инфиксов при хранении строк. Дерево исключает избыточность префиксов, поскольку все общие префиксы являются общими для всех строк, например, между врачами и докторской степенью является префикс врача общим. В DAFSA также используются общие суффиксы для слов, которые имеют одинаковый набор возможных суффиксов, что и друг друга. Для словарных наборов общеупотребительных английских слов это приводит к значительному сокращению использования памяти.

Поскольку к конечным узлам DAFSA можно добраться по нескольким путям, DAFSA не может напрямую хранить вспомогательную информацию, относящуюся к каждому пути, например, частоту употребления слов в английском языке. Однако если для каждого узла мы сохраним количество уникальных путей через эту точку структуры, мы сможем использовать его для получения индекса слова или слова по его индексу. [4] Вспомогательная информация затем может быть сохранена в массиве.

  1. ^ Перейти обратно: а б с д Ян Дачук, Стоян Михов, Брюс Уотсон и Ричард Уотсон (2000). Инкрементальное построение минимальных ациклических конечных автоматов. Компьютерная лингвистика 26 (1):3-16.
  2. ^ Перейти обратно: а б Аппель, Эндрю; Якобсен, Гай (1988). Самая быстрая в мире программа скрэббл. Сообщения ACM, 31 (5): 572–578.
  3. ^ Перейти обратно: а б Ансельм Блюмер, Джанет Блумер, Анджей Эренфойхт, Дэвид Хаусслер, Росс М. МакКоннелл (1983). Конечные автоматы линейного размера для множества всех подслов слова - схема результатов. Бык Европа. доц. Теория. Вычислить. Наука, 21 : 12-20
  4. ^ Ковальтовски, Т.; С.Л. Луккези (1993). «Приложения конечных автоматов, представляющих большие словари». Программное обеспечение-практика и опыт . 1993 : 15–30. CiteSeerX   10.1.1.56.5272 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 43c55b8c26fe167d150b956ea4e4d9be__1722219960
URL1:https://arc.ask3.ru/arc/aa/43/be/43c55b8c26fe167d150b956ea4e4d9be.html
Заголовок, (Title) документа по адресу, URL1:
Deterministic acyclic finite state automaton - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)