Nov 6

    1956年Robert Abbott发明了一个全新的纸牌游戏叫做Eleusis,后来Martin Gardner在1959年6月的Scientific American杂志上介绍了这个游戏。77年10月这个游戏又进一步得到完善,并发展出一些其它的玩法。最近,John Golden提出了这个游戏的第三个版本Eleusis Express,他比Eleusis更简单,更完备,平均游戏时间也更短。Robert Abbott对这个游戏非常满意,这种简单而有趣的推理游戏很可能会像杀人游戏一样流行起来。下面我简单介绍一下这个游戏的规则,你将会看到一种集策略和推理于一体的全新的纸牌游戏。

    这个游戏的规则极其简单,但变化也异常丰富,因为这个游戏的出牌方式是不固定的,游戏开始时玩家甚至不知道出牌的规则是什么。玩家的主要任务就是在游戏过程中探索出牌的规则。游戏需要两副牌,玩家以3到8人为宜。每轮游戏前,玩家需要推选出一位主持人,主持人在这个游戏里扮演最重要的角色。游戏开始前,主持人自己在心里默想一个出牌规则(Secret Rule),但不能告诉玩家。规则的内容应该只考虑扑克牌的花色与点数,与出牌人、牌的摆放方式等无关。这个规则必须简单、明确,通常以“如果上一张牌是什么什么,那么下一张牌就该接什么什么”一类的形式给出,比如“如果上一张牌是红色,下一张牌就是黑色;如果上一张牌是黑色,下一张牌就该是红色”,或者是“要么与前一张牌同花色,要么与前一张牌同点数”。然后主持人洗牌,给每个人发12张牌,然后再翻出一张放在桌面上作为第一张牌打出。这张牌及后面正确的跟牌都摆成一行,叫做主线(Mainline);主线下方可能会有若干边线(Sideline),表示错误的跟牌。游戏正式开始前,主持人可以对秘密规则进行一些提示,之后玩家轮流打牌,主持人判断玩家打出的牌是否符合他的规则:

    
如果打出的牌符合规则
    此时主持人把这张牌加在主线的右边,该玩家手中的牌就少了一张。如果此时该玩家手中的牌打完了,则游戏结束,否则游戏继续进行。
    另外,该玩家还可以获得一次猜测出牌规则的机会,同时每个玩家都必须听他说的答案。如果该玩家猜对了,主持人也宣布游戏结束,否则游戏继续。
如果打出的牌不符合规则
    此时主持人把这张牌放在的相应的边线位置上,告诉大家这张牌不能接在这个位置。这名玩家需要再摸一张牌,手中的牌的张数不变。

    轮到某位玩家出牌时,该玩家可以选择不出牌,即宣称自己无牌可打。此时他应该把手中的牌摊出来给所有人看,同时主持人判定该玩家是否确实无牌可打:
如果该玩家确实无牌可打
    如果此时玩家手中只有一张牌,游戏结束。否则,主持人清点该玩家手中牌的数目N,把它们放回还没发完的牌摞的最底下,再发给他N-1张牌。同时,该玩家获得一次猜测出牌规则的机会,猜对了同样可以直接获胜。
如果该玩家有可以打的牌
    此时主持人从中选出一张可以打的牌接在主线后面,该玩家收起自己其余的牌并再摸一张,保持手中的牌数不变。

    游戏结束后,每个人的得分就是自己打出去的牌的张数。打完所有牌而获胜的玩家再获3分的加分,猜对规则而获胜则得到6分的加分。主持人的得分与本轮最高分相同。然后大家重新推选主持人,继续下一轮游戏。
    如果牌抓完了但游戏还没结束,可以再洗一副牌继续进行,或宣布游戏结束,本轮不计分。然后,主持人阴笑几下,故弄玄虚地说出自己所想的规则,等待玩家们恍然大悟并集体发出“哎呀~~~”的叹息声(或者等待玩家大骂这规则太他妈BT了谁能想到啊)。
    若干轮游戏后,最终的胜者就是累积得分最高的人。我们可以适当给赢家一些奖励,比如让他亲一下最漂亮的MM玩家,或者传几个小A给他。得分最低的人也应当受到惩罚,比如叫他把MM共享出来让大家玩弄,或者贡献一个XX论坛的账号。

    能想到一个简单明了而又富有新意的规则是非常重要的,因此游戏的主持人是整个游戏的灵魂,一个思维活跃又爱捉弄人的主持人可以让游戏变得非常精彩。这里写一些自己想到的规则,大家有什么好的想法也可以在下面说一说。

  • 按黑红梅方的顺序出牌
  • 按三张红色,三张黑色,又三张红色,又三张黑色的顺序出牌
  • 如果上一张牌的点数是1到7,则应该接8到K;如果上一张牌是8到K,则应该接1-7
  • 相邻两张牌的点数之和大于10
  • 相邻两张牌的点数的差的绝对值不超过3
  • 相邻两张牌的点数加起来能被3整除
  • 下一张牌的点数比上一张牌大1点、2点、3点或4点;数字大小关系是“循环的”
  • 如果上一张牌的点数是奇数,则出红色牌;如果上一张牌的点数是偶数,则出黑色牌
  • 如果上一张牌是红色,则出牌的点数小于等于上张牌的点数;否则,出牌的点数大于等于上张牌的点数
  • 如果上一张牌的点数为平方数,则出牌的点数是非完全平方数;否则出牌的点数应该是一个平方数
  • 牌的点数一大一小交替排列(即奇数位置上的牌比前面的点数小,偶数位置上的牌比前面点数大)
  • 如果花色与前面一张相同,则点数必须比它大;如果花色与前面一张不同,则点数必须比它小


做人要厚道 转贴请注明出处
查看更多:http://www.logicmazes.com/games/eleusis/index.html

Nov 5


    The Python Challenge是一个过关式的解谜站点,使用的是经典在线解谜站点Not Pr0n的模式:根据提示找出下一关的网页地址。和Not Pr0n不同的是,在每一关里你都需要编写程序来寻找答案。虽然这个解谜站点的名字叫做Python Challenge,但事实上你可以使用任意一种程序语言(除了少数一两关可能会用到点Python的知识)。
    虽然这个解谜站点已经很火星了(05年建立的),但在国内似乎流传得并不广。偶然发现这个站点,想到NOIp也快到了,多一个有趣的coding练习也是一件好事,因此这里推荐一下这个站点,大家可以一起来试试。

本日志评论原则:禁止“剧透”

Nov 3

    Anagram是一个比较流行的英文文字游戏,本Blog之前曾经介绍过,这里我再提一下。Anagram就是把一个词或者一句话里的字母重新排列,组成一个新的单词或句子,通常前后两者有一种讽刺的意味。比如,Dormitory = Dirty Room,或者Desperation = A Rope Ends It。创作一个有意思的Anagram并不是一件容易的事,你很可能需要计算机的帮助才能找到合适的词。例如,我们可以利用Hash表瞬间找出与给定单词所使用的字母完全相同的单词。我们可以把字典中每个单词的字母按照字母顺序重新排列,于是对单词dame和made操作后的结果都是adem,这样的话使用字母完全相同的单词就对应了一个唯一的Hash值,我们就可以方便地把它们归在一起。
    而实际上,这个Hash表往往没什么用。一个Anagram很可能是由多个单词构成的,因此我们更希望知道,使用某个单词中的字母(不一定全部使用)可以构造出哪些新的单词。例如,我输入单词dormitory,则程序可以输出dirty, motor, trim, dry, room等单词。很多Anagram辅助程序都有这样的功能,并且这也单独作为一个文字游戏存在。我们称这种只用到一部分给定字母的单词叫做不完全Anagram。假如字典里共有n个单词,输入数据长度为l,那么你怎样才能找出所有的不完全Anagram?一种方法是遍历所有n个单词,依次判断每个单词是否合法;另一种方法则是枚举输入数据的2^l子集,对每个子集在之前建立的Hash表中查询一次。现在,你能否想出一个数据结构,使得你的Anagram辅助程序能够以最快的速度输出任何一个给定单词的不完全Anagram?













































  
    答案比你想像的更简单,这是一个非常简单的数据结构。我们建立一棵高度为26的树,按照每个字母出现的次数像Trie一样插入到树中。比如,abacus有2个a,于是插入到根的第二个子树里,接下来数出字母b的个数为1,并继续沿标号为1的边往下走,依此类推。最后,所有的数据都存放在对应的叶子节点上。查询时,在每个节点上只需数一数输入数据中对应字母的个数N,沿着标号小于等于N的边往下走就行了。
    下面是一个非常有趣的问题:这个数据结构还有什么优化的余地?比如,单词在树中是按照从A到Z的顺序依次分类,但实际上我们可以任意调整这个顺序。那么,你觉得建这棵树时是先按E、T等常用字母的个数分类好,还是先按照Q、Z等不常用字母的个数分类好?这个问题很简单,留给大家思考吧。
    另一个比较类似的东西是用于拼写检查的数据结构。这两个有趣的数据结构都是我在这里看到的。

做人要厚道
转贴请注明出处

Nov 2

    还记得上个月推荐的创意解谜游戏Portal吗?这个游戏中游戏者可以用一把Portal发射器创造出类似虫洞的传送门,任何物体都可以从这头瞬移到那头。这款创意游戏吸引人的地方就在于它给人们带来一种全新的思维方式,因此游戏的motto就是Thinking with Portals。或许玩多了后,在生活中我们会突然想到,要是这里有一个Portal该多好啊。于是,这样一组有趣的PS图片诞生了——

  

  

  

  

  

  

消息来源:digg
更多图片:somethingawful

    P.S. 这个游戏网上已经有BT下载了,感兴趣的同志赶快下载试试,别忘了回来告诉我游戏怎么样(我的本本配置太低,肯定玩不起这个游戏)。

Nov 2


    Morpion Solitaire是一个非常简单的单人棋类游戏。游戏开始前棋盘上摆好了36个棋子,这些棋子排成一个空心的十字架形。以后你放上去的每个棋子都必须和已有的四个子连成一条线(左图所示,就像五子棋那样)。唯一需要注意的是,同一个棋子在同一个方向上只能使用一次(即同一方向上的连线不能重叠,否则你就可以一条直线无限摆下去了)。每放下一个新的棋子你就得到1分,再没有新的棋子可摆时游戏结束。
    人们开始好奇,游戏最多可以走多少步。上面的右图一共走了68步,这个记录从99年开始一直保持了7年,直到06年才有人改进到了74步。最近,又一个新的记录诞生了,有人找到了一种79步的解法。它的解法如下图所示:
  

    这个游戏看似简单,但你真正玩一下你会发现游戏变化莫测。很可能这一次你走了60多步,但下一次你却只能走40多步。这是一个打发时间的绝佳方法,仅仅需要一张纸和一支笔就可以混过大半节古代汉语课,没准一不小心就破了世界纪录。有兴趣的话不妨也写个程序来搜索一下,看看你的程序能不能跑出一个80的解来。目前解的上界是141,下界是79,任何改进都可以发信到这个页面里的电子邮箱。

    这个游戏的另一个版本则是要求构造新的连线时已有的四个子中任两个都还不曾连接过(而不是同一棋子同一方向只能用一次),你可以在这里玩到一个在线的Java版本。这个版本更是变化多端,运气不好只能走出40多步,RP爆发可以超过150步,目前已经证明的上界则是324步。如果你能走到160步,你可以联系这里给出的邮箱地址(为什么我要翻墙才能看到这个页面?)。目前的最好记录是170步,如下图所示:
  

Nov 1

    每个领域里都有那么几本经典的读物,比如科幻界的圣经就是世界科幻之父Jules Verne的一系列作品,或是家喻户晓的科幻经典Hitchhiker's Guide to the Galaxy;信息学界则有Knuth的The Art of Computer Programming,或是每个搞OI/ACM的都看过或者听说过的Introduction to Algorithms。前段时间有数学爱好者在这里留言问到有没有什么好的数学书,在这里我和大家分享几本数学界的经典读物。

    有史以来最为经典的数学书当属What Is Mathematics? An Elementary Approach to Ideas and Methods(中译:什么是数学?对思想和方法的基本研究)。这本书由Courant和Herbert Robbins所写,后来Ian Stewart做了修订,增加了一些Courant和Robbins时代还没有的新进展。这本书非常牛B,Einstein曾说,这本书是“对整个数学领域中的基本概念及方法的透彻清晰的阐述”。
    Ian Stewart自己也写过不少书,他似乎很喜欢把数学和其它自然科学联系在一起,比较经典的是Nature's Numbers(中译:大自然的数学游戏);另一本经典则是Does God Play Dice,不过我既没找到中译本,也没找到影印版。

    前几天数学课上我们老师推荐了Pólya的几本经典著作:

  • How to Solve It: A New Aspect of Mathematical Method
  • Mathematics and Plausible Reasoning: Volume I Induction and Analogy in Mathematics
  • Mathematics and Plausible Reasoning: Volume II Patterns of Plausible Inference


    这三本书现在都有译本,中译名分别如下:

  • 怎样解题:数学思维的新方法
  • 数学与猜想(第一卷):数学中的归纳和类比
  • 数学与猜想(第二卷):合情推理模式


    现在我正在看《数学与猜想》,里面的习题设置是一大亮点。读完一章后你一定要认真完成所有的习题,不然你这本书就白买了。每一章的习题都是前后连贯,一气呵成的。前面的题可以帮助你完成后面的题,带你一步一步进行发现、归纳、猜想、验证和证明。依次完成这一章的所有习题后你会体会到探索数学奥秘的乐趣。以后只要我发现这些书里有什么我从没见过的新奇玩意儿,我都会放到Blog上。

    探索数学世界,看一本数学史书是很有必要的。我曾专门去书店找过,这一类的书有很多,比如机械工业出版社就有一本Victor J.Katz的数学简史。早以前我买了一本《数学悖论与三次数学危机》,这本书则从一个特殊的角度纵观数学发展史,切入点非常有意思。

    国外还有很多非常流行的数学科普读物,这些书曾经非常畅销。例如,John Allen Paulos的Once Upon a Number: The Hidden Mathematical Logic of Stories(中译:从前有个数:故事中的数学逻辑)就是一本很流行的大众化数学读物;而另类科幻小说Flatland(中译:神奇的二维国)则以一个特殊的形式向大家介绍了数学中的维度概念。

最后,欢迎大家在下面留言,给我和其它网友也推荐一些好的数学书
Matrix67原创,转贴请注明出处

     更新的日志 »