象棋水平的發展是需要靠信息技術來推動的,西洋棋有兩個很好的範例,一個是象棋棋譜編輯和對弈程序的公共平臺——WinBoard平臺,另一個是商業的西洋棋資料庫和對弈軟體——ChessBase,他們為西洋棋愛好者和研究者提供了極大的便利,目前這兩個產品已經成熟。
中國象棋
然而,電腦在中國象棋上的運用還剛剛起步,儘管國內湧現出一大批中國象棋的專業網站和專業軟體,但是由於缺乏必要的基礎工作,電腦技術在中國象棋上的應用優勢還無法體現出來,目前主要問題在於:
1、缺乏完整的象棋棋譜資料庫。儘管各大象棋網站上都有棋譜下載專欄,近幾年來國內各大比賽的完整對局記錄,卻很難在哪個網站上找到。至於資料庫查詢系統,更是遙不可及的事。
2、棋譜的記錄缺乏統一的格式。統一的格式可以方便棋譜的批量處理,這對於建立棋譜資料庫是非常關鍵的。然而現在最流行的象棋棋譜處理軟體是XQStudio(象棋演播室),儘管這個軟體是免費的,但其產生的文件是加密的,其他程序無法讀取。棋譜研究工作者面對的是一大批很有價值的棋譜,可以對加密格式的XQF文件卻無能為力。
3、象棋軟體的開發缺乏專業化的隊伍。ChessBase是專門開發西洋棋軟體的企業,而國內對中國象棋軟體有龐大的需求,卻找不到一家專業的公司來開發,這無疑是一大遺憾。當然,國內盜版猖獗,智慧財產權保護意識差的軟體環境,無疑是最根本的原因。
4、廣大象棋軟體開發的愛好者沒有明確的目標。對於象棋軟體來說,實用性仍舊是主要的評價標準,因此目前應用最廣泛的XQStudio無疑是象棋研究者的首選。儘管很多程式設計師對XQStudio不屑一顧,但是很少有人能推出自己的產品,要麼軟體操作起來困難,要麼宣傳和推廣的力度不夠,要麼因為軟體收費而無人問津。所以現在出現一個奇怪的現象——棋譜格式被一個象棋軟體所壟斷,然而格式卻是加密的,其他軟體無法打開。我們注意到,西洋棋軟體WinBoard之所以成功,跟它使用上的便利是分不開的。
5、對弈引擎沒有統一的平臺。目前比較流行的中國象棋對弈軟體不下十種,但是軟體設計者之間缺乏交流,設計軟體時也不會做很系統的研究,因此象棋引擎的發展還處於初級階段。「象棋引擎協議」既可以作為象棋引擎和象棋界面的通用接口,同時也可以成為不同象棋引擎相互交流的平臺,只有象棋引擎協議建立之後,對人工智慧有建樹的學者才願意把精力花在象棋引擎的開發中去。
6、沒有系統的開局分類體系。西洋棋的開局分類體系以ECO(西洋棋開局百科)編號為主,由於中國象棋開局的特點與西洋棋差異很大,所以制定類似ECO的開局分類體系難度非常大。
西洋棋
這些都是需要解決的問題。這並不是一個簡單的課題,好在我們可以借鑑西洋棋的做法。作者總編輯為該課題擬訂一個計劃:制訂規範→建立平臺→徵集軟體→建立資料庫。萬事開頭難,為此專門開設《中國象棋電腦應用規範》專題,分四部分討論中國象棋的各種規範:
1、著法的表示。著法是棋譜的基本元素,統一的著法表示應該為廣大象棋愛好者所接受,同時方便鍵盤的輸入,更重要的是它為開局體系的制定提供了方便。
2、FEN文件格式。FEN格式是記錄象棋局面的規範,為中局和排局的發布提供方便,同時它也是棋譜格式和引擎協議的重要組成部分。
3、 PGN文件格式。PGN格式是記錄象棋對局的規範,除了包含著法以外,還有棋局的其他信息以及注釋,PGN規範是建立象棋棋譜資料庫的基礎。
4、中國象棋通用引擎協議(UCCI)。這是象棋界面與象棋引擎之間的通訊協議,從而使得象棋界面和象棋引擎的開發工作相對獨立,它為專門從事象棋引擎設計的工作者提供了很大的便利,他們可以運用現成的界面來測試和推廣自己的引擎。
有了以上四個要素,就可以建立中國象棋的公共平臺了,象棋百科全書網總編輯把第一代中國象棋公共平臺命名為「象堡」(ElephantBoard),得名於中國象棋中的「象」字與WinBoard的「Board」一詞。
中國象棋
根據WinBoard的成功經驗,應該具有以下功能:
(1) 棋譜錄入和編輯。棋譜錄入可以通過滑鼠和鍵盤兩種途徑進行,而且可以添加棋局或比賽信息以及注釋等,也可以按著法順序向前或向後推演。棋譜文件格式必須是其他象棋軟體通用的PGN格式。
(2) 自動識別開局。根據ECCO(中國象棋開局百科)的規則自動識別開局,並自動保存在PGN文件中(包括ECCO代碼、開局名稱以及變例)。開局信息只佔PGN文件中的三個標籤,但卻是中國象棋棋譜的重要組成部分(通常作為棋局的標題)。
(3) 局面的設置。局面既可以從棋譜中讀取,也可以故意擺出來,最好還能自動產生出版用的棋圖。局面文件格式必須是其他象棋軟體通用的FEN格式。
(4) 加載對弈引擎。這樣就可以搖身一變成為對弈軟體,引擎接口必須符合「中國象棋通用引擎協議」。
本文系「象棋殘局解析」原創,歡迎評論轉發,關注我帶你一起漲知識!