在我们对堆自动机的调查中,我想证明一个特定的变体不能接受非上下文敏感的语言。由于我们没有等效的语法模型,因此我需要一个仅使用自动机的证明。因此,我必须证明可以通过LBA(或等效模型)来模拟堆自动机。
我希望证明的工作原理类似于显示下推自动机接受上下文相关语言的子集。但是,我知道的所有证据都是通过
- 使用语法-根据定义,这里的事实很明显-或
- 令人难以置信的含糊不清(例如here)。
我的问题是PDA(res.HA)可能包含周期,可能会将符号写入堆栈(resp.heap)。LBA无法模拟此类循环的任意迭代。从语法获得的乔姆斯基层次结构中,我们知道
- 每种与上下文无关的语言都有一个循环PDA或
- 模拟LBA可以防止太频繁地迭代周期。
直观地讲,这很清楚:这样的周期与输入无关地写入符号,因此堆栈(堆)内容仅在周期长度内保持线性的信息量(暂时不考虑重叠周期)。另外,除了使用另一个循环之外,您没有办法(如果需要)再次清除这些内容。从本质上讲,如果重复多次,则此类循环不会有助于处理输入,因此它们不是必需的。
如何严格/正式地提出这一论点,尤其是考虑到重叠的循环?
我不知道为什么您陈述循环的长度是有限的,对于不确定的PDA来说,肯定有一个无限的循环,自动机可以打破该循环。还是我误解了一些基本知识?
—
vonbrand
显然他们可以拥有它们,但是通过将CFL包含在CSL中,它们并不是“必需的”。
—
拉斐尔
问题在于证明大纲指出它们不存在。
—
vonbrand
目前这只是一个模糊的主意,但是您不能使用不确定性LBA并使用不确定性来按正确的步骤中断周期吗(与PDA一样)?
—
卢克·马蒂森