本帖最后由 humphry.l 于 2015-10-17 16:28 编辑 - Y0 f; J7 }' j. Q
: t j- b* l; g" V0 K5 M+ K# n- n根据上面的结论,我们先来研究 N1 -> N0 的操作(我们对于 N1 -> N0 的目的就是交换 4 和 8)。为方便起见,我们把转盘从左往右,依次记为 L、M、R。我们希望能够找到某种LMR的排列构成的操作,这样的操作不要复杂,而且只改变某些元素的位置(必须包含拟交换的元素),被改变位置的元素有一定规律性,针对这样的规律找到公倍数,于是只要重复几次,就可以完成 N1 -> N0 的变换。经过观察我们找到了这样一个操作 Op: R, M, R, R, L, L, L, R, M, R, L。这个操作使得 N1 变成了下面这样 N2: 可以观察下 N2 和 N1 相比有什么不同:首先,这个操作过程中位置没有变化的是1、3、7,变化的有 4 和 8 交换位置以及由 2、6、5 构成的小三角形完成了一次逆时针转动。事实上只要再完成两次 Op 操作就可以将 N2 变化成 N0(这是因为对于 4 和 8 互换需要 2K+1 次 Op 操作,而对于小三角形转回成原样需要 3L 次 Op 操作,所以取一个最小公倍数 3)。具体每次操作后的表格状态我就不画了,有兴趣的坛友可以自己写个小程序验证下(至于我是怎么找到操作 Op 的,其实也是拿计算机先暴力猜了一遍再提取出规律的,我猜可能和群论有关,和魔方类似,可惜我的数学早就还给老师了,如果坛友里有研究数学的不妨从理论上研究下)。 至于 M1 -> M0,把左上、右上、右下分别记为 L、M、R 的话,也有类似的循环操作 Op,重复次数也是 3 次(大家可以自行验证下): R, L, R, R, L, L, R, M, M, R, L, M, L, L, L, M, L 7 x/ N y( ^- T. l. f
这篇文章也是抛砖引玉,希望大家集思广益,看看还能不能找找更简便或者说长度更短的循环操作。 |