Добрый день,
Кто-нибудь знает о "готовой" реализации DFA Левенштейна ( детерминированные конечные автоматы ) в .NET (или легко переносимой на нее?))?У меня очень большой словарь с более чем 160000 разных слов, и я хочу, учитывая начальное слово w , найти все известные слова на расстоянии Левенштейна не более 2 из w вэффективный способ.
Конечно, наличие функции, которая вычисляет все возможные правки на расстоянии редактирования одного из заданного слова и применяет его снова к каждому из этих правок, решает проблему (и довольно простым способом).Проблема в эффективности - учитывая 7-буквенное слово, это может занять более 1 секунды, и мне нужно что-то на намного более эффективное - если это возможно, как это происходит с DFA Левенштейна,решение, которое принимает O ( | w | ) шагов.
Редактировать: Я знаю, что могу построить свой собственный подход к проблеме с небольшим изучением, но в настоящее время я могу 'я не могу позволить себе читать статьи Шульца и Михова на 60 страниц.
Большое спасибо.