首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动机的过渡状态图

自动机的过渡状态图
EN

Stack Overflow用户
提问于 2014-08-13 15:02:38
回答 2查看 922关注 0票数 0

(a+b)*和(a.b)*的过渡状态图是什么?我对这两种状态图有点困惑。我发现他们俩都一样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-13 15:41:48

假设有颜色的状态是开始状态和接受状态。(a+b)*可以理解为“0或多个a's和b's的任意顺序。”(a.b)*可以理解为“零个或多个a's和b's的顺序。”注意,如果序列中断,节点3以死状态存在以拒绝匹配。

票数 1
EN

Stack Overflow用户

发布于 2014-08-13 15:40:24

假设+表示合并和。意为级联:

代码语言:javascript
复制
(a+b)*
q   s   q'
--  --  --
q0  a   q0
q0  b   q0
(q0 is accepting)

(a.b)*
q   s   q'
--  --  --
q0  a   q1
q0  b   q2
q1  a   q2
q1  b   q0
q2  a   q2
q2  b   q2
(q0 is accepting; q2 is a dead state)

注意,(a+b)*描述a和b的所有字符串,因此我们只需要一种状态;没有字符串被拒绝。另一方面,a和b的字符串不匹配(a.b)*;我们以三种状态结束,因为:

  1. 如果我们看到了"ab“的整数,我们就看不到任何"ab”或另一个整数“ab”(对应于状态q0)。
  2. 如果我们看到"ab“后面跟着"a”的整数,那么我们可以看到a "b“和整数ab(对应于状态q1)。
  3. 如果我们看到了除了在第1点和第2点中讨论的内容之外,没有什么可以添加到字符串中以获得“ab”的整数;我们已经搞砸了,任何带有这个前缀的字符串都不是在语言中(对应于“死”状态q2)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25289642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档