返回

规则系学霸

首页
关灯
护眼
字体:
第七十六章 这是怎么理解的?(第3/6页)
   存书签 书架管理 返回目录
    立体的魔方有三种方向的扭动可能,每一个方向的可能为9次,总计就是27种可能(扭转18o度也算作一步)。

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

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

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

    然后继续、再继续。

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

    当然了。

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

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

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

    这大大减少了计算量。

    但,还是不够。

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

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

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

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

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

    当然。

    具体还是要运行才知道。

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

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

  

-->>(第3/6页)(本章未完,请点击下一页继续阅读)
上一页 目录 下一页