规则系学霸 第78章

作者:不吃小南瓜

……

赵奕花了十几分钟时间,认真的编撰了帖子,就直接发布了上去,随后就打广告式的,到群里吆喝一声。

“我的帖子!海角论坛!”

“求帮顶!”

群里的人看到消息,就点开连接扫了几眼,随后就被内容吸引了。

八卦,只是一方面。

作为专业的技术宅,他们的兴趣爱好,显然和普通人有些区别,多数都是前面扫一眼,直接就看向了最后的数据。

群里很快就热闹了。

智能技术张军雷:“这个计算很复杂啊!”

理学传教士马小军:“用计算机设计程序,似乎也不是难吧?”

不是讲故事的张震:“很难,数据太庞大,我短时间想不出来。”

理学传教士马小军:“我研究研究,先潜水。”

智能技术张军雷:“为什么不直接问赵奕呢?”

理学传教士马小军:“我是理学博士!”

智能技术张军雷:“所以你不好意思问一个高中生?可以这样理解吧?/哈哈”

不是讲故事的张震:“不要总说实话,做人要虚伪一点,含蓄、注意含蓄!/哈哈”

赵奕着看聊天消息都,感觉有些无奈了。

重点呢!?

他是在和人打口水仗,事情都闹到热搜榜单了,群里的人看到帖子,怎么就变成技术讨论了?

好在群里的人还算靠谱。

大家的关注点都在算法交流上,但还是帮忙顺手转发一下,而他们各自都有一定的影响力。

比如,张震,直接发到了公司的群里。

经理发的消息肯定要点开。

理学传教士马小军,是一名海归的理学博士,被首都理工大学聘用担任讲师,职位还挂着副教授头衔,都有资格带研究生。

他发到了学生群里。

群里其他看到消息的人,看到如此‘八卦’兼‘技术’的帖子,也都顺手帮着转发一下。

转发、再转发……

帖子连接在企鹅群组中,被快速扩散传播开来。

赵奕看完群里聊天后,就干脆就打了盘游戏,刷一下剩余的‘休闲币’,再返回浏览器刷新帖子,发现已经非常火爆了。

点击:8267。

回复:249。

他就开始耐心地看起回复。

翻一页。

再翻一页。

再、再翻一页。

前排的帖子几乎都是‘技术交流’,有的是询问算法,有的则是提供算法意见,还有的在算法意见上发生分歧。

然后,论战开始了。

赵奕连续翻了十几页,发现说技术的比八卦多,但他发帖可不是为了,和其他人探讨魔方算法,而是为了证明自己说的话,是有证据、有理由的。

舆论风向都被带偏了!

好在八卦群众永远是最多的,多数非技术人员对于算法不感冒,他们关心的是结论是否真实。

只要结论是真实的,就证明比赛可能有问题。

多数八卦群众都认为,赵奕敢把数据摆出来,结论就肯定是真实的。

科学、数学不会出错。

上面有很多的算法争议的回复贴,却没有一个人说结果不对,还有几个人表示说,通过并不严谨的估算,贾虹宁的魔方还原难度,确实要比周俊凯的小一些。

……

看到这里,赵奕也发现了问题。

魔方最少步骤计算,并不是简单的事情。

虽然他直接说出了答案,却没办法给出计算过程,《联络律》给出的过程,是用最简单的方式,手动去还原魔方,而不是怎么计算出最低步骤。

“难道要拍个视频证明?”

这是可行的。

只要拍个转魔方的视频,把六面还原好的魔方,用固定的步骤打乱,变成节目中的魔方,就直接证明了结论。

但是……

这种证明并不严谨。

“就算是拍视频,手动去还原魔方,也只能证明固定步数能还原,却不能证明是最低步数。”

数学是严谨的,科学是严谨的。

这就是问题所在。

赵奕去搜索了一下魔方计算,很快就发现了更大的问题,魔方最低还原步数计算,竟然是困扰科学界几十年的难题。

三阶魔方最低还原步数,有个名词叫做--上帝之数!

上帝之数的出现主要是因为,三阶魔方最低还原步骤的计算量太大,步骤的可能性是个天文数字,无法通过计算机全部模拟出来,也就无法给出准确的最低还原步数。

1992年,德国数学家科先巴提出了一种寻找魔方复原方法的新思路,大大减少了魔方还原的计算量。

三年后,科学家里德依据科先巴提出的方法,输入到计算机进行完善,通过计算发现,“上帝之数”不会超过 26。

但是,科先巴的计算方式是不严谨的,他的思路所得到的,有可能不是最佳的还原方式,由此对“上帝之数”所做的计算,也极有可能是高估。

可是,不引进科先巴的思路,计算量又实在太过庞大。

这个问题一直没有得到解决。

赵奕苦笑着自语道,“所以,我的脑子能算数世界难题?”

“也不对!”

计算单一确定的魔方还原最低步骤,和算出‘上帝之数’,难度上完全不是一个级别,三阶魔方的不同形态就是个天文数字--

43,252,003,274,489,856,000.

如果只是计算其中的一种,难度就相对简单太多了,但只利用穷举的算法,计算量依旧相当的庞大。

那肯定是不可取的。

这也是群里、帖子下方,有很多人讨论算法的原因。

赵奕盯着屏幕陷入了思考。

如果没有有效、准确、被公众认可的计算方法,他的帖子上给出的结果就没有意义,最多就是补充拍个视频,证明自己确实能在固定步骤还原。

但是对方依旧有话说。

最好是以科学、严禁方式,让对方根本无话可说。

“那就设计个算法,直接计算出,每一种固定形态的魔方,还原的最少步骤是多少!”

“如果能设计出来,就叫做‘魔方计算器’?”

“只要输入魔方固定面小格子的颜色,就能得出该怎么用最少的步骤,去转动把魔方还原……”

第七十三章 算法设计的关键

设计破解三阶魔方的算法,首先要明确的是两点。

一个是输入数据。

输入的数据,就是立体魔方六个面,所对应的九个格子颜色,数据的特点是,有六种颜色,每一种颜色总计是九个,另外,六个面最中间所对应的颜色固定。

第二就是输出数据,也就是计算的目的,得到还原魔方需要的最低步骤。

只要能达成这个条件,其他想要的数据,比如实现最低步骤的过程,也只是程序运算过程中,顺便做出的简单记录。

在明确了输入和输出数据,前后框架差不多就出来了。

这就和张震发过来的算法包差不多,只是难度的级别上调了几十、上百倍,甚至更高。

接下来,设计开始。

建模。

建模就是把现实问题变成数学问题,用数学的公式、代码来表达出,魔方各个小格子之间的关系,以及可能做出的转换方式。

这一过程有两种方式。

一种是以空间位置为基点,也就是固定了位置,颜色会发生变化;一种是以固定颜色小格子为基点形成位置变换。

选定好建模的方式后,就进入真正设计的过程。

赵奕才刚刚进入思考,就碰到了巨大的问题:如何能确定一种扭动,是让魔方向着还原的方向靠近,而不是让它变得更加混乱?

这是个超级难题。

破解了这个难题,几乎等于完成了算法。

所以,此路不通。

重新想。

那么换一种角度去考虑,可以寻找同样颜色最多的面,以此为基点去实现还原,就和多数人的选择一样,先还原三阶魔方的一个面,其他就变得容易多了。

但是,科学是严谨的。

如何证明从相同颜色最多的面开始,实现还原的速度就是最快的?

如何证明先还原一个面是最快的?

赵奕才刚开始设计程序,就碰到了一大堆的问题,他深吸了一口气,逻辑思维到此结束。

接下来是因果思维时间。

赵奕了解算法设计的难度,他打开了系统界面,干脆使用了一个科研币。

【科研币:15。】

【使用科研币提升因果思维。】

【科研币-1,辅助提升因果思维能力,获得灵感激发效果。持续时间:六十分钟。】

瞬间。

思维模式发生了改变。

赵奕再盯着电脑屏幕,思维就出现了跳跃,他没有去纠结想到的难题,而是跳跃到输入魔方的数据分析上。

比如,以每一面中心颜色为基准,其他面相同颜色的小格子,转换到对应中心面,所需要的最低步数。

比如,有多少格子紧挨着相同颜色的格子,还有它们所在的具体方位,都要详细做出纪录。

等等。

消耗科研币提升了因果思维模式后,《因果律》和《联络律》的使用,都成为下意识的事情,他一直不断地进行思考,手指敲击个不停的,把思考出的内容,放在键盘上转换为代码。

编写。

再编写。

一个小时过去了。

赵奕用力按按额头,大脑感觉异常的疲惫,他看了一眼精力数值:【精力:61/104。】

怪不得!

看了眼屏幕上的代码,他干脆咬牙一狠心,使用了四个学习币。