【问题标题】:Drawing a simple non-deterministic finite automaton (NFA)绘制一个简单的非确定性有限自动机 (NFA)
【发布时间】:2012-04-10 10:57:53
【问题描述】:

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

首先它应该接受:

  • 字母 = x,y,z

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

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

【问题讨论】:

  • 我只能考虑dfa的位置。 ε 移动对我来说真的很复杂。我现在真的找不到解决方案
  • @Knaas:不是作业吗?它看起来确实像。如果是 - 请不要删除 homework 标签。
  • 即使是这样,我也做不到,我找不到解决方案。

标签: computation-theory formal-languages automaton


【解决方案1】:

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

您将绘制一个具有 3 种状态的自动机 - 每个可能的模态一个,并针对 a 的每次出现在它们之间进行迭代。接受状态将是0 表示的状态。

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

您现在的目标是了解您的 lamda 是什么?既然是你的功课,我就不给出完整的答案,只是提示:

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

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

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

【讨论】:

  • :S 我很难理解您的回复,对此感到抱歉。 ://
  • @Knaas:你到底不明白哪一部分?你知道如何为简化的L' 绘制自动机吗?
  • @Knaas:看看编辑——我为L' 添加了自动机的绘图——一旦你理解了它——继续阅读如何为更复杂的L 创建自动机
  • 我最小化了 dfa,我已将 nfa 转换为 dfa。我真的不自己画画。我不能决定从哪里开始你给我一些信息:s
  • @Knaas:我不明白你的问题。如果您已经有一个 DFA - 将 DFA 更改为 NFA 是微不足道的 [同样的抽奖也适用于 NFA!]
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
  • 2018-07-14
  • 2019-06-23
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多