设计接受几个字符串的nfa

时间:2012-10-13 19:44:52

标签: automata dfa nfa

我需要帮助设计一个接受单词“hello”,“hello world”和“stay together”的nfa,字母表包括英文字母,数字和符号。我需要帮助入门。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我会从正则表达式开始,然后从那里开始工作。

你的问题的正则表达式是:你好|你好世界|待在一起 (请记住“你好”是多余的,但你没有指明它需要是最佳的)

然后我们可以使用构造规则将正则表达式转换为nfa。它看起来很好解释here

因为它只是一堆连接(hello ...)和一些联合(那些'|'字符意味着联合),最终的nfa将如下所示(除非有更多的连接,如果你想对待每个字母)分开):enter image description here

注意:上面的图片是从here生成的,用于正则表达式h | hw | st