Изменения

Перейти к: навигация, поиск

Суффиксный автомат

231 байт добавлено, 14:28, 27 марта 2016
Описание
__TOC__
==Описание==
Детерминированным конечным автоматом называется пятёрка (Суффиксный автомат <tex>S, s, \Sigma, \delta, T)A</tex>), где* для строки <tex>Ss</tex> {{---}} множество состоянийпредставляет собой [[Основные_определения_теории_графов|ациклический ориентированный граф]], с начальной вершиной и множеством терминальных вершин,* рёбра которого помечены символами <tex>s \in S</tex> :* Вершины этого графа {{---}} начальное состояниесостояния автомата,* <tex>\Sigma</tex> а рёбра {{---}} конечный алфавит,переходы.* <tex>\delta : S \times \Sigma \to S</tex> {{---}} функция переходовОдно из состояний называется начальным,из него достижимы все остальные состояния. * <tex>T \subset S</tex> Одно или несколько состояний помечены как терминальные {{---}} множество терминальных состояний. Суффиксный автомат <tex>A</tex> для строки <tex>s</tex> представляет собой ациклический ориентированный граф, с начальной вершиной если пройти от начального состояния до терминального по какому-либо пути и множеством терминальных вершинвыписывать при этом символы на переходах, рёбра которого помечены символами то получим один из суффиксов строки <tex>s</tex>. <br>
[[Файл:Suffix_automaton_ex.png|540px|frame|center|Пример суффиксного автомата для строки <tex>abbab</tex>.]]
}}
Таким образом, ДКА является минимальным тогда и только тогда, когда правые контексты всех его состояний попарно различны.
В случае суффиксного автомата правый контекст <tex>X_a</tex> строки <tex>a</tex> взаимнооднозначно соответствует множеству правых позиций вхождений строки <tex>a</tex> в строку <tex>s</tex>. Таким образом, каждое состояние автомата принимает строки с одинаковым множеством правых позиций их вхождений и обратно, все строки с таким множеством позиций принимается этим состоянием.
==Построение==
188
правок

Навигация