零点看书 - 都市小说 - 规则系学霸在线阅读 - 第七十三章 算法设计的关键

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

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

    一个是输入数据。

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

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

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

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

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

    接下来,设计开始。

    建模。

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

    这一过程有两种方式。

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

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

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

    这是个超级难题。

    如果破解了这个难题,几乎等于完成了算法,‘上帝之数’也可以把前缀去掉。

    所以,此路不通。

    重新想。

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

    但是,科学是严谨的。

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

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

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

    接下来是因果思维时间。

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

    【科研币:15。】

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

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

    瞬间。

    思维模式发生了改变。

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

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

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

    等等。

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

    编写。

    再编写。

    一个小时过去了。

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

    怪不得!

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

    【消耗学习币提升精力!】

    【精力 40。】

    虽然赚学习币并不难,每天都入账超过二十个,但还是不习惯用来补充精力。

    精力,能睡觉补充!

    利用学习币来补充精力,就像是玩游戏充钱买经验,实在有些过于奢侈了。

    继续!

    【科研币:14。】

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

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

    在继续工作了半个多小时后,赵奕编写了二十一项对输入魔方的数据分析,他的手指停下来以后,下意识就使用了《因果律》,来测算数据是否对还原魔方有效。

    利用这个方法,排除了三项不相干的分析数据,剩余的十八种分析,都是对还原魔方有帮助的。

    接下来,继续做判断。

    一项扭动是否有助于还原魔方,是能够利用《因果律》得出的。

    找出其中有助于魔方还原的几种或十几种扭动方式,放在一起和所分析的数据进行对比。

    这些就是条件。

    当完善了所有条件以后,就能利用《联络律》来证明,所得出的结论产生的原因。

    这就是因果思维方式。

    先找到结果、完善条件,最后一步才是寻求过程,有了过程以后,就能编写代码表达出来。

    赵奕还是碰到了麻烦。

    时间、精力。

    他已经找到了算法设计的关键,但粗略的估计了一下,代码最少要编写几千行,以他的工作效率,最少需要十个小时以上。

    “算了,先睡觉!”

    “明天再继续!”

    ……

    第二天赵奕早早的爬起来,打开电脑看了下论坛发的帖子。

    帖子异常火爆!

    单单是底下的回复就超过了四千条。

    因为牵扯到热搜的八卦,网络上有好多媒体,都发布新闻对帖子内容进行转载。

    搜索网站的指数榜单上,新增了一条相关热搜,名为‘天才黑客列数据回复贾虹宁’,热度一跃上涨到了第三名。

    这和帖子的内容有关。

    一些存在争议的八卦事件,当事人多数都是接受采访,发表下自己的意见和看法,就算是发帖做出回复,最多就是爆料一些消息、博取同情之类的。

    赵奕发的帖子令人新奇,他直接列数据的做法,让八卦的格调都提升好多。

    另外,争议也是火爆的原因。

    帖子上列出的数据引起了大片的争议,有一位知名数学博士发表看法说,‘破解三阶魔方最优步骤,计算量庞大到不可想象,普通的家用电脑,肯定是无法计算的’。

    他还表示,“暂时没有切实有效的优化算法”。

    同时。

    网络也有不少支持赵奕的声音,认为他不可能胡乱说出数据,也有其他专业人士表示,粗略的计算不能得出具体数据,但却能够判断出,贾虹宁的魔方还原起来,比周俊凯的简单一些,尤其是最后一次比试,差距更是非常的明显。

    赵奕觉得该站出来了。

    虽然有一些支持他的声音,但继续下去也许会不利,确实应该做些什么引导下舆论。

    上学的时间到了。

    他决定带着orgbook去上学,到学校里再进行发帖操作。

    学校的气氛也差不多。

    因为事情牵扯到学校的学生,学校里有着大片的讨论,几乎所有人都知道了帖子,好多人都希望能问赵奕,具体是怎么计算得出的结果。

    “你们等等,我写出来。”

    赵奕去找孙老班说了下,打算利用自习课编辑个帖子,发布到网络上进行说明,没想到王承敏校长直接找了过来。

    “赵奕啊!”

    王承敏关心道,“我看网上都在说你,你那个帖子的数据……”

    一群人把耳朵凑过来。

    赵奕有点郁闷的看向何荣华,“把魔方借我用一下。”

    “好。”

    何荣华马上把魔方送过来。

    赵奕看着手里的魔方,手指快速的动来动去,十秒左右就完成了还原。

    好多人都看呆了。

    赵奕扭过头对周围说道,“帮忙计下数,每转九十度,算一次,一百八十度算两次。”

    “好!”

    一群人认真的看。

    赵奕故意把速度放的很慢,方便其他人进行计数,差不多有一分钟时间,他转动了有十七次,就端起了魔方说道,“这就是贾虹宁比赛中第一次还原前的魔方,我用了十七步变换出来,也就能十七次再变换回去。”

    “嘶~~~”

    这个操作别说是其他学生,连王承敏都吸了一口凉气。

    他马上拉着赵奕就去了校长办公室,“快来!来!我给你拍个视频,把这个发到网上,看谁再怀疑。”

    赵奕笑笑跟了去。

    他本来想发帖表述一下转魔方的方式,但文字描述起来实在麻烦,拍视频相对就简单多了。