在《
15迷问题的证明(15 puzzle)》一文中,我对15 迷问题做了较为详尽的描述,并证明了什么样的初态可以达到目标状态。在这篇文章里我将进一步证明可达到目标状态的初始态状态空间为 16! / 2,并会使用上文中提到的公式进行证明。
可以很容易的看出棋盘上的牌可以有 16! 种不同的排列,这些排列中包括了可以达到目标状态的初态,也包含了不能达到目标状态的初态。只有那些通过公式计算结果为偶数的状态才能转化为目标状态。考察对所有排列计算的过程可以注意到一点,实质上只要确定最后两张牌的顺序就可以是整个状态满足公式的要求。因为,如果最后两张牌的位置对公式的影响可以是奇数也可以是偶数的话,那么不论前14中排列的值是奇数还是偶数都可以使其满足公式要求。下面就将证明最后两张牌的顺序可以奇数或偶数。
证明:
次证明也可以扩展为 N 迷 (N puzzle)问题。
可以很容易的看出棋盘上的牌可以有 16! 种不同的排列,这些排列中包括了可以达到目标状态的初态,也包含了不能达到目标状态的初态。只有那些通过公式计算结果为偶数的状态才能转化为目标状态。考察对所有排列计算的过程可以注意到一点,实质上只要确定最后两张牌的顺序就可以是整个状态满足公式的要求。因为,如果最后两张牌的位置对公式的影响可以是奇数也可以是偶数的话,那么不论前14中排列的值是奇数还是偶数都可以使其满足公式要求。下面就将证明最后两张牌的顺序可以奇数或偶数。
证明:
- 我们首先考察最后两张牌不包含空格的情况,分别设这两张牌为 i 和 j ,假设 i > j,并且此时只可能有两种选择。那么或者 i 在 j 前或者 j 在 i 前。如果 i 和 j 的位置连续则和显然这两种情况下 LESS( i ) + LESS( j ) 的值是不同的,一种情况是奇数,一种情况是偶数。如果这两个位置之间存在其它牌,则两种不同位置的选择影响的只有两张牌之间的牌,而之外的牌不会有变化。并且在改变位置选择的时候,这两张牌每一张都会对它们中间的牌发生一个大小变化的关系,不论这种变化是奇数次还是偶数次,两张牌的总和总是偶数次。那么,问题又回到了仅考察这两张的位置问题了。
- 如果最后两张包含空格,情况就会复杂一些。不论最后这两张牌如何摆布,它们的和肯定是偶数。所以,我们需要考察倒数的第三张和第四张牌,k 和 l (k > l)。而这两张牌会有4*3=12种组合。此时 k 在 l 之前的机会仍有有一般,也就是 6 种可能,再考虑到最后两张牌不会对结果发生影响所以这种情况也就等同于最后两张牌不包含空格的情况。
次证明也可以扩展为 N 迷 (N puzzle)问题。