【问题标题】:Define strings and draw language定义字符串和绘制语言
【发布时间】:2015-07-29 13:20:12
【问题描述】:

在 Σ = {A, B, C} 上定义的所有字符串的语言,该语言以 B 开头,以 A 结尾,最小长度为 3,并为该语言绘制有限自动机。

请用正则表达式的方式和语言图解释一下。在 Σ = {X, Y, Z} 上定义的所有字符串的语言,其中 Y 为第三个字母,Z 为倒数第二个字母

【问题讨论】:

  • 呃,是我还是这看起来像你要求社区为你做的学校作业?

标签: finite-automata automata automata-theory


【解决方案1】:

s -> Bx

x -> 是的 |通过 |赛璐珞

y -> 是的 |通过 |赛 |一个

画有限自动机并不难。小写字母是状态,大写字母是输入符号。

状态“s”是开始状态。

从那里单词以 B 开头并以状态“x”结尾。

从“x”开始,输入可以是 A、B 或 C,并导致状态“y”。

从“y”开始,输入可以是 A 或 B 或 C,并返回到“y”。输入 C 是特殊的,因为它可以/必须是单词的最后一个符号。所以 A 只是以完成状态结束(规则中没有明确提及)。

自动机看起来像这样:

识别所讨论语言的正则表达式如下:

B[ABC][ABC]*A - 或更短 - B[ABC]+A

在这种情况下,很容易(尤其是第一个正则表达式)看到自动机和正则表达式之间的对应关系。


Divyesh 的回答也几乎​​是正确的,他画了一个确定性自动机。您只需要删除到 q4 的过渡就可以了。

【讨论】:

  • 我想让它更清楚,请制作语言字符串,这样有助于理解,因为我是自动机理论的新手。
  • 好的,给我几分钟。希望能给出好的答案。
  • 你熟悉确定性和非确定性自动机吗?
  • @MayanKhan 检查答案。大写字母是字符串。小写字母是自动机的状态。让我知道这是否有帮助。
  • [XYZ][XYZ]Y[XYZ]*Z[XY] | [XYZ]ZY 请为 cmets 投票 ;-)
【解决方案2】:

自动机必须是这个...

【讨论】:

  • 我不确定死状态是什么意思,但在您的示例中,您冒着无限接受 a、b 或 c 并且永远不会结束的风险。我认为这是不正确的。
  • 我画了 DFA,所以我应该提到该州所有可能的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-01
  • 2016-01-13
  • 1970-01-01
  • 2011-09-25
相关资源
最近更新 更多