
0人評分過此書
研究電腦如何下棋、解謎題和進行對局是資訊科學中研究人工智慧的重要一支。電腦對局的研究課題多元且具挑戰性,又因入門的條件較低、成效評定方式明確,故吸引許多人投入研究。本書有系統地蒐集並整理相關文獻,歸納電腦對局之精華要義,有助於入門者學習參考,奠定基礎。
本書綜覽電腦對局研究,並特別注重演算法層次的引導式理解及討論,也描述演算法實作時所需的系統知識和技巧,兼顧理論和實際。
研究電腦對局,終極目標不只是希望電腦在對局上能贏人類,而是在達成這目的的過程中,深入了解相關知識及應用。因此,與其說研究者在鑽研如何讓電腦「變聰明」,不如說透過演算法,研究者激發腦力,從而開創新的科學和技術發展,便利人類的生活。
本書特色
1. 國內外第一本專門介紹電腦對局程式設計理論和實作的專書。
2. 囊括古今中外相關軼事、筆記和研究,包羅萬象,蒐集齊全。
3. 超過60個演算法,詳細說明單人對局及雙人對局之細節。
4. 超過120張說明圖示,舉實例闡述困難的觀念。
本書綜覽電腦對局研究,並特別注重演算法層次的引導式理解及討論,也描述演算法實作時所需的系統知識和技巧,兼顧理論和實際。
研究電腦對局,終極目標不只是希望電腦在對局上能贏人類,而是在達成這目的的過程中,深入了解相關知識及應用。因此,與其說研究者在鑽研如何讓電腦「變聰明」,不如說透過演算法,研究者激發腦力,從而開創新的科學和技術發展,便利人類的生活。
本書特色
1. 國內外第一本專門介紹電腦對局程式設計理論和實作的專書。
2. 囊括古今中外相關軼事、筆記和研究,包羅萬象,蒐集齊全。
3. 超過60個演算法,詳細說明單人對局及雙人對局之細節。
4. 超過120張說明圖示,舉實例闡述困難的觀念。
徐讚昇(Tsan-sheng Hsu)
中央研究院資訊科學研究所研究員
國立臺灣大學資訊工程學系兼任教授
主要研究領域為演算法、圖論、資訊隱私及保護、資料密集運算和電腦對局理論及實作
許舜欽(Shun-Chin Hsu)
國立臺灣大學資訊工程學系退休教授
長榮大學資訊管理學系教授(2002-2017)
台灣電腦學會理事長(2010-)
主要研究領域為電腦對局理論及實作
陳志昌(Jr-Chang Chen)
中原大學應用數學系副教授
蔣益庭(Yi-Ting Chiang)
國立臺灣大學資訊工程學系博士
陳柏年(Bo-Nian Chen)
中央研究院資訊科學研究所博士後研究員(2012-2014)
財團法人資訊工業策進會智慧網通系統研究所專案經理
劉雲青(Yun-Ching Liu)
日本東京大學工學院博士
張紘睿(Hung-Jui Chang)
國立臺灣大學資訊工程學系博士候選人
蔡數真(Sue-Chen Tsai)
中央研究院資訊科學研究所研究助理
林庭羽(Ting-Yu Lin)
中央研究院資訊科學研究所研究助理
范綱宇(Gang-Yu Fan)
中央研究院資訊科學研究所研究助理
- 序一
- 序二
-
第1章 電腦對局研究概論
-
1.1 前言
-
1.2 智慧
-
1.2.1 Turing測試
-
1.2.2 延伸思考
-
-
1.3 歷史
-
1.3.1 18世紀的第一個西洋棋機器人
-
1.3.2 西洋棋殘局自動機
-
1.3.3 東方的相關研究
-
-
1.4 學術研究
-
1.4.1 早期(1970年之前)
-
1.4.2 初期(1970~1980年)
-
1.4.3 中期(1980~1990年)
-
1.4.4 近期(1990年至今)
-
-
1.5 對局遊戲
-
1.5.1 對局分類
-
1.5.2 複雜度
-
1.5.3 研究新領域
-
-
1.6 結語和本書結構
-
1.7 練習題
-
-
第2章 單人對局之基礎搜尋演算法
-
2.1 前言
-
2.1.1 概述
-
2.1.2 本章常用名詞和定義
-
-
2.2 暴力搜尋
-
2.2.1 廣度優先搜尋
-
2.2.2 廣度優先搜尋之改良:利用硬碟儲存佇列
-
2.2.3 深度優先搜尋
-
2.2.4 深度優先搜尋之改良:運用兩個堆疊
-
2.2.5 深度優先搜尋之改良:限制搜尋的深度
-
2.2.6 深度優先搜尋之改良:逐層加深
-
2.2.7 深度優先搜尋之改良:深度限制及方向選擇
-
2.2.8 雙向搜尋
-
-
2.3 啟發式搜尋
-
2.3.1 A*搜尋
-
2.3.2 考量總花費門檻值之深度優先搜尋
-
2.3.3 如何擇出良好著手
-
2.3.4 逐層加深之深度優先及A*演算法的結合
-
2.3.5 IDA*之應用
-
-
2.4 結語
-
2.5 練習題
-
-
第3章 單人對局之進階搜尋演算法
-
3.1 前言
-
3.2 (n2-1)-puzzle問題
-
3.3 15-puzzle之狀態空間
-
3.3.1 基本性質
-
3.3.2 盤面奇偶性不因移動改變
-
3.3.3 延伸思考
-
-
3.4 15-puzzle之解法
-
3.5 樣式資料庫
-
3.5.1 邊緣
-
3.5.2 改良邊緣數
-
-
3.6 24-puzzle之解法
-
3.7 其他啟發式函數之設計
-
3.8 結語
-
3.9 練習題
-
-
第4章 雙人對局概論
-
4.1 前言
-
4.2 本章常用名詞和定義
-
4.3 1990年對局程式棋力估測
-
4.4 雙人對局分類
-
4.4.1 收斂型對局
-
4.4.2 發散型對局
-
4.4.3 連接型對局
-
-
4.5 10或11路六貫棋
-
4.5.1 基本性質
-
4.5.2 策略盜用論點
-
4.5.3 延伸思考
-
-
4.6 其他相關議題
-
4.6.1 對局複雜度
-
4.6.2 先手優勢
-
4.6.3 2000年對局程式棋力估測
-
-
4.7 結語
-
4.8 練習題
-
-
第5章 由西洋棋論雙人對局程式之設計
-
5.1 前言
-
5.1.1 西洋棋棋規及相關知識
-
5.1.2 西洋棋之對局複雜度
-
-
5.2 審局函數
-
5.2.1 完美審局函數
-
5.2.2 近似審局函數
-
5.2.3 審局函數之設計
-
-
5.3 基於審局函數之搜尋策略
-
5.3.1 A型策略
-
5.3.2 B型策略
-
-
5.4 對弈、棋風及策略之變化
-
5.5 結語
-
5.6 練習題
-
-
第6章 Alpha-Beta切捨演算法與分析
-
6.1 前言
-
6.1.1 位置與搜尋樹
-
6.1.2 樹節點編號法
-
-
6.2 最小最大化搜尋演算法
-
6.3 正反最大演算法
-
6.4 Alpha-Beta切捨演算法
-
6.4.1 改進的契機
-
6.4.2 Alpha剪枝
-
6.4.3 Beta剪枝
-
6.4.4 深層Alpha-Beta切捨
-
6.4.5 Alpha-Beta切捨演算法的實作
-
6.4.6 搜尋順序與切捨之關係
-
-
6.5 效能分析
-
6.5.1 最佳可預期之狀況
-
6.5.2 節點分類與節點間之關係
-
6.5.3 最佳可預期狀況之效率分析
-
6.5.4 平均狀況之效率分析
-
6.5.5 完美排序與最佳排序
-
-
6.6 Alpha-Beta搜尋的變形
-
6.6.1 硬式失敗版
-
6.6.2 軟式失敗版
-
6.6.3 演算法F2與F3的比較
-
-
6.7 結語
-
6.8 練習題
-
-
第7章 斥候與正反斥候
-
7.1 前言
-
7.2 斥候演算法
-
7.2.1 基本概念
-
7.2.2 如何TEST
-
7.2.3 斥候演算法之結構
-
-
7.3 斥候演算法的效能分析
-
7.3.1 TEST成功與失敗對搜尋節點數的影響
-
7.3.2 TEST演算法拜訪之節點數
-
7.3.3 完美排序樹中斥候演算法所拜訪之節點數
-
7.3.4 與Alpha-Beta切捨演算法之比較
-
7.3.5 斥候演算法之效能分析
-
-
7.4 斥候演算法之實作
-
7.4.1 回顧Alpha-Beta切捨搜尋演算法
-
7.4.2 正反斥候演算法:最小最大版
-
7.4.3 正反斥候演算法
-
7.4.4 延伸思考
-
-
7.5 結語
-
7.6 練習題
-
-
第8章 同形表和其他的改進方法
-
8.1 前言
-
8.2 同形表
-
8.2.1 同形表之更新規則
-
8.2.2 加入同形表之正反斥候演算法
-
-
8.3 Zobrist雜湊函數
-
8.3.1 理論基礎
-
8.3.2 雜湊函數之設計
-
8.3.3 錯誤叢集
-
8.3.4 使用時之參數設定
-
-
8.4 動態調整搜尋區間大小
-
8.5 著手排序之改進
-
8.5.1 知識捷思法
-
8.5.2 利用歷史資訊找出好的著手次序
-
8.5.3 主要變化路徑
-
8.5.4 否議表
-
8.5.5 殺手捷思法
-
8.5.6 歷史捷思法
-
-
8.6 實驗數據
-
8.7 動態調整搜尋深度
-
8.7.1 虛手切捨
-
8.7.2 較晚考慮著手之搜尋裁減
-
-
8.8 動態搜尋延伸
-
8.8.1 動態深度延伸
-
8.8.2 寧靜搜尋
-
-
8.9 結語
-
8.10 練習題
-
-
第9章 蒙地卡羅樹搜尋演算法
-
9.1 前言
-
9.2 簡易圍棋規則
-
9.3 最初的演算法:MCSpure
-
9.4 MCSpure之首要問題
-
9.4.1 K臂吃角子老虎問題
-
9.4.2 信賴上界
-
9.4.3 以標準差修正信賴上界值
-
-
9.5 MCSpure的第二個問題
-
9.5.1 優先樹擴展
-
9.5.2 蒙地卡羅最小最大化樹搜尋
-
-
9.6 信賴上界的樹搜尋
-
9.7 程式實作時之技巧
-
9.8 結語
-
9.9 練習題
-
-
第10章 蒙地卡羅搜尋演算法的改進
-
10.1 前言
-
10.2 線上知識
-
10.2.1 漸進式剪枝
-
10.2.2 手順不羈法
-
10.2.3 模擬數值快速估計法
-
10.2.4 節點展開策略
-
10.2.5 模擬退火法
-
10.2.6 固定深度全展開
-
10.2.7 各種方法的整合
-
-
10.3 離線學習
-
10.3.1 MM法與模擬平衡法
-
10.3.2 擴展階段:類神經網路與深度學習
-
-
10.4 結語
-
10.5 練習題
-
-
第11章 平行化對局樹搜尋
-
11.1 前言
-
11.2 平行化之評估
-
11.2.1 Amdahl定律
-
11.2.2 超線性加速
-
-
11.3 共有記憶體之使用與管理
-
11.4 平行化Alpha-Beta切捨設計
-
11.4.1 主變化分割
-
11.4.2 弟節點等候
-
11.4.3 動態樹分割
-
-
11.5 平行化蒙地卡羅樹搜尋設計法
-
11.5.1 葉節點平行化
-
11.5.2 根節點平行化
-
11.5.3 整體同步之樹平行法
-
11.5.4 局部同步之樹平行法
-
11.5.5 延伸思考
-
-
11.6 結語
-
11.7 練習題
-
-
第12章 開局和殘局知識庫
-
12.1 前言
-
12.2 開局庫
-
12.2.1 開局庫之需求
-
12.2.2 開局庫製作
-
12.2.3 開局庫之建構方式
-
-
12.3 中局使用之布局
-
12.4 建構大型殘局庫
-
12.5 只使用主記憶體之回溯分析演算法
-
12.5.1 反覆前向檢查
-
12.5.2 分層反向傳遞與前向檢查
-
12.5.3 反向傳遞與未知子節點計數法
-
12.5.4 分層反向傳遞與未知子節點計數法
-
-
12.6 使用主記憶體和磁碟之回溯分析演算法
-
12.7 結語
-
12.8 練習題
-
-
第13章 進階研究課題
-
13.1 前言
-
13.2 圖形歷史交互作用
-
13.3 對手模型
-
13.4 隨機行為節點搜尋
-
13.5 證明數搜尋
-
13.5.1 二元值對局樹
-
13.5.2 證明數與反證數
-
13.5.3 多元值對局樹
-
13.5.4 延伸思考
-
-
13.6 結語
-
13.7 練習題
-
-
第14章 對局系統實作考量
-
14.1 前言
-
14.2 對局程式系統之研製
-
14.2.1 資源使用技巧
-
14.2.2 對局系統之製作
-
-
14.3 實戰驗證分析
-
14.4 結語
-
14.5 練習題
-
- 參考文獻
- 中文索引
- 英文索引
- 出版地 : 臺灣
- 語言 : 繁體中文
- DOI : 10.6327/NTUPRS-9789863502371
評分與評論
請登入後再留言與評分