人工智慧知識基礎代理


在人工智慧中的知識基礎代理:

  • 智慧代理需要有關現實世界的知識,才能做出有效行動的決策和推理。
  • 基於知識的代理人是那些能夠維持內部知識狀態,理解知識,在觀察後更新知識並採取行動的代理。這些代理可以用一些正式的代表來代表世界,並且能夠智慧地行動。
  • 基於知識的代理由兩個主要部分組成:
    • 知識庫和
    • 推理系統。

基於知識的代理必須能夠執行以下操作:

  • 代理應該能夠代表狀態,行動等。
  • 代理應該能夠納入新的感知
  • 代理可以更新世界的內部表示
  • 代理可以推斷出世界的內部表徵
  • 代理可以推斷出適當的操作。

基於知識的代理的體系結構:

體系結構

上圖表示基於知識的代理的通用體系結構。基於知識的代理(KBA)通過感知環境從環境中獲取輸入。輸入由代理的推理引擎獲取,並且還與KB通訊以根據KB中的知識儲存來決定。KBA的學習元素通過學習新知識定期更新KB。

知識庫:知識庫是基於知識的代理的核心元件,也稱為KB。它是一個句子集合(這裡的「句子」是一個技術術語,它與英語中的句子不同)。這些句子用一種稱為知識表示語言的語言表達。KBA的知識庫儲存了關於世界的事實。

為什麼要使用知識庫?

需要知識庫來更新代理人的知識,以便通過經驗學習並根據知識採取行動。

推理系統

推理意味著從舊的推匯出新的句子。推理系統允許我們向知識庫新增新句子。句子是關於世界的命題。推理系統將邏輯規則應用於KB以推斷新資訊。

推理系統生成新事實,以便代理可以更新KB。推理系統主要在兩個規則中起作用,給出如下:

  • 正向鏈
  • 反向鏈

由KBA執行的操作

以下是KBA為了顯示智慧行為而執行的三項操作:

  • 告訴:此操作告訴知識庫它從環境中感知到了什麼。
  • 詢問:此操作會詢問知識庫應執行的操作。
  • 執行:執行選定的操作。

基於知識的通用代理:

以下是基於知識的通用代理程式的結構大綱:

function KB-AGENT(percept):  
persistent: KB, a knowledge base   
          t, a counter, initially 0, indicating time   
TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t))   
Action = ASK(KB, MAKE-ACTION-QUERY(t))   
TELL(KB, MAKE-ACTION-SENTENCE(action, t))  
 t = t + 1  
 return action

基於知識的代理將感知作為輸入,並將操作作為輸出返回。代理維護知識庫KB,它最初具有一些現實世界的背景知識。它還有一個計數器來指示整個過程的時間,並且該計數器初始化為零。

每次呼叫該函式時,它都會執行以下三個操作:

  • 首先它告訴KB它所感知的內容。
  • 其次,它詢問KB應該採取什麼行動
  • 第三個代理程式告訴選擇了哪個動作的KB。

MAKE-PERCEPT-SENTENCE生成一個句子作為代理在給定時間感知給定感知的設定。
MAKE-ACTION-QUERY生成一個句子,詢問當前應該採取哪種行動。
MAKE-ACTION-SENTENCE生成一個句子,斷言所選行動已被執行。

各級知識型代理商:

可以在不同級別檢視基於知識的代理,如下所示:

1. 知識水平

知識級別是基於知識的代理的第一級,在此級別中,需要指定代理知道的內容以及代理目標是什麼。有了這些規範,就可以修復它的行為。例如,假設一個自動出租車代理需要從A站到B站,他知道從A到B的路,所以這就是知識層面。

2. 邏輯級別

在這個層面,理解知識的知識表示是如何儲存的。在這個級別,句子被編碼成不同的邏輯。在邏輯層面,將知識編碼成邏輯句子。在邏輯層面,可以期望自動出租車代理到達目的地B。

3. 實施水平

這是邏輯和知識的物理表示。在實現級別代理程式根據邏輯和知識級別執行操作。在這個級別,自動出租車代理實際上實現了他的知識和邏輯,以便他可以到達目的地。

設計基於知識的代理的方法

構建基於知識的代理主要有兩種方法:

  • 宣告性方法:可以通過使用空知識庫初始化並告訴代理想要開始的所有句子來建立基於知識的代理。這種方法稱為宣告式方法。

  • 程式方法:在程式方法中,直接將所需行為編碼為程式程式碼。只需要編寫一個已編碼所需行為或代理的程式。

然而,在現實世界中,可以通過結合宣告性和程式性方法來構建成功的代理,並且通常可以將宣告性知識編譯成更有效的過程程式碼。