【发布时间】:2021-03-25 17:56:39
【问题描述】:
这是一个古老的硬件问题,我必须找出每个给定字符串访问 q\loop 状态的次数:
bb: 5
aba: 0
阿爸:8
巴巴布:11
我了解第 1 个字符串如何访问状态 5 次并且第 2 个字符串不被接受,但我不知道第 3 个和第 4 个字符串的过程。如果有人可以遍历第三或第四字符串所访问的状态,我将非常感激,因为我一直卡住
【问题讨论】:
标签: computation-theory pushdown-automaton
这是一个古老的硬件问题,我必须找出每个给定字符串访问 q\loop 状态的次数:
bb: 5
aba: 0
阿爸:8
巴巴布:11
我了解第 1 个字符串如何访问状态 5 次并且第 2 个字符串不被接受,但我不知道第 3 个和第 4 个字符串的过程。如果有人可以遍历第三或第四字符串所访问的状态,我将非常感激,因为我一直卡住
【问题讨论】:
标签: computation-theory pushdown-automaton
这个 PDA 匹配回文。它是如何做到的?它在堆栈上查找P 并将其替换为aPa 或bPb,然后将堆栈上的a 与输入中的a 匹配。 b 也是如此。它不确定地替换P。
让我们来看看#3。我们将关注Q_loop,为简单起见,我将其称为L。堆栈的顶部将是最右边的字符。
L,输入是abba,堆栈是$P。我们将不确定地遵循e,P->a 转换。abba,堆栈为$aPa。我们将遵循a,a->e 的转换。bba,堆栈:$aP。关注e,P->b。bba,堆栈:$abPb。关注b,b->e。ba,堆栈:$abP。关注e,P->e。ba,堆栈:$ab。关注b,b->e。a,堆栈:$a。关注a,a->e。$。关注e,$->e 并接受下一个状态。【讨论】: