1. 程式人生 > >人工智慧導論期末複習

人工智慧導論期末複習

一.Agent

1. 如果一位人類詢問者在提出一些書面問題以後不能區分書面回答是來自人還是計算機,那麼這臺計算機通過圖靈測試。

2.AI可以像人一樣思考和行動,即合理的思考和行動。

3.理性意味著最大化預計的效用

理性智慧體的概念——追求儘可能好的表現,agent的特徵是感知和決策。

agent = 體系結構 + 程式

理性agent的定義:

對於每一個可能的感知序列,根據已知的感知序列提供的證據和Age t具有的先驗知識,理性agent應該選擇能使其效能度量最大化的行動。理性不等於完美,理性是使期望的效能最大化,而完美是使實際的效能最大化。

agent的本質是根據感知作出決策

4.環境的型別

全部可觀測/部分可觀測

單智慧體/多智慧體

確定的/隨機的

片段式的/延續式的

離散的/連續的

5.agent的型別

反射智慧體

基於目標的智慧體

基於效用的智慧體

 

二.搜尋問題

1.初始狀態、行動和轉移模型定義了問題的狀態空間。問題由狀態空間、路徑耗散和目標測試定義。

2.對於搜尋樹的每個結點,定義的資料結構包含四個元素:

state:對應狀態空間的狀態

parent:搜尋樹中產生該結點的結點

action:父節點生成該結點所採取的行動

Path-Cost:代價,初始結點到該結點的路徑消耗

3.深度優先搜尋:棧 ,總是擴充套件樹的當前邊緣結點集中最深的結點。深度優先搜尋不是最優的,它的優勢在於空間複雜度

寬度優先搜尋:佇列,時間和空間都是指數級開銷。先擴充套件根結點,接著擴充套件根結點的所有後繼,然後再擴充套件它們的後繼,以此類推。

一致代價搜尋:當每一步的行動代價都相等時寬度優先搜尋是最優的,因為它總是擴充套件深度最淺的未擴充套件結點。更進一步,我們可以找到一個對任何單步代價函式都是最優的演算法。不再擴充套件深度最淺的結點,一致代價搜尋擴充套件的是路徑消耗g(n)最小的結點n。這可以通過將邊緣結點集組織成按g值排序的佇列來實現。除了按路徑代價對佇列進行排序外,一致代價搜尋和寬度優先搜尋有兩個顯著的不同。第一點是目標檢測應用於結點被選擇擴充套件時,而不是在結點生成的時候進行,理由是第一個生成的目標結點可能在次優路徑上。第二個不同是如果邊緣中的結點有更好的路徑到達該結點那麼會引入一個測試。

4.(有資訊)啟發式搜尋策略

(1)貪婪最佳優先搜尋試圖擴充套件離目標最近的結點,理由是這樣可能可以很快找到解。啟發式函式的質量很重要。

與深度優先搜尋類似,即使是有限狀態空間,它也是不完備的。達不到最優解,死迴圈

(2)A*搜尋:縮小總評估代價

該方法對結點的評估結合了g(n),即到達此結點已經花費的代價,和h(n),從該結點到目標結點所花代價。

h(n)是從結點n到目標結點的最小代價路徑的估計值。如果我們想要找到最小代價的解,首先擴充套件g(n)+h(n)值最小的結點是合理的。假設啟發式函式h(n)滿足特定的條件,A*搜尋既是完備的,也是最優的。演算法與一致代價搜尋類似,除了A*使用g+h而不是g

目標結點出隊時截止

保證最優性的條件:可採納性和一致性。

可採納啟發式指不會過高的估計到達目標的代價,f(n)永遠不會超過經過結點n的解的實際代價。

一致性:如果對於每個結點n和通過任一行動a生成的n的每個後繼結點n',從結點n到達目標的估計代價不大於從n到n'的單步代價與從n‘到達目標的估計代價之和。

 

三.約束滿足問題

1.使用要素表示來描述狀態:即一組變數,每個變數有自己的值。當每個變數都有自己的賦值同時滿足所有關於變數的約束時,問題就得到了解決。CSP搜尋演算法利用了狀態結構的優勢,使用的是通用策略而不是問題專用啟發式來求解複雜問題。主要思想是通過識別違反約束的變數/值的組合迅速消除大規模搜尋空間。

2.CSP的回溯搜尋

CSP有一個至關重要的性質:可交換性

如果行動的先後順序對結果沒有影響,那麼問題就是可交換的。

一次一個變數,檢查約束

 

改進:最少剩餘值啟發式,選擇合法取值最少的變數。也稱為最受約束變數或失敗優先啟發式

剩餘值最少意味著約束最多

度啟發式,初始值選擇度最多的

最少約束值啟發式:優先選擇的值是給鄰居變數留下更多的選擇

 

3.(1)選擇一個環割集

 (2)例項化所有可能的環割集

(3)從CSP剩餘變數的值域中刪除與S的賦值不相容的值,求解剩餘的CSP

 

四. 概率模型

1. 條件獨立

2.貝葉斯網路的精確推理方法:列舉法、變數消元法

近似推理方法:先驗取樣、拒絕取樣、似然權重、吉布斯取樣

 

五.強化學習

Q函式是行動-價值函式

學習行為以最大化期望獎勵

在每個離散的狀態,發現最優策略,以使期望的折扣獎勵和最大

 

value funcition

Q-Learning方法 學習動作值函式