如果是上下文无关的并且是规则的,那么是上下文无关的吗?


9

我无法解决下一个练习:

认为如果L是上下文无关的并且R是规则的,则L/R={wxRs.twxL}(即右商)与上下文无关。

我知道应该存在一个接受L的PDA L和接受R的DFA R。我现在正在尝试将这些自动机结合到接受正确商数的PDA上。如果可以证明我证明了L/R是无上下文关系的。但是我一直在建造这款PDA。

这是我取得的成就:

在组合的PDA中,状态是单独的自动机状态的笛卡尔积。边缘是DFA的边缘,但是只有将来可以达到L原始PDA最终状态的边缘。但是不知道如何正式写下来。


欢迎!您到底被困在哪里,您的处理方式是什么?
拉斐尔

1
提示:考虑如何最好地使用不确定性。
Artem Kaznatcheev 2012年

在组合的PDA中,状态是单独的自动机状态的笛卡尔积。边缘是DFA的边缘,但是只有将来可以达到L原始PDA最终状态的边缘。但是不知道如何正式纠正它。
Dommicentl,2012年

3
我已将您的评论复制到问题中。那是一个更好的地方。
戴夫·克拉克

Answers:


8

这是一个提示。

您需要您的机器最初接受一部分单词,从而消耗掉磁带。然后,无需消耗任何东西,您就需要从中找到一些单词,这将使机器进入最终状态。从中选择的单词在第二部分的计算中扮演输入单词的角色。R RLRR

显然,非确定性将起一定的作用,两台机器之间的乘积也会发挥作用。形式化的诀窍是调整产品以处理输入来自而不是输入的事实。R


6

我不确定您对笛卡尔积的看法。这会并行模拟两个自动机,这会给您带来交集。但是,您希望它标识中所有带有后缀的单词!在直觉上,就是这样。[RLR

假设我们的输入是。显然,我们不能检查所有可能的延续(对于成员资格),而只能检查有限数量的延续。Artem的评论在这里最有帮助;我们猜测后缀是什么,并对其运行两个自动机。 - [R XwΣRx

令和分别为的PDA 和 NFA 。构造自动机如下。在输入,模拟。消耗之后,切换到和的修改后的交点,并保持的状态。现在,不确定地为每个过渡确定虚拟输入中的下一个符号。接受当且仅当两个部件达到同时最终状态,也就是如果ř大号ř 瓦特Σ * 大号瓦特大号ř大号ř 大号瓦特大号- [R瓦特X 瓦特X 大号X řALARLRAwΣALwAL,RALARALwAL,Rw具有延续,使得和。xwxLxR

您也可以使用形式语法。您看到如何并行导出两个语法吗?通常,尚不清楚如何适应因此您可以掌握后缀。使用Chomsky范式有帮助。GL

假设和均以Chomsky范式给出。修改,以使最右边的非终结符可区分,并将其起始符号新的起始符号。为非终端的区别版本引入新规则,该新规则导致语法在和中并行导出(非终端是成对的非终端);如果两个语法都在一个结束符号上一致,则删除复合非结束符。这样一来,在一个后缀当且仅当它可以在导出被删除和在,但它仍然。ģ ř ģ 大号ģ 大号ģ ř ģ 大号ģ 大号ģ ř瓦特大号/ řGLGRGLGLGRGLGLGRwL/R


请注意,即使是扰流板区域中的物体也不是严格或正式的。如果您需要更多详细信息,请自己告诉我。
拉斐尔

6

我建议使用Raphael的答案,该答案更容易理解,但是这里是一种替代方法,使用闭包属性代替自动机:

令为一门语言。我们要读一个字,不过问是否是在语言。因此,我们希望从创建一种新的语言,该语言具有 “已擦除”。我们可以使用同构来实现,但是可以从删除字母。解决方案:将字母分为两个,并为和使用不同的字母。LAwLwxLxwwx

更正式地:

1)创建从词语的,与每个字母标记的0或1。 2)与正则语言相交它。这迫使所有的0来之前全1,第二部分来自。的确切含义留给读者。 3)将替换,将替换。 使用的闭包属性:同态图像,原图像,与常规语言的交集。优点:该证明适用于其他家庭(例如,用常规替换无上下文关系)。大号× 0 *- [R × 1 - [R × 0 一个1 εL(A×{0,1})L
(A×0)(R×1)R×
(a,0)a(a,1)ε



1
就其价值而言,自动机构造也可以扩展到其他类别:实际上,我们实际上并没有使用是PDA。AL
拉斐尔

好点子。
sdcvvc 2012年

1
从技术上讲,此类(在此证明有效的地方)被称为圆锥全三重奏
Hendrik
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.