当前位置: 首页 > news >正文

停机问题与考拉兹猜想:循环何时终止

透明循环,它们总是易于预测。这类循环具有清晰的递减规律,它始终朝着一个终止点前进。你只需阅读代码就能“看到”它们的结束。你可以看到 i 不断缩小,最终会达到 0。我们称之为良基循环,它必然会停止,因为某个有限的值在倒计时。

i = 10while i > 0:i = i - 1

另一个例子,你知道循环会执行多少步,因为范围是有限的。所以循环会终止,这一点很容易证明。

for n in range(1, 100):print(n)

条件循环,仍然可预测,但更复杂。现在,循环依赖于一个不太明显但仍然可以分析的条件。你可以推断:x 每次都会翻倍,经过有限步后,x < 100 将变为假。循环会终止,但你需要稍微思考一下。

x = 1while x < 100:x = 2 * x

另一个例子,这里,我们知道每个整数最终都会变成一个完全平方数,所以循环会终止,但我们的推理现在涉及到数字的数学性质。

while n is not a perfect square:n = n + 1

不确定的中间部分,难以预测。现在我们进入循环的讨论,这类循环的终止取决于更深层次的性质,这些性质并非总是可判定的。

这就是著名的考拉兹猜想(Collatz conjecture)。对于我们测试过的每一个数字,循环最终都会到达 1,但没有人证明它总是如此。因此,我们无法确定它是否会对所有输入都终止。你可以无限地模拟它,但你无法知道是否存在某个数字会导致无限循环。

def collat​​z(n):while n != 1:if n % 2 == 0:n = n / 2else:n = 3 * n + 1

自指或无限搜索处于不可知的边缘。现在我们来讨论一般来说在数学上不可判定的循环。

mystery():while HALTS(this_program):pass

或者更简单地说,这里,程序是否停止取决于一些无法在不解决另一个开放式或自指问题的情况下计算出来的东西,它可能会永远运行下去,因为它在寻找一个不存在的答案。这就是停机问题的难点所在:你无法在不真正无限运行的情况下判断它是否会停止。

while not proof_found:search_for_proof()

倒计时的循环具有很强的确定性,因此是有限的过程。条件由简单的数学公式决定的循环是概率性的,也易于建模。复杂的数学模式,例如考拉兹定理,这样的循环是未知性,依赖于未经证实的真理。自指或无限搜索,具有不可判定性,无法进行一般性预测。

http://www.dtcms.com/a/603490.html

相关文章:

  • 网站建立的企业flash手机网站制作
  • 海外网站推广优化专员网站关于我们怎么做
  • 久久建筑网是个什么样的网站中文手机app开发软件
  • 旅游分析 网站制作电子商务网站
  • 中国建材网官方网站免费企业wordpress主题
  • 长沙营销型网站制如何做google推广
  • 惠州seo网站管理汕头百姓网二手车交易市场
  • 营销型网站建设方案演讲ppt用ps做零食网站模板
  • 网站开发具备知识有哪些网站开发代码
  • cocos 发布 安卓应用
  • 元素周期表:宇宙给人类的“积木说明书”
  • 网店美工设计seo 网站 结构
  • 兰州产品营销网站建设网站开发前台软件用什么
  • 北京网站建设laitang医院手机网站模板
  • 图书管理系统网站开发设计过程网站备案幕布申请
  • wordpress 关闭多站点锦屏县城乡和建设局网站
  • 易语言开发编译器 | 提升编程效率与开发体验
  • 网站开发 定制 合同 模板推广seo是什么意思
  • 【算法笔记 11】贪心策略六
  • 专做机酒的网站flash网站导航怎么做
  • (论文速读)GC-Net:用于钢材表面缺陷检测的全局关注模块和级联融合网络
  • 怎么用网站源码建站逆袭做富豪官方网站
  • 网站建设的实验结论装修工人找活平台
  • php mysql网站开发教程wordpress首页显示指定分类文章
  • 校园网站建设整改建议建设博物馆网站
  • 做便民网站都需要提供什么梦幻创意北京网站建设
  • 建设仿优酷视频网站wordpress游客评论游客
  • 服务器上怎做网站安装好采集侠网站地图后在哪里查看网站地图
  • 阿里TTL(Transmittable Thread Local)实现原理
  • 做网站建设注册商标是多少类上海卫生人才网官网