我们知道“可决定性”,“半可决定性”和“不可决定性”问题,在本文中,我们将简要定义这些问题,并提供关于这些问题的最常见问题,并据此对它们进行分类。
前提条件– https://www.geeksforgeeks.org/decidable-and-undecidable-problems-in-theory-of-computation/
介绍 :
识别语言的类型是Gate和其他考试中经常问到的问题。但是,有些问题经常被问到,在本文中我们将讨论所有这些问题。我们还将解决本文中的几个示例,以使主题更加清晰。
可确定的问题:
可以确定的问题是那些存在相应图灵机的问题,这些图灵机在每个输入上都以“是”(接受)或“否”(拒绝)停止。它也称为图灵可决定的。
半定问题:
半可确定的问题是图灵机在其接受的输入上暂停但在该图灵机拒绝的输入上可能永远循环或停止的问题。也称为图灵可识别问题。
不确定的问题:
无法确定的问题是那些不存在图灵机的问题,这些图灵机总是会停止无数次以给出“是”或“否”的答案。无法确定的问题没有确定给定输入答案的算法。它可以部分决定,但永远不能决定。它们也被称为非递归可枚举语言。
分类表:
现在,我们将最常见的问题分类为“可决定性”,“半可决定性”和“不可决定性”。在下表中,D表示可确定,SD表示可确定,而NR表示不可递归枚举。不确定可以是半确定或不可递归枚举的语言。
Regular Language | Deterministic-Context Free Language | Context Free Language | Context Sensitive Language/ Recursive Language | Recursively Enumerable Language | |
---|---|---|---|---|---|
Halting Problem | D | D | D | D | SD |
Membership Problem | D | D | D | D | SD |
Emptiness Problem | D | D | D | NR | NR |
Finiteness Problem | D | D | D | NR | NR |
Totality Problem | D | D | NR | NR | NR |
Equivalence Problem | D | D | NR | NR | NR |
Disjoint Problem | D | NR | NR | NR | NR |
Set-Containment Problem | D | NR | NR | NR | NR |
判定性分类表:
另一个表如下。
Regular Language | Deterministic-Context Free Language | Context Free Language | Context Sensitive Language/ Recursive Language | Recursively Enumerable Language | |
---|---|---|---|---|---|
Not Halting Problem | D | D | D | D | NR |
Not Membership Problem | D | D | D | D | NR |
Not Emptiness Problem | D | D | D | SD | SD |
Not Finiteness Problem | D | D | D | NR | NR |
Not Totality Problem | D | D | SD | SD | NR |
Not Equivalence Problem | D | D | SD | SD | NR |
Not Disjoint Problem | D | SD | SD | SD | SD |
Not Set-Containment Problem | D | SD | SD | SD | NR |
例子 :
在这里,我们将讨论一些示例以更好地理解如下。
示例1:
{TM | TM = 2中的状态数。 }
解决方案 –
可以确定的是,我们必须找到否。图中的节点数。
示例2:
TM在移动100次后暂停。
解决方案 –
可决定的 因为我们对“是”或“否”都有逻辑。
Yes : No string halts within 100 moves. (Check up to 100 length string).
No : At least one string halts within 100 moves.
示例3:
TM在移动100次后暂停w。
解决方案 –
半可决定的 因为我们只有“是”的逻辑,而没有“否”的逻辑。
Yes : Halts after 100 moves has a logic.
No : Doesn't halt after 100 moves have no logic as can go into an infinite loop or never halt.
示例4:
TM到达状态q。
解决方案 –
半可决定的 因为我们只有“是”的逻辑,而没有“否”的逻辑。
Yes : We have logic for yes as TM reaches state q we will come to know.
No : No logic for no as TM can never reach state q or can fall into
an infinite loop before reaching q and will never come to know.
示例5:
考虑何时给定的语法生成上下文无关语言。
解决方案 –
犹豫不决 因为我们对“是”没有逻辑-给定的语法会产生CFL。