|||
棋盘格璇玑图研究(完整版)
杨义先
北京邮电大学信息安全中心主任
灵创团队带头人
摘要:本文提出并实现了一种新型的璇玑图,称为“棋盘格璇玑图”,它虽脱胎于历史上著名的五色“苏蕙璇玑诗图”[1]中的红色格状部分,但是,其千变万化的程度又远胜于前者!根据数学理论的精确计算,它可以产生35960首四绝诗(三言、五言或七言),或者说,4294967295(约43亿)篇韵文!基于该类“棋盘格璇玑图”,我们即将推出一款计算机写诗软件,它的玩法如下:玩家只需要任选2个韵,并且选择自己需要的意境(比如,“送爱人”或“送朋友”)和需要的是诗言数(比如,三言、五言或七言),那么,计算机将在瞬间提供数幅“棋盘格璇玑图”,然后,玩家根据自己的爱好,选取其中的一幅或多幅璇玑图,并享受从中阅读出的数万首“回文诗”!
特别说明重新发布本文的原因:1)由于博客编辑器的显示功能太弱,几个关键图表仍然无法显示,因此,请有特殊兴趣的读者,请点击并阅读此附件中的全文( 棋盘格璇玑图.doc );2)此文是本人即将发布的“破解苏蕙璇玑图”的关键,因此,为确保整体系统的连贯,必须首先确保本文的完整性;3)与前一版本相比,此完整版在计算机实现方面也有进展。
(一)棋盘格璇玑图案例
中国象棋的“帅府”图如下图1所示:
图1:棋盘格图
图1中共有九个交叉结点(分别标为1、2、3、4、5、6、7、8、9),同时,还有16条线(边),其中含6条横线(边)(分别标为(1,2)、(2,3)、(4,5)、(5,6)、(7,8)、(8,9)),6条纵线(边)(分别标为(1,4)、(2,5)、(3,6)、(4,7)、(5,8)、(6,9))和4条斜线(边)(分别标为(1,5)、(5,9)、(3,5)、(5,7))。
(1.1)三言版“棋盘格璇玑图”例
我们的三言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放两个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“三言四绝诗”,同时,该诗逆向阅读后,也得到另一首“三言四绝诗”。
下面的图2便是三言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首三言四绝诗和更多(40多亿)的三言韵文。
妻 仙 嫣 姐 懒 贱 妾
妍 淡 廉 奸 艳
腼 恬 俭 欢 馋
弟 闲 谦 爷 叛 悍 爹
安 瘫 憨 烦 喘
健 忐 变 癫 惨
子 贤 严 哥 贪 善 姨
图2:三言版“棋盘格璇玑图”例子
比如,以“妻”开头,便至少可读出如下的“三言四绝”诗:
妻仙嫣,姐懒贱;妾艳馋,爹喘惨。
妻仙嫣,姐廉俭;爷憨变,哥严贤。
妻淡恬,爷叛悍;爹馋艳,妾贱懒。
妻妍腼,弟闲谦;爷俭廉,姐嫣仙。
妻妍腼,弟安健;子贤严,哥变憨。
它们反序阅读后,分别变成:
惨喘爹,馋艳妾;贱懒姐,嫣仙妻。
贤严哥,变憨爷;俭廉姐,嫣仙妻。
懒贱妾,艳馋爹;悍叛爷,恬淡妻。
仙嫣姐,廉俭爷;谦闲弟,腼妍妻。
憨变哥,严贤子;健安弟,腼妍妻。
(1.2)五言版“棋盘格璇玑图”例
我们的五言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放四个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“五言四绝诗”,同时,该诗逆向阅读后,也得到另一首“五言四绝诗”。
下面的图3便是五言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首五言四绝诗和更多(40多亿)的五言韵文。(由于读法基本与前面的“三言版”相同,所以,此处不重复列举了)
妻 仙 桃 花 嫣 姐 懒 猪 狗 贱 妾
妍 淡 廉 奸 艳
羞 温 勤 猴 心
月 和 劳 狐 嘴
腼 恬 俭 欢 馋
弟 闲 云 风 谦 爷 叛 雷 电 悍 爹
安 瘫 憨 烦 喘
龙 手 猫 痴 吸
虎 心 熊 疯 呼
健 忐 变 癫 惨
子 贤 规 法 严 哥 贪 德 道 善 姨
图3:五言版“棋盘格璇玑图”例子
(1.3)七言版“棋盘格璇玑图”例
我们的七言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放六个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“七言四绝诗”,同时,该诗逆向阅读后,也得到另一首“七言四绝诗”。
下面的图4便是七言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首七言四绝诗和更多(40多亿)的七言韵文。(由于读法基本与前面的“三言版”相同,所以,此处不重复列举了)
妻 仙 女 桃 花 妹 嫣 姐 懒 惰 猪 狗 低 贱 妾
妍 淡 廉 奸 艳
羞 雅 美 猴 心
月 和 勤 狐 嘴
花 温 耕 鬼 手
闭 娴 洁 神 眼
腼 恬 俭 欢 馋
弟 闲 柳 细 云 风 谦 爷 叛 雷 鸣 闪 电 悍 爹
安 瘫 憨 烦 喘
龙 手 猫 痴 呼
虎 脚 熊 疯 吸
凰 心 仔 野 胸
凤 肠 免 狂 肺
健 忐 变 癫 惨
子 贤 方 圆 规 法 严 哥 贪 仁 义 德 道 善 姨
图4:七言版“棋盘格璇玑图”例子
(二)棋盘格璇玑图的绘制思路
(2.1)“三言版”的绘制
三言版的“棋盘格璇玑图”完全可以由计算机按照如下机械方法快速生成:
第一步:根据用户自行选择的某个“韵”,查出该韵的所有属性为“名词”和“形容词”的汉字,然后,按照如下优先顺序将相关汉字填入图1的九个交叉结点中:人物名词、动物名词、名词、形容词(如果数量不够,这些“汉字”可以重复使用)。
第二步:用户再选择另外1个韵(或2个韵,如果担心备选汉字个数不够的话),按如下优先顺序将相关汉字填入与每个结点紧邻的位置:形容词、名词、动词等(如果数量不够,这些“汉字”也可以重复使用)。
第三步:前面2步完成之后,计算机其实就已经绘制出了多幅三言版的“棋盘格璇玑图”,因此,只需要由人工选出用户自己满意的一幅(或多幅)图就行了。
(2.2)“五言版”的绘制
五言版的“棋盘格璇玑图”可以在三言版的基础上扩张而成。比如,选定图1中的某条直线后,把三言版中这条直线两端的“结点汉字”与它紧邻的那个汉字整合,形成两个词A和B(每个词两个字),然后,插入另外一个词C(C也由两个字组成),使得C能够将A和B正向和反向连贯成一个能够读懂的句子就行了。
虽然,目前计算机还不知道如何智能又富有诗意地选择这个C,但是,汉字的这两种韵的个数是极其有限的,完全可以仿照已有的计算机写藏头诗软件《搜搜舞文弄墨》[6],针对所有的A和B,先由人工(比如,诗人们)撰写出尽够数量的C,将这些ACB放入诗句库中,然后,用户需要时自取就行了(这也可算作是“计算机自动生成吧”)。当然,图3中的案例是由我(在图2的基础上)自己选的,总耗时未超过半小时。相信,有一定文学功底的网友,会比我做得更快、更好!
(2.3)“七言版”的绘制
七言版的“棋盘格璇玑图”可以在五言版的基础上扩张而成。比如,选定某条直线后,按(2.2)节中的标记,把五言版中这条直线上的三个词分别记为A、B、C,然后,A与C之间(或者B与C之间)再插入一个词D(它也由两个字组成),使得D能够将A和C(或者C和B)正向和反向连贯成一个能够读懂的句子就行了。
与(2.2)节中的论述相同,七言版的“棋盘格璇玑图”也可以由计算机自动生成,当然,实际上仍然是从“七言诗句库”(事先建立)中选择那些满足音韵要求的众多例句而已。
(三)研究“棋盘格璇玑图”的动机
史上最难的“璇玑图”当数苏蕙绘制的五色“璇玑诗图”。自古以来,许多文人墨客都试图从苏蕙的璇玑图中读出更多的回文诗,但是,作者直观感觉像类似“璇玑图”这样的东西应该是计算机的长项(至少借助计算机,普通人都应该能够比较快捷地绘制出自己的“璇玑图”)。事实也证明,作者确实完全破解了苏东坡的菱形璇玑图[2],并且还解决了“环形璇玑诗图”的计算机自动生成问题[3]。但是,由于苏蕙璇玑图的字数太多,规律性不强,人为因素太多,因此,目前仍然未能够破解。
研究发现,五色苏蕙璇玑图中变数最复杂的部分是所谓的“红色”部分(见图5),显然,只要解决了本文的“棋盘格璇玑图”问题,那么,苏蕙璇玑图的“红色”部分就算解决了。同时,不难看出,本文的“棋盘格璇玑图”远比苏蕙图的“红色”部分灵活多变。
图5:由五色“苏蕙璇玑图”红色部分脱胎而得的棋盘格图
实际上,将图5中每个结点(共25个)上放一个汉字,然后,在每条直线(横线、纵线、斜线,共48条线)的两个结点之间(不含结点)再放6个汉字,如果能够使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“七言四绝诗”,同时,该诗逆向阅读后,也得到另一首“七言四绝诗”,那么苏蕙璇玑图的“红色”部分也就解决了。
幸运的是,第二节中介绍的七言版“棋盘格璇玑图”绘制方法可以轻松地用于解决图5的问题!但是,由于七言版的图5字数太多,而且也仅仅是阶段性成果,所以,我们就将它简化为图1中的“棋盘格璇玑图”了!
当然,激励我们研究图1所示璇玑图的另一个重要原因是:“棋盘格璇玑图”本身的娱乐性也很强!
我们即将推出一款基于图1“棋盘格璇玑图”计算机写诗软件,它的玩法如下:玩家只需要任选2个韵(比如,A、B),并且选择自己需要的意境(比如,“送爱人”或“送朋友”)和需要的是诗言数(比如,三言、五言或七言),那么,计算机将在瞬间提供数幅图1中的“棋盘格璇玑图”,然后,玩家根据自己的爱好,选取其中的一幅或多幅璇玑图就行了!
另外,“机器破解璇玑图”也是本人业余爱好的“技术文学研究”[4,5]的一个重要组成部分。
本网站(或页面)的文字允许在CC-BY-SA 3.0协议和GNU自由文档许可证下修改和再使用。
参考文献
[1]百度百科之“苏蕙璇玑诗图”, http://baike.baidu.com/view/14008.htm
[2]杨义先,破解苏轼璇玑诗图,
http://blog.sciencenet.cn/blog-453322-660604.html
[3]杨义先,环形回文诗―――机器文学新进展,
http://blog.sciencenet.cn/blog-453322-658059.html
[4]杨义先,技术文学初探(1),
http://blog.sciencenet.cn/blog-453322-620434.html
[5]杨义先,技术文学初探(2),
http://blog.sciencenet.cn/blog-453322-620437.html
[6] 搜搜舞文弄墨, http://labs.soso.com/app.q?app=makepoem
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 15:15
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社