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

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

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

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

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

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

    “也不对!”

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

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

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

    那肯定是不可取的。

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

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

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

    但是对方依旧有话说。

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

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

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

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

    第073章 算法设计的关键

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

    一个是输入数据。

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

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

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

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

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

    接下来,设计开始。

    建模。

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

    这一过程有两种方式。

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

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

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

    这是个超级难题。

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

    所以,此路不通。

    重新想。

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

    但是,科学是严谨的。

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

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

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

    接下来是因果思维时间。

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

    【科研币:15。】

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

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