作者| 楊義先教授
北京郵電大學信息安全中心主任
靈創團隊帶頭人
摘要 | 歷史上有兩幅著名的“璿璣詩圖,其一是《鏡花緣》中描述的蘇蕙創作的矩形“璿璣詩圖,其二便是蘇軾創作的十字菱形“璿璣詩圖(本文稱之為“蘇軾璿璣圖)。自古以來,許多文人墨客都熱衷於從這兩幅著名的“璿璣詩圖中讀出更多的奇妙詩句,但是,本文卻從工科角度,借用電腦來研究如何使普通百姓能夠輕鬆創作“璿璣詩圖。由於字數太多,雖然目前暫未破解蘇惠的“璿璣詩圖,但是,本文卻成功地破解了蘇軾的“璿璣詩圖。本文在簡述了破解演算法後,結合這幾天的新春喜氣,輕鬆地創作了另一幅蘇軾“璿璣詩圖。
(一) 蘇軾“璿璣詩圖簡介
蘇軾“璿璣詩圖由如下29個字組成一菱形,外圈任取一字開始,順時針或逆時針旋讀,讀之皆可,能得五言絕句三十首;圈內十字交叉的十三個字,縱讀、橫讀、逆讀,可得七言絕句四首;以中間的“老字為樞紐,左右上下旋讀,又可得詩若干首;若將所有二十九字任取一字隨意迴旋,取其押韻,還能得詩若干首。據說以這二十九字反復變化,可讀出七、八十首詩來。
煙
雨 冷
藏 雲 襯
山 紅
遠 望 花
水 流 春 老 吟 殘 蕊
窪 鬥 遠
東 含
隱 叉 香
筍 吐
尖
圖1:蘇軾“璿璣詩圖
雖然從氣勢、變化花樣和難度上,蘇軾的“璿璣詩圖難以與蘇蕙的相提並論,但是,自古文人一直認為,這兩幅“璿璣詩圖神奇巧妙,甚至不惜花費大量時間和精力來努力從“璿璣詩圖中讀出更多的詩。
本人對詩一竅不通,更無興趣去從“璿璣詩圖中讀出更多的新詩,但是,憑直觀感覺,本人以為電腦才是畫“璿璣詩圖的天才。於是,經過課題組的嚴肅、認真研究,終於破解了蘇軾“璿璣詩圖,待相關軟體正式上線後,普通百姓(文盲除外)便都能夠輕鬆為自己量身訂制蘇軾“璿璣詩圖了。
歡迎更多的文理科研究者能夠共同努力,早日破解蘇蕙的“璿璣詩圖。
(二) 破解案例介紹
為使讀者不陷於繁複的演算法描述之中,我們先給出一個借助電腦創作的蘇軾“璿璣詩圖例子(見圖2)。說明:1)圖2僅僅是實驗用例,效果還有待改進;2)圖2借用的意境是這幾天的春節喜氣,所以從圖中讀出的詩基本上都是“恭賀新春方面的內容(今後的上線軟體,大家可以隨意設定自己需要的意境)。
紅
婚 花
好 詠 喜
麗 鬧
琶 慶 春
彤 發 頌 賀 冬 臘 松
駿 新 塔
驕 寺
馳 空 寶
馬 尊
龍
圖2:恭賀新春“電腦璿璣詩圖
下面我們從圖2中試圖讀出一些有代表性的五言絕句或七言絕句(至少有數百首),有興趣的讀者肯定還可以從中讀出更多的新詩。
(2.1)外圈順時針方向閱讀
從圖2的外圈,選任意字開始,沿順時針方向閱讀,可得15首五言四絕。下麵列出有代表性的五首:
紅花喜鬧春,松塔寺寶尊;龍馬馳驕駿,彤琶麗好婚。
花喜鬧春松,塔寺寶尊龍;馬馳驕駿彤,琶麗好婚紅。
喜鬧春松塔,寺寶尊龍馬;馳驕駿彤琶,麗好婚紅花。
鬧春松塔寺,寶尊龍馬馳;驕駿彤琶麗,好婚紅花喜。
春松塔寺寶,尊龍馬馳驕;駿彤琶麗好,婚紅花喜鬧。
(2.2)外圈逆時針方向閱讀
從圖2的外圈,選任意字開始,沿逆時針方向閱讀,可得15首五言四絕。下麵列出有代表性的五首:
婚好麗琶彤,駿驕馳馬龍;尊寶寺塔松,春鬧喜花紅。
好麗琶彤駿,驕馳馬龍尊;寶寺塔松春,鬧喜花紅婚。
麗琶彤駿驕,馳馬龍尊寶;寺塔松春鬧,喜花紅婚好。
琶彤駿驕馳,馬龍尊寶寺;塔松春鬧喜,花紅婚好麗。
彤駿驕馳馬,龍尊寶寺塔;松春鬧喜花,紅婚好麗琶。
(2.3)外圈順時針方向重疊式閱讀
從圖2的外圈,選任意字開始,沿順時針方向重疊式閱讀,可得15首七言四絕句和15首六言四絕。下麵列出有代表性的七言四絕和六言四絕各五首。
紅花喜鬧春松塔,松塔寺寶尊龍馬;龍馬馳驕駿彤琶,彤琶麗好婚紅花。
花喜鬧春松塔寺,塔寺寶尊龍馬馳;馬馳驕駿彤琶麗,琶麗好婚紅花喜。
喜鬧春松塔寺寶,寺寶尊龍馬馳驕;馳驕駿彤琶麗好,麗好婚紅花喜鬧。
鬧春松塔寺寶尊,寶尊龍馬馳驕駿;驕駿彤琶麗好婚,好婚紅花喜鬧春。
春松塔寺寶尊龍,尊龍馬馳驕駿彤;駿彤琶麗好婚紅,婚紅花喜鬧春松。
紅花喜鬧春松,松塔寺寶尊龍;龍馬馳驕駿彤,彤琶麗好婚紅。
花喜鬧春松塔,塔寺寶尊龍馬;馬馳驕駿彤琶,琶麗好婚紅花。
喜鬧春松塔寺,寺寶尊龍馬馳;馳驕駿彤琶麗,麗好婚紅花喜。
鬧春松塔寺寶,寶尊龍馬馳驕;驕駿彤琶麗好,好婚紅花喜鬧。
春松塔寺寶尊,尊龍馬馳驕駿;駿彤琶麗好婚,婚紅花喜鬧春。
(2.4)外圈逆時針方向重疊式閱讀
從圖2的外圈,選任意字開始,沿逆時針方向重疊式閱讀,可得15首七言四絕句和15首六言四絕。下麵列出有代表性的七言四絕和六言四絕各五首。
婚好麗琶彤駿驕,駿驕馳馬龍尊寶;尊寶寺塔松春鬧,春鬧喜花紅婚好。
好麗琶彤駿驕馳,驕馳馬龍尊寶寺;寶寺塔松春鬧春,鬧喜花紅婚好麗。
麗琶彤駿驕馳馬,馳馬龍尊寶寺塔;寺塔松春鬧喜花,喜花紅婚好麗琶。
琶彤駿驕馳馬龍,馬龍尊寶寺塔松;塔松春鬧喜花紅,花紅婚好麗琶彤。
彤駿驕馳馬龍尊,龍尊寶寺塔松春;松春鬧喜花紅婚,紅婚好麗琶彤駿。
婚好麗琶彤駿,駿驕馳馬龍尊;尊寶寺塔松春,春鬧喜花紅婚。
好麗琶彤駿驕,驕馳馬龍尊寶;寶寺塔松春鬧,鬧喜花紅婚好。
麗琶彤駿驕馳,馳馬龍尊寶寺;寺塔松春鬧喜,喜花紅婚好麗。
琶彤駿驕馳馬,馬龍尊寶寺塔;塔松春鬧喜花,花紅婚好麗琶。
彤駿驕馳馬龍,龍尊寶寺塔松;松春鬧喜花紅,紅婚好麗琶彤。
(2.5)回文法閱讀
將上面(2.3)和(2.4)節中的60首詩,按回文方法,反序閱讀可得另外60首詩。下麵僅以(2.3)和(2.4)中的第1和第6首為例,將相應的詩句羅列如下:
花紅婚好麗琶彤,琶彤駿驕馳馬龍;馬龍尊寶寺塔松,塔松春鬧喜花紅。
紅婚好麗琶彤,彤駿驕馳馬龍;龍尊寶寺塔松,松春鬧喜花紅。
好婚紅花喜鬧春,鬧春松塔寺寶尊;寶尊龍馬馳驕駿,驕駿彤琶麗好婚。
婚紅花喜鬧春,春松塔寺寶尊;尊龍馬馳驕駿,駿彤琶麗好婚。
(2.6)內十字架的縱橫逆讀法
將內十字交叉的十三個字,縱讀、橫讀、逆讀,並進行全排列,可得七言四絕句24首,例如:
彤發頌賀冬臘松,紅詠慶賀新空龍;松臘冬賀頌發彤,龍空新賀慶詠紅。
(2.7)內十字架的詩句排列法
以中間的“賀字為中心,左右上下旋讀,又可得詩若干首(至少100首)七言四絕。比如,以下各詩句以及它們的全排列。
紅詠慶賀冬臘松,彤發頌賀新空龍;松臘冬賀慶詠紅,龍空新賀頌發彤。
紅詠慶賀頌發彤,松臘冬賀新空龍;彤發頌賀慶詠紅,龍空新賀冬臘松。
紅詠慶賀松臘冬,彤發頌賀新空龍;冬臘松賀慶詠紅,龍空新賀頌發彤。
紅詠慶賀彤發頌,松臘冬賀新空龍;頌發彤賀慶詠紅,龍空新賀冬臘松。
紅詠慶賀冬臘松,松臘冬賀新空龍;龍空新賀頌發彤,彤發頌賀慶詠紅。
(2.8)內十字架排列詩的回文閱讀法
將(2.7)節中的百餘首詩按回文逆序方式閱讀,又可獲得同等數量的七言四絕。為節省篇幅,不再重複敘述了。
(2.9)外圈與十字架的結合讀法
從任何一個字開始,沿外圈與內十字架交替順序閱讀,又可以得詩若干首五言四絕(具體數量不易精確計算)。比如,
花喜鬧春松,臘冬賀慶詠;紅婚好麗琶,彤發頌賀冬。
尊寶寺塔松,臘冬賀慶詠;紅婚好麗琶,彤發頌賀冬。
馬馳驕駿彤,發頌賀冬臘;松春鬧喜花,紅詠慶賀頌。
婚好麗琶彤,發頌賀冬臘;松春鬧喜花,紅詠慶賀頌。
塔寺寶尊龍,空新賀慶詠;紅花喜鬧春,松臘冬賀頌。
喜鬧春松臘,冬賀頌發彤;駿驕馳馬龍,空新賀慶詠。
鬧春松臘冬,賀新空龍馬;馳驕駿彤發,頌賀慶詠紅。
賀冬臘松春,鬧喜花紅詠;慶賀新空龍,馬馳驕駿彤。
……………
(2.10)交替重疊式讀法
將(2.9)中讀出的詩進行適當重疊,便又可以讀出相應的六言或七言詩若干首。限於篇幅,不再重複描述。
除了上述十大類閱讀方法外,肯定還有許多別的閱讀法,不過,由於本文目的不在於讀出多少首詩,而是在於如何讓普通百姓也能夠輕鬆創作這樣的“蘇軾璿璣圖,因此,圖2“璿璣圖的讀法就到此為止了。
(三)破解蘇軾璿璣圖的演算法簡述
此破解演算法的關鍵主要分為三大部分。
第一部分:音韻表的構造。
目前發現的“蘇軾璿璣圖的有效音韻表有好幾類,其中,比較簡捷的是如下圖3所示的音韻表範例。
A
E B
D X C
C D
B F E
A Y G Z G Y A
E F B
D C
C X D
B E
A
圖3:蘇軾璿璣圖的音韻表範式例子
A、B、C、D、E、F、G、Z可以是任意給定的音韻,甚至它們中的某些部分可以是相同的音韻,比如,為簡捷計,可令G=A,Y=B等。
第二部分:根據事先選定的意境,構造相應的“意境庫。
這部分的難度和工作量都是最大,而且,最好要有文科人員的協助。“意境庫主要包括一些“字和“兩字詞,不但要使“意境庫中的每個元素都所選定意境有很高的吻合度,而且還要求這些元素有很高的獨立性和“回讀性。當然,任何“意境庫都不可能達到最佳狀態,不過,今後所有用戶可以根據自身的需要,對“意境庫進行充實和改進(即,人工訓練),這樣“意境庫將會越變越聰明。由此可見,人工智慧是機器破解璿璣圖的重要技術工具。
第三部分:以音韻表為邊界條件,從訓練好的“意境庫中選擇相應的元素進行填空,然後,進行測試去劣,並最終選定自己滿意的“蘇軾璿璣圖。
限於篇幅,也為了保持讀者的興趣,此處未詳細描述相關演算法,歡迎有興趣的讀者(電腦專家或文學愛好者都行)與我們聯繫,我將毫無保留地把所有演算法細節如實告知。
注:我們即將推出一款電腦寫詩軟體,其玩法是:玩家自己先寫一句五言回文詩句(共五個字),再選定自己希望的意境(比如,“送愛人或“送朋友),那麼,電腦將在瞬間自動生成若干幅蘇軾型的璿璣圖,供玩家享受並從中閱讀出數十首五言和七言回文詩。(當然,如果玩家不會寫回文詩句,或者玩家想更輕鬆一些,那麼,他也可以僅僅隨意選取5至8個韻,然後,再確定自己需要的意境就行了)