時間:2022-12-02 14:30:02 | 來源:信息時代
時間:2022-12-02 14:30:02 來源:信息時代
演繹規(guī)則 : 一種能夠用于演繹推理與查詢的規(guī)則,又稱邏輯規(guī)則或簡稱規(guī)則。在演繹數(shù)據(jù)庫中,規(guī)則采用如下類似于Prolog的記法: H:-B1,B2,…,Bn,其中,H為規(guī)則的頭部,B1,B2,…,Bn為規(guī)則體,而Bi(1≤i≤n)為規(guī)則的子目標(biāo)。規(guī)則頭部是一個原子公式,而原子公式是一個帶變元列表的謂詞符號,如p(X1,X2,…,Xn)。每個子目標(biāo)Bi或者是一個原子公式,或者是一個負(fù)的原子公式(帶否定詞的原子公式)。
1.使用算術(shù)比較運(yùn)算符構(gòu)造原子公式
在規(guī)則體中,可使用算術(shù)比較運(yùn)算符(如>、=等)來構(gòu)造原子公式。算術(shù)比較運(yùn)算符稱作內(nèi)部謂詞,其他謂詞稱作一般謂詞。規(guī)則體中的變量是存在量化的,其作用域?yàn)橐?guī)則體; 而其他變量是全稱量化的,其作用域?yàn)檎麄€規(guī)則。如可用如下規(guī)則定義兄妹關(guān)系:
r:sibling(X,Y):-parent(X,Z),parent(Y,Z),X≠Y.
該規(guī)則表明: 對于所有的X和Y,如果存在Z使得Z是X的父母,Z是Y的父母,并且X不等于Y,則X和Y是兄妹。
在演繹規(guī)則中,還允許使用函數(shù)詞作為謂詞的變元。一般地,謂詞的變元可以是變量、常量或函數(shù)構(gòu)成的項(xiàng)。項(xiàng)可以遞歸地定義為: ①變量是項(xiàng);②常量是項(xiàng); ③如果f是函數(shù)符號,T1,T2,…,Tk是項(xiàng),則f(T1,T2,…,Tk)是項(xiàng)。
2. 使用函數(shù)作謂詞變元
使用函數(shù)作謂詞變元可以提高演繹規(guī)則的表達(dá)能力,能表示具有結(jié)構(gòu)的嵌套關(guān)系。如在EDB中可按以下模式存放雇員關(guān)系EMPS:
emps(Name,address(Province,city(C,Z),street(S N))
其中,emps是一個謂詞符號,代表一個二元關(guān)系EMPS。謂詞emps的第一個變元Name是變量,表示雇員的姓名。謂詞emps的第二個變元是一個三元函數(shù)address,提供雇員的地址。該函數(shù)有三個變元Province、city和street,分別提供雇員所在的省、城市和街道。其中Province是變量,而city和street是函數(shù)。函數(shù)city的兩個變元C和Z都是變量,分別表示城市名和郵政編碼。函數(shù)street的兩個變元S和N也都是變量,分別表示街道和門牌號。事實(shí)上,這個模式定義了一個嵌套關(guān)系。
使用函數(shù)作謂詞變元還可以提高演繹規(guī)則的推理能力,推導(dǎo)出無限個可能的值。如設(shè)succ是定義在整數(shù)(非負(fù))上的后繼函數(shù),succ(X)的值是整數(shù)X+1。謂詞int(X)為真,當(dāng)且僅當(dāng)X是整數(shù)。謂詞sum(X,Y,Z)為真,當(dāng)且僅當(dāng)Z等于X與Y的和。謂詞int由如下規(guī)則定義:
r1:int(0).(規(guī)則r1指出: 0是非負(fù)整數(shù))
r2:int(succ(X)):-int(X).(r2表示:如果X是整數(shù),則它的后繼也是整數(shù))
r3:sum(X,0,X):-int(X).(r3表示: 如果X是整數(shù),則X與0的和是X)
r4:sum(X,succ(Y),succ(Z)):-sum(X,Y,Z).(r4表示: 如果X與Y的和是Z,則X與Y的后繼的和是Z的后繼)。
前兩個規(guī)則可以推導(dǎo)出非負(fù)整數(shù)的無限集合,而后兩個規(guī)則定義了一個無限事實(shí)集。
客戶&案例
關(guān)于我們
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。