1、prolog程式按下面目標的一般形式由事實和規則組成:
p:-p1,p2,..pn.
(,表示合取∧ ;表示析取∨)
其中,p是規則的頭,pk是子目標。當且僅當所有子目標滿足,頭目標p才能滿足。:-可理解為if。這種表達稱為horn子句
如果是;可理解,當這些子目標至少滿足乙個就可以了
2、舉例:
parent(x,y):-father(x,y).
parent(x,y):-mother(x,y).
意味著:如果x是y的父親或母親,則x是y的雙親。
祖先可以定義規則為:
(1)ancestor(x,y):-parent(x,y)
(2)ancestor(x,y):-ancestor(x,z),ancestor(z,y).
3、prolog系統一般由謂詞資料庫(規則和事實)、解釋機(向謂詞資料庫發出查詢,謂詞資料庫負責回答)、使用者
直譯器會嘗試用深度優先和廣度優先搜尋。
4、舉例:
接著祖先的定義補充以下事實
(3)parent(ann,mary).
(4)parent(ann,susan).
(5)parent(mary,bob).
(6)parent(susan,john).
向prolog提問確定ann是否是susan的祖先
:-ancestor(ann,john).
開頭沒有意味著規則無頭,意味著是由prolog證明的條件。
接收提問後,prolog開始搜尋那些規則頭與輸入模式ancestor(ann,john)相匹配的語句,稱模式匹配。步驟如下:
a)與祖先規則(1)相匹配,x為ann,y為john,prolog開始嘗試匹配(1)的體,即parent(x,y)。
parent(ann,john)無匹配。
b)prolog繼續祖先規則(2),x為ann,y設為john,證明(2)的ancestor(ann,z)和ancestor(z,john)這2個子目標為真。
c)prolog嘗試證明ancestor(ann,z),從頂端(也就是(1))開始,與(3)匹配,把z設為mary,嘗試把ancestor(z,john)當做ancestor(mary,john)來匹配,與(1)匹配,但是parent(mary,john)搜尋失敗。
d)prolog重新考慮z為mary,顯示這個選擇沒用,回溯尋找不同的搜尋路徑,搜尋(4),設z為susan,然後(6)parent(susan,john).成立
e)返回查詢為真
prolog的控制結構屬於馬爾可夫演算法型別,模式匹配的搜尋次序由horn子句輸入次序決定。而相反的是基於規則的專家系統按post模式,輸入次序並無影響。
語義網元件
結構化資料處理依賴於對某個知識領域 感興趣的領域 學科 內的概念 術語和關係進行描述的技術。知識表示和推理被用來在ai中以機器可讀的形式表示資訊的,計算機系統可以利用這些資訊完成複雜的任務。分類學和受控詞表是術語的結構化集合,可以將它們作為元資料元素值來使用。比如,乙個事件詞彙可以被用來以機器可讀的...
語義網資料
網上資源 入門材料 中文資料 英文資料 semantic web 工具列表 本體庫 semantic web相關 w3china.org主頁 語義網 描述邏輯 本體 rdf owl 論壇 w3china.org 開放翻譯計畫 spec 語義網論壇,有很多資料 wonderweb 歐洲研究sw的主要力...
語義網面臨的問題
語義網最大的好處就是可以讓計算機具有對網路空間儲存的資料進行智慧型評估的能力。這樣,計算機就可以不僅僅處理資料還可以像人腦一樣理解資訊的含義。資料一直是語義網的核心問題。w3c定義了一些語義網規範如,rdf,rdfsowl等。但目前,網際網路上絕大部分內容並不符合語義網規範。因此,如何高效地從非結構...