天天看點

NO.73——《人工智能·一種現代方法》Agent學習筆記

參考連結: 人工智能Agent

Agent 

首先,何為Agent?通過傳感器感覺環境,并通過執行器對所處環境産生影響。 

Agent的感覺序列:是該Agent存儲的所有輸入曆史的完整資料。 

Agent函數 

Agent函數是抽象的數學描述,Agent程式是具體實作。 

兩者差別: 

每個Agent函數都可以由機器/程式組合呈現。False。受機器的運算能力和存儲能力限制。一個Agent函數可能對應多個Agent程式。True。Agent程式與運作平台關聯。

例題: 

實作給定Agent函數的Agent程式是否可以有多個?True。比如添加一些代理程式,隻輸入不會影響輸出的空值。有些Agent函數不能被任何agent程式構成?True。比如圖靈機。給定一個固定的機器結構,任意agent程式都會精确執行一個agent函數嗎?True。agent的行為被結構和程式固定。給一個能存儲n位的機器,問有多少不同的agent程式在那?有2**n個不同的程式,但是大部分都不會執行。因為每個程式占用n個記憶體明顯機器記憶體不足。設想我們現在保持agent程式固定,但是我們加快機器運作速度為兩倍,會影響agent函數嗎?這取決于程式和環境。 如果環境是動态的,則加快機器速度可能意味着選擇不同(也許更好)的動作。 如果環境是靜态的,并且程式不在意運作時間,agent函數保持不變。

理性Agent 

定義:基于已知資訊追求最大化目标收益。 

一個理性的打牌Agent不可能輸。False。應該是在已知牌面的情況下輸的最少。一個Agent隻能感覺狀态的部分資訊,呢麼不可能是理性的。False。理性不等于全知。

理性與全知的差別: 

一個全知的Agent能明确的知道他的行動帶來的實際後果。全知在現實中不存在。理性是使期望的性能最大化,而完美是使實際最大化,對Agent而言,完美是不太合理的要求。理性并不要求全知。理性的選擇隻依賴于到目前為止的感覺序列。

任務環境(PEAS) 

Performance 性能Environment 環境Actutor 執行器Sensor 感覺器

自動駕駛計程車的PEAS: Performance measure: 遵守交通規則,安全駕駛 Environment:有車的公路 Actuator: 停車、加速、減速、轉彎 Sensors: 攝像頭、紅外、車輪解碼器等 

      任務環境的性質: 

1、fully observable vs. partially observable 

如果Agent傳感器在每個時間點上都可以擷取環境的完整狀态,這個任務環境就是完全可觀察的。否則,是部分可觀察的。 

如果傳感器能夠檢測所有與行動決策有關的資訊,該任務環境就是完全有效可觀察的。 

如果Agent壓根沒有傳感器,環境是無法觀察的。 

2、singel agent vs. multiagent 

區分兩者的關鍵在于Agent B 行為的性能度量最大化是否需要依賴于Agent A的行為。 競争性的多Agent環境: Agent B想要最大化自己的性能度量,就需要最小化Agent A的性能度量。(國際象棋) 合作性的多Agent環境: Agent B想要最大化自己的性能度量,就需要最大化Agent A的性能度量。(車輛駕駛) 部分合作部分競争的多Agent環境 (随機行為是理性的,這樣可以避免預測中的缺陷) 

3、deterministic vs. stotastic 

如果環境的下一狀态完全取決于目前狀态和Agent執行的動作,該環境是确定的;否則是随機的。 

不确定與随機的差別: 環境不确定是指環境不是完全可觀察的或不确定的,行動後果可能有多種,但與機率無關。 環境随機是指後果是不确定的并且可以用機率來量化。 

4、episodic(片段) vs. sequential(延續) 

在sequential中,目前動作會對未來産生深遠影響,比如國際象棋和自動駕駛。episodic要比sequential簡單的多,因為它不需要提前考慮什麼東西。 

5、static vs. dynamic 

如果環境在Agent計算的時候會變化,該環境是動态的,否則是靜态的。 

如果環境本身不随時間變化而變化,但Agent的性能評價随時間變化,則環境是半動态的。 

6、discreate vs. continuous 

國際象棋是離散的,因為它有有限個離散的狀态。自動駕駛室連續的,它包括不間斷的攝像頭和語音輸入。 

7、known vs. unknown 

如果環境是未知的,Agent需要學習環境是如何工作的,以便做出好的決策。 

最難處理的情況 

部分可觀察的、多Agent的、随機的、延續的、動态的、連續的和未知的環境。

例題: 

體操藝術表演:Partially observable, stochastic, sequential, dynamic, continuous, multi-agent. 

探索太平洋海底:Partially observable, stochastic, sequential, dynamic, continuous, single agent (unless  

 there are alien life forms that are usefully modeled as agents). 

玩橄榄球:Partially observable, stochastic, sequential, dynamic, continuous, multi-agent. 

購買用于AI的書籍:Partially observable, deterministic, sequential, static, discrete, single agent. This can be  

 multi-agent and dynamic if we buy books via auction, or dynamic if we purchase on a 

 long enough scale that book offers change.

A simple Reflex agnet: 

它的行為隻取決于目前狀态和感覺。 

基于目前的感覺選擇行動,不關注感覺曆史。 針對完全可觀察的環境。無法處理動态的、随機的、延續的、部分可觀察的任務環境

方法 Step 1:首先建構一個通用的條件-行為規則解釋器。 Step 2:根據特定任務環境建立相應的規則集合。 

簡單反射Agent中的問題 

規則建構與存儲困難 規則沖突 不能存儲曆史資訊(無限循環) 不能處理世界的随機性、變化性 缺點 :在部分可觀察環境中運轉的簡單反射Agent經常不可避免地陷入無限循環中。 解決辦法:行動随機化 

Model-based reflex agents: 

它的行為由内部模型狀态決定。 

Agent應該根據感覺曆史維持内部狀态,進而至少反映出目前狀态看不到的資訊。部分可觀察、動态的、片段式的。 

随時更新内部狀态資訊要求在Agent程式中加入兩種類型的知識: 知識一:世界是如何獨立于Agent而發展的資訊 知識二:Agent自身的行動如何影響世界 

缺點 :部分可觀察環境中的Agent不能精準确定目前狀态 

Goal-based Agent: 

根據目标最大化做出相應行動。 

既跟蹤記錄世界的狀态,也記錄它要達到的目标集合,并選擇能(最終)導緻目标達成的行動 

特點 : 

主要用在搜尋和規劃問題中:Agent 需要一個目标來了解期望達到什麼狀況 随着達到目标所需要的動作數目的增多,問題越來越難求解 

雖然顯得效率較低,但更靈活。因為支援它決策的知識被顯示表現出來,且可以修改。 

部分可觀察、動态的、連續式的 

不适用的情況: 多個目标互相沖突 有幾個目标,但沒有一個有把握達到 這兩種情況,通過效用Agent可以解決 

Utility-based agents: 

基于預期實用性最大化。 

 理性的基于效用的Agent:選擇期望效用最大化的行動,Agent在給定每個結果的機率和效用下,期望得到的平均效用。  Agent的效用函數是性能度量的内在化。實際實作時因為計算複雜性而不可能完美達成。  方法 Step 1:使用關于世界的模型,以及對各個世界狀态的偏好程度進行度量的效用函數。 Step 2:選擇可以取得最佳期望效用的行動。 Step 3:通過結果的機率來确定權值,最佳期望效用是通過計算所有可能結果狀态的權重平均值得到的。 适用情況 1、當多個目标互相沖突時,隻有其中一些目标可以達到時,效用函數可以在它們之間适當的折中。 2、當Agent有幾個目标,但沒有一個有把握達到時,效用函數可以在它們之間适當的折中。