绘制一个简单的非确定性有限自动机(NFA)

时间:2012-03-26 22:08:30

标签: computation-theory formal-languages automaton

如何为此问题绘制NFA(自动机)?

首先它应该接受:

  • alphabet = x,y,z

  • L = {w | w,使得出现次数x,y,z之一是三的倍数。 }

例如:{xxx,yyy,zzz,xyxyzzz,xyxyx,zyzyz ...}

1 个答案:

答案 0 :(得分:2)

首先让我们从更简单的问题开始:
你如何为L'= {a n |绘制这个自动机n%3 == 0}?

您将绘制一个具有3个状态的自动机 - 每个可能的模态一个,并在a的每个外观之间迭代它们。接受状态将是0表示的接受状态。

现在,在确定之后 - 对于你的问题,你的自动机需要有3个 3 状态 - (x,y,z)的所有可能元组,其中x,y,z在{0 ,1,2}。

你现在的目标是了解你的lamda会是什么?既然这是你的作业,我不会给出完整的答案,只有一个提示:

如果您看到x并且您处于州(a,b,c)状态 - 您希望前进到(a+1 %3 ,b,c)

还要想一想 - 接受状态是什么?提示:简化L'的接受状态是什么?

附件L'的自动机,如上所述。

L' automaton