第七十六章 这是怎么理解的?-《规则系学霸》


    第(2/3)页

    “到现在为止,还没有高效的计算方法,能确定还原三阶魔方的最少步骤。”

    “这在全世界都是个难题。”

    确实。

    和小胡子说的一样,李霖质疑了所谓‘最少步数’。

    李霖可能不是针对他,说的也都是事实,但赵奕还是感觉很不爽。

    没有高效的计算方法?

    世界难题?

    老子马上就给它破解掉!

    ……

    赵奕带着破解难题的决心,又奢侈的使用了个科研币,花费两个小时时间,终于把判断筛选程序做了出来。

    这是算法的核心。

    能判断扭动是否会让魔方变得更混乱,就能摒弃掉很大一部分计算,完善算法的目的就在于此。

    接下来的工作,就是让魔方做扭动。

    立体的魔方有三种方向的扭动可能,每一个方向的可能为9次,总计就是27种可能(扭转180度也算作一步)。

    第一步筛选程序要判断27次。

    第二步做一个简单的剔除重复,也就是让第二步扭动后的魔方,不能和第一步扭动后或未进行扭动的魔方状态重复,直接就能排除五种可能。

    每一个做判断的次数就只有22次。

    然后继续、再继续。

    这就是最普通的全覆盖计算办法,完全就是依靠计算机强大的性能,来推算魔方的还原步骤。

    当然了。

    计算量肯定是庞大的惊人,只要稍稍混乱一些的魔方,普通家用电脑的性能肯定是不够用的。

    这时筛选程序就起作用了。

    每一步利用筛选程序,都会筛掉很多的计算分支,而越是靠近魔方还原,让魔方变得更混乱的扭动就越多,往上乘的底数也就越来越小,直到最后一步只有一种能让魔方还原。

    这大大减少了计算量。

    但,还是不够。

    魔方处在非常混乱的状态,需要的步数一旦超过18次,计算量依旧会是个天文数字。

    赵奕用了个‘筛选排除对比法’。

    针对魔方扭动的每一步,都会筛出让魔方更混乱的步骤,中间每个分支的一小步,都是筛选固定的22次,根据魔方越接近还原,使其变得更混乱的扭动就越多的原则,同代的筛选就可以做出对比,筛选数量少的分支,就可以直接暂停运行。

    这样计算量再次大大降低。

    赵奕粗略的估算了下,需要十五步还原的魔方,可能的筛选次数,最大也不超过三千万次。

    当然。

    具体还是要运行才知道。

    赵奕随意吃了点东西,又加班了两个小时,一直到晚上十二点多,才终于写完了代码。

    用了一个学习币补充精力,他的眼球中还是布满血丝。

    算了!

    还是明天再调试吧!

    他正准备关电脑的时候,就看到企鹅多了个消息,是一个老年书生的头像。

    打开一看。

    来自“计算机技术交流群”的刘教授?

    “刘教授?”
    第(2/3)页