简体   繁体   English

可数性和图灵机暂停之间的关系

[英]relationship between countability and turing machine halting

Hi i have a doubt over countability. 嗨我对可数性有疑问。 Why is it necessary to find out whether certain things are countable. 为什么有必要弄清楚某些事情是否可数。 Is there a use over finding it? 找到它有用吗? And also if some thing is uncountable does it mean that there is no Turing machine to solve it ? 而且,如果有些事情是不可数的,那是否意味着没有图灵机可以解决它?

I hope I am not helping you answer an exam question by answering your question. 我希望我不是通过回答你的问题来帮助你回答考试问题。

Countability and Turing machines are very much two sides of the same coin. 可计数性和图灵机是同一枚硬币的两面。 They're complementary ways of determining if a problem is "computable." 它们是确定问题是否“可计算”的互补方式。 There are other equivalent ways of showing computability as well (look up abacus machines, countable functions, computable functions, etc.). 还有其他显示可计算性的等效方法(查找算盘机,可数函数,可计算函数等)。 By definition, you show a problem to be computable if you can demonstrate that it can be solved by a Turing machine. 根据定义,如果您可以证明它可以通过图灵机解决,则可以显示可计算的问题。 Alternatively, you can show a problem to be computable if you can show that it has a solution bijection from the countably infinite set. 或者,如果您可以显示它具有来自可数无限集的解决方案双射,则可以显示可计算的问题。

By the way, the countably infinite set is the "small" infinite set or the set ℵ₀. 顺便说一句,可数无限集是“小”无限集或集合ℵ0。 (In layman's terms, the small infinite or countably infinite set is the set of integers. Integers, odd numbers or even numbers has the same cardinality—the small infinite set. There is an infinite hierarchy of infinite sets, starting with ℵ₀ and going up to ℵ_∞. ℵ₀, the set of integers, is the smallest infinite set. ℵ₁ is a superset of ℵ₀. R , the set of real numbers, has the same cardinality as ℵ₁, and so on.) Understanding that there is a hierarchy of infinities will help you understand what you need to prove to show computability. (用外行人的话说,小的无限或可数无限的集合是整数集。整数,奇数或偶数具有相同的基数 - 小的无限集。有无限集的无限层次,从ℵ0开始上升对于ℵ_∞.ℵ,整数集是最小的无限集.ℵ1是ℵ0的超集.R ,实数集合,具有与ℵ1相同的基数,依此类推。)理解有一个层次结构无穷大将帮助您了解您需要证明什么才能显示可计算性。

The elementary Turing machine has a small infinite tape. 基本的图灵机有一个小的无限磁带。 Showing that a problem can be computed by a Turing machine means showing that the problem has a solution bounded by small infinite time and space. 表明图灵机可以计算出问题意味着问题显示出一个由无限时间和空间限制的解决方案。 A Turing machine has a tape that has infinite cells that can hold symbols. 图灵机有一个带有无限单元的磁带,可以容纳符号。 There are infinite cells in either direction (small infinite), just like the set of integers is infinite in either direction. 在任一方向上都有无限的单元格(小的无限),就像整数集在任一方向上都是无限的一样。 Associated with the tape is a read-write head that can travel left or right on the tape and can read or write a single symbol on each move. 与磁带相关联的是读写磁头,可以在磁带上向左或向右移动,并且可以在每次移动时读取或写入单个符号。 Show a sequence of instructions that moves the head on the tape from the initial state to an eventual halting or terminating state is to show that a problem is "computable." 显示一系列指令,将磁带上的磁头从初始状态移动到最终停止或终止状态,以显示问题是“可计算的”。 Proving that no solution of a problem can be done by the Turing machine is to prove that a problem is not computable—regardless of whether we give countably infinite time or resources. 证明图灵机无法解决问题的方法是证明问题不可计算 - 无论我们是否给出了无数的时间或资源。 By the way, time and space are complementary. 顺便说一句,时间和空间是互补的。 If you can solve a problem in finite time using countably infinite space or solve it consuming finite space with countably (ie, small) infinite time, you show the problem to be computable. 如果你可以使用可数无限的空间在有限时间内解决问题,或者解决它在可数(即小)无限时间内消耗有限空间,则表明问题是可计算的。

I can give you a little bit of an answer (sorry I only know a little bit of computing theory). 我可以给你一些答案(抱歉,我只知道一点点计算理论)。

There are only countably many Turing machines. 只有相当多的图灵机。 So, if you have a set of problems that is uncountable, you know there is at least one problem in that set for which there is no Turing machine that will solve it. 因此,如果您有一组无法解决的问题 ,您知道该集合中至少存在一个问题,即没有图灵机可以解决它。

So, for example, if your set of problems is 因此,例如,如果你的问题是

For some function f:N -> N, write a program that, given n, computes f(n) 对于某些函数f:N - > N,编写一个程序,给定n,计算f(n)

You know that there is at least one f for which no such program can be given, because there are uncountably many such f . 你知道至少有一个f不能给出这样的程序,因为有很多这样的f

I don't believe this analysis can be applied to the halting problem, though, because the halting problem consists of exactly 1 problem: "given the code for a Turing machine, decide if, given a blank tape, it will eventually halt." 我不相信这种分析可以应用于暂停问题,因为暂停问题恰好包含1个问题:“给定图灵机的代码,决定是否给定空白磁带,它最终会停止。” This is just one problem with countably many possible inputs, so, just by counting, it looks potentially solvable. 这只是一个问题,有很多可能的输入,因此,只需通过计数,它看起来可能是可解决的。 You'd have to argue some other way that it is not solvable. 你不得不争论其他一些不可解决的方法。

Of course, the importance of countability and uncountability is far more diverse than this one example. 当然,可数性和不可数性的重要性远比这个例子多得多。 I hope other people can supply some more. 我希望其他人可以提供更多。

Countability is actually pretty important when it comes to a Turing machine, and in many other places in math and science. 可数性在图灵机以及数学和科学的许多其他地方实际上非常重要。 A since a Turing machine has to perform operations sequentially, each step can be assigned a counting number. A由于图灵机必须顺序执行操作,因此可以为每个步骤分配一个计数。 If the process goes on forever, then the process is countably infinite. 如果这个过程永远持续下去,那么这个过程就是无限的。

An example of an operation for which a Turing machine would be inadequate would be summing the squares of all numbers between 1 and 2. It can be shown quite easily that the entire list of rational numbers in this interval can be listed in a countable list in which every number can be mapped 1-to-1 with a counting number. 图灵机不合适的操作的一个例子是将所有数字的平方加在1和2之间。可以很容易地证明,该区间中的整数有理数列表可以列在可数列表中。每个数字可以用计数数字1对1映射。 So performing the steps one at a time on this list of numbers could be carried out by a Turing machine. 因此,可以通过图灵机执行在该数字列表上一次执行一个步骤。 However, this could not be done with the irrational numbers on this interval, because there are just too many of them. 但是,这个区间的无理数不能做到这一点,因为它们太多了。 It can be shown (not quite as easily) that the list of the irrational numbers cannot be put into an ordered (countable) list. 可以显示(不太容易)无理数的列表不能被放入有序(可数)列表中。 So, the is no order in which every number on the interval could be listed, meaning that the Turing machine could not accomplish the task, even if given an infinite amount of time. 因此,没有顺序可以列出间隔中的每个数字,这意味着图灵机无法完成任务,即使给定了无限的时间。

Countability of rationals 理性的可数性

Uncountability if irrationals - Cantor Set 如果不合理,则不计数 - Cantor Set

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM