📜  门| GATE-IT-2004 |第40章

📅  最后修改于: 2021-06-28 17:59:51             🧑  作者: Mango

以下哪个字符串不是L(M)成员? q40

(A) aa
(B)亚巴
(C)巴巴
(D)婴儿答案: (C)
解释:
PDA基础
下推式自动机或PDA本质上是具有堆栈的NFA,其转换函数还取决于堆栈顶部的符号。正式地,PDA是一个六元组(Q,Σ,Γ,δ,q0,F),其中Q是所有可能状态的集合,Σ是所有可能输入的集合,Γ是所有可能堆栈符号的集合, δ:Q×Σ×Γ→Q×Γ是转移函数,q0是初始状态,并且
F⊆Q是最终状态的集合。

有时,当我们将初始堆栈符号z0视为的另外一个成员时,也已知PDA为7个元组。
以上6个元组。请注意,对于给定的输入,应该存在一个转换函数,否则将不会有任何可能的移动。

PDA可以有两种类型:接受PDA的空堆栈和最终状态PDA。

空堆栈接受PDA是在给定输入字符串上接受给定输入的PDA,当输入耗尽时,堆栈应为空。

类似地,最终状态接受PDA是如果在给定输入字符串上接受给定输入的PDA,则当输入耗尽时,PDA应该处于最终状态之一。

非确定性PDA或NPDA是PDA,其中对于给定的输入,可以有多个输出。即,转换函数δ将给定的输入从Q×Σ×映射到Q×Γ的有限集合。

对于给定的问题
,由于转换函数的给定输入对应一个以上的输出,因此我们将考虑使用NPDA来执行该输入,如果无法移动,则将停止执行相应的分支给定给定的输入,我们假设如果机器在最终状态之一中停止并且输入已用尽,则我们接受字符串,否则我们拒绝它。注意,给定PDA是接受PDA的最终状态,而不是接受PDA的空堆栈。

问题选择:

我们将假定初始堆栈符号为ε,并且

在选项1中,执行如下:
(s,a,)→(s,a)或(f,ε)。
让我们首先考虑(s,a)作为输出并执行剩余的输入。 (s,a,a)→没有有效的移动。停止此分支并且不处于最终状态,因此不被接受。现在将(f,ε)视为输出。 (f,a,ε)→无有效移动。
暂停此分支请注意,PDA处于最终状态之一,但是输入字符串未耗尽,因此PDA不应接受。 •在选项2中,执行将从选项1开始执行,并且将在字符2处停止,因为没有可能的移动。也不能以与第一个选项相同的方式接受此选项。
3

在选择3中,执行如下:
(s,b,ε)→(s,a)。 (s,a,a)→没有可能的动作。停止这个分支。由于在达到任何最终状态之前已暂停,因此不接受此选项。

在选项4中,此选项也不被接受,因为PDA会因为在上一个选项中暂停而在第二个字符暂停。此选项也不被接受。

假设如果PDA由于无法移动而暂停输入,并且当前状态是最终状态之一,但输入没有用尽,则PDA将拒绝该字符串,对于问题2,每个答案都是正确的,即无给定的字符串属于给定的PDA语言。

再次,假设如果PDA由于无法移动而暂停输入,并且当前状态是最终状态之一,但输入没有用尽,那么PDA将继续消耗输入字符串,直到字符串末尾到来为止,此PDA的语言将接受选项(A)和选项(B)中的字符串。到最后,选项(C)和选项(D)仍然不会被接受
的字符串,PDA将不会处于最终状态。因此,牢记这一假设,选项(C)和选项(D)都将适用于该问题。

该解释由Durgesh Pandey提供。
这个问题的测验