|
|
|
|
|
|
Y*******7 发帖数: 175 | 1 有一个流传已久的说法,如果你随机点开维基百科任何一篇文章,点进文章中第一个链接,进入之后再点击该文章中第一个链接,持续点下去,你最终会到达同一个页面,那便是——「哲学」。
是不是很有万法归一的终极归宿感?一路上你可能会经过「数学」、「科学」、「知识」、「知觉」,它们都只是路边风景。当你翻山越岭到达终点,惟有哲学在此等候多时。
就像神话中的英雄都逃不过自己的宿命。实际上,这个说法是真的。截至2016年统计,它的准确度高达97%。九十七分天注定,三分靠打拼,我们可以容忍这三分的随机性。而正是这份不确定,当我们最近一次荡起双桨,伙伴们玩起成语接龙时,让我很想找到它的隐藏秘辛:到底接龙接在什么地方,才最容易折戟沉沙,抑或,香消玉殒?
经典版本
简单梳理一下规则。各言其志嘛,最开始随便选一个成语,第一个人想到什么,比如很有慈悲心的Ta说了自己的「恻隐之心」。第二个人在暮春歌咏的畅快中,从所有心字开头的成语里,接上「心向往之」。第三个人没有很多选择,挠挠头接「之乎者也」。到了「也」字算是玩死啦,第四个人已经无话可说。
恻隐之心 → 心向往之 → 之乎者也 → Game Over!
这里故意举了一个很短的例子。长一点的当然也能接:
居功自傲 → 傲睨万物 → 物阜民安 → 安家立业 → 业精于勤 → 勤学苦练 → 练达老成 → 成事不说 → 说长道短 → 短褐穿结 → 结发夫妻 → 妻儿老小 → 小时了了 → 了然于胸 → 胸中无数 → 数见不鲜 → 鲜车怒马 → 马工枚速 → 速战速决 → 决胜庙堂 → 堂堂正正 → 正正之旗 → 旗帜鲜明 → 明镜高悬 → 悬崖峭壁 → 壁垒森严 → 严气正性 → 性命交关 → 关门打狗 → 狗吠不惊 → 惊魂未定 → 定于一尊 → 尊师重道 → 道义之交 → 交口称誉 → 誉不绝口 → 口齿伶俐 → Game Over!
这个严格版的规则里,每一个成语的首字,必须和前一个成语的末尾汉字相同。已经用过的成语不能再用,避免出现「为所欲为」、「仁者见仁」这样无限循环的BUG。
规则确定了,建成模型,非常清晰的有向图 (Directed Graph) 问题。把每一个成语都想成一个节点,根据末字指向所有以这个字开头的其他节点。画出来如下图所示。
成语有向图局部示例
为了节省留白没有画出箭头,指向关系应该不言自明。节点条目来自一个13011词的成语词典数据库。网上还可以找到别的版本,但我选了一万三千词这个。既可以照顾到一些同义词变化,比如「茶余饭后/茶余酒后」,或者顺序倒换像「地坼天崩/天崩地坼」;同时也去掉了长尾上词频较低的用法,不考虑那些让人感觉不那么像成语的成语。
当然也节省很多CPU时间。当图建好了之后。接下来要做的
1。 从图中随机选择一个节点,也即一个成语,作为当前节点。例如,「按部就班」
2。 在屏幕上打印当前节点
3。 读取本节点指向的所有能接的成语选项。例如「按部就班」有三个可以接的选项
按部就班: 班荆道故 班门弄斧 班师回朝
但要排除当前节点本身以外,比如「为所欲为」指向了自己
为所欲为: 为所欲为 为丛驱雀 为德不卒 为富不仁 为非作歹 。.。.
选项表中应该划去
4。 当前节点已经用掉了。从图中摘掉当前节点,以及所有相邻边。就像你搭格子的时候,拆掉一个小球,把插在小球上的小棍也都拆掉。
此时我们的图会变得稀疏一点点
5。 从刚才得到的选项列表中随机选择一个接上,作为新的当前节点
重复上述步骤2-5,直到当前成语没有任何可接的选项了,此时你得到了图中一片孤独的树叶,没有任何树枝相连。这个时候就算接龙玩死了。屏幕上打印出来的,就是本次接龙的序列。
我们要做的,就是把游戏重复多次,就能找到最容易玩死的地方。
从直觉你可能会说,直接找没有下家的成语不就成了吗。嗯,那是一种考虑这个问题的方式,换一个角度思考,除非你脱口而出第一个词就把游戏终结,其他时候,总得是有一个什么别的词,把你引到现在的词。比如已知「似懂非懂」是一个死亡节点。你需要一个别人说「xxx似」才能到这儿,对吧。
所以最容易死的应该是进口大、出口窄的词。它的首字经常出现在别的成语的末尾,但它指向的下家却山穷水尽。要看它,得看它的上家,上家出现的概率又取决于它上家的上家。每一个词都不是孤立的。要决定最后那个节点,除非把游戏玩上一遍不可。
书读百遍,其义自见。玩游戏也不例外,玩的遍数多了,就能进行统计了。那么老老实实地玩呗,写个程序开始跑,屏幕上滚动出现下列字样:
学而优则仕
五方杂处 → 处心积虑
十万八千里 → 里丑捧心 → 心如死灰 → 灰飞烟灭 → 灭门绝户 → 户告人晓 → 晓风残月 → 月章星句 → 句斟字酌 → 酌盈剂虚 → 虚无缥缈
贵远贱近 → 近在咫尺 → 尺寸之功 → 功标青史 → 史不绝书 → 书同文,车同轨
言为心声 → 声振林木 → 木雕泥塑
扼吭拊背 → 背水一战 → 战天斗地 → 地丑德齐 → 齐家治国 → 国士无双 → 双瞳剪水 → 水秀山明 → 明枪暗箭 → 箭在弦上 → 上下交困 → 困而学之 → 之乎者也
每一局结果打印一行。玩到一万局,已经可以看出套路。在总共10741局接龙里,当当当当,最容易玩死的是「李代桃僵」!!!一共被玩死了114次。
10741局成语接龙
仔细看看最容易玩死成语二十强,都是些没有下家的孤魂野鬼,什么「之乎者也」、「谷贱伤农」,都是嗯嗯嗯……没法接的。
但让「李代桃僵」成为荣耀王者的,就是它的来源比较广啦,「投桃报李」、「公门桃李」、「道旁苦李」、「张王赵李」……一共九个,而这九个也是吸引流量比较多的。
相比之下,「危在旦夕」同样也是没有下家可接的,而且一共有上家有十六个之多:「居安思危」、「岌岌可危」、「乘人之危」……但这些上家的流量少一点,一共被玩死32次。好比十六家小媒体帮你活动主推,比不上人家九个大V。
一句话总结排行榜:上家来源广、下家没的想,横批:李代桃僵。
轻松版本
我们平常会玩简化版的成语接龙,只要读音,不管汉字,也不管音调,字母拼出来相同就算接上,「洞房花烛」,可以接「珠联璧合」。
放松规则,游戏才玩得下去嘛,毕竟离高考很远,学过的都忘了……但计算机不会忘,保证穷举。这样一来接龙会变得很长长长长、长到霸屏。选一个稍短的:
玄之又玄 → 喧宾夺主 → 著作等身 → 神龙见首不见尾 → 唯唯否否
轻松版本比较明显,玩了四千多局局足够了。依法统计,前二十强名单如下,看到最后结果我整个人是「地坼天崩」的:
4367局成语接龙
套路就是结尾那几个,崩啊,润啊,否啊,耨啊,都是些没接茬的。
把几个末尾字读音合并一下趋势更明显了,beng字一骑绝尘遥遥领先,4367局中一手KO1164次,占了全Game Over四分之一强。
顺便说这个结果有赖于选择的词典,没有收「润笔之资」、「润物润身」,让run没有接茬,不然排行就会变了。
顺便说下那个数据库的拼音有错误,最后手动纠正了,但程序白跑了两个晚上(一局超慢的……十秒级),555。
一句话总结:要想虐,就选崩,一团圆润,全剧终!
号外:小秘技
既然都穷举了,不妨说几个秘技。当你们「心照不宣」,想和对方「打情骂俏」,结果发现是自己「心怀叵测」,因为你们根本「八字没一撇」。这四个词,在严格版本里,都是一击必杀。
要是记不住,直接上「地坼天崩」,无论在哪个版本,都能直接地坼天崩。但国之利器,不可以轻易使用,因为与人为善,要以和为贵,孟子教导我们得道多助,失道寡助喔。 |
|
|
|
|
|