然后继续、再继续。
这就是最普通的全覆盖计算办法,完全就是依靠计算机强大的性能,来推算魔方的还原步骤。
当然了。
计算量肯定是庞大的惊人,只要稍稍混乱一些的魔方,普通家用电脑的性能肯定是不够用的。
这时筛选程序就起作用了。
每一步利用筛选程序,都会筛掉很多的计算分支,而越是靠近魔方还原,让魔方变得更混乱的扭动就越多,往上乘的底数也就越来越小,直到最后一步只有一种能让魔方还原。
这大大减少了计算量。
但,还是不够。
魔方处在非常混乱的状态,需要的步数一旦超过18次,计算量依旧会是个天文数字。
赵奕用了个‘筛选排除对比法’。
针对魔方扭动的每一步,都会筛出让魔方更混乱的步骤,中间每个分支的一小步,都是筛选固定的22次,根据魔方越接近还原,使其变得更混乱的扭动就越多的原则,同代的筛选就可以做出对比,筛选数量少的分支,就可以直接暂停运行。
这样计算量再次大大降低。
赵奕粗略的估算了下,需要十五步还原的魔方,可能的筛选次数,最大也不超过三千万次。
当然。
具体还是要运行才知道。
赵奕随意吃了点东西,又加班了两个小时,一直到晚上十二点多,才终于写完了代码。