一階謂詞邏輯在人工智能知識表示中的應(yīng)用
本文關(guān)鍵詞:一階謂詞邏輯在人工智能知識表示中的應(yīng)用,由筆耕文化傳播整理發(fā)布。
第 21 卷 9 期 第 Vol . 21 9 No. 【邏輯學(xué)】
重 慶 工 學(xué) 院 學(xué) 報 ( 社會科學(xué)版) Journal of Chongqing Institute of Technology ( Social Science Edition)
2007 年 9 月 Sep . 2007
一階謂詞
邏輯在人工智能知識表示中的應(yīng)用
王湘云
( 南開大學(xué) 哲學(xué)系 ,天津 300071)
摘要 : 用一階謂詞邏輯的形式語言討論了自然語言的形式描述 、 數(shù)學(xué)知識的形式表述 、 在人工智 能中智能行為過程的描述等 �?偨Y(jié)用一階謂詞邏輯的形式語言表示具體知識的步驟 , 以及這種 知識表示法的局限與應(yīng)當(dāng)進(jìn)一步研究的問題 。 關(guān) :人工智能 ; 知識表示 ; 一階謂詞 ; 形式語言 鍵 詞 中圖分類號 :B81 文獻(xiàn)標(biāo)識碼 :A 文章編號 :1671 - 0924 (2007) 09 - 0069 - 03
所謂人工智能 ,即是用人工的方法在機器 ( 計算機 ) 上 實現(xiàn)的智能 ; 或者說 ,是人們使用機器模擬人類的智能 [1 ] 。 人工智能研究與對人的思維的研究密切相關(guān) 。計算機能 否達(dá)到人的智能 、 通過哪種途徑才能最有效地實現(xiàn)人工智 能的問題 ,一直以來都是諸多爭議的熱點 。無論如何 , 知 識是人類智能的基礎(chǔ) ,如何才能運用知識進(jìn)行推理并解決 實際問題 ,是我們研究人工智能的目標(biāo) 。而要獲取和運用 知識 ,首先就應(yīng)該能夠?qū)χR進(jìn)行正確有效地表示 , 因此 , 知識的表示是實現(xiàn)人工智能的首要問題和基本技術(shù) 。 知識表示是知識在計算機中的表示方法和表現(xiàn)形式 。
Ξ 收稿日期 :2007 - 06 - 12 基金項目 : 教育部人文社會科學(xué)研究 2006 年度規(guī)劃項目 (06JA724002) 。 ) 作者簡介 : 王湘云 (1977 — ,女 ,河南省開封人 ,碩士研究生 ,主要從事數(shù)理邏輯研究 。
Abstract : Using formal language of first2order predicate logic , this paper discusses the formal description of natural languages , formal description of mathematic knowledge , and representation of intelligence in artificial intelligence. It also summarizes the procedures of representing concrete knowledge with the formal language of first2order predicates , and the limitations of this knowledge2representing method and some problems for further study. Key words : AI ; knowledge representation ; first2order predicate ; formal language
The Application of First2Order Predicate Logic in the Field of Kno wledge Representation of Artificial Intelligence
(Department of Philosophy , Nankai University , Tianjin 300071 , China)
WANG Xiang2yun
一階謂詞邏輯是應(yīng)用于人工智能中最重要的一種知識表 示方法 �?捎糜诒硎龈鞣N描述性語句 , 并可有效地存儲到 計算機中進(jìn)行處理 。例如在產(chǎn)生式系統(tǒng)中 , 可用來表示綜 合數(shù)據(jù)庫和規(guī)則集的描述 ; 謂詞演算中可用來建立自動定 理證明系統(tǒng) 、 基于規(guī)則的演繹系統(tǒng)等 。筆者在本文中主要 討論一階謂詞邏輯在人工智能知識表示中的一些應(yīng)用 。
Ξ
1 一階謂詞邏輯的形式語言
定義 1 一階謂詞邏輯的形式語言 L 所用的符號包
70
重慶工學(xué)院學(xué)報
的詞 , 叫量詞 。其中 : 稱 ? 為存在量詞 , 它表示 “有的” 或 “存在” 。稱 Π為全稱量詞 , 它表示 等 “所有的” “任一個” 或
2 自然語言的形式描述
令 x 表示 “一門課” y 表示 , “一個學(xué)生” a 表示 , “一班 ( x) 表示 的一門課”class one 表示 , “一班的學(xué)生”令 EASY ; “ x 是容易的” COURSE ONE ( x) 表示 x 是一班的課” , , “
LIKE( y , x) 表示 y 班的學(xué)生喜歡 x ” 。則該推理的前提和 “
括 : ① v , v0 , v1 , v2 , …; ② 「 、 ∨、 ∧、 ?和 ← ; ③ ?和 Π ; → ④對每一個大于等于 1 的自然數(shù) n , Pn , Qn , Rn , …( 可以沒 有) ; ⑤ c , c0 , c1 , c2 , …( 可以沒有) 。 符號 ; 句 ⑤ 中的符號表示無窮多個個體常項 。 一 n 元謂詞符號 , 那么 Rn ( t0 , t1 , …t n - 1 ) 是一個 L - 公式 ; 符號序列才是 L - 公式 [ 2 ] 。 常用 → 表示) , 即 :規(guī)則 , 還可以表示智能行為活動的知識 過程 。用這種方法表達(dá)知識 , 來建構(gòu)智能系統(tǒng)的知識庫 , 使其與被表達(dá)的自然語言在邏輯下保持一致性的過程 。 即是使用適當(dāng)?shù)闹^詞來表達(dá)某一領(lǐng)域知識 , 構(gòu)造 L - 公式 , 是烏鴉 ,那么 x 是黑的” 的這種蘊涵關(guān)系 。則該語句用 L ( CROW ( x) → 公式可表示為 Π x COLOR ( x ,black) ) 。 班的學(xué)生都喜歡 a 這門課 。 結(jié)論可分別用 L - 公式表示如下 : 前提 : Π x Π y ( EASY( x ) LIKE ( y , x) ) 結(jié)論 : 「 Π y (LIKE ( y , a) ) Π x ( COURSE ONE ( x ) LIKE ( class one , x ) ) COURSE ONE ( a) ← ? 、 ∨、 的順序遞增 ; 句 ③ →、 ∧、 「 中的符號是表示數(shù)量
L - 公式可表示多個復(fù)雜領(lǐng)域的知識 , 它既適合于表
3 數(shù)學(xué)知識的形式表述
命題 對任一自然數(shù) ,都有一個比它大的素數(shù) 。 令 x 、 分別表示命題中的個體詞 “自然數(shù)” 素數(shù)” y : 、 “ , N ( x) 表示 x 是自然數(shù)” P ( y) 表示 y 是素數(shù)” R ( x , y) 表 , , “ “ 示 y 大于 x ”定義 Π x 表示 “ ; “任一 x ” ? y 表示 , “有一 y ” ; 用聯(lián)結(jié)符 ∧、 →表示謂詞之間的合取或蘊涵關(guān)系 , 則命題 用 L - 公式表示如下 : Π x ( N ( x ) → ? y ( P ( y ) ∧ R ( x , y) ) ) 。 例 猴子吃香蕉的問題 ( 圖 1) 。設(shè)房內(nèi) a 處有一只猴 子 , 一串香蕉掛在 c 處的天花板上 , 猴子夠不著 , b 處有一 個箱子 , 猴子從 a 處出發(fā)把箱子從 b 處搬到 c 處 , 爬上箱 子 , 摘下香蕉 , 回到 a 處 。用一階謂詞邏輯表示法來描述 猴子的行動過程如下 : 圖1 猴子吃香蕉問題 ) 定義描述環(huán)境狀態(tài)的謂詞 。 1 AT( x , w) : x 在 w 處 , 個體域 : x ∈ {monkey} , w ∈ a , b , {
HOLD ( x , t) : x 手中拿著 t , 個體域 : t ∈ {box ,banana} ; EMPTY( x) : x 手中是空的 ;
c} ;
其中 : 句 ①中的符號表示可數(shù)多個個體變項 ; 句 ②中
的符號表示常用的 5 個邏輯聯(lián)結(jié)詞 「 ( 并非 ) 、 ( 合取 ) 、 ∧ ∨( 析取) 、 ( 蘊涵 ) 和 ← ( 等值 ) , 而聯(lián)結(jié)詞的結(jié)合力依 ? → 等 。句 ④ 中的符號表示無窮多個 n ( n Ε 1) 元謂詞或關(guān)系 個體變項和個體常項統(tǒng)稱為 L - 項 , 并用符號 t 或加下標(biāo) 表示 ; ②如果 t0 , t1 , …t n - 1 都是 L - 項 , 而 Rn 是 L 中的任 ③如果 α是 L - 公式 , 那么 「α也是 ; ④如果 α和 β都是 β (α β (α β L - 公式 , 那么 (α∨ ) 、 ∧ ) 、 → ) 和 (α ← β 也是 ; → ) 示事物的狀態(tài) 、 屬性 、 概念等事實性知識 ( 通常用 「 、 和 ∨ ∧ 連接謂詞表示) , 又可以表示事物間確定的因果關(guān)系 ( 通 示 x 是黑的” 其中 x 是變項 ,black 是常項 。定義 Π x 表 “ , 示 “所有的 x ” 。使用聯(lián)結(jié)詞 → 表示兩個謂詞之間 “如果 x 推理 凡是容易的課 , 每個班的學(xué)生都喜歡 。一班的 課 ,一班的學(xué)生都喜歡 。a 是一班的一門課 。并不是每個 α ⑤如果 α 是 L - 公式 , 而 x 是一個體變項 , 那么 Π x 和 α ? x 都是 L - 公式 ; ⑥只有有限次使用上述各步得到的 L 定義 2 一階謂詞邏輯的形式語言的形成規(guī)則有 : ① 語句 天下烏鴉一般黑 。 令 CROW ( x ) 表示 x 是烏鴉” 。令 COLOR ( x ,black) 表 “
4 智能行為過程的描述
ON ( t , y) : t 在 y 處 , 個體域 : y ∈ b , c , ceiling} ; { CLEAR ( y) : y 上是空的 ;
BOX ( u) : u 是箱子 , 個體域 : u ∈ {box} ; BANANA ( v) : v 是香蕉 , 個體域 : v ∈ {banana} ;
2) 使用謂詞 、 聯(lián)結(jié)詞和量詞來表示環(huán)境狀態(tài) 。
問題的初始狀態(tài)可表示為 : S 0 : AT( monkey , a ) ∧EMPTY ( monkey) ∧ ( box , b) ∧ ON
ON ( banana ,ceiling) ∧ CLEAR ( c ) ∧ BOX ( box) ∧ BANANA ( ba2 ) nana
要達(dá)到的目標(biāo)狀態(tài)為 : S g :AT( monkey , a ) ∧HOLD ( monkey ,banana ) ∧ ( box , ON
c) ∧CLEAR ( ceiling) ∧CLEAR ( b ) ∧BOX ( box) ∧BANANA ( banana)
3) 從初始狀態(tài)到目標(biāo)狀態(tài)的轉(zhuǎn)化 ,猴子需要完成一系
列操作 ,定義操作類謂詞表示其動作 。 WALK( m , n) :猴子從 m 走到 n 處 ; 個體域 : m , n ∈ a {
b , c} ;
CARRY( s , r) :猴子在 r 處拿到 s , 個體域 : r ∈ b ,ceil2 {
王湘云 : 一階謂詞邏輯在人工智能知識表示中的應(yīng)用
ing} , s ∈ {box ,banana} ; CLIMB ( u , c) :猴子在 c 處爬上 u.
71
AT( monkey , c) ∧HOLD ( monkey ,banana) ∧ ( box , c) ∧ ON CLEAR ( b) ∧CLEAR ( ceiling) ∧ BOX ( box) BANANA ( banana )
這 3 個操作也可分別用條件和動作來表示 。條件直接 用謂詞公式表示 , 是為完成相應(yīng)操作所必須具備的條件 ; 當(dāng)條件中的事實使其均為真時 , 則可激活操作規(guī)則 , 于是 可執(zhí)行該規(guī)則中的動作部分 。動作通過前后狀態(tài)的變化 表示 ,即通過從動作前刪除或增加謂詞公式來描述動作后 的狀態(tài) 。 ① WALK( m , n) :猴子從 m 處走到 n 處 條件 :AT( monkey , m ) 動作 : 刪除 :AT( monkey , m ) 增加 :AT( monkey , n) ② CARRY( s , r) :猴子在 r 處拿到 s 條件 :AT( monkey , r) ∧EMPTY ( monkey) ∧ON ( s , r) ∧ BOX ( box) ∧ BANANA ( banana) 動作 : 刪除 : EMPTY( monkey) ∧ ( s , r) ON 增加 : HOLD ( monkey , s) ∧ CLEAR ( r) ③ CLIMB ( u , c) :猴子在 c 處爬上 u 條件 :AT ( monkey , c ) ∧HOLD ( monkey , u) ∧CLEAR ( c ) ∧ BOX ( box) ∧ BANANA ( banana) 動作 : 刪除 : HOLD ( monkey , u) ∧ CLEAR ( c) 增加 : EMPTY( monkey) ∧ ( u , c) ON 4) 按照行動計劃 , 一步步進(jìn)行狀態(tài)替換 , 直至目標(biāo)狀 態(tài)。 AT( monkey , a ) ∧EMPTY ( monkey) ∧ON ( box , b ) ∧ON ( banana ,ceiling) ∧CLEAR ( c ) ∧BOX ( box ) ∧BANANA ( ba2 nana) WALK( a , b) a 代換 m 用 b 代換 n 用
nana) nana) AT( monkey , b ) ∧EMPTY ( monkey) ∧ON ( box , b ) ∧ON ( banana ,ceiling) ∧CLEAR ( c ) ∧BOX ( box ) ∧BANANA ( ba2
( 目標(biāo)得解) 猴子行動的規(guī)則序列是 : WALK( a , b) → CARRY( b ,box) →WALK( b , c ) →CLIMB ( box , c) → CARRY( banana ,ceiling) → WALK( c , a) . 在上述過程中 , 我們應(yīng)該注意 , 當(dāng)猴子執(zhí)行某一個操 作之前 ,需要檢查當(dāng)前狀態(tài)是否可使所要求的條件得到滿 足 ,即證明當(dāng)前狀態(tài)是否蘊涵操作所要求的狀態(tài)的過程 。 在行動過程中 , 檢查條件的滿足性后才進(jìn)行變量的代換 。 代入新條件后的新狀態(tài)如果是目標(biāo)狀態(tài) , 則問題解決 , 否 則看是否滿足下面的操作 ,如果不滿足或即使?jié)M足卻又回 到了原來的狀態(tài) ,那么代入無效 。 通過以上的例子 ,我們可以將一階謂詞邏輯表示具體 知識的步驟總結(jié)如下 : ① 將給定命題中的量詞 、 個體詞和 謂詞分析出來 ,并將謂詞用特定的符號表示 ; ② 運用邏輯 聯(lián)結(jié)符 「 、 ∨、 ∧、 ?和 ← 來表示原命題中所含子命題之 → 間的復(fù)合關(guān)系 ; ③構(gòu)造出該命題所對應(yīng)的形式化的表達(dá)式 公式 。 對于描敘智能行為過程的知識 , 則需要分別定義描述 環(huán)境狀態(tài)的謂詞和表示行為者動作的操作類謂詞 。通過 使用謂詞 、 聯(lián)結(jié)詞和量詞來表示各個環(huán)節(jié)的環(huán)境的狀態(tài) 。 并按照行為活動的計劃 , 使用操作類謂詞 , 一步步進(jìn)行狀 態(tài)替換 ,直至達(dá)到從初始狀態(tài)到目標(biāo)狀態(tài)的轉(zhuǎn)化 。 運用這種方法 ,我們就可以通過對一組命題集或復(fù)雜 的知識進(jìn)行形式化表示而將其輸入到計算機中 ,建立起計 算機系統(tǒng)的知識庫 ,從而進(jìn)行問題求解和機器定理證明 。 我們討論了用一階謂詞進(jìn)行知識表示的有關(guān)問題 ,它的 作用就是用一種特定的模式把知識形式化地表示出來進(jìn)而 有效地 、 合理地轉(zhuǎn)移和存儲到計算機中去 。一階謂詞邏輯知 識表示規(guī)范 ,邏輯性強 ,推理過程嚴(yán)密 ,可方便計算機擴充知 識庫 ,易于實現(xiàn) 。但我們也應(yīng)該看到 ,一階謂詞邏輯是二值 邏輯 ,對不確定性的問題不能直接處理 ,所以表達(dá)的知識不 夠豐富 。并且由于它所表達(dá)的內(nèi)容與推理過程是分開的 ,所 以對復(fù)雜系統(tǒng)的一些求解問題容易陷入冗長的演繹推理中 去 ,使工作效率降低 。鑒于此 ,針對謂詞邏輯 ,尚待更多地有 興趣的人們加強對高階邏輯 、 模糊邏輯 、 模態(tài)邏輯 、 時態(tài)邏 輯、 直覺邏輯等邏輯系統(tǒng)的研究 ,以彌補謂詞邏輯知識表示 上的缺陷 ,尋求效率更高的技術(shù)方法 。
5 結(jié)束語
CARRY( b ,box) b 代換 s 用 box 代換 r 用
AT( monkey , b) ∧HOLD ( monkey ,box) ∧ ( banana ,ceil2 ON ) ∧CLEAR ( b) ∧CLEAR ( c ) ∧ ( box) ∧ ing BOX BANANA ( ba2 nana)
WALK( b , c) b 代換 m 用 c 代換 n 用
AT( monkey , c) ∧HOLD ( monkey ,box) ∧ ( banana ,ceil2 ON ing) ∧CLEAR ( b) ∧CLEAR ( c ) ∧ BOX ( box) ∧ BANANA ( ba2 nana)
CLIMB ( box , c) box 代換 u 用
CARRY( banana ,ceiling) banana 代換 s 用 ceil2 用 ing 代換 r
WALK( c , a) c 代換 m 用 a 代換 n 用
AT( monkey , c) ∧HOLD ( monkey ,banana) ∧ ( box , c) ∧ ON CLEAR ( b ) ∧CLEAR ( ceiling ) ∧BOX ( box ) ∧BANANA ( ba2 nana)
AT( monkey , c ) ∧EMPTY ( monkey) ∧ON ( box , c ) ∧ON (banana , ceiling) ∧CLEAR ( b ) ∧BOX ( box) ∧BANANA ( ba2
參考文獻(xiàn) :
[1 ] 張仰森 . 人工智能原理與應(yīng)用 [M] . 北京 : 高等教育出
版社 ,2004.
[2 ] 李娜 . 數(shù)理邏輯的思想與方法 [M] . 天津 : 南開大學(xué)出
版社 ,2006 :206 - 208.
( 責(zé)任編輯 張佑法)
本文關(guān)鍵詞:一階謂詞邏輯在人工智能知識表示中的應(yīng)用,由筆耕文化傳播整理發(fā)布。
,本文編號:214658
本文鏈接:http://sikaile.net/shekelunwen/ljx/214658.html