前些时候买了九支的鲁班锁,用它拼六合榫(8选6),一时兴起,花了两个小时将28种组合都拼出来,当然是为了验证是否所有的组合都有解,所以每种组合只求一种答案。 后来下载了IBM的鲁班锁解法的JAVA,求解起来方便多了。这时就想看看一种组合到底有多少解,逐一验证发现最少的3种解,最多的415种解。 许多次求解的时候,发现图中显示的木条的长度(默认为6)和我手中的实物(长为10)不一样长,于是调整长度为10再解,结果令我吃惊,两种木条长度下的答案数不一样多,这就使我意识到:木条长度对鲁班锁的解法是有很大影响的。 不过当时也没太在意,直到 lzy5010兄 来拜访我,其间谈到鲁班锁的问题,他说木条的长度对鲁班锁没有影响,这一句话使 我对我意识到的东西 重新重视起来。我马上就指正,但一时间很难再次找到一个例子,就用实物很别扭地跟他解释了一番,lzy5010兄大概也明白,最后说,你还是找个例子来讲更有说服力。 最近又有人谈到该问题,而且估计lzy5010兄也等了许久了,我马上重新开始搜寻起来。终于找到一个例子了:
这是长度为6的情况,请看第5图到第6图的过渡。红色的那根由天蓝色的顶部绕进去了!!! 大家很容易就想得到,如果长度为8,这样的事情就不可能发生了。 最后经过验证,该组合下,木条长度为6的解有348种,而木条长度为8的解有336种,之间相差12种!!!
所以,鲁班锁的木条长度对鲁班锁解的影响是不可忽视的。随意简化木条的长度的做法是不可取的 |