Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Computer science 计算理论-使用上下文无关语言的泵引理_Computer Science_Context Free Grammar - Fatal编程技术网

Computer science 计算理论-使用上下文无关语言的泵引理

Computer science 计算理论-使用上下文无关语言的泵引理,computer-science,context-free-grammar,Computer Science,Context Free Grammar,我正在复习我的计算理论课程笔记,我很难理解如何完成某个证明。问题是: A = {0^n 1^m 0^n | n>=1, m>=1} Prove that A is not regular. 很明显,泵引理必须用于此。所以,我们有 |vy |>=1 |vxy |=1) uv^ixy^iz存在于A for all i>=0中 尝试选择正确的字符串似乎有点不确定。我在想0^p1^q0^p,但我不知道我是否能模糊地做出一个q,因为u没有界限,这可能会让事情变得难以控制 那么,我们该怎么做

我正在复习我的计算理论课程笔记,我很难理解如何完成某个证明。问题是:

A = {0^n 1^m 0^n | n>=1, m>=1}  Prove that A is not regular.
很明显,泵引理必须用于此。所以,我们有

  • |vy |>=1
  • |vxy |=1)
  • uv^ixy^iz存在于A for all i>=0中
  • 尝试选择正确的字符串似乎有点不确定。我在想0^p1^q0^p,但我不知道我是否能模糊地做出一个q,因为u没有界限,这可能会让事情变得难以控制


    那么,我们该怎么做呢?

    你使用了错误的泵引理。。。A在这里是上下文无关的,但它不是规则的


    这应该会告诉你你需要的引理。。。如果你从这个开始,你可能会想出一个答案。如果没有,请告诉我,我将编辑我的答案,给您一些提示。

    如果您使用适用于常规语言的泵送引理的定义,而不是适用于CFG的引理的定义,会简单得多。任何常规字符串s=xyz都必须具备以下三个条件:

  • 对于每一个i>=0,xy^iz都处于
  • |y |>=0

  • |xy |我会在没有引理的情况下求解它: -考虑H(a),其中H(1)=1 h(2)=0 h(0)=0。在您的语言上应用h^-1,然后与0^*1^2^相交,得到语言0^n1^m2^n。 -现在使用h'(a),其中h'(0)=a,h'(1)=ε,h'(2)=b。你会得到一个不规则的^nb^n

    为什么这更容易?因为在学习了这些基本技巧之后,你可以很容易地解决这些问题

    至于引理: -当一个单词的任何子字符串用作子字符串时,您将需要它来破坏您的语言。我可以看到6种情况(从一开始只有0,从一开始就有0,然后是1,等等)


    正如其他人已经添加的,您不需要CF引理。CF引理用于表示语言通常不是CF。

    另请参见:这个问题似乎离题了,因为它是关于计算机科学的,而不是编程。