《人工智能:一種現代方法(第2版)》以詳盡和豐富的資料,從理性智能體的角度,全面闡述了人工智能領域的核心內容,并深入介紹了各個主要的研究方向,是一本難得的綜合性教材。全書分為八大部分:第一部分“人工智能”,第二部分“問題求解”,第三部分“知識與推理”,第四部分“規劃”,第五部分“不確定知識與推理”,第六部分“學習”,第七部分“通訊、感知與行動”,第八部分“結論”。
《人工智能:一種現代方法(第2版)》既詳細介紹了大量的基本概念、思想和算法,也描述了各研究方向最前沿的進展,同時收集整理了詳實的歷史文獻與事件。因此《人工智能:一種現代方法(第2版)》適合于不同層次和領域的研究人員及學生,可以作為信息領域和相關領域的高等院校本科生和研究生的教材或教學輔導書目,也可以作為相關領域的科研與工程技術人員的參考書。
在第二版中,每一章都經過詳盡的改寫引入了一些重要的新材料,以涵蓋更多的領域,諸如約束滿足、快速命題推理、規劃圖、因特網智能體、精確概率推理、馬爾可夫鏈蒙特卡洛技術、卡爾曼濾波器、集體學習方法、統計學習、概率自然語言模型、概率機器人技術,以及AI的倫理層面, 《人工智能:一種現代方法(第2版)》還得到了一套聯機資源的支撐,包括源代碼、圖表、講義幻燈片、一個包含超過800條到網站“Al on the Web”的鏈接的目錄,以及一個聯機討論組。
人工智能(Artificial Intelligence,AI)是一個龐大的領域,而這也是一本龐大的書。我們試圖全方位探索這個領域,包括邏輯、概率和連續數學;感知、推理、學習和行動;以及從微電子設備到機器人行星探測器等一切巨細。這本書之所以龐大還因為我們,在給出結果時達到了一定的深度,雖然我們努力做到在每一章中只包含主要部分的中心思想。在每章末尾的文獻注釋中我們提供了進一步結果的要點。
本書的副標題是“一種現代方法”。這個相當空洞的短語希望表達的含義是,我們試圖將我們現在所知道的內容綜合到一個共同的框架中,而不是試圖在各自的歷史環境下解釋人工智能的各個子領域。對于那些自己的研究領域因此沒有得到足夠重視的讀者,我們表示歉意。
本書主要的統一主題是智能化智能體的思想。我們將人工智能定義為對從環境中接收感知信息并執行行動的智能體的研究。每個這樣的智能體都實現了一個把感知序列映射到行動的函數。我們討論了表達這些函數的各種不同方法,諸如產生式系統、反應式智能體、實時條件規劃器、神經元網絡,以及決策理論系統等。我們把學習所扮演的角色解釋為把設計者能接觸的范圍擴展到未知環境中,并且我們說明了這個角色是如何約束智能體設計;形成明確的知識表示和推理的。我們并不把機器人學和視覺當作各自獨立定義的問題對待,而是出現在為實現目標而服務的過程中。我們強調在確定合適的智能體設計的過程中任務環境的重要性。
我們的首要目標是要傳達過去50年間的人工智能研究和過去2000年的相關工作中所涌現出來的思想。在表達這些思想的過程中,我們在保持精確的同時盡力避免過分的形式化。在任何適當的地方本書都加入了偽代碼算法以使這些思想更具體。我們所使用的偽代碼在附錄B中有簡要描述。這些算法的幾種程序設計語言的具體實現可以從本書的網站獲得。
斯圖爾特·羅素(Stuart Russell),1962年生于英國樸次茅斯(Portsmouth)。他于1982年以優異成績在牛津大學獲得物理學碩士學位,并于1986年在斯坦福大學獲得計算機科學的博士學位。之后他加入加州大學伯克利分校,任計算機科學系教授、智能系統中心主任,他是Smith-Zadeh工程學講座教授(Smith-Zadeh Chak of Engineering)頭銜的持有者。1990年他獲得國家科學基金的“總統青年研究者”(Presidential Young Investigator)獎,1995年他是“計算機與思維”(Computer and Thought)獎的獲得者之一。他是加州大學1996年的一名Miller教授(Miller Professor),并于2000年被指定為首席講座教授(Chancellor’s Professorship)。1998年他在斯坦福大學做過Forsythe紀念演講(Forsythe Memorial Lecture)。他是美國人工智能學會的成員和前執行委員會委員。他已經發表過100多篇論文,內容涉及人工智能領域的廣泛課題。他的其它著作包括《在類比與歸納中使用知識》(The Use of Knowledge in Analogy and Induction),以及(與Eric Wefald合著的)《做正確的事情:有限理性的研究》(DDt he Right Thing:Studiesin Limited Rationality)。彼得·諾維格(Peter Norvig),Google公司的搜索質量部門主管(director of Search Quality)。他是美國人工智能學會的成員和執行委員會委員。他曾經是NASA Ames研究中心計算科學部的主任,在那里他監督NASA在人工智能和機器人學領域的研究與開發。之前他作為Junglee的首席科學家幫助開發了最早的因特網信息抽取服務之一,并作為一名資深科學家在Sun微系統實驗室從事智能信息檢索的研究工作。他在布朗(Brown)大學獲得應用數學碩士學位,并在加州大學伯克利分校獲得計算機科學的博士學位。他曾任南加州大學的教授,并且是伯克利的研究職員。他有超過50部計算機科學領域的論著,包括著作《人工智能程序設計范例:通用Lisp語言的案例研究》(Paradigms of A IP rogramming:Case Studies in Common Lisp)、《Verbmobil:一個面對面對話的翻譯系統》(Verbmobil:A Translation System for Face to-face Dialog),以及《UNIX的智能幫助系統》(Intelligent Help System for UNIX)。
第一部分 人工智能
第1章 緒論
1.1 什么是人工智能
1.1.1 類人行為:圖靈測試方法
1.1.2 類人思考:認知模型方法
1.1.3 理性地思考:“思維法則”方法
1.1.4 理性地行動:理性智能體方法
1.2 人工智能的基礎
1.2.1 哲學(公元前428年-現在)
1.2.2 數學(約800年-現在)
1.2.3 經濟學(1776年-現在)
1.2.4 神經科學(1861年-現在)
1.2.5 心理學(1879年-現在)
1.2.6 計算機工程(1940年-現在)
1.2.7 控制論(1948年-現在)
1.2.8 語言學(1957年-現在)
1.3 人工智能的歷史
1.3.1 人工智能的孕育期(1943年-1955年)
1.3.2 人工智能的誕生(1956年)
1.3.3 早期的熱情,巨大的期望(1952年-1969年)
1.3.4 現實的困難(1966年-1973年)
1.3.5 基于知識的系統:力量的鑰匙?(1969年-1979年)
1.3.6 AI成為工業(1980年-現在)
1.3.7 神經元網絡的回歸(1986年-現在)
1.3.8 AI成為科學(1987年-現在)
1.3.9 智能化智能體的出現(1995年-現在)
1.4 目前發展水平
1.5 小結
參考文獻與歷史的注釋
習題
第2章 智能化智能體
2.1 智能體和環境
2.2 好的行為表現:理性的概念
2.2.1 性能度量
2.2.2 理性
2.2.3 全知者,學習和自主性
2.3 環境的本質
2.3.1 詳細說明任務環境
2.3.2 任務環境的屬性
2.4 智能體的結構
2.4.1 智能體程序
2.4.2 簡單反射型智能體
2.4.3 基于模型的反射型智能體
2.4.4 基于目標的智能體
2.4.5 基于效用的智能體
2.4.6 學習智能體
2.5 小結
參考文獻與歷史的注釋
習題
第二部分 問題求解
第3章 用搜索法對問題求解
3.1 問題求解智能體
3.1.1 定義明確的問題及解
3.1.2 把問題形式化
3.2 問題實例
3.2.1 玩具問題
3.2.2 現實世界問題
3.3 對解的搜索
3.4 無信息的搜索策略
3.4.1 廣度優先搜索
3.4.2 代價一致搜索
3.4.3 深度優先搜索
3.4.4 深度有限搜索
3.4.5 迭代深入深度優先搜索
3.4.6 雙向搜索
3.4.7 無信息搜索策略的比較
3.5 避免重復狀態
3.6 使用不完全信息的搜索
3.6.1 無傳感問題
3.6.2 偶發性問題
3.7 小結
參考文獻與歷史的注釋
習題
第4章 有信息的搜索和探索
4.1 有信息的(啟發式的)搜索策略
4.1.1 貪婪最佳優先搜索
4.1.2 A*搜索:最小化總的估計解耗散
4.1.3 存儲限制的啟發式搜索
4.1.4 為了更好地搜索而學習
4.2 啟發函數
4.2.1 啟發函數的精確度對性能的影響
4.2.2 設計可采納的啟發函數
4.2.3 從經驗里學習啟發函數
4.3 局部搜索算法和最優化問題
4.3.1 爬山法搜索
4.3.2 模擬退火搜索
4.3.3 局部剪枝搜索
4.3.4 遺傳算法
4.4 連續空間的局部搜索
4.5 聯機搜索智能體和未知環境
4.5.1 聯機搜索問題
4.5.2 聯機搜索智能體
4.5.3 聯機局部搜索
4.5.4 聯機搜索的學習
4.6 小結
參考文獻與歷史的注釋
習題
第5章 約束滿足問題
5.1 約束滿足問題
5.2 CSP問題的回溯搜索
5.2.1 變量和取值順序
5.2.2 通過約束傳播信息
5.3 約束滿足問題的局部搜索
5.4 問題的結構
5.5 小結
參考文獻與歷史的注釋
習題
第6章 對抗搜索
6.1 博弈
6.2 博弈中的優化決策
6.2.1 最優策略
6.2.2 極小極大值算法
6.2.3 多人游戲中的最優決策
6.3 a-B剪枝
6.4 不完整的實時決策
6.4.1 評價函數
6.4.2 截斷搜索
6.5 包含幾率因素的游戲
6.5.1 有幾率節點的游戲中的局面評價
6.5.2 期望極小極大值的復雜度
6.5.3 牌類游戲
6.6 博弈程序的當前發展水平
6.7 討論
6.8 小結
參考文獻與歷史的注釋
習題
第三部分 知識與推理
第7章 邏輯智能體
7.1 基于知識的智能體
7.2 wumpus世界
7.3 邏輯
7.4 命題邏輯:一種非常簡單的邏輯
7.4.1 語法
7.4.2 語義
7.4.3 一個簡單的知識庫
7.4.4 推理
7.4.5 等價、合法性和可滿足性
7.5 命題邏輯的推理模式
7.5.1 歸結
……
第8章 一階邏輯
第9章 一階邏輯中的推理
第10章 知識表示
第四部分 規劃
第11章 規劃
第12章 現實世界的規劃與行動
第五部分 不確定知識與推理
第13章 不確定性
第14章 概率推理
第15章 關于時間的概率推理
第16章 制定簡單決策
第17章 制定復雜決策
第六部分 學習
第18章 從觀察中學習
第19章 學習中的知識
第20章 統計學習方法
第21章 強化學習
第七部分 通訊、感知與行動
第22章 通訊
第23章 概率語言處理
第24章 感知
第25章 機器人學
第八部分 結論
第27章 人工智能:現狀與未來
附錄A 數學背景
附錄B 關于語言和算法的注釋
參考文獻(見人民郵電出版社網站)
在投入細節討論之前,讓我們暫停一下,來看看問題求解智能體在第二章關于智能體和環境的討論中所處的適合位置。在圖3.1中,智能體設計假定環境是靜態的,因為完成問題形式化和求解的時候不再注意可能發生在環境中的任何變化。該智能體設計還假定初始狀態是己知的;如果環境是可觀察的,了解初始狀態是最簡單的。枚舉“可選的行動過程”的思想假定環境是離散的。最后,也是最重要的,該智能體設計假定環境是確定性的。問題的解是行動的單一序列,所以它們不能處理任何意外事件;此外,在執行問題的解的過程中同樣是不注意感知信息的!可以說,一個閉著眼睛執行計劃的智能體必須對正在進行的事情十分有把握。(控制論中稱此為開環系統,因為忽略感知信息打破了智能體和環境之間的環路。)所有這些假設意味著我們處理的是最簡單的一種環境,這也是這一章出現在本書靠前位置的原因之一。
第3.6節將簡要考察一下當我們放松可觀察性和確定性的假設時會發生什么。第十二章和第十七章將更深入地進行討論。
3.1.1定義明確的問題及解一個問題可以形式化地定義為四個組成部分:智能體起始時的初始狀態。例如,在羅馬尼亞問題中我們的智能體的初始狀態可以描述為對智能體可采納的可能行動的描述。最常見的形式化是使用一個后繼函數。給定一個特殊狀態組成的集合,其中每個行動都是狀態下的合法行動之一,每個后繼都是應用行動后從狀態x能達到的狀態。例如,從狀態砌開始,羅馬尼亞問題的后繼函數將返回集合:總之,初始狀態和它的后繼函數隱含地定義了問題的狀態空間——即從初始狀態可以達到的所有狀態的集合。狀態空間形成一個圖,其中節點是狀態,節點之間的弧就是行動。(如果我們把每條道路視為代表著兩個駕駛行動,每個行動各走一個方向,圖3.2所示的羅馬尼亞地圖就可以被解釋為一個狀態空間圖。)狀態空間中的一條路徑就是通過行動序列連接起來的一個狀態序列。