Я осуществить следующие операции над автоматами в Java:Моделирование DFA и NFA с помощью осуществления HashMap
- Concatenation
- Клини Звезда
- Союз
- Пересечения
Эти операции проще, если автомат является NFA. Мне понравилась реализация, приведенная в следующей ссылке Modelling a Finite Deterministic Automaton via this data, но я думаю, что это не очень хорошо подходит при моделировании NFA из-за ограничения единственности ключа. Не могли бы вы порекомендовать мне какое-либо решение для моделирования NFA?
Спасибо. Как вы думаете о моделировании NFA? какая структура данных лучше всего подходит для моей цели? есть ли возможность использовать HashMap или я должен искать другие варианты? – haroldmoma
Я рекомендую иметь класс, представляющий каждое состояние. Каждое состояние затем сохраняет набор всех состояний, достижимых посредством переходов epsilon, плюс карту от символов к множеству состояний, для которых происходит переход, входящий в это состояние на символ. – templatetypedef
http://java.dzone.com/articles/design-patterns-state для удивительного обсуждения с использованием Java и реализации шаблона государственного шаблона templatetypedef, только что предложенного. – avgvstvs