行政院國家科學委員會補助專題研究計畫
□ 成 果 報 告
▓期中進度報告
六子棋詰棋及開局定石之自動產生系統之研究與設計
計畫類別:▓ 個別型計畫 □ 整合型計畫
計畫編號: NSC 97-2221-E-009 -126 -MY3
執行期間: 97 年 8 月 1 日至 100 年 7 月 31 日
計畫主持人:吳毅成
共同主持人:
計畫參與人員:林秉宏、高暐倫、詹宜智、陳靖平、王智功
成果報告類型(依經費核定清單規定繳交):
■精簡報告 □完整報告
本成果報告包括以下應繳交之附件:
■赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、
列管計畫及下列情形者外,得立即公開查詢
□涉及專利或其他智慧財產權,□一年□二年後可公開查詢
執行單位:國立交通大學資訊工程學系
中文摘要
自我們發表全世界第一篇六子棋論文至今僅三年多,六子棋的歷史與其他 棋種如象棋、圍棋、西洋棋有數百年、甚至上千年歷史相比,仍屬相當年輕的, 因此專家的詰棋題目與開局定石的數量仍相對較為缺乏。 為了加速六子棋的推廣與普及,本計畫(目前正在執行中)除了延續前期 計畫持續研發新的六子棋搜尋技術外,我們也研究發展詰棋自動產生及開局定 石自動產生之系統與技術。詰棋產生系統將可用來大量產生詰棋題目,提供六 子棋棋士自我練習及自我評估棋力之用。開局定石產生系統,將可用來大量產 生開局定石,提供六子棋高段棋士研究更深入的各種開局下法。由於開局定石 產生系統相當耗時,我們正在發展平行處理技術來加快處理速度。 關鍵字詞:六子棋、詰棋、開局定石、詰棋產生器、開局定石產生器、搜尋技 術、迫著策略。英文摘要
When compared with other games such as Go, Chinese Chess, Chess,
the game Connect6 has still been young since we presented the first
article about Connect6 three years ago. Therefore, puzzles and
openings offered by experts are relatively insufficient.
In order to expedite the promotion of Connect6, this project
plans to develop automatic puzzle generators and opening
generators, in addition to the search technology for Connect6. The
automatic puzzle generator creates a large number of puzzles that
Connect6 players can use to practice. The automatic opening
generator generates a large number of openings that players can
learn how to play in the openings. Since it takes a huge amount
of time in automatic opening generator, we need to develop parallel
techniques to speed it up.
generator, threat-based proof search
一、計畫說明
本計畫主持人除了第一個正式提出六子棋下法,並研發許多新的六子棋搜 尋技術,及棋力強大的六子棋程式「交大六號」。除了獲得國際奧林匹亞六子 棋組賽局競賽的冠軍外,最近亦曾有擊敗某次六子棋公開賽冠軍棋士的記錄。 然而自我們發表全世界第一篇六子棋論文至今僅兩年多,六子棋的歷史與 其他棋種如象棋、圍棋、西洋棋有數百年、甚至上千年歷史相比,仍屬相當年 輕的,因此專家的詰棋題目與開局定石的數量仍相對較為缺乏。 為了加速六子棋的推廣與普及,此計畫(三年期計畫,目前是第一年)除 了持續研發新的六子棋搜尋技術外,我們將研究發展詰棋自動產生及開局定石 自動產生之系統與技術。詰棋產生系統將可用來大量產生詰棋題目,提供六子 棋棋士自我練習及自我評估棋力之用。開局定石產生系統,將可用來大量產生 開局定石,提供六子棋高段棋士研究更深入的各種開局下法。 在六子棋搜尋技術方面,我們持續改良我們的六子棋程式「交大六號」, 其中一項是,提出一種是以關連區域(Relevance Zones)為主的搜尋技術,這 是利用對手下出的空著(Null Move)或半空著(Semi-Null Move)所獲勝後的關 連區域,來去做迫著空間搜尋(Threat Space Search)。例如︰盤面有黑三子如上圖圖一,很明顯是黑勝,但由於整個棋盤我們假 設是非常大或甚至是無窮大,我們無法一一搜尋來證明。於是我們需要先假設 對方不下(也就是所謂 null-move),我們先找到一個活四追四勝(或簡稱追四 勝)如上圖,在這下法中找出一個區域(叫做 Relevance-Zone 或簡稱 R-Zone) 是對手可能有機會擋住的位置;如在上圖棋譜中,陰影部份是指白若要阻擋黑 的追四勝,二子之其中一子必下的 R-Zone,詳見(Wu and Huang, 2005)。
圖二 Semi-null move 的關連區域 設 若 白 之 一 子 下 於 棋 譜 一 中 1a 的 位 置 , 則 再 假 設 其 另 一 個 子 不 下 (semi-null-move),從我們追四勝的下法中找出一個 R-Zone 是對手可能有機 會擋住的位置,如圖二,陰影部份是指白若要阻擋黑勝,另一子必下的 R-Zone。 然後檢視所有擋法後,全為黑勝。這麼一來,我們可以證明出原始黑三子 的盤面,為黑必勝。這就是我們所謂的以關連區域(Relevance Zones)為主的 搜尋技術。 在圖一及圖二中,所有阻擋的位置,如白 2、白 4 等,我們都用保守下法 (一手下四子);但有些棋型,若不是保守下法才能獲勝,關連區域會更為複 雜。甚至更複雜的是:若需要利用到死四(或稱單迫著)或無四(或稱無迫著) 的追四勝的話,則證明會是更為複雜。
圖三 TX-d21 開局 圖四 Semi-null move 的關連區域 例如對上圖圖三,在處理 Semi-null-move 時,若白下一子於白4的右方 一格,此時黑無法用雙迫著追四勝,必須用單迫著追四勝才能獲勝。甚至,如 圖四中的棋型(註︰此棋型是在討論若黑5只下一子時的狀況),若黑下於白 6右上及右下一格時,白連單迫著都無法獲勝,必須是無迫著才能得勝。然而 單迫著追四勝及無迫著追四勝的關連區域,並不容易找出。
本計畫發展出一套新的演算法稱為 Threat Proof Search (TPS),算出這 個關連區域。此 TPS 演算法對關連區域,會依照不下的子數來發展出不同的區 域。例如,若一子不下的關連區域稱為 Z1; 若二子不下的關連區域稱為 Z2; 若 三子不下的關連區域稱為 Z3。利用這些區域,我們可以證明出圖三及圖四的 棋型是黑必勝。
在開局定石產生系統方面,我們除了利用 TPS 的搜尋技術外,我們亦提出 新的 Proof number (PN) search 技術來加速開局的驗證。由於我們無法預期 各個盤面是必勝或必敗或和,此方法利用 PN search 技巧快速刪除不必要的子 樹,並能自動調整去找比較重要的子樹。
在詰棋搜尋方面,我們首先利用我們六子棋程式「交大六號」找出大部分 必勝棋型的必勝下法。進而利用一般的 Iterative deepening 技巧找出最短的 必勝下法。此計畫亦研究分析詰棋的品質,及難易度。例如︰即使可以找出某 個棋型的必勝法則,然而還需要找出最短必勝下法;即使可以找出最短的必勝 下法,還需要找對棋友最感到艱困的必勝下法。此外,若這個棋型可能有很多 必勝下法,這樣個棋型,也不一定適合成為詰棋,必須過濾,以確保詰棋品質。
三、研究成果
如上所述,我們發展一套新的演算法稱為 Threat Proof Search (TPS)。 此 TPS 演算法被用於提升了「交大六號」的搜尋能力,這同時也大幅提升了「交 大六號」棋力,戰績如下。 z 在 2008 年 10 月的國際奧林匹亞賽局競賽中的六子棋程式比賽中,在眾多 隊伍中脫穎而出,獲得金牌。這為我國獲得唯一的一面金牌及獎牌。 z 同時在 2008 年第一屆人腦對電腦六子棋大賽中,以 11 勝 1 負,幾乎大獲 全勝。此比賽的棋士代表,均為國內一流高手,如下︰ 第三屆交通大學盃六子棋公開賽前三名:陳威翰、游智翔、林皇羽。 CYC Online contest 第一名:林承毅。
國際 Littlegolem.net 網站上一屆總冠軍:黃于峻。
五子棋資深高段棋士(2003 年首屆五子棋亞洲杯大賽亞軍、擔任三屆
交大盃裁判及裁判長):張益豐。
以上的戰績,顯示這項研究,獲得相當明確的成果。
圖五 TX-d21 開局
利用此新的搜尋技術及提出新的 Proof number (PN) search 技術,我們 發展一套六子棋的開局自動產生系統。目前,此部份計畫仍在持續發展中,但 先期成果,已經可以成功地找出一些開局的必勝定石,包括編號為 TX-d22、
TX-d21、T-P12 等開局(參見 http://www.connect6.org/)。其中由於我們證 明出圖三棋型黑必勝,導致我們能成功地證明 TX-d21 開局如圖五是黑必勝。 這些結果,也已在 2008 年的第三屆交大盃六子棋公開賽中公佈。 在詰棋搜尋方面,我們發展一套六子棋的詰棋自動產生系統。目前,此部 份計畫仍在持續發展中,但已經收集相當多的題目約 30000 多題,並已初步過 濾出 5000 多題。此計畫將持續進一步優化詰棋品質,如找出最短必勝下法、 找出最艱困的必勝下法,並避免太多重複解。在 2008 年的第三屆交大盃六子 棋公開賽大中,我們已經開始提出一些題庫試用。
四、結論
我們發展一套 TPS 演算法,這除了對程式的搜尋能力有大幅的提升外,亦 可用於開局及詰棋自動產生系統。目前的研究成果顯示此計畫的可行性及效 果。我們不僅提出全世界第一篇六子棋玩法的論文,本計畫亦對六子棋發展出 許多重要的研究,如開局及詰棋。由於六子棋的規則簡單、遊戲公平、及玩法 複雜,有機會成為一項由台灣研究發展出而普及全世界的遊戲。本計畫的成功 將有助於六子棋的發展與推廣,及提升國家形象及知名度。五、
計畫成果自評部份 從上述的研究成果,我們可以了解此計畫有相當豐碩的成果,尤其是獲得 第十三屆國際奧林匹亞賽局競賽冠軍,為我國獲得唯一的一面金牌及獎牌,同 時也擊敗台灣許多六子棋高段棋士。此外,我們發展出許多令棋士十分六子棋 開局定石。因此,我們很確信地自評︰此計畫的執行成果相當優異。 交大六號獲得第十三屆國際奧林匹亞賽局競賽冠軍(左起︰林秉宏、吳毅成),奧林匹亞賽 局競賽主席 Prof. Herik(最右)親自頒獎。
交大六號發展團隊(左起:林宏軒、陳靖平、詹宜智、吳毅成、林秉宏)、許舜欽(最右: