前言:
眼前同学们对“公众号js5461”大体比较珍视,兄弟们都想要剖析一些“公众号js5461”的相关知识。那么小编同时在网络上收集了一些关于“公众号js5461””的相关文章,希望大家能喜欢,各位老铁们一起来学习一下吧!简单易懂的
世界未解之谜
暑假来临,超模君为了给 8 岁表妹下学期的课程打基础,每天都在帮她补课。某一个炎热的下午……
既然表妹觉得黎曼猜想太难,超模君也不能硬性给她灌输。今天就介绍一个通俗易懂、小学低年级就能学习和领悟的数学猜想吧。
它有一个清凉的名字……
冰雹猜想
《华盛顿邮报》曾报道过一篇新闻,讲述的是发生在美国大学校园里的一件轶事。
20 世纪 70 年代中期,在美国各所名牌大学校内,无论是学生、教师、研究员,甚至教授。人们都像是发了疯一般,夜以继日、废寝忘食地玩起了一个数学游戏。
游戏规则很简单,任意写出一个自然数 X ,按照以下规律,对初始的 X 进行转换:
如果是奇数,则下一步变为 “3X+1” ;如果是偶数,则下一步变为 “X/2” 。
在这个算法下,无论初始的 X 值是多少,算来算去,最后都无法逃出进入4-2-1 循环落入底部的宿命,以偶数 16 和奇数 3 为例,
16-8-4-2-13-10-5-16-8-4-2-1
在玩这个游戏的过程中大家发现,X 值会忽上忽下地变化,最终都落入底部。这和我们日常生活中冰雹的形成过程有着异曲同工之妙。
所以,顾名思义,人们把这个数学游戏称为“冰雹猜想”。
对于“冰雹猜想”的算法而言,除了前面举例说到的 16 和 3 之外,你还可以去尝试任何一个数字,找出反例算我输!
全世界最好的超模君在此温馨提示,不要尝试 27 !不要尝试 27 !不要尝试 27 !
27 这个数字的特别之处在于,当通过冰雹猜想的算法对它进行运算时,它的上下浮动异常剧烈。
它首先会经过 77 次变换到达顶峰值 9232 ,再经过 34 次变换,最终到达谷底值 1 ,全部的变换过程需要 111 步。
其中,顶峰值 9232 ,达到了原数字 27 的 342 倍还要多。
随着 X 值的不断增大,像 27 这样的数字越来越多,运算步骤越来越复杂,需要进行成千上万步运算的数字笔笔皆是。
所以,轻易用代入数值法尝试冰雹猜想,不幸遇到了 27 这样的数字,可谓伤神伤身又伤肾。
当然,数学家们很少使用代入数值法这样的笨方法,而是尝试着将问题公式化,去探索冰雹猜想的一般规律。
数学家们的探索
数学家们根据冰雹猜想的算法,得到了以下迭代公式,
…(1)
在(1)式中,每一个 X 都是奇数, m = 1,2,3,...。
迭代过程可以理解为,直到把 3x+1 中的偶数
析出抵消,使得(1)式右边是奇数为止。
如果不是 1 而是其他奇数,就继续迭代,一直到 1 为止。
…(2)
比如,我们将 X1=1 代入公式,可得,
,结束
将 X1=3 代入公式,可得,
,结束
冰雹猜想的含义就是,输入 X=1,3,5,7,9,11,....任何一个奇数,直至无穷,经过(1)式的迭代,最终都是(2)式,即等于 1 。
那么冰雹猜想如何才能成立呢?我们用反推法来研究一下刚才的代数式。
根据(2)式我们可以知道,
…(3)
令X2=1,于是 X1=5,21,85,341,1365,5461,21845,.....。这是将(3)式反推的结果。同理可得,
…(4)
…(5)
…(6)
在(5)式中,令 X4=1 ,可以简化得,
并拓展到任何一个 n ,
…(7)
最后,将(7)式代入(6)式,分子分母刚好抵消,得证 X 值为奇数时,猜想成立。
当 X 为偶数时,通过 X/2 的运算,最终也会变为奇数,同上所得。
特别地,X 值为 2 的 n 次幂的偶数最为朴实,回归过程是一条平滑零波动的反比例函数曲线。只需要进行 n 次 X/2 的运算,就可以得到结果 1 了。
聪明的模友要发出质疑了,这不就是简单的初等代数?说好的世界未解之谜呢?
别急别急,这里还有两个未证明的先决条件呢!
1.任何一个 Xi 进入迭代以后不会回到 Xi ,就是不会发生循环。如果发生循环,表明是一个反例,冰雹猜想不成立;2. Xi 进入迭代以后,数值不会发散,就是不会越来越大直至无穷,而是在一个有限的范围内更替。
正是因为上述两个限制性条件无法给出证明,所以,迭代式并不能科学完整地证明冰雹猜想成立。
当数学家们对冰雹猜想一筹莫展的时候,程序猿们也带着不同的编程语言,加入到了猜想的证明大军当中。
程序员们的探索
程序猿们求证的方法是利用计算机编程语言进行运算,比如,采用 JAVA 来验证冰雹猜想:
再比如,采用 Python 语言来验证冰雹猜想:
采用 JS 语言,也可以验证冰雹猜想:
用计算机的语言算法可以得出:对于小于7*10^11的所有的自然数,冰雹猜想成立。
但是,距离猜想完全得证,依旧有一段非常漫长的路要走。
你可能会问,既然有了强大的计算机,为什么不直接在需要验证的数字后面加多几个零呢?
大概是你高估了计算机的运算能力,或者说低估了数字的魔力。
前文说到一个简单的 27 ,尚且需要计算上百次, 7*10^11 也就是 700 亿,一套运算流程下来,超级计算机都顶不住啊。
当然,如果你觉得自己电脑的性能更加硬核的话,不妨根据以上程序猿大哥的算法,亲自去尝试一番哦~
标签: #公众号js5461