【问题标题】:Automata: Developing Context Free Grammars自动机:开发上下文无关语法
【发布时间】:2013-10-09 19:15:06
【问题描述】:

谁能告诉我为此开发上下文无关语法所涉及的思考过程?我得到一种语言,其中有一定数量的 0 和一定数量的 1,但 0 的数量不等于 1 的数量。然而,0 先出现,然后是 1(这应该使事情更直接)。所以可接受的字符串是 0000111 或 01111111

我不想让你直接给我答案,或者根本就没有答案。只是弄清楚它的过程。

【问题讨论】:

标签: automata


【解决方案1】:

嗯,你不想要的直接答案是:

S - initial symbol
S -> X | Y
X -> 0X1 | X1 | 1
Y -> 0Y1 | 0Y | 0 

这是首先想到的,所以没有太多的过程。无论如何,我会说你必须看到的第一件事是有两种可能性 - 或者你有更多的可能性,或者你有更多的零,最好将问题分成这两个(正如我将 S 分成 X 和 Y)。

然后你会看到“上下文无关”使得除了零和一之间的边界之外的任何地方都无法控制数字。你只要得到想法并写下解决方案。

【讨论】:

  • 谢谢,这有助于澄清一些事情。您将如何允许语法接受空字符串? @Bartosz Marcinkowski
  • 不应该,因为空字符串的 0 和 1 数量相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
  • 2012-01-04
  • 1970-01-01
  • 2014-04-26
  • 2013-02-23
  • 2014-05-09
相关资源
最近更新 更多