“那就设计个算法,直接计算出,每一种固定形态的魔方,还原的最少步骤是多少!”
“如果能设计出来,就叫做‘魔方计算器’?”
“只要输入魔方固定面小格子的颜色,就能得出该怎么用最少的步骤,去转动把魔方还原……”
第073章 算法设计的关键
设计破解三阶魔方的算法,首先要明确的是两点。
一个是输入数据。
输入的数据,就是立体魔方六个面,所对应的九个格子颜色,数据的特点是,有六种颜色,每一种颜色总计是九个,另外,六个面最中间所对应的颜色固定。
第二就是输出数据,也就是计算的目的,得到还原魔方需要的最低步骤。
只要能达成这个条件,其他想要的数据,比如实现最低步骤的过程,也只是程序运算过程中,顺便做出的简单记录。
在明确了输入和输出数据,前后框架差不多就出来了。
这就和张震发过来的算法包差不多,只是难度的级别上调了几十、上百倍,甚至更高。
接下来,设计开始。
建模。
建模就是把现实问题变成数学问题,用数学的公式、代码来表达出,魔方各个小格子之间的关系,以及可能做出的转换方式。
这一过程有两种方式。
一种是以空间位置为基点,也就是固定了位置,颜色会发生变化;一种是以固定颜色小格子为基点形成位置变换。