【发布时间】:2021-05-28 00:01:50
【问题描述】:
我正在研究自动机,我遇到了与 PDA 相关的问题
为语言 L = { 构建一个 PDA w = x1y1x2y2….xnyn |其中 w 属于 {0,1}*,字符串 y1y2….yn 与 x1x2….xn 相同,除了 y 中的 1 在 0 之后} 例如字符串 100111 属于 L,因为 x=101 和 y=011。所以 执行字符串 0011、00、1111、100001 等。但是,字符串 0110、11111001、1100、01、10 不执行 属于 L。为简单起见,在 PDA 的构造中假设输入由符号对组成 其中第一个属于 x,第二个属于 y。因此输入字母为 Σ = {00, 01, 10, 11}。
我意识到我必须以某种方式从堆栈中推送/弹出,以保证 x 中的相同输入出现在 y 中,其中 0 位于 1 之前,但问题是如何检查 y 中的 0 是否位于 1 之前.非常感谢解决方案的提示
【问题讨论】:
标签: pushdown-automaton automata-theory