考虑NPDA 〈Q = {q0,q1,q2},Σ= {0,1},Γ= {0,1,⊥},δ,q0,⊥,F = {q2}〉约定)Q是状态集,Σ是输入字母,Γ是堆栈字母,δ是状态转换函数,q0是初始状态,⊥是初始堆栈符号,F是接受状态的集合,状态转换如下:
字符串101100后面必须跟随以下哪一个序列,以便整个字符串被自动机接受?
(A) 10110
(B) 10010
(C) 01010
(D) 01001答案: (B)
说明:在q0状态下,’1’被压入,而’0’被压入’0’。在q1状态下,对于“ 0”,弹出“ 1”,对于“ 1”,弹出“ 0”。因此,给定的PDA接受形式为x0x’r或x1x’r或xx’r的所有字符串,其中x’r是x的1的补码的倒数。
给定的字符串101100有6个字母,我们给了5个字母字符串。因此,x0完成,x =10110。因此,x’r =(01001)r = 10010。
因此,选项B是正确的。
这个问题的测验