阅读最近的问题后,“是的补上下文无关?” ; 我记得我无法反驳的类似问题:
是上下文无关?
在这里,我们要求两个弦至少在两个位置不同(汉明距离必须大于)。
如果我们要求它是上下文无关(即,两个字符串必须简单地是不同的)。
我怀疑该语言不是上下文无关的:如果我们将其与常规的相交,则会 遇到PDA在到达字符串的一半后应该以相反的顺序“记住”两个位置的情况。
更新:如果我们将与正则相交,我们将得到上下文无关的语言,如domotorp在他的回答中所示;一个稍微复杂的与 (多一个到“追踪”的)还是建议不应上下文无关。
实际上是更容易的,因为它是完全不属于形式的话瓦特瓦特(由相交 - [R ')。
—
domotorp
@domotorp:对!更改为固定的奇数 s(除非对于任何固定的奇数k,除非您的答案也可以适应 { (0 * 1 0 * )k })
—
Marzio De Biasi
最后一条评论:从前导零开始无济于事,因为上下文无关的语言对于各种循环移位都是封闭的。您可以将它们推入堆栈,用特殊符号标记最后一个,然后执行算法的其余部分,假装堆栈从此处开始,最后将其清空。(这使用 -transition,但是这样的PDA等同于没有PDA的转换也很容易。)
—
domotorp
考虑{0,1,2}字母并考虑正好包含两个1和两个2的字符串可能会更简单。如果1s之间的距离和2s之间的距离均为n,则不是您的语言。
—
卡夫