九分之四
——我发明的一个一维二进制游戏
这是我高三复习最紧张的时候发明的一个游戏,用以缓解复习考试的压力。现在想来的确很有意思,但当时没有重视它。直到上了大学接触到魔方了,才发现它与魔方有莫的联系,于是现在才开始重视并研究它了。
大家都知道魔方是三维的,魔板是二维的,那么类似的一维游戏是什么呢?我想我发明的魔棒就可以填补这个空缺。下面来介绍一下我发明的东西吧,当然要讲发明的过程。为了避免麻烦,我就不画图了。与象形文字相反,我是以文代图。
我发明它的时候是在高三,那时候考试很多,我们的试卷就由同学互相交换批改,自然我们就都备有红笔,当然我们还有做试卷做作业的蓝笔和黑笔。想想有三种颜色陪伴,就觉得我高中生活还算丰富多彩。
有一次,无聊我同时抓起三种颜色的笔(各一支)并排着在纸上乱画了一通,结果里面就有这样一个图案:
IIIIIIIII
很有规律的,每种颜色三个间距很匀称。这大概就是我后面将提到的最远的状态吧。当时就认为它乱的很,互相穿插的,颜色都没有归到一起,像一盘散沙一样。而下面才是我朦胧的意识中的最佳状态。
IIIIIIIII
于是,我就想到是否存在一种具有一定规则的方法使上面很乱的一种状态变为下面一种很整齐的状态。其实它的实体就是九根棍棒,要不规定游戏规则,把同色的几个从里面挑出来放到一起就搞定了,那就没意思了。
我当时灵感一来,就规定了如下规则:每次把最左边的两个移到最右边,两者的位置可以换也可以不换,如此重复多次,直到同色的归到一起就结束。
虽然这样规定了,但心里还是没有底,很担心依照这种规则反复地做会搞不定。刚开始的时候,操作了七八十次都看不到快复原的迹象,准备放弃的,但最后发现我老是徘徊在某几种状态之间。就像循环一样,结果我就在几个相当于循环节的地方做了一个我认为反常的操作,结果很快走出循环了。终于第一次复原了。
只不过,当时是在纸上面玩的,每次在右边画最左边两道线时就将最左边的两道线用书本覆盖掉,用以模仿实物里面的移动。竟然玩的不亦乐乎,还教给同学们玩,还几乎在班里掀起了一个小高潮呢!
但这样在纸上面玩始终是不方便的,我们就盯上了讲台上面的彩色粉笔。结果那几天,讲台上面的粉笔总是被人抢空了。老师觉得这件事很奇怪,结果暗中调查发现我是始作俑者。最后这个游戏就在班主任的干涉下夭折了,前后才七天。大家又回到紧张的复习里面去了
我感觉到了该游戏的价值,就暗中继续研究它。终于找到了上面问题的最短解法(不超过16步),并在那个时候第一次使用了二进制的数。即用1表示对换,0表示不换。
所以上面问题的答案就是:1011100011100010。16步,下图:
IIIIIIIII 1011100011100010(16步) IIIIIIIII
虽然IIIIIIIII与IIIIIIIII不大一样,但都算是复原态。现在不去严格区分。在举个例子:
IIIIIIIII 00100001000010(14步)IIIIIIIII
其实这样玩太简单了,可以称之为2/9玩法。其实我最推崇的还是4/9玩法,不同的是它每次是将左边(右边)四个做一个整体正序或逆序移到右边。也是分别记为0和1.
其实还可以继续推广,比如增加颜色种类,改变每种颜色的数量,而且不同颜色的数量可以不一样等等。玩法也不限于4/9等,还可以是3/11,5/7等等。还可以玩两个状态之间的转换,反正玩法多多。
为什么这里只取名4/9?是这样的,4/9是一种很典型,很有代表性的一种玩法。就像九连环是N连环的代表,横刀立马是华容道的代表,三阶魔方是魔方的代表等等。群龙不能无首。
代表性是很重要的,很泛的游戏是不会得到大的成功的,比如:推箱子。所以我放弃了取名几分之几。暂时也不加以推广,等到4/9玩法很风行的时候再推广。
[此贴子已经被作者于2006-6-29 1:25:16编辑过]
是否能把这些小棒标上字体颜色:
IIIIIIIII
[此贴子已经被作者于2005-10-27 10:36:10编辑过]
巧了,几年前我弟弟给我做个题,与上面的游戏有些许类似之处。
初态、终态倒过来,设置、玩法规则等有所不同。打字贴出易乱,
画在下面吧。他说,“六对”的没做,让我做做看。还问是否
N对就可以用N次调位来解决?有无规律性?
[此贴子已经被作者于2005-10-27 16:31:01编辑过]
[em06][em06][em06]
很奇怪.我很仔细地看过多次,修改过,最后还预览了一次,没有问题才发的.结果还是这样.早知道就用图了.本来是想以文代图,节约空间的.
几经修改终于正常了,还是以文代图,节约空间.回复也请以文代图,规格如下:
字体:Arial narrow.字号:7,最大号.字母:大写的"I".
答案格式:一个二进制数.
其实它和数字转盘游戏很类似,但又不同.玩法及取材比较灵活.
和魔方一样的问题:最短的步骤难求.
巧了,几年前我弟弟给我做个题,与上面的游戏有些许类似之处。
初态、终态倒过来,设置、玩法规则等有所不同。打字贴出易乱,
画在下面吧。他说,“六对”的没做,让我做做看。还问是否
N对就可以用N次调位来解决?有无规律性?
我的规定是必须从最左边拿,而且一定是接在最右边.不允许从中间拿.而且只能正序或逆序来接.不允许拿的时候,中间某些条换位置.
所以完全可以用二进制来记录过程.很严谨的.
是的。 我的跟帖所述是另一回事,只是表面上看有
类似之处。或许另起一帖更好,现说明一下,
读者别误会才好。
共同探讨无妨,
[em17]
呵呵,这种游戏用广度优先算法很快可以得到答案。但是容易发生堆栈溢出,
因此不宜推广求解一般情形,只能计算简单固定情形。感兴趣的程序员不妨试试。
小邱 的题目可以用字符 1 2 3 等表示颜色:
如:122213331 化成“最佳状态”最短答案是 00100001000010(14步) ?
它(00100001000010)是最短答案!小邱的答案是正确的!小邱 很不简单呀!
再如:123123123 化成“最佳状态”最短答案是 1011100011100010 (16步)?
可以明确地说,它(1011100011100010)不是最短答案!可惜 小邱 答错了!
感兴趣的魔友可以试试。这里我只给出 小邱 没有找到答案的 4/9 这种玩法
转换最短方法:
123212313 ( 4/9 ) 化成“最佳状态”最短答案是: 10111001011 (11步)
这类题目建议不要使用编程玩(虽然有时计算机会发生堆栈溢出,从而解不出),
那样太没意思了!
附:简易答案程序
分别输入:
? / 9 :中的 ? 值
串: 只能用 1 2 3
123212313 ( 4/9 ) 化成“最佳状态”最短答案是: 10111001011 (11步)
的确的确.
哎,我对于2/9可以找到手工的方法而不用计算机来解.
但4/9却没有办法.
对于颜色(数字)多了,就更不好解了.你编的程序很不错,一下就解决了,可以用来检验答案是否是最短的,但建议不要用来解题.
ggglgq的提议很不错,建议大家都来用手工的方法来解,就像解魔方一样.
ggglgq老师,能否也顺便编一个可以给大家"玩"的程序.就用鼠标左键代表"0",右键代表"1",操作简便,估计很有意思的.
这个小游戏的重点在最短步骤上面,而且是用人工的方法去找。
[此贴子已经被作者于2006-6-29 1:06:21编辑过]
欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) | Powered by Discuz! X2 |