搜尋演算法:人工智慧如何尋找最優

龔超//畢樹人//武迪

買這商品的人也買了...

商品描述

「人工智慧超入門叢書」致力於面向人工智慧各技術方向零基礎的讀者,內容涉及資料素養、機器學習、
視覺感知、情緒分析、搜尋演算法、強化學習、知識圖譜、專家系統等方向,體系完整、內容簡潔、文字通俗,
綜合介紹人工智慧相關知識,並輔以程式碼解決問題,使得零基礎的讀者快速入門。
《搜尋演算法:人工智慧如何尋找最優》是「人工智慧超入門叢書」中的分冊,
本分冊以簡單易懂的語言風格講解了搜尋演算法的相關知識,內容包括演算法問題中涉及的基本資料結構與複雜度分析,
及狀態空間、樹、圖等較複雜的資料結構;同時,透過相關實例,講解了各類搜尋方法及線性規劃與非線性規劃;
也著重解讀了組合最佳化問題與群智能演算法。
全書內容包含了搜尋演算法所能用到的核心方法與技術,
另附三個附錄,分別講解了類別與繼承以及博弈基礎等。
本書搭配關鍵程式碼,是一本適合初學者閱讀學習的人工智慧(AI)書籍。
本書可作為人工智慧及電腦相關工作崗位的技術人員的入門讀物,
也可以供高等院校人工智慧及電腦專業的師生閱讀參考,對搜尋演算法及人工智慧方向感興趣的人群也可以閱讀。

目錄大綱

第1章搜尋的世界 001
1.1 出「棋」不易 002
1.1.1 棋技,智力的象徵?002
1.1.2 搜尋+評估=智能?006
1.1.3 AlphaGo是怎麼煉成的?008
1.2 給盲目一些訊息 011
1.2.1 盲目搜尋 011
1.2.2 啟發式搜尋 013
1.2.3 博弈中前行 015
1.3 一切皆可優化 017
1.3.1 目標與限制 017
1.3.2 蒙地卡羅樹搜尋 021
1.3.3 群智能 024

第2章基本資料結構與複雜度分析 030
2.1 資料關係與資料結構 031
2.1.1 數據關係 031
2.1.2 資料結構 032
2.2 棧與佇列 033
2.2.1 棧 033
2.2.2 隊列 038
2.2.3 雙端隊列 040
2.3 複雜度 042
2.3.1 衡量演算法的效率 042
2.3.2 複雜度的分析 044

第3章狀態空間、樹與圖 050
3.1 狀態空間 051
3.1.1 狀態的表示 051
3.1.2 迷宮、漢諾塔與八數碼 053
3.1.3 農夫過河 054
3.2 樹 057
3.2.1 樹的基本概念 057
3.2.2 二元樹 059
3.3 圖 062
3.3.1 圖的基本概念 062
3.3.2 圖的儲存方式 065

第4章搜尋技術 072
4.1 盲目搜尋 073
4.1.1 廣度優先搜尋演算法 073
4.1.2 深度優先搜尋演算法 080
4.2 啟發式搜尋 086
4.2.1 貪婪算法 086
4.2.2 A*演算法 089
4.3 對抗搜索 093
4.3.1 博弈下的極小極大搜尋 094
4.3.2 alpha–beta剪枝演算法 102

第5章線性與非線性規劃中的搜尋 105
5.1 最佳化問題 106
5.1.1 無所不在的最佳化 106
5.1.2 最佳化問題的描述 106
5.2 線性規劃 108
5.2.1 圖解線性規劃 110
5.2.2 搜頂點 113
5.2.3 程式求解 114
5.3 非線性規劃 117
5.3.1 從導數中獲得搜尋資訊 117
5.3.2 非線性規劃難在哪 124
5.3.3 程式求解 126

第6章組合最佳化與求解 132
6.1 組合最佳化問題 133
6.1.1 旅行商問題 134
6.1.2 背包問題 138
6.2 模擬退火 140
6.2.1 基本原理 140
6.2.2 參數與流程 142
6.2.3 程式碼 144
6.3 禁忌搜尋 149
6.3.1 基本原理 149
6.3.2 參數與流程 152
6.3.3 程式碼 155

第7章群智能演算法 160
7.1 遺傳演算法 161
7.1.1 基本原理 161
7.1.2 參數與流程 166
7.1.3 程式碼 171
7.2 蟻群演算法 176
7.2.1 基本原理 176
7.2.2 參數與流程 180
7.2.3 程式碼 184
7.3 粒子群演算法 189
7.3.1 基本原理 189
7.3.2 參數與流程 191
7.3.3 程式碼 196

附錄 199
附錄一類與繼承 200
附錄二人工智慧的博弈基礎 208
附錄三騰訊扣叮Python實驗室:JupyterLab使用說明 214