在人工智慧中的知識基礎代理:
基於知識的代理必須能夠執行以下操作:
基於知識的代理的體系結構:
上圖表示基於知識的代理的通用體系結構。基於知識的代理(KBA)通過感知環境從環境中獲取輸入。輸入由代理的推理引擎獲取,並且還與KB通訊以根據KB中的知識儲存來決定。KBA的學習元素通過學習新知識定期更新KB。
知識庫:知識庫是基於知識的代理的核心元件,也稱為KB。它是一個句子集合(這裡的「句子」是一個技術術語,它與英語中的句子不同)。這些句子用一種稱為知識表示語言的語言表達。KBA的知識庫儲存了關於世界的事實。
需要知識庫來更新代理人的知識,以便通過經驗學習並根據知識採取行動。
推理意味著從舊的推匯出新的句子。推理系統允許我們向知識庫新增新句子。句子是關於世界的命題。推理系統將邏輯規則應用於KB以推斷新資訊。
推理系統生成新事實,以便代理可以更新KB。推理系統主要在兩個規則中起作用,給出如下:
以下是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,它最初具有一些現實世界的背景知識。它還有一個計數器來指示整個過程的時間,並且該計數器初始化為零。
每次呼叫該函式時,它都會執行以下三個操作:
MAKE-PERCEPT-SENTENCE
生成一個句子作為代理在給定時間感知給定感知的設定。MAKE-ACTION-QUERY
生成一個句子,詢問當前應該採取哪種行動。MAKE-ACTION-SENTENCE
生成一個句子,斷言所選行動已被執行。
可以在不同級別檢視基於知識的代理,如下所示:
知識級別是基於知識的代理的第一級,在此級別中,需要指定代理知道的內容以及代理目標是什麼。有了這些規範,就可以修復它的行為。例如,假設一個自動出租車代理需要從A站到B站,他知道從A到B的路,所以這就是知識層面。
在這個層面,理解知識的知識表示是如何儲存的。在這個級別,句子被編碼成不同的邏輯。在邏輯層面,將知識編碼成邏輯句子。在邏輯層面,可以期望自動出租車代理到達目的地B。
這是邏輯和知識的物理表示。在實現級別代理程式根據邏輯和知識級別執行操作。在這個級別,自動出租車代理實際上實現了他的知識和邏輯,以便他可以到達目的地。
構建基於知識的代理主要有兩種方法:
宣告性方法:可以通過使用空知識庫初始化並告訴代理想要開始的所有句子來建立基於知識的代理。這種方法稱為宣告式方法。
程式方法:在程式方法中,直接將所需行為編碼為程式程式碼。只需要編寫一個已編碼所需行為或代理的程式。
然而,在現實世界中,可以通過結合宣告性和程式性方法來構建成功的代理,並且通常可以將宣告性知識編譯成更有效的過程程式碼。