• 沒有找到結果。

利用棋局紀錄之個人化西洋棋開局推薦 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "利用棋局紀錄之個人化西洋棋開局推薦 - 政大學術集成"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系 Department of Computer Science National Chengchi University. 碩士論文 Master’s Thesis. 利用棋局紀錄之個人化西洋棋開局推薦 Personalized Chess Opening Recommendation Using Game Records. 研 究 生:楊元翰 指導教授:陳正佳 沈錳坤. 中華民國一百零四年二月 February 2015.

(2) I.

(3) II.

(4) 摘要. 在西洋棋中,開局決定了棋局未來發展的基礎,棋手在開局階段局勢的好壞, 會直接影響到接下來中局的發展,乃至全局的勝負。隨著西洋棋的演進,棋手們 在比賽中進行各式各樣的棋步嘗試,發展出眾多經歷實戰考驗的開局,目前西洋 棋的開局多達上千種變化,使得棋手在學習西洋棋的過程中,要花上大量的時間 從眾多的西洋棋開局變化中,尋找適合自己的開局鑽研與使用。為幫助棋手在此 階段的學習,本論文提出西洋棋開局推薦系統,從大數據協助學習的觀點,利用 大量棋手們的開局經驗,對棋手做個人化的開局推薦。此系統以風格、棋力相似 的棋手們所選用的開局為推薦基礎,並考量棋手習慣使用的下棋模式,推薦棋手 善於發揮自身優勢、易於理解,並且投其所好的開局。為此,此西洋棋開局推薦 系統包含風格分析、棋力評估、棋形截取,以及混合式推薦等部分。依據棋手過 去的對局記錄,風格分析評估棋手下棋偏好冒險或保守的程度;棋力評估將傳統 西洋棋棋力轉成可直觀比較棋手棋力程度差異之量表;棋形截取找出棋手習慣使 用的下棋模式。最後,混合式推薦綜合考量上述三項因素,推薦出符合棋手棋風、 棋力與下棋習慣模式的開局。 本論文以兩個實驗來評估風格分析與開局推薦系統的效果,在風格分析的實 驗中,將風格分析方法評估棋手風格的結果與專家判斷的結果做比較;在開局推 薦系統的實驗中,以棋手是否將會在比賽使用系統所推薦的開局來評估推薦效果。 實驗結果顯示,風格分析對於世界冠軍棋手的風格評估幾乎與專家的判斷相同; 開局推薦系統針對開局所設計的混合式推薦方法,推薦效果優於常見的推薦方 法。. 關鍵字: 西洋棋、開局推薦、推薦系統、風格分析. III.

(5) Abstract. The Opening is the fundamental phase of a chess game, and significantly affects the result of a competition. With the evolution of chess, there has been developed thousands of chess openings at present. This makes it difficult and time-consuming for chess players to find and learn the openings suitable for them. For helping players to learn chess in the opening, we provide Opening Recommendation System (OPRS), which considers chess players’ experiences and recommends chess openings that could be understandable and favorite for the players. For personalized recommendation, OPRS analyzes the playing style, translates chess rating, extracts the playing patterns, and then performs hybrid recommendation based on the features obtained. In the evaluation, the performance of the playing style analysis are demonstrated by comparing with the styles judged by chess experts for world chess championships. For OPRS, the evaluations are according to the openings the players use in the chess tournaments in the next years. The experiments show that OPRS achieves good accuracies of the playing style analysis and outperforms the competitive methods for chess opening recommendation.. Keyword: Chess, Opening recommendation, Recommendation system, Style analysis.. IV.

(6) 誌謝 感謝大家的幫助,協助我一點一滴地完成這份論文。謝謝沈老師、陳老師, 以及戴老師的指導,讓我在面對未知的學問大海時,出現一個又一個航標,使我 不迷失方向,繼續航行。沈老師常說:「做研究,要站在巨人的肩膀上!」,勉勵 我廣讀文獻。陳老師以自身下棋的經驗給予我許多研究上的建議與發想。從每次 與戴老師討論論文的過程,讓我學習到很多做研究與寫論文的技巧。實驗室的夥 伴們,嘉泰、蘇翰、楚翔、伯聿,謝謝你們與我一起學習、相互幫助,共同度過 難關,一同度過在實驗室的歡樂時光。實驗室的學弟妹們,因為有你們讓我有不 同的角度來看待自己的研究。祝福所有 DM Lab 的同學未來的研究與工作順利。 感謝西洋棋領域之老師幫助,岳老師、劉老師給予我下棋風格的建議,中國 的吳老師、修老師、楊老師,向你們請教了很多西洋棋開局方面的知識。當我從 棋手改以研究的角度重新來看西洋棋時,認識了更多西洋棋的故事與偉大棋手的 事蹟,也讓我對西洋棋有更深一層的領悟。感恩父母對我讀研究所與學習西洋棋 的支持,你們是我背後堅強的依靠,因為你們的摘培才會有我今日的成就。 福智青年社的老師與同學,感謝你們的學習陪伴,你們就像是我在研究所的 充電站,每次與大家在一起學習就會充滿能量,可以樂觀地去迎接生活中的每個 時刻。早起傾聽第一屢晨光,夜晚沐浴在清涼月光下,雨天觀金色雨滴,晴天賞 夢蓮花,一同尋覓曠古的幽蘭,讓希望起飛。 當我心向日奔跑,困難便化為身後的影子,不再阻礙我。在漆黑的夜裡,我 望著月亮,認真如老師的引導不斷前行,蓦然回首,才驚覺原來我已經走了自己 難以置信的距離了。道路因為有人指引而有方向,生命因為有人引導而有光明。 親愛的老師,謝謝您。 楊元翰. 謹誌於. 政治大學資訊科學研究所 中華民國一○四年九月二十八日 V.

(7) 目錄. 第一章 前言......................................................... 1 第二章 相關研究..................................................... 3 2.1 電腦西洋棋歷史 ................................................ 3 2.2 開局庫 ........................................................ 4 2.3 推薦系統 ...................................................... 7 第三章 研究方法與步驟.............................................. 12 3.1 系統架構 ..................................................... 12 3.2 棋力評估 ..................................................... 13 3.3 風格分析 ..................................................... 14 3.4 棋形擷取 ..................................................... 24 3.5 開局相似度 ................................................... 28 3.6 協同式過濾 ................................................... 30 3.7 內容式過濾 ................................................... 34 第四章 實驗........................................................ 36 4.1 資料來源 ..................................................... 36 4.2 實驗方法 ..................................................... 37 4.3 系統環境 ..................................................... 41 4.4 實驗結果 ..................................................... 43 4.5 實驗討論 ..................................................... 49 4.6 實作議題 ..................................................... 49 第五章 結論........................................................ 52 參考文獻........................................................... 53. VI.

(8) 圖目錄 圖 圖 圖 圖 圖 圖. 一、西洋棋棋盤與棋子.......................................................................................... 1 二、西洋棋軟體 Fritz 的開局庫資訊 .................................................................... 4 三、Negamax 演算法 ............................................................................................ 6 四、Opening book tree ............................................................................................ 7 五、開局推薦系統架構圖.................................................................................... 13 六、對局的子力平衡............................................................................................ 16. 圖 圖 圖 圖 圖. 七、局面型風格對局之子力平衡........................................................................ 17 八、戰術型風格對局之子力平衡........................................................................ 17 九、棋手對子力的重視程度................................................................................ 18 十、棋手的風格傾向............................................................................................ 19 十一、棋手的等價交換率.................................................................................... 19. 圖 圖 圖 圖. 十二、等價交換平均層數率分布........................................................................ 20 十三、棋手的等價交換平均層數率.................................................................... 20 十四、平均連續吃子長度分布圖........................................................................ 21 十五、棋手的平均連續吃子長度........................................................................ 21. 圖 圖 圖 圖 圖 圖 圖 圖 圖. 十六、進入殘局的層數分布圖............................................................................ 22 十七、棋手的進入殘局的層數............................................................................ 22 十八、將軍次數分布圖........................................................................................ 23 十九、棋手的將軍次數........................................................................................ 23 二十、棋形............................................................................................................ 24 二十一、初始局面..................... .......................................................................... 25 二十二、棋局局面...............................................................................................25 二十三、中心兵形................................................................................................ 26 二十四、棋盤局面................................................................................................ 26. 圖 圖 圖 圖 圖 圖 圖 圖 圖. 二十五、8x8 矩陣................................................................................................26 二十六、3x3 白方棋子的棋形............................................................................. 27 二十七、中心兵形................................................................................................ 28 二十八、開局列表................................................................................................ 36 二十九、棋局紀錄................................................................................................ 37 三十、棋手對子力的重視程度............................................................................ 38 三十一、Precision 和 Recall 示意圖 ................................................................... 39 三十二、開局推薦系統對於棋手執白棋的推薦結果........................................ 45 三十三、開局推薦系統對於棋手執黑棋的推薦結果........................................ 46. 圖 三十四、棋手執白時,MF 方法的 feature 數量 K 與 F-Measure 之關係圖 ... 47 圖 三十五、棋手執黑時,MF 方法的 feature 數量 K 與 F-Measure 之關係圖 ... 47 VII.

(9) 圖 圖 圖 圖 圖 圖. 三十六、棋手執白時,OPRS_CF 參考開局、風格、棋力因素之比較.......... 48 三十七、棋手執黑時,OPRS_CF 參考開局、風格、棋力因素之比較.......... 48 三十八、棋手執白時,OPRS 設定推薦開局的最小層數之推薦結果............. 50 三十九、棋手執黑時,OPRS 設定推薦開局的最小層數之推薦結果............. 50 四十、棋手執白棋時,OPRS 調整所依高於自己設定棋力之棋手................. 51 四十一、棋手執黑棋時,OPRS 調整所依高於自己設定棋力之棋手............. 51. VIII.

(10) 表目錄 表 表 表 表 表 表. 一、Chess piece relative value .............................................................................. 15 二、子力與子力平衡............................................................................................ 15 三、各棋子的代碼................................................................................................ 26 四、開局與過程開局............................................................................................ 28 五、Player 對 Opening 的向量表示..................................................................... 31 六、開局代碼與棋步............................................................................................ 31. 表 表 表 表 表. 七、棋手對開局的使用比率................................................................................ 31 八、開局間的相似度............................................................................................ 31 九、過程開局........................................................................................................ 40 十、風格分析結果................................................................................................ 44 十一、世界冠軍的風格分析結果........................................................................ 44. 表 十二、MFS 示意表................................................................................................. 45. IX.

(11) 第一章 前言 西洋棋(Chess),又稱國際象棋,是一種兩人對弈的棋盤對戰遊戲,考古學 家認為於西元 280 到 550 年間起源於印度[40],現今已成為一項世界非常熱門的 競技性智力體育項目,依據世界西洋棋總會的會員國數量統計,全世界目前有 179 個國家的人下西洋棋。奧林匹克運動會、亞洲運動會、世界智力運動會等國 際性賽事也將西洋棋列為比賽項目之一。德國詩人歌德曾稱西洋棋為智慧的試金 石。 現代西洋棋的規則大約在十五世紀末才漸漸成形。其所使用的棋盤為由黑白 格交錯所組成八乘八的方形棋盤(如圖一) 。比賽時,對奕的棋手分為黑白兩方, 由白方先走,每方各有 16 個棋子: 一個國王、一個皇后、兩個城堡、兩個主教、 兩個騎士、八個士兵,六種棋子,每種棋子走法都有各自的規定。勝利的判定為 將對方的國王「殺棋」(Checkmate)-對方國王無法防禦與逃避我方的進攻。. 圖 一、西洋棋棋盤與棋子 在過去的西洋棋研究中[40][41][42][43],將西洋棋的對局過程分為三個階 段: 開局階段、中局階段、殘局階段。開局階段為西洋棋的開始階段,雙方棋手 在此階段排兵布陣。開局階段的結束不以具體完成的步數回合為標準,而是依據 開局局面特點而定,例如雙方主要棋子是否已經出動、雙方國王的位置是否已確 定、局面結構是否已定型。一般來說,開局階段是指棋局的前 10~15 回合。開局 步法是在開局階段一連串的特定步法,也稱之為「開局」。中局階段,是在開局 1.

(12) 階段後,雙方棋手主要進攻對方的階段。殘局階段,為在中局之後,棋局的最後 階段,此時大部分的棋子都已經兌換掉,剩下少數的棋子。其中,在開局階段的 「開局」決定了棋局未來發展的基礎,棋手在開局階段局勢的好壞,會直接影響 到接下來中局的發展,乃至全局的勝負。 對棋手而言,由於西洋棋的開局數以千計,在比賽中,棋手需要準備一套自 己的開局體系來應對對手各種的開局步法。然而,要從大量的開局當中,選擇適 合自己的開局,並且建立一套自己的開局體系,這是學習西洋棋中相當困難且耗 時的環節。1992 年由 David Hooper 和 Kenneth Whyld 所出版的西洋棋參考書 <The Oxford Companion to Chess>,列出了西洋棋有 1327 種開局與變例。面對數 量龐大的西洋棋開局,許多棋手通常一個一個去慢慢嘗試各種開局,有些棋手則 盲目地模仿西洋棋大師所使用的開局,但是這些方式都無法有效地找到符合自己 棋力程度與下棋風格的開局。使用不符合自己棋力的開局,不易理解與掌握此開 局的核心概念與行棋要點;使用與自己下棋風格相異的開局,則無法發揮自己下 棋的長處,例如善於激進攻王的棋手,卻使用了要保守發展局面的開局。 有鑑於此,為了幫助棋手在開局階段的學習,本論文提出西洋棋開局推薦系 統,希望推薦適合棋手的開局供棋手學習,協助棋手有效地學習開局與擴充自己 的開局體系。系統以風格、棋力相似的棋手們所選用的開局為推薦基礎,並考量 棋手習慣使用的下棋模式,推薦棋手善於發揮自身優勢、易於理解,並且投其所 好的開局。為此,此西洋棋開局推薦系統包含風格分析、棋力評估、棋型截取, 以及混合式推薦等部分。依據棋手過去的對局記錄,風格分析評估棋手下棋偏好 冒險或保守的程度;棋力評估會評估棋手的棋力程度;棋形截取找出棋手習慣使 用的下棋模式。最後,混合式推薦綜合考量上述三項因素,推薦出符合棋手棋風、 棋力與下棋習慣模式的開局。 本論文之架構如下,第一章介紹研究背景與動機;第二章探討相關研究;第 三章介紹研究方法與西洋棋開局推薦系統;第四章介紹實驗;第五章結論。. 2.

(13) 第二章 相關研究 第二章相關研究將介紹電腦西洋棋歷史、開局庫,以及推薦系統。在電腦西 洋棋領域中,關於開局的研究為開局庫,開局庫幫助了西洋棋程式在開局階段的 下棋表現,過去打敗世界冠軍的深藍(Deep Blue)西洋棋程式,也是因為使用開局 庫而提升棋力。但是過去在電腦西洋棋對開局的研究,目的都是為了要幫助西洋 棋電腦在開局階段提升下棋強度與勝率,而本研究之目的是要幫助棋手在開局階 段的學習,利用推薦系統之技術,推薦適合棋手的開局供棋手學習。. 2.1 電腦西洋棋歷史 1948 年 Alan Turing 設計出下棋演算法發展了紙上機器(紙本中記載演算法, 由人執行下棋)創造出了史上第一個電腦西洋棋程式,1950 年 Shannon 提出以遊 戲樹(Game tree)來解決電腦對局的問題,使電腦可以做出類似人類的行為模式, 發表電腦西洋棋領域的第一篇論文“Programming a computer for playing chess”。 1958 年電腦西洋棋程式(NSS)第一次擊敗人類初學者,一位與電腦下棋前一小時 才開始學習西洋棋的成人。1978 年當時最強的電腦西洋棋程式(CHESS 4.7)在與 西洋棋國際大師 D. Levy 的對抗賽中,雖然以一勝三負一和的成績被擊敗,但是 戰勝了 D. Levy 一盤棋。到了 1988 年當時棋力最高的電腦西洋棋程式 Deep Thought 已經可以輕易地擊敗西洋棋國際大師 D. Levy。 在 1997 年 IBM 團隊開 發的電腦西洋棋程式深藍(Deep Blue),以兩勝一負三合的成績,在對抗賽中戰 勝當時的西洋棋世界冠軍 Garry Kasparov,在電腦西洋棋的發展史上為重要的里 程碑,代表電腦在西洋棋這項智力競技領域首度超越人類。 在電腦西洋棋程式的棋力超越人類之後,棋手與電腦西洋棋程式的關係開始由 競爭轉為合作,1998 年西洋棋世界冠軍 Garry Kasparov 開始舉辦高等西洋棋比 賽(Advanced chess tournament),棋手可以使用西洋棋軟體優越的計算能力來輔 3.

(14) 助下棋。現在,西洋棋職業棋手都會使用西洋棋軟體來輔助他們分析棋局[10]。. 2.2 開局庫(Opening book) 開局庫是下棋程式所使用的開局資料庫,開局庫中儲存了局面、棋步,以及 開局相關資訊,如圖二。當對局中的局面可以在開局庫中搜尋到時,下棋程式就 直接取用開局庫中的棋步來走棋,不必計算棋步。下棋程式使用開局庫可省去計 算棋步的時間,並且透由專家建立或由棋手棋譜自動建立的開局庫,讓下棋程式 借助棋手的經驗下棋,提升在開局階段的下棋強度。在開局階段,由於可能性的 走法太多,下棋程式要從所有可行性走法中計算出最佳棋步的方法,在有限的時 間下,無法計算完全部的棋步。另外,因為在開局階段存在很多不同的佈局理論, 所以無法用統一的規則描述成為演算法。由於上述兩個原因,導致下棋程式只依 靠計算棋步的方式,在開局階段的下棋表現很差。. Move. #. %. Av. 5. c3. 296. 56.3. 2636. 5. b4. 50. 48.0. 2640. 5. d3. 35. 45.7. 2613. 5.0-0. 20. 47.5. 2633. 5. Nc3. 13. 65.4. 2619. 圖 二、西洋棋軟體 Fritz 的開局庫資訊 左側為當前局面,右側為棋步與開局相關資訊。Move 表示當前局面的下一步棋 步;#為走過該棋步的盤數;%表示勝率;Av 表示走過該棋步的棋手們的平均棋 力分數。 4.

(15) 開局庫對下棋程式的表現有很重要的影響,著名的例子是在 1995 年西洋棋 程式 Fritz 打敗了戰勝西洋棋世界冠軍的 IBM 公司的深藍(Deep Blue)西洋棋程式, 在兩個西洋棋程式的對戰中,由於 Deep blue 比 Fritz 提早結束開局庫的使用,導 致 Deep blue 在停止開局庫的使用後,接續走了一步造成在長期佈局上的失誤棋 步,讓 Fritz 輕鬆地獲勝了[7]。 對於開局庫的建置,有人工建置與自動建置兩種[38]。人工建置透由專家選 擇喜好的開局棋路存入開局庫;自動建置的方式由棋手的對局紀錄,以電腦取固 定深度的步數,將對局記錄中,固定深度內所有的棋步與局面資訊儲存至開局庫 中。在自動建置的開局庫上,Donninger 等人[7]在開局庫中,除了儲存棋步、局 面,以及棋局基本統計資訊,例如棋步的勝率、使用次數,另外還增加了西洋棋 相關資訊,例如此棋步被侵略型棋手下過的次數、此棋步被頂尖的棋手走過的次 數、此棋步在近期的比賽中被下過的次數。Donninger 提出的方法結合西洋棋專 業知識與棋局統計資訊,提升了開局庫的品質,也增強當時最強的西洋棋程式 Hydra 之棋力。 在開局庫的自動更新上,使用 Book learning 方法,Book learning 可以避免 下棋程式重複使用開局庫中導致輸棋的相同開局棋步,引導下棋程式在開局階段 走 至 有 利 的 局 面 。 Book learning[16] 是 一 種 增 強 式 學 習 (Reinforcement learning)[32]的技術,它的特色是回饋增強式訊息,以回饋的訊息幫助下棋程式 避免重複犯相同的棋步錯誤[8]、學習選擇開局棋步[15],以及擴增開局庫的棋步 [5]。 Buro[5]用 Book learning 擴增開局庫的方法,以 Negamax 演算法[11]為基礎 來選擇開局棋步並且增加新的棋步。Negamax 演算法搭配審局函數(Evaluation function),對於以樹狀結構表示對弈棋步的遊戲樹(Game tree),搜尋出遊戲樹中 的最佳棋步路徑。遊戲樹的每個節點都是走了某個棋步的局面狀態,根結點為當. 5.

(16) 下局面狀態,圖三中 P0 節點局面往下有兩個可能的棋步,選擇走了 e5 棋步後, 則會到達 P1 節點局面。Negamax 演算法(圖三)是一種搜尋演算法,運作的步驟 如下。首先,對於遊戲樹的葉節點,由評估局面好壞程度的審局函數(Evaluation function)計算出代表葉節點局面優劣程度的審局分數,正值為局面對白方好,負 值為局面對黑方好,由於西洋棋是屬於零和的棋類博弈,在遊戲的任意時刻,一 方獲得的利益等於對方的損失,雙方的利益所得加總為零。接著,以深度優先搜 尋走訪整個樹的每個節點,每個父節點的分數為其所有子節點分數取負值後的最 大值,以此方式疊代至根結點。最後,由葉節點分數一直疊代往上到達根結點的 路徑,成為根結點往下的最佳路徑。. 圖 三、Negamax 演算法. 開局庫的遊戲樹自動擴展,以開局庫中的開局棋步所建立之遊戲樹為基礎, 來進行擴展,根節點為初始局面,如圖三。自動擴展從 Negamax 演算法選擇的 最佳開局棋路的葉節點來擴展。在每個擴展階段,對最佳路徑的葉節點,往下計 算所有可能的棋步,並使用 Negamax 演算法找出,往下最佳棋步節點(審局分數 最高的棋步)與次好棋步節點(審局分數次高的棋步),將這兩個節點與其審局分數, 加入遊戲樹成為此葉節點的子節點。進一步,假如擴展的次好棋步節點達到樹的 高度(設定的步數深度),則將與其父節點同一層的次好棋步節點,將其加入遊戲 6.

(17) 樹。如此一來,在完成每一次的擴展後,都可以保持最佳棋路上的每個內部節點 都有次好棋步節點(最佳替代節點)存在。. 圖 四、Opening book tree 圖四中,假設初始最佳開局棋路為(V1,V2,V3),設定的棋度深度為 4。擴展從最佳 開局棋路的葉節點 V3 開始,計算出往下的最佳棋步節點 V4 與次好棋步節點 V5, 將此加入遊戲樹中。進一步,由於擴展的次好棋步節點 V5 達到設定的步數深度, 將與 V3 同一層的次好棋步節點 V6 加入遊戲樹,完成一次擴展。擴展後新的遊戲 樹 T1 的由 Negamax 演算法找出的最佳棋路變成(V1,V2,V6),下一次的擴展從葉 節點 V6 開始,擴展成為遊戲樹 T2。. 2.3 推薦系統(Recommender System) 推薦系統(Recommender System)是能夠自動地依據使用者的喜好、使用行為, 向使用者推薦他可能會感興趣的資訊。Rashid 與 Varian 在 1997 年正式提出推薦 系統[27],依據 Rashid 等人的定義,推薦系統是在大量的資訊中幫助人們做篩 選,基於對使用者的認識以及了解,針對使用者可能的需求做一些分析,推薦使 用者可能感興趣的項目。著名的例子為亞馬遜(Amazon)網路書店的推薦系統,系 統會依據顧客過去的購物清單資料,推薦顧客感興趣的書籍。 7.

(18) 依據 2005 年 Adomavicius 等人[1]對推薦系統分類的說法,推薦系統依據推薦 的方式可以分成三類: 1. 內容式推薦: 將相似使用者過去所喜歡之項目的項目,推薦給使用者。 2. 協同式推薦: 將與使用者喜好相似之其他人所喜愛的項目,推薦給使用者。 3. 混合式方法: 結合協同式推薦與內容式推薦的做法。 以下將各別介紹這三類推薦方式: A. 內容式推薦(Content-based recommendations): 也稱為內容式過濾(Content-based filtering)[20][24][12],依據使用者個人過去 所喜愛的項目內容,得知使用者的喜好,進而推薦使用者相近的項目。內容式推 薦最早是用於訊息檢索與訊息過濾的研究。內容式推薦的過程分為以下三部分: 1. Item Representation:對每個項目(Item)抽取出一些特徵來表示此項目。 2. Profile Learning:利用使用者過去喜歡的項目之特徵資料,來學習出此使用者 的喜好特徵(Profile)。 3. Recommendation Generation:通過比較使用者喜好特徵(User Profile)與項目 (Item)的特徵,為此使用者推薦相關性最大的項目清單。 內容式推薦的優點為直覺、易於理解,但是缺點是推薦出的項目都與使用者 過去喜好的項目過去相似,缺乏新穎性。在內容式推薦之後,提出的協同式推薦 方式,不依據項目的內容本身來進行推薦,而是依據使用者的對項目的偏好來推 薦,因此協同式推薦不會有推薦項目缺乏新穎性的缺點。. B. 協同式推薦(Collaborative recommendations): 又稱協同式過濾(Collaborative filtering)[30][29][35],利用與特定使用者擁有類 似經驗之群體使用者所顯示的偏好,來預測特定使用者未呈現的偏好資訊,以推 薦角度的不同分為基於使用者的協同式過濾與基於項目的協同式過濾兩種。. 8.

(19) . 基於使用者的協同式過濾(User-based collaborative filtering) 基於使用者的協同式過濾[30],又稱基於鄰居的協同過濾(Neighbor-based. Collaborative Filtering),推薦給使用者的項目,是與使用者喜好相似的其它使用 者(鄰居)所喜歡的項目。基於使用者的協同式過濾以使用者對項目的評分資訊建 立之矩陣,計算使用者與其他使用者之間的相似度,找出與使用者評分行為相似 的鄰居們,進一步透由他們對使用者未評分過的項目之評分資訊,來預測使用者 對那些項目的評分,將預測之評分最高的前幾個項目推薦給使用者。評分預測公 式如下:. (公式 1). Pu,i 是使用者 u 對項目 i 的預測評分,𝑟̅ u 是使用者 u 對項目的評分之平均,𝑟̅𝑢′ 為 使用者u’對項目所有評分的平均,𝑟𝑢′ ,𝑖 為使用者u’對項目 i 的評分,s(u, u′)是使用 者 u 和其他使用者u’的相似度,N 是與使用者評分行為相似的鄰居。. . 基於項目的協同式過濾(Item-based collaborative filtering) 基於項目的協同式過濾方法[30][29],有一個假設「引起使用者喜好的項目,. 會與之前被使用者評分過的項目相似」。因此,基於項目的協同式過濾使用項目 之間評分模式的相似度代替使用者之間評分行為的相似性,來預測使用者喜好程 度。基於項目的協同式過濾以使用者對項目的評分資訊建立之矩陣,計算已評價 項目和待預測項目的相似度,進一步以相似度作為權重,加權各已評價項目的分 數,計算出待預測項目的評分預測值,對評分預測公式如下:. (公式 2). 9.

(20) Pu,i 是使用者 u 對項目 i 的預測評分,𝑟𝑢,𝑖 為使用者 u 對項目 i 的評分,s(i, j)是項 目 i 與項目 j 被評分的相似度,S 是與項目 i 被評分相似的項目。 協同式推薦在計算出預測項目的評分預測值後,可將對於使用者來說尚未評 分的項目,依據項目的預測值,將預測值最高的前幾個項目產生推薦清單,推薦 給使用者。 雖然協同式推薦是目前推薦系統最普遍的方法之一,但是仍然存在以下兩個 問題: 1. 稀疏性問題(Sparsity Problem):如果需要被評分的項目個數比已經被評分的項 目個數大很多,會導致使用者對項目的評分矩陣過於稀疏,使得共同被評比 的資料相形之下過少,造成推薦的結果不準確。 2. 冷啟動問題(Cold-Start Problem): 新項目由於被很少或沒有使用者評分,導致 於不會被推薦。 協同式推薦雖然不用有內容式推薦推薦項目缺乏新穎性的缺點,但是會有新項目 尚未被評分而產生的冷起動問題,以及由於使用者評分項目遠小於未評分項目造 成的稀疏性問題等缺點。反之,內容式推薦則沒有協同式推薦的缺點,在使用者 評分資訊過少的情況下,依據項目內容推薦的內容式推薦方式,推薦效果高於協 同式推薦。. C. 混和式方法 (Hybrid approach): 混和式方法[3][4][36]結合內容式推薦與協同式推薦,可以克服內容式推薦與 協同式推薦各自的缺點,以達到更有效的推薦。混合式方法依據推薦技術的結合 方式可分為以下七類[3]: 1. Weighted: 將不同推薦技術的分數以線性組合結合,產生單一的推薦結果。 2. Switching: 系統依據當前的情況選擇推薦技術使用。 3. Mixed: 將不同推薦技術的推薦結果一同呈現。. 10.

(21) 4. Feature Combination: 將不同資料來源之特徵結合至單一推薦技術演算法。 5. Feature Augmentation: 將一個推薦技術計算所使用的特徵,作為另一個推薦 技術輸入資料的一部分。 6. Cascade: 將一個推薦技術去過濾另一個推薦技術的推薦結果。 7. Meta-level: 將一個推薦技術學習出來的模型,作為另一個推薦技術的輸入。. 推薦系統的應用非常廣泛,有應用在音樂、電影、新聞、書籍、好友…等領 域,例如 Facebook、Twitter、LinkedIn 等社群網站使用協同式過濾方法推薦好友, 網路音樂電台 Pandora Radio 使用內容式過濾方法推薦音樂,線上影音串流服務 Netflix 應用混和式推薦方法推薦電影。不過在過去推薦系統的應用中,未曾有應 用推薦系統在西洋棋開局上。本論文提出的西洋棋開局推薦系統使用結合基於使 用者的協同式過濾(User-based collaborative filtering)與內容式過濾(Content-based filtering)的混合式方法,以 Cascade 的方式結合。使用基於使用者的協同式過濾 方法是希望透由棋手們的開局經驗來推薦開局給使用者;使用內容式過濾方法是 因為希望推薦給使用者本身下棋習慣模式相似的開局。而以 Cascade 的方式結合 的原因為由棋手們開局經驗所推薦的開局,也必須進一步篩選出符合使用者下棋 習慣模式的開局,才能讓使用者易於接受,使推薦出的開局投其所好。. 11.

(22) 第三章 研究方法與步驟 本研究要在大量開局中,推薦棋手符合他的棋風、下棋習慣模式,以及適合 他棋力程度的開局,為此,我們設計開局推薦系統的機制。本章節將介紹系統架 構以及系統內各元件的方法。. 3.1 系統架構 開局推薦系統(圖五)有 Offline 與 Online 兩大階段,Offline 階段對棋局記錄 進行特徵擷取,Online 階段依據擷取的特徵來推薦開局。在 Offline 階段,系統 主要執行特徵擷取的工作,由於開局推薦系統考量了棋手的棋風、下棋習慣模式、 棋力程度來推薦開局,系統會對儲存在 Game log 資料庫中的棋手棋局記錄擷取 開局推薦的特徵資訊,使用棋力評估(Rating estimate)來評估棋手的棋力程度;使 用風格分析(Style analysis)來評估棋手下棋偏好冒險或保守的程度;使用棋形擷 取(Chess pattern extraction)來找出棋手的下棋習慣模式。另外,系統對 Opening 資料庫的開局資料以開局相似度(Opening similarity)計算出每個開局間的相似度, 用於系統推薦開局時候的開局比較。經過 Offline 階段,特徵擷取後提取出的資 料特徵,會儲存在 Processed data 資料庫,作為 Online 階段的輸入資料。 Online 階段執行混合式推薦,結合協同式過濾(Collaborative filtering)與內容 式過濾(Content-based filtering)來進行推薦,使用混合式推薦可以互補協同式過濾 與內容式過濾各自方法的缺點。協同式過濾考量棋手與其他棋手的關係來推薦開 局,將 Processed data 資料庫中的棋手風格、棋手棋力程度、開局相似度等資訊, 以及從 Game log 資料庫取得的棋手開局,作為輸入資料;內容式過濾依棋手的 下棋模式與開局的關係推薦開局,以 Processed data 資料庫中的棋形資訊作為輸 入資料。協同式過濾由與棋手相似的其他棋手的開局喜好,來推薦棋手的潛在喜 好開局清單。內容式過濾將潛在喜好開局與棋手自身的下棋模式做比較,挑選與. 12.

(23) 棋手自己下棋模式相近的潛在喜好開局,作為最終推薦給棋手的開局清單。此方 式不但可以從其他棋手選擇開局的經驗來推薦多樣化的開局,又可以確保系統推 薦出來的開局是與棋手過去的下棋模式相似。假如只使用協同式推薦,推薦出的 開局會跟棋手過去的下棋模式差異很大;若只用內容式推薦,推薦的開局又會與 過去使用的開局過於相近,缺乏多樣性。 在以下小節中將會介紹在開局推薦系統中的各元件。. 圖 五、開局推薦系統架構圖. 3.2 棋力評估(Rating estimate) 棋力分數為代表棋手下棋強度的數值,棋力的評分機制基於棋手與他人對弈 的結果表現,計算棋手的棋力分數。一般來說,如果棋手的表現比預估的水準高, 棋力分數就會上升,反之,若棋手的表現低於預估水準,則棋力分數就會下降。 棋力分數變動的大小,依據棋手與他的對手在棋力分數上的差距。目前最被廣泛 13.

(24) 使用的棋力評分機制是 Elo rating system[46],在 1960 年由 Arpad Elo 所創造。 開局推薦系統的棋力評估元件會計算出棋手棋力程度的代表值。棋力評估元 件從棋局紀錄中,抓取棋手的棋力分數,而一位棋手的棋力程度,以他的棋局紀 錄中最高的棋力分數作為代表,因為開局推薦系統以幫助棋手學習成長為目的, 我們希望棋手可以從他最佳的表現上,再往上進步,突破自我極限。. 3.3 風格分析(Style analysis) 開局推薦系統的風格分系元件用於評估棋手的下棋風格,並計算其風格的量 化值。關於下棋風格,西洋棋領域的研究認為下棋風格大致可以分為戰術型風格 (tactical style)與局面型風格(positional style)兩類[18][23][25]。戰術型風格的棋手, 棋風冒險,下棋常利用戰術來進攻對手的棋子或國王,往往較不在意戰術過程中 所造成己方棋子的犧牲,例如第八屆西洋棋世界冠軍塔爾(Tal)就是戰術型風格的 代表。 局面型風格的棋手,棋風保守,下棋注重局面,大多以掌握局面優勢到殘局 中取勝,不輕易捨棄每一個棋子。因此,局面型風格的棋手在進攻對手的棋子時, 常常發生等價交換(Even exchange)的情形,即為雙方棋手接續各走一步互相吃掉 對方相同或價值相同的棋子。第十二屆西洋棋世界冠軍卡爾波夫(Karpov)為局面 型棋手的著名代表。 風格分析會評估棋手偏好戰術型風格或局面型風格的程度,有風格特徵擷取 與風格分類兩個階段,在風格特徵擷取階段,會從對局紀錄中取出能辨別戰術型 風格與局面型風格的特徵值,在風格分類階段,會計算出每盤對局屬於各別風格 的程度值。. 14.

(25) . 風格特徵擷取階段 在風格特徵擷取中,我們考量擷取能區別戰術型與局面型的風格特徵。在對. 戰局面中,子力(Material)被作為評估棋局優勢的重要指標之一,子力[37]是在一 盤對戰局面中,一方棋手剩餘棋子之相對價值總和,而每種棋子的相對價值 (Chess piece relative value)[44]由該棋子的相對強度來定義,表一為常用的棋子價 值分數,由 Lolli[19]在 1763 年所制定,其中國王不計算價值分數。因此,我們 注意到兩種棋手在對戰過程中對於子力注重的差異,以此為依據,再佐以西洋棋 棋手對戰紀錄的資料分析,我們提出七項區別戰術型風格和局面型風格的特徵及 其量化方式。 表 一、Chess piece relative value Piece. Queen. Rook. Bishop. Knight. Pawn. King. 9. 5. 3. 3. 1. ---. Symbol. Value. 兩方棋手對戰中,棋子個數會逐漸減少,但不會增加,雙方子力的變化大多 是單調遞減,不容易看出與風格分類相關之特徵,然而,如果計算雙方子力差的 變化,稱為子力平衡(material balance)[37],如表二所示,則可觀察到雙方子力的 等價交換、不等價交換的發生和發生時機,我們認為這是很重要的特徵線索,而 過往的研究並未將子力平衡用於棋手風格分類。 表 二、子力與子力平衡 子力. 一方棋子價值分數的總和. (Material) 子力平衡. 雙方子力的差距. (Material balance). Material balance = Material(White) - Material(Black) 15.

(26) 具體而言,我們計算每一盤棋局中,每走完一步棋,當前局面的子力平衡, 透過觀察子力平衡的變化來幫助我們得到等價交換與不等價交換的相關資訊。以 圖八為例,在此我們統一都以白方的子力減去黑方的子力當做子力平衡的數值, 橫軸為層數,任一方棋手走一步為一層,縱軸為每一層的子力平衡,判斷是等價 交換或不等價交換都是以兩層的長度來檢視,若主動發起吃子前的子力平衡與主 動發起吃子後的下一層相同,就算是一次等價交換(Even exchange),如圖六中圓 框的部分,從第 8 層到第 10 層為等價交換;反之,若主動發起吃子前的子力平 衡與主動發起吃子後的下一層不相同,就視為一次不等價交換(Uneven exchange), 在圖六中虛線方框的部分,第 24 層到第 26 層和第 26 層到第 28 層因為雙方棋手 互吃的棋子價值不相等,所以都算是一個不等價交換,而第 22 層到第 24 層和第 29 層到第 31 層,都只有主動吃子而對手沒有回吃,所以也算是一個不等價交換; 另外,在此要注意,第 25 層到第 27 層並不算是一個不等價交換,因為第 26 層 是被動的吃子,是為了要應付敵方在第 25 層主動發起吃子而回應的棋步。所以, 分析棋局中子力平衡的變化可以觀察到等價交換、不等價交換的發生及發生時. Material balance. 間。 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31. Ply 圖 六、對局的子力平衡 (Kasparov – Schuerer, 1988, 1-0). 16.

(27) 由於戰術型棋手與局面型棋手對於子力的關注不同,表現在對局中,等價交 換與不等價交換發生的頻率與發生的時機也會有所不同。圖七與圖八分別為局面 型棋手卡爾波夫(Karpov)和戰術型風格的代表塔爾(Tal)之對局記錄的子力平衡變 化圖,對比兩圖,可發現等價交換與不等價交換對於區別棋手風格是很重要的特 徵線索,以此為基礎,我們擷取特徵一到特徵四,並將之量化。. Material balance. 10 8 6 4 2 0 -2. 1. 11. 21. 31. 41. 51. 61. 71. 81. 91. 101. 111. 121. 131. ply 圖 七、局面型風格對局之子力平衡 (Anatoly Karpov vs Garry Kasparov, 1984, Moscow, 1-0). Material balance. 6 4 2 0 -2. 1. 11. 21. 31. 41. 51. 61. -4 -6. ply 圖 八、戰術型風格對局之子力平衡 (Mikhail Tal vs Miller, 1998, Chicago, 1-0). 以下為風格分類所使用的七個特徵,我們會補以實驗資料中戰術型風格與局 面型風格棋手的統計資料,以及由西洋棋專家判斷棋手風格的圖九中(越左側表 示越輕視子力,代表戰術型風格;越右側表示越重視子力,代表局面型風格),. 17.

(28) 由 24 位棋手之棋局紀錄計算出的風格特徵值,來說明不同風格對風格特徵的關 係。本章節中,所有風格特徵的統計資料都來自風格分析實驗的實驗資料分析。. 圖 九、棋手對子力的重視程度[2] 特徵一、風格傾向 我們提出一個風格指標為風格傾向,表示風格傾向戰術型風格或是局面型風 格的程度,定義如下:. ST(x) =. Nu L(x). (公式 3). ST(x)為棋局 x 的風格傾向,Nu 為不等價交換個數,L(x)為棋局 x 的長度,長度 以棋局的總層數表示。棋局中吃子的情況可以分為等價交換與不等價交換,局面 型風格的下法會有較多的等價交換發生,不等價交換就會發生較少,如圖七所示。 另一方面,戰術型風格的下法不等價交換發生的次數較多,等價交換發生的次數 較少,如圖八所示。此外,因為戰術型風格的下法常以在中局進攻敵方國王,所 以許多棋局會以在中局就將殺國王的方式提早結束。局面型風格的下法大多會下 到殘局才分勝負,所以一盤棋所下的步數往往會比戰術型風格下法多。因此,我 們計算一盤棋的風格傾向,將一盤棋不等價交換的個數除以該盤棋的步數長度, 如果風格傾向越大,數值越接近 1,代表越傾向戰術型風格。反之,假如風格傾 向越小,數值越接近 0,表示越傾向局面型風格。圖十中可觀察到,越偏向戰術 型風格的棋手,風格傾向值越高;越偏向局面型風格的棋手,風格傾向值越低。. 18.

(29) Chigorin Morphy Shirazi Marshall Tal Christiansen Alekhine Denker Gulko Bisguier Alburt Larsen Fischer Geller Kasparov Capalanca Spassky Browne Botvinnik Smyslov L. Evans Seirawan Karpov Petrosian. 等價交換率. Chigorin Morphy Shirazi Marshall Tal Christiansen Alekhine Denker Gulko Bisguier Alburt Larsen Fischer Geller Kasparov Capalanca Spassky Browne Botvinnik Smyslov L. Evans Seirawan Karpov Petrosian. 風格傾向 0.12 0.11 0.1 0.09 0.08 0.07 0.06 0.05 0.04. 圖 十、棋手的風格傾向. 特徵二、等價交換率. 棋局中所有吃子情況,我們可以歸類為等價交換與不等價交換,而等價交換. 率如下:. EXR(x) = N𝑒. N𝑒 +N𝑢. 19. (公式 4). EXR(x)為棋局 x 的等價交換率,N𝑒 為等價交換個數,N𝑢 為不等價交換個數。若. 等價交換比率高,表示所有交換中,等價交換發生的比率高,屬於局面型風格。. 假如等價交換比率低,則是屬於戰術型風格。在圖十一中,也顯示越接近局面型. 風格的棋手,有等價交換率越高的趨勢。. 0.8. 0.75. 0.7. 0.65. 0.6. 0.55. 0.5. 圖 十一、棋手的等價交換率.

(30) 特徵三、等價交換平均層數率 層數是雙方行棋步數的總和,白方或黑方走一步棋記錄為一層。等價交換平 均層數率是棋局中出現等價交換的平均層數佔棋局總層數的比率,式子如下:. 𝐴𝑃𝑅𝑒 (x) =. 𝐴P𝑒 (x). (公式 5). L(x). AP𝑒 (x)為棋局 x 等價交換出現的平均層數,L(x)為棋局 x 的總層數。如圖十二所 示,若等價交換平均層數率越大,表示等價交換平均在一盤棋的後期出現較多, 傾向於局面型風格(POS)下法之現象;如果等價交換平均層數率越小,則是傾向 於戰術型風格(TAC)下法之現象。圖十三也顯示,越傾向局面型風格的棋手,等 價交換平均層數率會有越大的趨勢。 70. 棋局盤數. 60. POS. 50 TAC. 40 30 20 10. 1. 0.95. 0.85 Smyslov. 0.9. 0.8. 0.75. Browne Botvinnik. 0.7. 0.65. 0.6. 0.55. 0.5. 0.45. 0.4. 0.35. 0.3. 0.25. 0.2. 0.15. 0.1. 0.05. 0. 0. 等價交換平均層數率. 圖 十三、棋手的等價交換平均層數率. 20. Karpov Petrosian. Seirawan. L. Evans. Spassky. Capalanca. Kasparov. Fischer Geller. Larsen. Alburt. Bisguier. Denker Gulko. Alekhine. Christiansen. Tal. Shirazi Marshall. Morphy. 0.555 0.55 0.545 0.54 0.535 0.53 0.525 0.52 0.515 0.51 Chigorin. 等價交換平均層數率. 圖 十二、等價交換平均層數率分布.

(31) 特徵四、平均連續吃子長度 連續吃子長度是指,雙方連續地互吃棋子的狀況,從開始到結束所經過的層 數長度。從雙方開始互吃對方棋子至停止吃子,記為一次的連續吃子。平均連續 吃子長度為平均一次連續吃子所經過的層數,公式定義如下:. ACL(x) =. ∑ 𝐿𝑐𝑐. (公式 6). T𝑐𝑐 (𝑥). ACL(x)為棋局 x 平均連續吃子長度,𝐿𝑐𝑐 為一次連續吃子的層數長度,T𝑐𝑐 為棋局 x 連續吃子的總次數。若平均連續吃子長度長,代表每次發起進攻引發好幾步的 連續相互吃子,大多為下棋的雙方大量交換棋子,要快速進入殘局階段,在殘局 階段較量,傾向於局面型風格下法的現象。反過來說 ,戰術型風格的下法,平 均連續吃子長度會比較短,如圖十四所示。在圖十五中,對棋手的風格上也反映. 棋局盤數. 出相同的趨勢。 160 140 120 100 80 60 40 20 0. POS TAC. 0~0.4 0.5~0.9 1~1.4 1.5~1.9 2~2.4 2.5~2.9 3~3.4 3.5~3.9 4~4.4. 平均連續吃子長度. 圖 十五、棋手的平均連續吃子長度 21. Petrosian. Karpov. L. Evans. Seirawan. Smyslov. Botvinnik. Browne. Spassky. Capalanca. Kasparov. Geller. Fischer. Alburt. Larsen. Bisguier. Gulko. Denker. Alekhine. Christiansen. Tal. Marshall. Shirazi. Morphy. 2.3 2.25 2.2 2.15 2.1 2.05 2 1.95 1.9 Chigorin. 平均連續吃子長度. 圖 十四、平均連續吃子長度分布圖.

(32) 此外,在分析觀察西洋棋棋手對戰紀錄後,我們另外提出特徵五到特徵七用 以改進風格判斷的準確度。 特徵五、進入殘局的層數 Speelman[31]認為當盤面上雙方的子力數值都小於或等於 13 分的時候,就 開始進入殘局。我們提取每盤棋進入殘局時的層數,如果層數較小,表示傾向戰 術型風格,在一盤棋的早中期就大量的發起進攻與吃子。反之,假如進入殘局時. 棋局盤數. 的層數較大,代表傾向於局面型風格,如圖十六與圖十七所示。 80 70 60 50 40 30 20 10 0. POS TAC. 層(ply) 圖 十六、進入殘局的層數分布圖. 進入殘局的層數. 80 75 70 65 60 55 Petrosian. Karpov. Seirawan. L. Evans. Smyslov. Botvinnik. Browne. Spassky. Capalanca. Kasparov. Geller. Larsen. Fischer. Alburt. Bisguier. Gulko. Denker. Alekhine. Christiansen. Tal. Shirazi. Marshall. Morphy. Chigorin. 50. 圖 十七、棋手的進入殘局的層數 特徵六、將軍次數 當一方有棋子進攻到敵方國王的情況,稱之為將軍。我們統計將軍的次數, 若在一盤棋在開局與中局的將軍次數很多,很有可能是戰術型風格的棋手在中局 22.

(33) 對國王發起猛力進攻。觀察圖十八,我們可發現戰術型風格的將軍次數大致會比 局面型風格多。在圖十九中,也顯示越傾向戰術型風格之棋手的將軍次數越多。 70. 棋局盤數. 60 50. POS. 40. TAC. 30 20 10 0 0. 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 16 17 18 19 20. 將軍次數 圖 十八、將軍次數分布圖 5. 將軍次數. 4.5 4 3.5 3 2.5 Petrosian. Karpov. Seirawan. L. Evans. Smyslov. Botvinnik. Browne. Spassky. Capalanca. Kasparov. Geller. Fischer. Larsen. Alburt. Bisguier. Gulko. Denker. Alekhine. Christiansen. Tal. Marshall. Shirazi. Morphy. Chigorin. 2. 圖 十九、棋手的將軍次數 特徵七、通路兵個數 通路兵(Pass Pawn)是指一方兵所在的直線和相鄰直線前方沒有對方的兵時, 此兵稱為通路兵。通路兵若沒有其他棋子阻擋,可以走到底線升變成皇后(Queen)、 城堡(Rook)、騎士(Knight)、主教(Bishop)等其中一個棋子,具有很大威脅性。在 殘局階段使用通路兵走到底線升變,是獲勝的重要方法。局面型風格的棋手下棋 大多以掌握局面優勢到殘局中取勝,而通路兵就是局面優勢的重要指標之一。我 們統計在殘局之前,通路兵的個數,若個數越多就越傾向局面型風格,表示局面 型風格的棋手要以通路兵的局面優勢進入殘局。 23.

(34) . 風格分類階段 在分類階段,我們將風格特徵擷取階段中,從棋局提取出來的七個特徵,使. 用邏輯斯迴歸分析(Logistic Regression Analysis)[13],計算出每盤棋局屬於戰術型 風格的機率與局面型風格的機率。一位棋手屬於戰術型風格的機率,來自於他的 歷史棋局屬於戰術型風格的平均機率,如下式子所示:. PTAC (x) =. ∑𝑔∈𝑥 𝑃𝑇𝐴𝐶 (𝑔) 𝑛. (公式 7). 其中PTAC (x)為棋手 x 屬於戰術型風格(TAC)的機率,𝑃𝑇𝐴𝐶 (𝑔)是棋局 g 屬於戰術 型風格的機率,n 為棋手 x 的歷史棋局盤數。. 3.4 棋形擷取(Chess pattern extraction) 棋形擷取目的找出開局或棋手下棋的模式(pattern),對開局紀錄或棋局紀錄 中,每走一步棋在棋盤上形成的局面,進行棋形擷取。我們定義了要擷取的棋形 與中心兵形,設計局面表示的方法,以及棋形與中心兵形擷取的方式。 A. 棋形定義與中心兵形定義 關於棋形擷取要擷取的棋形,我們參考 Walczak 對棋形的定義[33]][34],但 是此棋形定義是針對整盤棋局的階段,有些定義不適用開局階段的情況,因此我 們針對開局階段的特徵,修改棋形定義來符合在開局階段所要尋找的棋形。 . Walczak 對棋形的定義:. 1. 以某個棋子為中心,與周圍相鄰的同一方棋子,形成的方形區塊 2. 區塊內最少要包含三個同一方的棋子 下圖為兩個大小 3x3 的棋形:. 圖 二十、棋形. 24.

(35) . 我們對於棋形的定義:. 1. 以某個棋子為中心,與周圍相鄰的同一方棋子,形成的方形區塊 2. 區塊內最少要包含兩個移動過的同一方棋子 在開局階段,如果滿足棋形的條件是「區塊內最少包含三個同一方的棋子」, 會因為開局階段才剛開始將棋子從初始位子移動出來,導致會有非常多滿足條件 的棋形都是大部分棋子都在初始位置上的棋形,這些都是棋手都尚未移動過的棋 子所形成的棋形,無法代表棋手下棋的模式。因此,我們將滿足棋形的條件更改 為「區塊內最少要包含兩個移動過的同一方棋子」,用此棋形來表示棋手下棋的 模式。判斷區塊內的棋子是否為移動過的棋子的方式,是比對區塊內的每個格子 與初始局面格子的棋子差異,若區塊內出現與初始局面格子的棋子狀態不同且不 是空的棋子,就判定為移動過的棋子。下圖二十一是初始局面,圖二十二的方框 內區塊內的兩個移動過的棋子─騎士與兵,符合棋形的滿足條件。. 圖 二十一、初始局面. 圖 二十二、棋局局面. 對於開局階段,除了定義棋形外,我們還定義了中心兵形來表示開局的特徵。 在開局階段中,兵的位置影響了後方其他棋子的發展,其中又以在中心區域的兵 特別重要,因為中心區域是雙方在開局階段爭奪的區域,棋子可以佔據中心位置, 就佔據了優勢位置,中心區域的兵影響棋子往中心的發展[6]。 . 中心兵形的定義: 中心兵形是在棋盤正中央 4x4 大小的區塊內,只看一方的兵,所形成的兵形。. 在下圖二十三(左)中方框區域為棋盤正中央 4x4 的區塊,圖二十三(中)為圖二十 25.

(36) 三(左)棋局的白方中心兵形,圖二十三(右)為圖二十三(左)的黑方中心兵形。. (左)棋局局面. (中)白方的中心兵形. (右)黑方的中心兵形. 圖 二十三、中心兵形 B. 局面表示法 我們將棋盤局面(圖二十四)以 8x8 的矩陣(圖二十五)表示,圖中橫軸的 C 值 代表 column、縱軸的 R 值代表 row,每種棋子以特定代碼表示,如表三,白方 的棋子代碼為正值,而黑方的棋子代碼為負值,例如白方在第 6 個 column、第 3 個 row 的騎士(Knight)以代碼 3 表示;黑方在第 5 個 column、第 6 個 row 的兵(Pawn) 以代碼 -1 表示。此外,未被佔領的格子則以 0 表示。. 圖 二十四、棋盤局面. 圖 二十五、8x8 矩陣. 表 三、各棋子的代碼. 26.

(37) C. 棋形獲取與中心兵形獲取. . 棋形獲取 我們對棋盤上一方的每個棋子,以該棋子為中心,在與中心相鄰的周圍格子,. 共 9 格 3x3 的區塊內,走訪每個的格子,若符合棋形成立的條件,則獲取此棋形 (如圖二十六。走訪的順序由中心的左下角開始,由左至右,由下至上,依序走 訪,若遇到超出棋盤範圍的格子,視為沒有棋子。獲取出的棋形,以走訪路徑上 代碼形成的序列表示。一個棋形的表示法為棋形左下角格子的位置(column, row) 加上走訪路徑的代碼序列,中間以冒號區隔,例如圖二十六中的棋形表示為 52:011030100,代表此棋形左下角的位置是在(column 5, row 2)。. 圖 二十六、3x3 白方棋子的棋形。棋形表示為 52:011030100. . 中心兵形獲取 中心兵形的獲取是針對棋盤中心 4x4 大小區域內一方的兵來獲取。區域內走. 訪的方式與棋形獲取相同。圖二十七中局面的白方中心兵形表示為 33:0000011000000000,黑方的中心兵形表示為 33:000000000-10000-10。. 27.

(38) (左)棋盤局面的中心兵形. (右)走訪路徑. 圖 二十七、中心兵形. 3.5 開局相似度(Opening similarity) 開局推薦系統的開局相似度元件對 Opening 資料庫的開局資料,計算任兩個 開局間彼此的相似度,用於系統推薦開局時的開局比較。 一個開局從棋步的第一步到最後一步的過程中,會達到不同開局的局面。一 個開局從棋步的開始到結束的過程中,所經歷的開局,我們稱之為「過程開局」。 因此,一個開局可以拆解成多個過程開局,以此過程開局集合來代表此開局。如 表四,開局代碼 C51 可以拆解成六個過程開局。 表 四、開局與過程開局 開局代碼(ECO)C51 之開局 C51: 1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4 C51 開局之過程開局 C51:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4 C50:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 C44:1 e4 e5 2 Nf3 Nc6 C40:1 e4 e5 2 Nf3 C20:1 e4 e5 B00:1 e4 28.

(39) 開局的比較,因為一個開局拆解成的過程開局之間,棋步步數的差距並不一 樣,所以採用過程開局的個數來比較。開局相似度主要是依據比較兩個開局共同 的過程開局來計算,但是由於棋手在執白棋與執黑棋時的下棋思考會有差異[28], 所以我們對棋手執白與棋手執黑兩個不同情況分別計算棋步相似度,將符合「過 程開局的最後一步必須要是我方棋步」條件的過程開局才用來計算開局相似度。 棋步相似度(Opening Similarity, OS)的計算公式如下: |𝑶𝑨 ∩𝑶𝑩 |. 𝐎𝐒(𝑶𝑨 , 𝑶𝑩 ) =. |𝑶𝑨 ∪𝑶𝑩 |. (公式 8). OA 是開局 A 滿足條件的過程開局集合,OB 是開局 B 滿足條件的過程開局集合。 以下是計算兩個開局之開局相似度的例子: 甲.假設是棋手執白的情形要計算開局相似度 開局 A. 開局 B. C51: 1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4. C65: 1 e4 e5 2 Nf3 Nc6 3 Bb5 Nf6. 乙.過濾不滿足條件的過程開局 不滿足條件(過程開局的最後一步必須要是我方棋步),標記「*」。 開局 A 的過程開局. 開局 B 的過程開局. C51:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4 C50:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 (*) C44:1 e4 e5 2 Nf3 Nc6 (*). C65:1 e4 e5 2 Nf3 Nc6 3 Bb5 Nf6 (*). C40:1 e4 e5 2 Nf3 C20:1 e4 e5 (*). C40:1 e4 e5 2 Nf3 C20:1 e4 e5 (*). B00:1 e4. B00:1 e4. C60:1 e4 e5 2 Nf3 Nc6 3 Bb5 C44:1 e4 e5 2 Nf3 Nc6 (*). 丙、 滿足條件的過程開局集合 OA. OB. C51:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4 C40:1 e4 e5 2 Nf3 B00:1 e4 𝐎𝐒(𝑶𝑨 , 𝑶𝑩 ) =. C60:1 e4 e5 2 Nf3 Nc6 3 Bb5 C40:1 e4 e5 2 Nf3 B00:1 e4. |𝑶𝑨 ∩ 𝑶𝑩 | 𝟐 = = 𝟎. 𝟓 |𝑶𝑨 ∪ 𝑶𝑩 | 𝟒. 開局 A 與開局 B 在棋手執白的情形下,開局相似度為 0.5。 29.

(40) 3.6 協同式過濾(Collaborative filtering) 本 論 文 採 用 以 使 用 者 為 基 礎 的 協 同 式 過 濾 (User-based Collaborative filtering)[26],User-based CF 的概念為找到評分行為與當前使用者評分行為相似 的其他使用者們,用他們對其它項目的評分來預測當前使用者喜歡的項目[30]。 User-based CF 的方法是先將其他使用者們與當前使用者做相似度計算,把相似 度大於門檻值的其他使用者們,成為與當前使用者相似的鄰居,再利用鄰居的評 分來預測當前使用者對其他項目的評分,最後將預測之評分最高的前幾個項目推 薦給當前使用者。 . 相似度 我們提出三個相似度,結合此三個相似度來做棋手(使用者)之間的相似度計. 算。提出的相似度有以下三個: A. 棋手開局相似度(Players’ opening similarity, POS) B. 風格相似度(Style similarity, SS) C. 棋力相似度(Rating similarity, RS). A.棋手開局相似度 棋手開局相似度(Players’ opening similarity),為計算兩個棋手在下棋時,開 局使用上的相似度。兩個棋手 u 和 v 的棋手開局相似度表示為:. 𝐏𝐎𝐒(𝐮, 𝐯) = 𝐏𝒖 × 𝐎𝐒𝐌 × 𝐏𝐯𝐭. (公式 9)Pu 和 Pv 為棋手使用每個開局. 的比率之 k 維向量,k 是開局庫開局的總數。如表五所示,假設 k 為 3,Player u 對每個開局的值為使用過每個開局的次數除以總共使用過的開局數量,假設 Player u 使用過 3 次 opening A、7 次 opening C,所以 Player u 對 Opening A 的 值為 0.3、對 Opening C 的值為 0.7。. 30.

(41) 表 五、Player 對 Opening 的向量表示. Player u. Opening A. Opening B. Opening C. 0.3. 0. 0.7. OS 開局相似度(公式 8),為所有開局間在棋步上的相似度。OS 表示表示為 開局對開局的 k x k 矩陣,k 為所有開局個個數,每個開局對開局的開局相似度 數值,由系統中的開局相似度計算得到。 因為有些不同開局之間棋步非常近似,如下表六所示,開局代碼 A12 的棋 步包含了開局代碼 A11 的棋步,假如我們直接把棋手向量 u 和 v 做內積計算相 似度,會忽略很多不同但是相似的開局,所以我們在中間加入了每個開局間的相 似度 OS 一起做計算。 表 六、開局代碼與棋步 開局代碼(ECO codes). 棋步(moves). A11. c4, c6. A12. c4, c6, Nf3, d5, b3. 以下為棋手開局相似度計算的例子,假設所有開局的開局只有 Opening A、 Opening B、Opening C 三個開局,棋手對開局的使用比率如表七,開局間的相似 度如表八,依據公式 9,棋手開局相似度為 1x3 的 Player u 矩陣乘上 3x3 的 OS 矩陣,再乘上 3x1 的 Player v 矩陣,得到棋手 u 和 v 的棋手開局相似度為 0.44382。 表 七、棋手對開局的使用比率. 表 八、開局間的相似度. 31.

(42) 1 [0.3 0 0.7] × [0.603 0.189. 0.603 1 0.114. 0.189 0.114] × [0.2 0.5 0.3]t = 0.44382 1. B.風格相似度 風格相似度(Style similarity)代表兩個棋手在下棋風格上的相似度,我們使用 由系統中的風格分析(style analysis)所產生之棋手屬於戰術型風格的機率𝐏𝐓𝐀𝐂 (公 式 7)來計算風格相似度。風格相似度(Style similarity, SS)的範圍介於 0 到 1 之間, 式子如下:. 𝐒𝐒(𝐮, 𝐯) = 𝟏 − |𝐏𝐓𝐀𝐂 (𝐮) − 𝐏𝐓𝐀𝐂 (𝐯)|. (公式 10). 兩個棋手 u 和 v 之間的棋手之戰術型風格機率𝐏𝐓𝐀𝐂 差距越小,代表風格相似度越 高。. C.棋力相似度 棋力相似度(Rating similarity, RS)是計算兩個棋手間棋力程度的相似度,我們 使用計算棋手棋力程度的 Elo rating system[46]來幫助我們計算兩個棋手的棋力 相似度。 Elo rating system 會計算兩位棋手比賽一盤棋後,依照不同比賽結果的棋力變 動,算出棋手新的棋力。Elo rating system 計算棋力的步驟如下: 1. 將棋手 A 與棋手 B 的棋力分數做正規化 𝑄𝐴 = 10. 𝑅𝐴⁄ 400. ,. 𝑅𝐵⁄ 400. 𝑄𝐵 = 10. (公式 11). 其中 RA 是棋手 A 的原始棋力分數,RB 是棋手 B 的原始棋力分數。. 2. 計算棋手 A 與棋手 B 對奕,雙方棋手贏棋的期望值. E(A) =. QA QA +QB. ,. E(B) =. QB QA +QB. (公式 12). E(A)是棋手 A 贏棋的期望值,E(B)是棋手 B 贏棋的期望值。 32.

(43) 3. 計算棋手新的棋力分數 𝑅′𝐴 = 𝑅𝐴 + 𝐾( 𝑆𝐴 − 𝐸(𝐴) ) ,. 𝑅′𝐵 = 𝑅𝐵 + 𝐾( 𝑆𝐵 − 𝐸(𝐵) ). (公式 13). SA 和 SB 是棋手 A 與棋手 B 對奕完得到的分數,贏棋者得 1 分,輸棋者得 0 分, 和棋者得 0.5 分。K 值是決定一場對局變動分數幅度的最大值參數,一般對於大 師級棋手設為 16,對於普通棋手設為 32。. 對於棋力相似度,我們使用兩位棋手贏棋期望值的差值來計算,公式如下:. 1 − (𝐸 (𝑣) − 𝐸(𝑢)) , 𝑖𝑓 𝐸(𝑣) ≥ 𝐸(𝑢) RS(u, v) = { (公式 14) 0 , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Where E(v) = 𝑄. 𝑄𝑣. ,. 𝑣 +𝑄𝑢. And. 𝑄𝑣 = 10. 𝑅𝑣⁄ 400. ,. E(u) = 𝑄. 𝑄𝑢. 𝑣 +𝑄𝑢. 𝑄𝑢 = 10. 𝑅𝑢⁄ 400. 以學習的角度,希望找比使用者 u 棋力還要高的棋手 v 來學習,因此,若 𝐸(𝑣) < 𝐸(𝑢),則棋力相似度𝑅𝑆(𝑢, 𝑣)設為 0。若兩位棋手 u 與 v 的棋力相似,雙 方贏棋期望值的差值小,則棋力相似度就高。反之,若兩位棋手 u 與 v 的棋力相 差大,雙方贏棋期望值的差值就大,則棋力相似度就低。. D. 相似度計算 棋手之間的相似度(Similarity, Sim)計算,我們結合上述的棋手開局相似度 (POS)、風格相似度(SS)、棋力相似度(RS)做計算,式子如下:. 𝐒𝐢𝐦(𝐮, 𝐯) = 𝐏𝐎𝐒(𝐮, 𝐯) × 𝐒𝐒(𝐮, 𝐯) × 𝐑𝐒(𝐮, 𝐯) (公式 15) 棋手相似度計算,我們將三個數值範圍介於 0 到 1 之間的開局相似度、風格相似 度,以及棋力相似度相乘。也就是說,若兩個棋手的相似度高,代表兩者的開局 選擇相近、下棋風格相似,還有棋力程度接近。. 33.

(44) E. 計算預測 對於當前棋手對於其他開局的相關性,我們使用加權平均的方法,也是 CF 常用的方法[13, 15]。預測公式(Prediction function)如下:. 𝐩𝐫𝐞𝐝(𝐮, 𝐨) =. ∑𝐯 𝐬𝐢𝐦(𝐮,𝐯)×𝐫𝐯,𝐨 ∑𝐯 𝐬𝐢𝐦(𝐮,𝐯). (公式 16). pred(u, o)為 Player u 對 opening o 的相關性,𝑟𝑣,𝑜 為與棋手 u 相似的鄰居 v 對 opening o 的使用比率。 Collaborative filtering(協同式過濾)將計算出來當前棋手對其他開局的相關性 排序,推薦相關性最高的的前 N 個開局,把此推薦清單傳給內容式過濾 (Content-based filtering)做進一步的推薦。. 3.7 內容式過濾(Content-based filtering) 內容式過濾(Content-based filtering)[20]的方法,是透過分析被使用者評分過 的項目之特徵,找出其他具有相同特徵的項目做為推薦,推薦的依據是對於項目 內容的分析,而非使用者對項目的評分。在此,內容式過濾有以下三個步驟:. (1)得到棋手對局的棋形集合與各棋形出現盤數 棋手(使用者)的每盤對局前 13 步的局面,透過系統中的 Chess pattern extraction 產生每盤對局的棋形集合,並且統計棋形集合的每個棋形元素,在棋 手的所有對局中出現的盤數。其中,棋形集合包含了棋形與中心兵形。. (2)得到推薦開局的棋形集合 開局資料庫(Opening book)中的所有開局資料透過系統中的 Chess pattern extraction 會產生每個開局的棋形集合,棋形集合包含了棋形與中心兵形。由協 同式過濾所推薦的開局清單,我們可以由開局資料庫得到那些推薦開局的棋形集 合。 34.

(45) (3)計算棋手對局與推薦開局的棋形相似分數 我們將前兩步驟得到的棋手對局的棋形集合與推薦開局的棋形集合以向量 表示,維度為透過系統中的 Chess pattern extraction 產生的棋形總數。棋手對局 與推薦開局的棋形相似分數(Pattern similarity, PS)的計算式子如下:. ⃑⃑⃑o PS(g, o) = ⃑⃑⃑ Pg ∙ P. (公式 17). ⃑⃑⃑g 為棋手對局棋形的向量,每個元素值為對應棋形在棋手的所有對局中出現的盤 P ⃑⃑⃑o 為推薦開局的棋形向量,每個元素值為對應棋形是否在推薦開中出現的判 數。P 斷值,若對應棋形有在推薦開局中出現,其值為 1;若對應棋形沒有在推薦開局 中出現,其值為 0。. 來自協同式過濾推薦的 N 個開局,經由內容式過濾計算棋手與推薦開局的 棋形相似分數 PS,將相似分數最高的前. 𝑁 3. 35. 個開局推薦給棋手。.

(46) 第四章 實驗 為了幫助棋手在開局階段的學習,本論文提出西洋棋開局推薦系統,希望推 薦適合棋手的開局供棋手研究,系統考量棋手的棋力、下棋習慣模式,以及透由 風格分析判斷出的棋手之下棋風格,以混合式推薦的方式,推薦開局清單給棋手。 在此實驗章節中,我們要評估風格分析的準確率與開局推薦系統對棋手學習開局 的幫助。. 4.1 資料來源 為了要推薦棋手開局,需要收集西洋棋開局的資料與棋手的對局紀錄。對於 西洋棋的開局資料,我們從 365Chess.com 網站 (http://www.365chess.com/),抓 取開局資料,共 513 個開局。其中 500 個開局是西洋棋開局百科(Encyclopaedia of Chess Openings, ECO)[45]以開局代碼編列的開局,同一個開局代碼代表表示相同 的開局棋步,但是只有代表不常見開局的開局代碼 A00,包含多種開局棋步。因 此,我們另外加上 13 個西洋棋開局百科都用相同開局代碼 A00 的不同開局,以 確保在開局階段的所有走法都可以對應到 513 個開局裡的其中一個開局。圖二十 八是網站中西洋棋開局的部分列表,其中一欄的文字包含了一個開局的代碼、名 稱,以及棋步,如圖二十八中的第一欄所示「B01 Scandinavian. 1 e4 d5」 , 「B01」. 是開局代碼(ECO),「Scandinavian」為開局名稱,「1 e4 d5」為開局棋步。. 圖 二十八、開局列表 36.

(47) 棋手的對局紀錄資料,我們使用 ChessBase 公司的 Big Database 2010 棋局資料庫 [39]來收集所需的棋手對局紀錄,Big Database 2010 包含了從 1560 至 2009 年的 國際比賽棋局,收錄 446 萬盤棋局。每盤棋局以 Portable Game Notation (PGN) [47] 格式存取,如圖二十九所示,棋局紀錄中包含比賽事件(Event)、比賽地點(Site)、 比賽日期(Date)、白方棋手(White)、黑方棋手(Black)、比賽結果(Result)、開局代 碼(ECO)、白方棋手棋力分數(WhiteElo)、黑方棋手棋力分數(BlackElo)、棋局層 數(PlyCount)等,以及棋局的棋步紀錄。. 圖 二十九、棋局紀錄 此外,我們還收集 Chessgames.com 網站(http://www.chessgames.com/)上有被標記 為戰術型風格或局面型風格的棋局記錄,戰術型風格和局面型風格的棋局記錄各 300 盤,用於風格分析,棋局紀錄的格式與圖二十九相同。. 4.2 實驗方法 在此章節中,我們以兩個實驗分別對風格分析和西洋棋開局推薦系統做評估。 對於風格分析的實驗,我們引用西洋棋棋手的風格分析研究成果(圖三十[2])當標 準,將圖三十中棋手依據風格程度的排序與風格分析產生的棋手排序做比較,評 估其風格分析的效果。我們使用 Chessgames.com 網站上有被標記為戰術型風格 或局面型風格的棋局記錄,戰術型風格和局面型風格的棋局記錄各分別收集 300. 37.

(48) 盤,將這些棋局紀錄作為風格分析的訓練資料。另外,我們從 Big database 2010 棋局資料庫中,取出圖三十中 25 位棋手的棋局資料作為風格分析的測試資料。 對棋局紀錄的特徵提取上我們只取用棋譜中開局與中局的部分,不納入殘局,因 為在下棋風格上,殘局沒有下棋的風格,只有下棋的正確性。一盤對局由白方與 黑方雙方棋手所下,我們將贏棋的一方,視為擁有此盤棋風格的一方,因為我們 假設一盤棋局的風格由贏棋的一方所主導。最後,我們將測試資料經過風格分析 預測出的棋手戰術型風格機率之排序(由大至小)與圖三十中棋手重視子力程度 的排序(由左至右)來做比較,評估風格分析的效果。圖三十中越左側表示越重視 子力,傾向戰術型風格;越右側表示越不重視子力,傾向局面型風格。兩個排序 的比較,我們以 Spearman's rank correlation coefficient[21]來做評估:. 𝜌=. 6 ∑ 𝑑𝑖 2. (公式 18). 𝑛(𝑛2 −1). 其中,n 為棋手總人數,𝑑𝑖 = 𝑥𝑖 − 𝑦𝑖 為兩個排序的差距,𝑥𝑖 是第 i 個棋手在戰術 型風格機率的排序位置,𝑦𝑖 為第 i 個棋手在重視子力程度的排序位置。. 圖 三十、棋手對子力的重視程度[2] 對於西洋棋開局推薦系統的實驗,要來評估系統所推薦給棋手的開局對於棋 手學習開局的幫助。由於棋手在比賽中使用的開局,都是來自於他過去學習過的 開局,因此,我們以比對棋手是否在比賽中使用系統推薦的推薦開局來評估。我 38.

(49) 們從 Big Database 2010 棋局資料庫中,提取從 2002 年至 2009 年的 8 年之區間, 棋力持續上升的棋手,共 2219 位棋手,將這些棋藝持續進步的棋手對局紀錄, 以 2005 年為基準將此區間切半,把棋手在 2002 年至 2005 年下棋生涯前期的對 局紀錄作為輸入資料,將棋手在 2006 年至 2009 年下棋生涯後期的對局紀錄作為 驗證資料。我們將系統由輸入資料產生推薦給棋手的推薦開局與驗證資料中的驗 證開局做比較。 開局推薦系統的評估方法,我們參考準確率(Precision)與召回率(Recall),並 修 改 這 兩 項 評 估 方 法 以 適 用 於 對 開 局 的 評 估 。 準 確 率 (Precision) 與 召 回 率 (Recall)[22]是資訊檢索領域最常用來評估系統效能的兩個指標,評估系統回傳的 結果是否棋手想要的資訊,準確率與召回率的定義如下: Precision = Recall =. |{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠} ∩ {𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}| |{𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|. |{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠} ∩ {𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}| |{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|. 圖 三十一、Precision 和 Recall 示意圖 準確率與召回率的計算,對於開局來說,直接以相同開局的個數來代表推薦開局 與驗證開局的交集並不適合,因為不同開局可能極為相似,在棋步上只有在最後 少數一至兩步有差異。因此,我們依據開局從棋步的開始到結束的過程中,所經 歷的過程開局來評估推薦開局與驗證開局的相似性,以推薦開局與驗證開局中滿 足條件的共同過程開局來計算。在此評估推薦開局與驗證開局的相似性,所使用 39.

(50) 的過程開局要滿足以下三個條件: 條件一、屬於推薦開局的過程開局,過程開局中的所有對方棋步,必須要找到與 其有相同對方棋步的過程開局屬於驗證開局。 條件二、屬於推薦開局的過程開局,能找到與此過程開局長度最接近的其它過程 開局出現在驗證開局的過程開局當中。開局步數為一的過程開局例外。 條件三、過程開局的最後一步必須要是我方棋步。. 條件一與條件二是針對推薦開局的過程開局,條件一是因為要在對方走相同棋步 的條件下,比較推薦開局與驗證開局的過程開局。條件二是要避免相同的錯誤原 因導致推薦失誤之開局重複計算。如表九中,推薦開局之過程開局 C40、C44、 C50、C51 是不在驗證開局中的開局,但都是由於第二步白方不是走 Nc3 的共同 原因,導致之後的開局都推薦失敗。然而在條件二下,只有過程開局 C40 會被計 算為推薦失敗的開局。條件三是要確保由我方走棋而達到的開局。 表 九、過程開局 推薦開局之過程開局. 驗證開局之過程開局. C51:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4. C28: 1 e4 e5 2 Nc3 Nf6 3 Bc4 Nc6. C50:1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5. C26:1 e4 e5 2 Nc3 Nf6. C44:1 e4 e5 2 Nf3 Nc6. C25:1 e4 e5 2 Nc3. C40:1 e4 e5 2 Nf3. C20:1 e4 e5. C20:1 e4 e5. B00:1 e4. B00:1 e4. 對西洋棋開局推薦系統的實驗評估,我們會以棋手執白棋或棋手執黑棋不同 的清況,分別計算系統推薦給棋手的開局推薦清單中,系統的所有推薦開局與棋 手的所有驗證開局之間的相似性,以此來評估系統推薦的準確性。我們參考準確 率與召回率,定義更符合西洋棋開局情況的開局準確率與開局召回率,以及使用 F-Measure[22]來評估系統的推薦效果。 40.

參考文獻

相關文件

Computer Science and Information Engineering National Taiwan University. 2014 APEC Cooperative Forum on Internet

請各縣市政府教育局(處)推薦公、私立中小學校長參加,並以校長年資

課前預習練習詰問作者 兩兩配對互相重述重點

1.認識校 園植物與 校園交趾 陶藝術牆 2.大手小 手牽手認 識校園 3.聆聽校 園的聲音 4.校園植 物拓印..

啟發生命潛能 陶養生活知能 促進生涯發展

基本概念 有效教學 差異化教學 多元化評量 適性輔導... A-5-3教學活動中融入學習策略的指導

(一)是一套 有組織、有 系統、有結 構的記錄和 文件。.. (二)可以顯 示教師在某

一、 主辦單位:臺北市政府教育局 二、 承辦單位:臺北市新民國中 三、 協辦單位:臺北海洋科技大學 四、