yangleader的个人博客分享 http://blog.sciencenet.cn/u/yangleader 教授,博士生导师,北邮信息安全中心主任

博文

棋盘格璇玑图研究

已有 3961 次阅读 2013-2-24 23:32 |个人分类:机器文学 |系统分类:科研笔记| office, center, namespace, xml, 璇玑图

棋盘格璇玑图研究

杨义先

北京邮电大学信息安全中心主任

灵创团队带头人

 

 

摘要:本文提出并实现了一种新型的璇玑图,称为“棋盘格璇玑图”,它虽脱胎于历史上著名的五色“苏蕙璇玑诗图”[1]中的红色格状部分,但是,其千变万化的程度又远胜于前者!根据数学理论的精确计算,它可以产生35960首四绝诗(三言、五言或七言),或者说,4294967295(约43亿)篇韵文!而且,三言版“棋盘格璇玑图”的绘制方法可以编成计算机软件,然后,由普通用户在瞬间按自己的意愿完成数幅“棋盘格璇玑图”。(注:目前“五言版”和“七言版”还无法由计算机自动完成,因此,“苏蕙璇玑诗图”就更不能由计算机自动完成了!)

 

(一)棋盘格璇玑图案例

 

中国象棋的“帅府”图如下图1所示(注:如果图片显示有问题,请见附件中的WORD文档的全部内容 

棋盘格璇玑图.doc ):

 

1:棋盘格图

1中共有九个交叉结点(分别标为123456789),同时,还有16条线(边),其中含6条横线(边)(分别标为(12)、(23)、(45)、(56)、(78)、(89)),6条纵线(边)(分别标为(14)、(25)、(36)、(47)、(58)、(69))和4条斜线(边)(分别标为(15)、(59)、(35)、(57))。

 

1.1)三言版“棋盘格璇玑图”例

 

我们的三言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放两个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“三言四绝诗”,同时,该诗逆向阅读后,也得到另一首“三言四绝诗”。

下面的图2便是三言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首三言四绝诗和更多(40多亿)的三言韵文。

 

           

                       

                       

           

                       

                       

           

 

      图2:三言版“棋盘格璇玑图”例子

 

比如,以“妻”开头,便至少可读出如下的“三言四绝”诗:

妻仙嫣,姐懒贱;妾艳馋,爹喘惨。

妻仙嫣,姐廉俭;爷憨变,哥严贤。

妻淡恬,爷叛悍;爹馋艳,妾贱懒。

妻妍腼,弟闲谦;爷俭廉,姐嫣仙。

妻妍腼,弟安健;子贤严,哥变憨。

它们反序阅读后,分别变成:

惨喘爹,馋艳妾;贱懒姐,嫣仙妻。

贤严哥,变憨爷;俭廉姐,嫣仙妻。

懒贱妾,艳馋爹;悍叛爷,恬淡妻。

仙嫣姐,廉俭爷;谦闲弟,腼妍妻。

憨变哥,严贤子;健安弟,腼妍妻。

 

1.2)五言版“棋盘格璇玑图”例

 

我们的五言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放四个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“五言四绝诗”,同时,该诗逆向阅读后,也得到另一首“五言四绝诗”。

下面的图3便是五言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首五言四绝诗和更多(40多亿)的五言韵文。(由于读法基本与前面的“三言版”相同,所以,此处不重复列举了)

 

1.3)七言版“棋盘格璇玑图”例

 

我们的七言版“棋盘格璇玑图”就是在图1的九个交叉结点上各放一个汉字,然后,沿每条直线(横线、纵线、斜线)在交叉点之间(不含交叉结点)再各放六个汉字,使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“七言四绝诗”,同时,该诗逆向阅读后,也得到另一首“七言四绝诗”。

下面的图4便是七言版“棋盘格璇玑图”的案例。它按上述读法可以读出同一个主题(“瞧这一家子”)的3万余首七言四绝诗和更多(40多亿)的七言韵文。(由于读法基本与前面的“三言版”相同,所以,此处不重复列举了)

 

                   

                                                   

                                                   

                                                   

                                                   

                   

                                                   

                                                   

                                                   

                                                   

                   

 

       图3:五言版“棋盘格璇玑图”例子

 

 

                           

                                                                               

                                                                               

                                                                               

                                                                               

                                                                               

                                                                               

                           

                                                                               

                                                                               

                                                                               

                                                                               

                                                                               

                                                                               

                           

 

       图4:七言版“棋盘格璇玑图”例子

 

(二)棋盘格璇玑图的绘制思路

2.1)“三言版”的绘制

  三言版的“棋盘格璇玑图”完全可以由计算机按照如下机械方法快速生成:

第一步:根据用户自行选择的某个“韵”,查出该韵的所有属性为“名词”和“形容词”的汉字,然后,按照如下优先顺序将相关汉字填入九个交叉结点中:人物名词、动物名词、名词、形容词。

第二步:用户再选择另外1个韵(或2个韵,如果担心备选汉字个数不够的话),按如下优先顺序将相关汉字填入与每个结点紧邻的位置。

第三步:前面2步完成之后,计算机其实就已经绘制出了多幅三言版的“棋盘格璇玑图”,因此,只需要由人工选出用户自己满意的一幅(或多幅)图就行了。

2.2)“五言版”的绘制

五言版的“棋盘格璇玑图”可以在三言版的基础上扩张而成。比如,选定某条直线后,把三言版中这条直线两端的结点汉字与它紧邻的那个汉字整合,形成两个词AB(每个词两个字),然后,插入另外一个词C(它也由两个字组成),使得C能够将AB正向和反向连贯成一个能够读懂的句子就行了。

但是,目前计算机还不知道如何选择这个C,所以,目前计算机还不能自动生成五言版的“棋盘格璇玑图”。不过,由人工来选择C并不难,普通人几乎都能够在一小时内完成一幅五言版“棋盘格璇玑图”中全部C的选择。

2.3)“七言版”的绘制

七言版的“棋盘格璇玑图”可以在五言版的基础上扩张而成。比如,选定某条直线后,按(2.2)节中的标记,把五言版中这条直线上的三个词分别记为ABC,然后,AC之间(或者BC之间)再插入一个词D(它也由两个字组成),使得D能够将AC(或者CB)正向和反向连贯成一个能够读懂的句子就行了。

但是,目前计算机也不知道如何选择这个D,所以,目前计算机还不能自动生成七言版的“棋盘格璇玑图”。不过,由人工来选择D并不难,普通人几乎都能够在一小时内完成一幅七言版“棋盘格璇玑图”中全部D的选择。

 

(三)研究“棋盘格璇玑图”的动机

史上最难的“璇玑图”当数苏蕙绘制的五色“璇玑诗图”。自古以来,许多文人墨客都试图从苏蕙的璇玑图中读出更多的回文诗,但是,作者直观感觉像类似“璇玑图”这样的东西应该是计算机的长项(至少借助计算机,普通人都应该能够比较快捷地绘制出自己的“璇玑图”)。事实也证明,作者确实完全破解了苏东坡的菱形璇玑图[2],并且还解决了“环形璇玑诗图”的计算机自动生成问题[3]。但是,由于苏蕙璇玑图的字数太多,规律性不强,人为因素太多,因此,目前仍然未能够破解。

研究发现,五色苏蕙璇玑图中变数最复杂的部分是所谓的“红色”部分(见图5),显然,只要解决了本文的“棋盘格璇玑图”问题,那么,苏蕙璇玑图的“红色”部分就算解决了。同时,不难看出,本文的“棋盘格璇玑图”远比苏蕙图的“红色”部分灵活多变。(注:如果图5显示有问题,请见附图2)

 

5:由五色“苏蕙璇玑图”红色部分脱胎而得的棋盘格图

实际上,将图5中每个结点(共25个)上放一个汉字,然后,在每条直线(横线、纵线、斜线,共48条线)的两个结点之间(不含结点)再放6个汉字,如果能够使得从任何一个交叉结点出发,沿任何一条直线顺序阅读,到达其后的第四个结点时,便要获得一首“七言四绝诗”,同时,该诗逆向阅读后,也得到另一首“七言四绝诗”,那么苏蕙璇玑图的“红色”部分也就解决了。

幸运的是,第二节中介绍的七言版“棋盘格璇玑图”绘制方法可以轻松地用于解决图5的问题!但是,由于七言版的图5字数太多,而且也仅仅是阶段性成果,所以,我们就将它简化为图1中的“棋盘格璇玑图”了!

当然,激励我们研究图1所示璇玑图的另一个重要原因是:“棋盘格璇玑图”本身的娱乐性也很强!

另外,“机器破解璇玑图”也是本人业余爱好的“技术文学研究”[45]的一个重要组成部分。

 

特别说明:由于本文中包括一些图表,在博客中可能无法正常显示,因此,我们特别把此文的WORD版本作为附件放在此处,供有特殊兴趣的读者详细阅读。


本网站(或页面)的文字允许在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

 

 



https://blog.sciencenet.cn/blog-453322-664824.html

上一篇:把“百家姓”写活
下一篇:棋盘格璇玑图研究(完整版)
收藏 IP: 59.64.255.*| 热度|

3 蒋迅 戴德昌 武夷山

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-8-11 13:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部