1. 程式人生 > >《人工智能教程(張仰森)》(二)

《人工智能教程(張仰森)》(二)

數學 高效 希望 無限 是否 除法 正向 了解 特點

三、確定性推理方法

依照推理過程所用知識的確定性,推理可分為確定性推理和不確定性推理。自然演繹推理和歸結推理是經典的確定性推理。

1. 推理概述

首先談了推理的基本概念。還是涉及到推理機、綜合數據庫和知識庫的流程。

然後是推理的方法及其分類

1)依照推理的邏輯基礎分為演繹推理(由一般到個別,最經常使用的是三段論)、歸納推理(由個別到一般,最經常使用的是數學歸納法)和默認推理(在知識不完備的情況下如果某些條件已經具備)。演繹推理不能增殖新的知識,而歸納推理即歸結推理能產生新的知識。

現實中往往是兩者並用。

2)依照所用知識的確定性分為確定性推理和不確定性推理。

3)依照推理過程的單調性分為單調推理(所得結論會越來越接近於終於目標)和不單調推理(會出現結論否定和退回,在知識不全然時發生,現實中常見)。

接下來說了推理的控制策略。依照推理方向。推理方式可分為

1)正向推理。

2)反向推理。初始目標的選取一般有兩種方法:由用戶指定目標和智能系統自助選擇。

在診斷性專家系統中較為有效。

3)混合推理。

把正向推理和反向推理結合起來使用,又可分為先正向後反向的混合推理和先反向後正向的混合推理。

它適用的場合是:已知事實不夠充分。由正向推理推出的結論可信度不高。希望得出很多其它的結論。

4)雙向推理。指正向推理和反向推理同一時候進行,在中間的某一步驟匯合而結束。整個推理過程中,兩種推理算法根據一定的控制策略交替運行。

最後談了推理的沖突消解策略。基本思想是對匹配的知識或規則進行排序,以決定匹配規則的優先級別。經常使用的排序方法有:

1)按就近原則排序。把知識近期使用過的排在前面。

2)按知識特殊性排序。

具有特殊性的知識(通常是前提條件很多其它)排在前面。

3)按上下文限制排序。依據與上下文的匹配情況。

4)按知識的新奇性排序。賦予新奇知識更高的優先級。

5)按知識的差異性排序。

為與上一次使用過的知識區別大的知識賦予更高的優先級。

6)按領域問題的特點排序。

7)按規則的次序排序。依據知識庫中已有規則排列順序。

8)按前提條件的規模排序。

前提條件少的知識具有更高優先級。

2. 命題邏輯

謂詞邏輯是在命題邏輯的基礎上發展起來的,命題邏輯可看做是謂詞邏輯的一種特殊形式。

首先談了命題。給出了兩個定義:一是可以分辨真假的語句稱為命題。二是原子命題是命題中最主要的單位。普通情況僅僅有陳述句才幹是命題。但並非全部的陳述句都是命題。通經常使用大寫字母表示命題,又可分為命題常量和命題變量。

最後談了命題公式。給出了幾個連接詞,當中<—>表示“雙條件”,P<—>Q表示“P當且僅當Q”。接著又給出了命題公式的定義,連接詞的優先級別次序依次是:非、合取、析取、蘊含、雙條件。

命題邏輯無法把所描寫敘述的客觀事物的結構及邏輯特征反映出來。也不能把不同事物的共同特征表示出來。

3. 謂詞邏輯

首先談了謂詞與個體。在謂詞邏輯中,將原子命題分解為謂詞和個體兩部分。一個謂詞以一個個體相關聯稱為一元謂詞,刻畫了個體的性質;一個謂詞與多個個體相關聯,稱為多元謂詞,刻畫了個體間的關系。謂詞的一般形式是:P(x1, x2, ..., xn),當中P是謂詞一般大寫,xi是個體一般小寫。

個體能夠是常量、變量或函數,但統稱為項。

謂詞中包括的個體數目稱為謂詞的元數。另一階謂詞和二階謂詞的概念。個體變元的取值範圍稱為個體域,能夠是有限的也能夠是無限的。

然後談了謂詞公式。分別給出了連接詞、量詞、原子、合式公式、量詞轄域(位於量詞後面的單個謂詞或用括號括起來的合式公式)、約束變元(在轄域內與量詞中同名的變元)、自由變元(不受約束的變元)。

還談了謂詞公式的永真性和可滿足性

先給出了解釋的定義,指出普通情況下謂詞公式的真值都是針對某一解釋而言的。接著給出了永真性和永假性(不可滿足性或不相容性)的定義。對於謂詞公式P,假設至少存在一個解釋使得公式P在此解釋下的真值為T。則稱公式P是可滿足的。

接著談了謂詞公式的等價性與永真蘊含

給出了謂詞等價的概念P<=>Q,另一些經常使用的等價式:交換律、結合律、分配律、狄摩根定律、否定之否定定律、吸收率、補余律、逆否定率、連接詞化定律、量詞轉換率、量詞分配律。

給出了永真蘊含P—>Q。另一些經常使用的永真蘊含式:化簡式、附加式、析取三段論、假言推理、拒取式、假言三段論、二難推論、全稱固化、存在固化。

除此之外的一些推理規則有:P規則、T規則、CP規則、反證法。

最後談了置換與合一。在進行知識模式的匹配時,依據兩模式的相似程度分為確定性匹配和不確定性匹配。基於謂詞邏輯的歸結推理方法是一種確定性的推理方法。也是一種確定性的匹配。先給出了置換的定義:形如{t1/x1。t2/x2,...。tn/xn}的一個有限集,空置換以ε表示。置換乘法是將兩個置換合稱為一個置換。

置換具有結合律,除空置換外,置換不具有交換律。最後談了合一置換和最一般合一置換(mgu,不唯一)。通過不一致集(兩個謂詞公式的項從左到右進行比較,那麽不同樣的項所狗成的集合)的概念引出了求最一般合一置換的算法。

這一級的內容和離散數學中的內容有非常大的聯系。

4. 自然演繹推理方法

首先給出了自然演繹推理的概念。它是從一組已知為真的事實出發,直接運用命題邏輯或謂詞邏輯中的推理規則推出結論的過程。

然後談了利用演繹推理解決這個問題

一定要避免的兩種錯誤:一是肯定後件的錯誤,二是否定前件的錯誤。

最後談到了演繹推理的特點。演繹推理所推導出的結論總是蘊含在一般性知識的前提中。它不能增殖新的知識。

長處是符合人的思維習慣。缺點是easy產生知識或規則的組合爆炸。即推理過程中得到的中間結果數量可能會按指數增長。

5. 歸結推理

首先談了謂詞公式與子句集。先提出了範式的概念。談到了兩種範式:一是前束型範式(所有量詞均非否定地出如今公式的最前面。其轄域一直延伸到公式之末,且不出現連接詞—>和<—>),二是Skolem範式(從前束型範式中消去所有存在量詞所得到的公式)。給出了將謂詞公式化為Skolem標準型的步驟 。

1)消去蘊含和雙條件符號。

2)降低否定符號的轄域。使其最多僅僅作用到一個謂詞上。

3)又一次命名。使全部變元名字均不同。

4)消去存在量詞。

分兩種情況。

5)把全稱量詞所有移到公式的左邊。

6)將母式化為合取範式。

還談了子句和子句集,以及謂詞公式G與其子句集S在不可滿足的意義上是一致的。因此為了證明一個謂詞公式G是不可滿足的,僅僅要證明其對應的子句集S是不可滿足的就能夠了,也就是接下來要做的工作了。

接下來就談到了Herbrand理論。構造了一個特殊域(稱為Herbrand域或H域)。僅僅要對H域上的全部解釋進行判定,就可得知謂詞公式是否是不可滿足的。

還談了原子集和H域上的解釋(涉及到的定理較多,不再贅述)。Herbrand定理知識從理論上給出證明子句集不可滿足的可行性及方法,但在計算機上實現其證明過程卻是十分困難的。隨後Robinson提出了歸結原理,是對自己主動推理的重大突破,使機器定理證明變成現實。

於是就談到了歸結原理。又稱消解原理,證明子句集不可滿足性。

基本思想是:檢查子句集S中是否有空子句。若有。則表明S是不可滿足的;若沒有。就在子句集中選擇合適的子句對其進行歸結推理。假設能推出空子句。就說明子句集是不可滿足的。

隨後分別談了命題邏輯中的歸結原理、一階謂詞邏輯中的歸結原理以及歸結原理的完備性。

之後談了用歸結原理進行定律證明

1)首先要否定結論,將否定後的結論與前提公式集組成謂詞公式G。

2)求謂詞公式G的子句集。

3)應用歸結原理證明子句集S的不可滿足性,從而證明謂詞公式G的不可滿足性。

這就說明對結論的否定是錯誤的,判斷出定理的成立。

最後說了應用歸結原理進行問題求解

6. 歸結過程的控制策略

首先談了引入控制策略。因為採用盲目的歸結策略,產生了大量沒用的歸結式,造成了極大的浪費,所以要引入控制策略。歸結策略可分為兩類:一是刪除策略(刪除某些沒用的子句來縮小歸結的範圍),二是限制策略(通過對參加歸結的子句進行種種限制,盡可能降低歸結的盲目性)。

然後就是歸結控制策略及其應用舉例。先是刪除策略,包含:

1)純文字刪除法。假設文字L出如今S中,而~L不出如今S中,便說L為S的純文字。應刪除。

2)重言式刪除法。

假設一個子句中同一時候包括互補文字時,稱該子句為重言式。取值永真,應刪除。

3)包孕刪除法。設有子句C1和C2。假設存在一個替換σ。使得C1σ∈C2,則稱C1包孕於C2。可從子句集中刪去那些被包孕的字句。

歸結策略包含:

1)線性歸結策略。從子句集中選取一個頂子句C0開始作歸結,每次歸結操作都用到上次歸結結論的子句。

2)單文字(單元)歸結策略。

假設一個子句僅僅包括一個文字。則稱該子句為單文字子句。在歸結過程中每次歸結都有一個子句是單文字子句,則稱這樣的歸結就是單文字歸結。即要求參加歸結的兩個子句中至少有一個是單文字子句。但這樣的歸結策略是不完備的。

3)輸入歸結策略。要求參加歸結的兩個子句中,必須至少有一個子句是初始子句集中的子句。這樣的歸結策略也是不完備的,可是具有簡單高效的長處。

4)支持集策略。要求每一次歸結時。參加歸結的兩個子句中至少有一個是由目標公式的否定所得到的子句,或者是它們的後裔。

四、不確定性推理方法

1. 不確定推理概述

首先談了不確定性推理的概念。一個人工智能系統由總數據庫、知識庫和推理機構成。

當中知識庫是核心。

然後談了不確定推理方法的分類

1)模型方法。分為數值方法(分為基於概率的方法和模糊推理方法)和非數值方法(包含邏輯法等)兩類。

2)控制方法。控制策略的選擇和研究是關鍵。如啟示式搜索、相關性制導回溯等。

最後談了不確定推理中的基本問題

1)不確定性的表示。分為證據不確定性和知識不確定性。

2)推理計算。須要解決不確定性傳遞問題、證據不確定性的合成問題、結論不確定性的合成問題。

3)不確定性的量度。

2. 可信度方法

它是不確定性推理方法中應用最早且簡單有效的方法之中的一個。

首先談了可信度的概念。可信度也能夠稱為確定性因子。

然後談了知識不確定性的表示

知識是以產生式規則的形式表示的。知識的不確定性則是以可信度CF(H,E) 表示的,一般形式是 IF E THEN H (CF(H,E))。CF(H,E)稱為可信度因子或規則強度。在專家系統中,CF(H,E) = MB(H,E) - MD(H,E),當中 MB(Measure Belief) 為信任增長度。表示因與前提條件E匹配的證據出現,使結論H為真的信任增長度。

MD(Measure Disbelief) 為不信任增長度,表示因與前提條件E匹配的證據出現。對結論H為真的不信任增長度。MB(H,E) 與MD(H,E) 是相互排斥的,值域都為[0,1]。當MB(H,E) >0 時,MD(H,E) = 0。當MD(H,E) > 0 時,MB(H,E) = 0。

所以CF(H,E)的取值範圍是 [-1,1]。

接著就談了證據不確定性的表示

1)單個證據的不確定性獲取方法。初始證據可信度由用戶指定,推出結論可信度由不確定性傳遞算法計算得到。

2)組合證據的不確定性的獲取方法。當證據是多個單一證據的合取時。取全部單一置信度裏的最小值。當時析取時,取最大值。

還有不確定性的推理計算

1)僅僅有單條知識支持結論時。結論可信度的計算方法。計算公式為CF(H) = CF(H,E) × max{ 0, CF(E) }。沒有考慮證據為假時對結論H所產生的影響。

2)多條知識支持同一結論時。結論不確定性的合成計算方法。

先計算每條知識的結論可信度,然後依據公式計算綜合可信度。

3)在已知結論原始可信度的情況下。結論可信度的更新計算方法。即已知CF(H,E)和CF(H),求CF(H/E),依據CF(E)的區間有不同的公式。

最後說了可信度方法應用舉例。 介紹了前面的兩種方法:合成法和更新法。

3. 主觀Bayes方法

又稱主觀概率論。

是一種基於概率邏輯的方法。

首先談了基本Bayes公式

並通過幾個樣例進行了說明。可是貝葉斯公式要求條件相互獨立,而且先驗概率和證據的條件概率非常難得到保證。

然後又談了主觀Bayes方法及其推理網絡。推理網絡是把全部規則知識連接成一個有向圖,圖中各節點代表如果結論,弧代表規則。每一條弧與兩個數值(LS, LN)聯系,LS表現規則成立的充分性,用於指出證據E對結論H為真的支持程度。LN表現規則成立的必要性。用於指出E對結論H為真的必要性程度。

他們的取值範圍是[0,1),由領域專家給出詳細值。

接下來談了知識不確定性的表示

知識就是推理網絡中的一條弧,它的不確定性是以一個數值(LS,LN)來進行描寫敘述的。

還有證據不確定性的表示。對於單個證據不確定性的表示,將後驗概率P(E/S)和C(E/S)的關系規定為分段線性插值關系。對於組合證據不確定性的表示方法,假設是多個單一證據的合取,還是取全部裏面的最小值,析取時取最大值。

又談了不確定性的推理計算

1)確定性證據。分別討論了證據肯定出現的情況、證據肯定不出現的情況以及關於知識規則強度(LS,LN)的意義討論。

2)不確定性證據。分別討論了用概率表示證據的不確定性,用可信度表示證據的不確定性。

還有結論不確定性的合成與更新算法

最後給出了主觀Bayes方法應用舉例

4. 證據理論

又稱D-S理論,能區分“不確定”與“不知道”的差異。

首先談了D-S理論的數學基礎

證據理論是用集合來表示命題的,在D-S理論中。知識是用產生式表示的,其不確定性通過一個集合形式的“可信度因子”來表示,證據和結論是用集合表示的,其不確定性是用信任函數和似然函數來表示的。之後分別介紹了

1)概率分配函數:作用是把樣本空間D上的隨意一個子集A都映射為[0,1]上的一個數M(A)。當A相應一個命題時,M(A)則是對相應命題不確定性的度量。各子集的概率分配數並非概率。

2)信任函數:又稱下限函數,用Bel(A)來表示命題A為真的信任程度。

3)似然函數:又稱上限函數。用Pl(A) = 1 - Bel(~A) 表示命題A不為假的信任程度。Pl(A) - Bel(A) 表示既不為真也不為假的情況,即“不知道”。對命題A。用區間(Bel(A), Pl(A))來描寫敘述A的不確定性。並把Bel(A)和Pl(A)作為度量其信任程度的下限和上限。

4)概率分配函數的正交和。假設遇到了幾個不同的概率分配函數。則可用概率分配函數的正交和運算將它們合並成一個概率分配函數。

然後談了特定概率分配函數。定義了僅僅有單個元素構成的子集和樣本空間D本身的基本概率數有可能大於0,其它子集的基本概率數均為0。

對D中的隨意子集A和B,都有Pl(A) - Bel(A) = Pl(B) - Bel(B) = M(D)。

於是接著談了基於特定概率分配函數的不確定性推理模型。先給出了信任度函數用來度量命題的不確定性,使該函數的值落在區間(Bel(A), Pl(A))內,函數定義是 f(A) = Bel(A) +( |A| / |D| )×[ Pl(A) - Bel(A) ]。

1)證據不確定性的表示。用信任度函數 f(E) 表示。初始簡單證據時由用戶給出,推理所得結論作證據時由推理計算得到。

合取組合證據取最小值,析取組合證據取最大值。

2)知識不確定性的表示。

用產生式規則表示:IF E THEN H={h1,...,hn} CF={c1,...,cn},當中 ci 用來指出 hi 的可信度。

3)不確定性的傳遞推理計算方法。把證據的不確定性和知識的不確定性傳遞給結論H,步驟是先求出H的概率分配函數。然後求出H的信任函數Bel(H)和釋然函數Pl(H),最後求結論H的信任度f(H)。

最後談了證據理論解題舉例

5. 模糊理論

模糊推理的理論基礎是模糊集理論和在此基礎上發展起來的模糊邏輯,它所處理的對象本身就是模糊的。

首先談了模糊集理論與模糊邏輯。模糊集與隸屬函數是一一相應的,模糊集中的元素實際上就是論域中各元素的隸屬函數值,因此隸屬函數的構建是建立模糊集的關鍵。

隸屬函數主要把論域中的元素映射到[0,1]區間。模糊集的表示方法又可分為論語是離散的還是連續的兩種。還談到了模糊集的運算,包括A等於B,A包括於B,A與B的並集(取最大),A與B的交集(取最小),A的補集。之後談到了模糊關系及模糊關系的合成,還有模糊變換的概念。

然後談了模糊知識的表示。提出了模糊命題的概念,又說明了模糊知識的表示:模糊產生式規則。IF E THEN H (CF,λ)。

又談了模糊證據的表示

最後是模糊推理模型。在模糊匹配過程中,對其相似度的計算就轉化成了對其對應模糊集的計算了。

模糊概念的相似度又稱為匹配度,通經常使用語義距離好貼近度兩種方式表示,語義距離越小,貼近度越大表明兩個概念越相似。

沖突消解的方法有:按匹配度大小排序法、按加權平均值法、按廣義順序關系排序。模糊推理有三種基本推理模式:模糊假言推理、拒取式推理、模糊假言三段論。當知識中僅僅含有簡單條件且不帶可信度因子時,稱為簡單模糊推理。模糊關系的構造方法有:紮德方法、麥姆德尼法、米祖莫托法。

最後又舉了幾個樣例。

《人工智能教程(張仰森)》(二)