函授后问题变体


12

这可能很简单,但请考虑标准的“邮政对应问题”:

鉴于β 1... β Ñ,找到索引的序列1... ķ使得α 1α ķ = β 1β ķ。当然,这是不确定的。α1,,αNβ1,,βNi1,,iKαi1αiK=βi1βiK

现在,我称其为“变体”,但实际上并非如此,它实际上丢弃了“对应”。无论如何,请考虑以下变体:

鉴于β 1... β Ñ,发现2个索引的序列1... ķĴ 1... Ĵ ķ使得α 1α ķ = β Ĵ 1β Ĵ ķ。可以怎么说呢?如果这很简单,我表示歉意!α1,,αNβ1,,βNi1,,iK,j1,,jKαi1αiK=βj1βjK


在不提出全新问题的情况下,我正在编辑K '不一定相等的条件。在它们相等的情况下,问题应该是不确定的-但是减少对我而言并不明显。KK
alpoge 2011年

Answers:


17

这个新版本-其中- 是可判定的。K=K

让我们显示该语言是CFL。然后,可判定性来自CFL空度的可判定性。L:=k1(Ak  Bk)

我们将设计一个PDA接受。在输入x上,此PDA将尝试构造x的两个分解,一个使用A的单词,另一个使用B的单词。它将在堆栈上使用一个计数器,以确保这两个分解的长度相同。从概念上讲,我将xA分解称为x的顶部,将B分解称为x的底部。然后堆栈将包含n个计数器,如果顶部匹配的单词数的差的绝对值减去底部匹配的单词数的绝对值是LxxABAxxBxn。我们需要PDA的另一种状态来记录对应于 n的适当符号(这告诉我们 A因式分解是否长于 B因式分解,反之亦然)。nnAB

当我们扫描的字母,我们不确定地猜一个字牛逼一个和字ü到这封信开始。一旦我们猜到了,我们致力于将tu的其余部分与x进行匹配;如果我们的比赛在任何时候失败,我们将停止这种不确定的选择。因此,在PDA的状态下,我们还保留了仍然匹配的tu后缀。xtAuBtuxtu

当我们扫描其他字母时,我们将继续匹配,直到到达的末尾或u的末尾(或同时到达两个)。当我们敲一个单词的末尾时,我们会适当地更新堆栈,然后猜测一个新单词要匹配顶部或底部(或两者)。tu

如果剩余要匹配的后缀在顶部和底部都为空,并且堆栈中不包含计数器,则我们接受。

我们可以有效地构建此PDA,因此我们可以有效地确定它是否接受任何东西(例如,通过有效地转换为语法,然后使用常规方法查看G是否生成任何东西)。G

k2O(l2)lAB

ABAB


2
欢迎使用cstheory!
Suresh Venkat

1
太棒了!现在我们只需要Eric Bach ...
Huck Bennett

真好!那很完美。
alpoge 2011年

13

αi1αiK=βj1βjKK=K

Aαi1αiKBβj1βjKABA,B


啊-确实!抱歉,您是完全正确的。
alpoge 2011年

K=K

2
T1T2T1+T2+M

K=K
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.