我们了解可判定、半可判定和不可判定问题,在本文中,我们将简要定义这些问题,并提供有关这些问题的最常见问题并对其进行相应分类。
先决条件 – https://www.geeksforgeeks.org/decidable-and-undecidable-problems-in-theory-of-computation/
介绍 :
识别语言类型是 Gate 和其他考试中非常常见的问题。但是,有一些问题是经常被问到的,在本文中我们将讨论所有这些问题。我们还将解决本文中的一些示例,以使主题更加清晰。
可判定的问题:
可判定问题是那些存在相应图灵机的问题,该机在每次输入时停止并给出答案 – 是(接受)或否(拒绝)。它也被称为图灵可判定。
半可判定问题:
半可判定问题是那些图灵机在它接受的输入上停止但可以永远循环或在被图灵机拒绝的输入上停止的问题。它也被称为图灵可识别问题。
无法解决的问题:
不可判定的问题是那些不存在图灵机的问题,图灵机总是会停止无限量的时间来给出“是”或“否”的答案。不可判定的问题没有算法来确定给定输入的答案。它可以是部分可判定的,但永远不可判定。它们也被称为非递归可枚举语言。
分类表:
现在我们将最常见的问题分类为可判定、半可判定和不可判定。在下表中,D 表示可判定,SD 表示半可判定,NR 表示不可递归枚举。 Undecidable 可以是 Semi-Decidable 或 Not-Recursively Enumerable 语言。
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。