ws如何与| w | = | s | 和w≠s是上下文无关的,而w#s不是?


9

为什么(如果这样),分隔符#会在两种语言之间产生差异?

说:

L={ws:|w|=|s|w,s{0,1},ws}

L#={w#s:|w|=|s|w,s{0,1},ws}

是将L表示为C F L的证明和语法CFL

以下进出口增加了一个证明L#CFL

请问#标志真正有所作为?如果是这样,那是为什么呢?如果不是,哪一个证明是错误的,在哪里?

证明L#CFL

通过该矛盾的方式设LCFL。令p>0是 无上下文语言的抽运引数保证的L的抽运常数。我们认为单词 s=0m1p#0p1m其中m=p!+p所以sL。由于|s|>p,根据抽运引理存在一个表示s=uvxyz,使得 |vy|>0|vxy|p,和uvjxyjzL每个j0

我们遇到一些案例矛盾:

  • 如果vy包含#:那么对于i=0,我们得到了uxz不包含#,所以uxzL矛盾。
  • 如果两个vy留给#:那么对于i=0,我们得到了 uxz的形式为w#x,其中|w|<|x|,所以uxzL

  • 如果vy都对#正确:与最后一种情况类似。

  • 如果v留给#y留给它,|v|<|y|:然后,对于i=0,我们得到uxz的形式为w#x,其中|w|>|x|,所以uxzL

  • 如果v留给#y留给它,|v|>|y|:类似于上一种情况。

  • 如果v留给#y留给它,|v|=|y|:这是最有趣的情况。由于|vxy|pv必须被包含在1p的一部分sy0p部分。因此,它认为v=1ky=0k对于相同的1kp (实际上必须是k<p/2)。对于每个j0,则认为 uvj+1xyj+1z=0m1p+j·k#0p+j·k1m,因此,如果它发生m=p+j·k,则认为uvj+1xyj+1zL在矛盾。为此,我们必须取j=(mp)/k,仅当mp可被k整除时才有效。回想一下,我们选择了m=p+p!,因此mp=p!p!是通过任何整除1kp为想要的。

Answers:


7

您的证明是正确的,我错了。我花了一段时间才弄清楚我的困惑所在,但是在Yuval的帮助下,我认为我明白了。

让我们考虑三种语言

L=={xy|x|=|y|,xy},L#={x#yxy}, andL=#={x#y|x|=|y|,xy}.

L=

L#

L=#

  1. L=
  2. 而不是“接受如果长度不平等不匹配”,我们必须“接受如果长度等于不匹配”。非确定性不能帮助我们

xy|x|=|y|

L=xy


L=CFLL=#CFLf(L=#)=L=f#f1(L=)=L#L=#


L={x#y|x|=|y|}LL#=L=#

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.