人工智能一般搜索算法原理 課件_第1頁
人工智能一般搜索算法原理 課件_第2頁
人工智能一般搜索算法原理 課件_第3頁
人工智能一般搜索算法原理 課件_第4頁
人工智能一般搜索算法原理 課件_第5頁
已閱讀5頁,還剩301頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第三章一般搜索原理盲目搜索啟發(fā)式搜索歸結(jié)原理12/9/20221人工智能講義第三章一般搜索原理盲目搜索12/7/20221人工智能講義盲目搜索圖搜索策略深度優(yōu)先搜索寬度優(yōu)先搜索等代價搜索12/9/20222人工智能講義盲目搜索圖搜索策略12/7/20222人工智能講義一些基本概念節(jié)點深度: 根節(jié)點深度=0 其它節(jié)點深度=父節(jié)點深度+1012312/9/20223人工智能講義一些基本概念節(jié)點深度:012312/7/20223人工智能講一些基本概念(續(xù)1)路徑 設一節(jié)點序列為(n0,n1,…,nk),對于i=1,…,k,若節(jié)點ni-1具有一個后繼節(jié)點ni,則該序列稱為從n0到nk的路徑。路徑的耗散值 一條路徑的耗散值等于連接這條路徑各節(jié)點間所有耗散值的總和。用C(ni,nj)表示從ni到nj的路徑的耗散值。12/9/20224人工智能講義一些基本概念(續(xù)1)路徑12/7/20224人工智能講義一些基本概念(續(xù)1)擴展一個節(jié)點 生成出該節(jié)點的所有后繼節(jié)點,并給出它們之間的耗散值。這一過程稱為“擴展一個節(jié)點”。12/9/20225人工智能講義一些基本概念(續(xù)1)擴展一個節(jié)點12/7/20225人工智能一般的圖搜索算法(GRAPHSEARCH)1,G=G0(G0=s),OPEN=(s);2,CLOSED=();3,LOOP:IFOPEN=()EXIT(FAIL);4,n=FIRST(OPEN),REMOVE(n,OPEN), ADD(n,CLOSED);5,IFGOAL(n)EXIT(SUCCESS);6,EXPAND(n)→{mi},G=ADD(mi,G);12/9/20226人工智能講義一般的圖搜索算法(GRAPHSEARCH)1,G=G0(一般的圖搜索算法(續(xù))7,標記和修改指針: ADD(mj,OPEN),并標記mj到n的指針; 計算是否要修改mk、ml到n的指針; 計算是否要修改ml到其后繼節(jié)點的指針;8,對OPEN中的節(jié)點按某種原則重新排序;9,GOLOOP;12/9/20227人工智能講義一般的圖搜索算法(續(xù))7,標記和修改指針:12/7/202深度優(yōu)先搜索在深度優(yōu)先搜索中,首先擴展最新產(chǎn)生的(最深的)節(jié)點,深度相等的節(jié)點可以任意排列?!白钔懋a(chǎn)生的節(jié)點最先擴展”12/9/20228人工智能講義深度優(yōu)先搜索在深度優(yōu)先搜索中,首先擴展最新產(chǎn)生的(最深的)節(jié)深度優(yōu)先搜索算法1,G=G0(G0=s),OPEN=(s),CLOSED=();2,LOOP:IFOPEN=()EXIT(FAIL);3,n=FIRST(OPEN);4,IFGOAL(n)EXIT(SUCCESS);5,REMOVE(n,OPEN),ADD(n,CLOSED);6,IFDEPTH(n)≥DmGOLOOP;7,EXPAND(n)→{mi},G=ADD(mi,G);8,IF目標在{mi}中THENEXIT(SUCCESS);9,ADD(mj,OPEN),并標記mj到n的指針;10,GOLOOP;12/9/20229人工智能講義深度優(yōu)先搜索算法1,G=G0(G0=s),OPEN=(s231847652318476528314765231847652831476528316475283147652831647528316475283714658321476528143765283145761237846512384765283641752831675483214765283714652814376528314576123456789abcd12384765目標12/9/202210人工智能講義23232832深度優(yōu)先搜索的性質(zhì)一般不能保證找到最優(yōu)解當深度限制不合理時,可能找不到解,可以將算法改為可變深度限制最壞情況時,搜索空間等同于窮舉與回溯法的差別:圖搜索是一個通用的與問題無關(guān)的方法12/9/202211人工智能講義深度優(yōu)先搜索的性質(zhì)一般不能保證找到最優(yōu)解12/7/20221寬度優(yōu)先搜索如果搜索是以接近起始節(jié)點的程度依次擴展節(jié)點的,那么這種搜索就叫做寬度優(yōu)先搜索。這種搜索使逐層進行的,在對下一層的任意節(jié)點進行搜索之前,必須搜索完本層的所有節(jié)點?!跋犬a(chǎn)生的節(jié)點先擴展”12/9/202212人工智能講義寬度優(yōu)先搜索如果搜索是以接近起始節(jié)點的程度依次擴展節(jié)點的,那寬度優(yōu)先搜索算法1,G=G0(G0=s),OPEN=(s),CLOSED=();2,LOOP:IFOPEN=()EXIT(FAIL);3,n=FIRST(OPEN);4,IFGOAL(n)EXIT(SUCCESS);5,REMOVE(n,OPEN),ADD(n,CLOSED);6,EXPAND(n)→{mi},G=ADD(mi,G);7,IF目標在{mi}中THENEXIT(SUCCESS);8,ADD(OPEN,mj),并標記mj到n的指針;9,GOLOOP;12/9/202213人工智能講義寬度優(yōu)先搜索算法1,G=G0(G0=s),OPEN=(s23184765231847652831476523184765283147652831647528314765283164752831647528371465832147652814376528314576123784651238476512567312384765目標823418765412/9/202214人工智能講義23232832寬度優(yōu)先搜索的性質(zhì)當問題有解時,一定能找到解當問題為單位耗散值,且問題有解時,一定能找到最優(yōu)解方法與問題無關(guān),具有通用性效率較低屬于圖搜索方法12/9/202215人工智能講義寬度優(yōu)先搜索的性質(zhì)當問題有解時,一定能找到解12/7/202等代價搜索寬度優(yōu)先搜索可被推廣用來解決尋找從起始節(jié)點到目標節(jié)點具有最小代價路徑問題,這種推廣了的寬度優(yōu)先搜索算法叫做等代價搜索算法。12/9/202216人工智能講義等代價搜索12/7/202216人工智能講義等代價搜索算法算法1,G=G0(G0=s),OPEN=(s),CLOSED=(),g(s)=0;2,LOOP:IFOPEN=()EXIT(FAIL);3,從OPEN表中選擇一個節(jié)點i,使其g(i)為最小。如果有幾個節(jié)點都合格,那么就要選擇一個目標節(jié)點作為i(要是有目標節(jié)點的話);否則,就從中選一個作為節(jié)點I;REMOVE(i,OPEN),ADD(i,CLOSED);4,IFGOAL(i)EXIT(SUCCESS);5,EXPAND(i)→{j},G=ADD(j,G);6,對每個后繼節(jié)點j,計算g(j)=g(i)+c(i,j)且ADD(OPEN,j),并標記j到i的指針;7,GOLOOP;12/9/202217人工智能講義等代價搜索算法算法12/7/202217人工智能講義啟發(fā)式圖搜索利用知識來引導搜索,達到減少搜索范圍,降低問題復雜度的目的。啟發(fā)信息的強度強:降低搜索工作量,但可能導致找不到最 優(yōu)解弱:一般導致工作量加大,極限情況下變?yōu)?盲目搜索,但可能可以找到最優(yōu)解12/9/202218人工智能講義啟發(fā)式圖搜索利用知識來引導搜索,達到減少搜索范圍,降低問題復希望:引入啟發(fā)知識,在保證找到最佳解的情況下,盡可能減少搜索范圍,提高搜索效率。12/9/202219人工智能講義希望:12/7/202219人工智能講義基本思想定義一個評價函數(shù)f,對當前的搜索狀態(tài)進行評估,找出一個最有希望的節(jié)點來擴展。12/9/202220人工智能講義基本思想定義一個評價函數(shù)f,對當前的搜索狀態(tài)進行評估,找出一1,啟發(fā)式搜索算法A(A算法)評價函數(shù)的格式: f(n)=g(n)+h(n) f(n):評價函數(shù) h(n):啟發(fā)函數(shù)12/9/202221人工智能講義1,啟發(fā)式搜索算法A(A算法)評價函數(shù)的格式:12/7/20符號的意義g*(n):從s到n的最短路徑的耗散值h*(n):從n到g的最短路徑的耗散值f*(n)=g*(n)+h*(n):從s經(jīng)過n到g的最短路徑的耗散值g(n)、h(n)、f(n)分別是g*(n)、h*(n)、f*(n)的估計值12/9/202222人工智能講義符號的意義g*(n):從s到n的最短路徑的耗散值12/7/2A算法1,OPEN=(s),f(s)=g(s)+h(s);2,LOOP:IFOPEN=()EXIT(FAIL);3,n=FIRST(OPEN);4,IFGOAL(n)EXIT(SUCCESS);5,REMOVE(n,OPEN),ADD(n,CLOSED);6,EXPAND(n)→{Mi},

計算f(n,mi)=g(n,mi)+h(mi);

12/9/202223人工智能講義A算法1,OPEN=(s),f(s)=g(s)+h(s)A算法(續(xù))

ADD(mj,OPEN),標記mj到n的指針; IFf(n,mk)<f(mk)f(mk)=f(n,mk),

標記mk到n的指針; IFf(n,ml)<f(ml,)f(ml)=f(n,ml), 標記ml到n的指針, ADD(ml,OPEN);7,OPEN中的節(jié)點按f值從小到大排序;8,GOLOOP;12/9/202224人工智能講義A算法(續(xù)) ADD(mj,OPEN),標記mj到n的指一個A算法的例子定義評價函數(shù): f(n)=g(n)+h(n) g(n)為從初始節(jié)點到當前節(jié)點的耗散值 h(n)為當前節(jié)點“不在位”的將牌數(shù)

283164751238476512/9/202225人工智能講義一個A算法的例子定義評價函數(shù):2831h計算舉例 h(n)=42

831

64751234576812/9/202226人工智能講義h計算舉例 h(n)=428312831647528314765283164752831647523184765283147652831476528371465832147652318476523184765123847651238476512378465s(4)A(6)B(4)C(6)D(5)E(5)F(6)G(6)H(7)I(5)J(7)K(5)L(5)M(7)目標123456定義評價函數(shù): f(n)=g(n)+h(n) g(n)為從初始節(jié)點到當前節(jié)點的耗散值 h(n)為當前節(jié)點“不在位”的將牌數(shù)12/9/202227人工智能講義2832832832最佳圖搜索算法A*(A*算法)在A算法中,如果滿足條件: h(n)≤h*(n) 則A算法稱為A*算法。12/9/202228人工智能講義最佳圖搜索算法A*(A*算法)在A算法中,如果滿足條件:12A*條件舉例8數(shù)碼問題h(n)=“不在位”的將牌數(shù)h(n)=將牌“不在位”的距離和2

831

647512345768將牌1:1將牌2:1將牌6:1將牌8:212/9/202229人工智能講義A*條件舉例8數(shù)碼問題28312A*算法的性質(zhì)定理1: 對有限圖,如果從初始節(jié)點s到目標節(jié)點t有路徑存在,則算法A一定成功結(jié)束。12/9/202230人工智能講義A*算法的性質(zhì)定理1:12/7/202230人工智能講義A*算法的性質(zhì)(續(xù)1)引理2.1: 對無限圖,若有從初始節(jié)點s到目標節(jié)點t的路徑,則A*不結(jié)束時,在OPEN表中即使最小的一個f值也將增到任意大,或有f(n)>f*(s)。12/9/202231人工智能講義A*算法的性質(zhì)(續(xù)1)引理2.1:12/7/202231人A*算法的性質(zhì)(續(xù)2)引理2.2: A*結(jié)束前,OPEN表中必存在f(n)≤f*(s)。12/9/202232人工智能講義A*算法的性質(zhì)(續(xù)2)引理2.2:12/7/202232人工A*算法的性質(zhì)(續(xù)3)定理2: 對無限圖,若從初始節(jié)點s到目標節(jié)點t有路徑存在,則A*一定成功結(jié)束。12/9/202233人工智能講義A*算法的性質(zhì)(續(xù)3)定理2:12/7/202233人工智能A*算法的性質(zhì)(續(xù)4)推論2.1: OPEN表上任一具有f(n)<f*(s)的節(jié)點n,最終都將被A*選作擴展的節(jié)點。12/9/202234人工智能講義A*算法的性質(zhì)(續(xù)4)推論2.1:12/7/202234人工A*算法的性質(zhì)(續(xù)5)定理3(可采納性定理): 若存在從初始節(jié)點s到目標節(jié)點t有路徑,則A*必能找到最佳解結(jié)束。12/9/202235人工智能講義A*算法的性質(zhì)(續(xù)5)定理3(可采納性定理):12/7/2A*算法的性質(zhì)(續(xù)6)推論3.1: A*選作擴展的任一節(jié)點n,有f(n)≤f*(s)。12/9/202236人工智能講義A*算法的性質(zhì)(續(xù)6)推論3.1:12/7/202236人工A*算法的性質(zhì)(續(xù)7)定理4:設對同一個問題定義了兩個A*算法A1和A2,若A2比A1有較多的啟發(fā)信息,即對所有非目標節(jié)點有h2(n)>h1(n),則在具有一條從s到t的路徑的隱含圖上,搜索結(jié)束時,由A2所擴展的每一個節(jié)點,也必定由A1所擴展,即A1擴展的節(jié)點數(shù)至少和A2一樣多。簡寫:如果h2(n)>h1(n),則A1擴展的節(jié)點數(shù)≥A2擴展的節(jié)點數(shù)12/9/202237人工智能講義A*算法的性質(zhì)(續(xù)7)定理4:設對同一個問題定義了兩個A*算A*算法的改進問題的提出: 因A算法第6步對ml類節(jié)點可能要重新放回到OPEN表中,因此可能會導致多次重復擴展同一個節(jié)點,導致搜索效率下降。12/9/202238人工智能講義A*算法的改進問題的提出:12/7/202238人工智能講義s(10)A(1)B(5)C(8)G目標631118一個例子:OPEN表CLOSED表s(10)s(10)A(7)B(8)C(9)A(7)s(10)B(8)C(9)G(14)A(5)C(9)G(14)C(9)G(12)B(7)G(12)A(4)G(12)G(11)A(7)B(8)s(10)A(5)B(8)s(10)C(9)A(5)B(8)s(10)A(5)B(7)C(9)s(10)A(4)B(7)C(9)s(10)12/9/202239人工智能講義s(10)A(1)B(5)C(8)G目標631118一個例出現(xiàn)多次擴展節(jié)點的原因在前面的擴展中,并沒有找到從初始節(jié)點到當前節(jié)點的最短路徑,如節(jié)點A。12/9/202240人工智能講義出現(xiàn)多次擴展節(jié)點的原因在前面的擴展中,并沒有找到從初始節(jié)點到解決的途徑對h加以限制能否對h增加適當?shù)南拗?,使得第一次擴展一個節(jié)點時,就找到了從s到該節(jié)點的最短路徑。對算法加以改進能否對算法加以改進,避免或減少節(jié)點的多次擴展。12/9/202241人工智能講義解決的途徑對h加以限制12/7/202241人工智能講義改進的條件可采納性不變不多擴展節(jié)點不增加算法的復雜性12/9/202242人工智能講義改進的條件可采納性不變12/7/202242人工智能講義對h加以限制定義:一個啟發(fā)函數(shù)h,如果對所有節(jié)點ni和nj,其中nj是ni的子節(jié)點,滿足 h(ni)-h(nj)≤c(ni,nj) h(t)=0 則稱h是單調(diào)的。h(ni)ninjh(nj)c(ni,nj)12/9/202243人工智能講義對h加以限制定義:一個啟發(fā)函數(shù)h,如果對所有節(jié)點ni和nj,h單調(diào)的性質(zhì)定理5: 若h(n)是單調(diào)的,則A*擴展了節(jié)點n之后,就已經(jīng)找到了到達節(jié)點n的最佳路徑。 即:當A*選n擴展時,有g(shù)(n)=g*(n)。12/9/202244人工智能講義h單調(diào)的性質(zhì)定理5:12/7/202244人工智能講義h單調(diào)的性質(zhì)(續(xù))定理6: 若h(n)是單調(diào)的,則由A*所擴展的節(jié)點序列其f值是非遞減的。12/9/202245人工智能講義h單調(diào)的性質(zhì)(續(xù))定理6:12/7/202245人工智能講義h單調(diào)的例子8數(shù)碼問題:h為“不在位”的將牌數(shù)1 h(ni)-h(nj)=0 (nj為ni的后繼節(jié)點)-1 h(t)=0 c(ni,nj)=1滿足單調(diào)的條件。 12/9/202246人工智能講義h單調(diào)的例子8數(shù)碼問題:12/7/202246人工智能講義對算法加以改進一些結(jié)論:OPEN表上任一具有f(n)<f*(s)的節(jié)點定會被擴展。A*選作擴展的任一節(jié)點,定有f(n)≤f*(s)。12/9/202247人工智能講義對算法加以改進一些結(jié)論:12/7/202247人工智能講義改進的出發(fā)點OPEN=(…………)f*(s)f值小于f*(s)的節(jié)點f值大于等于f*(s)的節(jié)點fm:到目前為止已擴展節(jié)點的最大f值,用fm代替f*(s)12/9/202248人工智能講義改進的出發(fā)點OPEN=(…………)f*(修正過程A1,OPEN=(s),f(s)=g(s)+h(s),fm=0;2,LOOP:IFOPEN=()EXIT(FAIL);3,NEST={ni|f(ni)<fm} IFNEST≠()n=NEST中g(shù)最小的節(jié)點 ELSEn=FIRST(OPEN), fm=f(n);4,…,8:同過程A。12/9/202249人工智能講義修正過程A1,OPEN=(s),f(s)=g(s)+h(s(10)A(1)B(5)C(8)G目標631118前面的例子:OPEN表CLOSED表fms(0+10)s(0+10)10A(6+1)B(3+5)C(1+8)s(0+10)C(1+8)10A(6+1)B(2+5)s(0+10)C(1+8)B(2+5)10A(3+1)s(0+10)C(1+8)B(2+5)A(3+1)10G(11+0)12/9/202250人工智能講義s(10)A(1)B(5)C(8)G目標631118前面的例子:傳教士與野人問題

設有3個傳教士和3個野人來到河邊,打算乘一只船從右岸渡到左岸去。該船的負載能力為兩人。在任何時候,如果野人人數(shù)超過傳教士人數(shù),那么野人就會把傳教士吃掉。他們怎樣才能用這條船安全地把所有人都渡河過去?

12/9/202251人工智能講義例子:傳教士與野人問題設有3個傳教士和問題表示:需要考慮兩岸的修道士人數(shù)和野人人數(shù),船的位置。用三元式表示狀態(tài):

S=(m,c,b)

其中,m表示左岸修道士人數(shù),c表示左岸野人人數(shù),b表示左岸船的數(shù)目。解:確定估價函數(shù)。

f(n)=g(n)+h(n)=d(n)+m+c-2b

其中,d(n)為節(jié)點深度。h(n)<h*(n),滿足A*算法的限制條件。12/9/202252人工智能講義問題表示:需要考慮兩岸的修道士人數(shù)和野人人數(shù),船的位置。用三(3,2,0)(3,1,0)(2,2,0)(3,3,1)h=4,f=4f(n)=d(n)+m+c-2bhh=5,f=6h=4,f=5h=4,f=5(3,2,1)h=3,f=5(2,1,0)(3,0,0)h=3,f=6h=3,f=6(2,2,1)(3,1,1)h=2,f=6h=2,f=6h=2,f=7h=2,f=7傳教士和野人問題的A*搜索圖(0,0,0)(0,3,1)h=1,f=7(0,1,0)h=1,f=8(0,2,1)h=0,f=8(0,2,0)(1,1,0)12/9/202253人工智能講義(3,2,0)(3,1,0)(2,2,0)(3,3,1)h=4.5AO*算法搜索與或圖的A*算法節(jié)點評價方法

A*算法中,對節(jié)點n的評價,實際上是對“初始節(jié)點--節(jié)點n--目標節(jié)點”這一條路徑的評價AO*算法中,由于與節(jié)點的存在,解對應的不是一條路徑,而是一個子圖,因此對節(jié)點的評價,實際是對局部解圖的評價12/9/202254人工智能講義4.5AO*算法搜索與或圖的A*算法12/7/202254

A(6)

B

C

D(3)(4)(5)f(A)=min{(B)+(C)+2,(D)+1}

G

H

E

F(4)(4)(5)(7)(10)(9)(6)(11)與或圖節(jié)點擴展與評價12/9/202255人工智能講義A(6)BCD(3)(4)(5)f(A)=min算法的兩個階段第一階段:自上而下的圖生成過程

對于每一個已經(jīng)擴展過的節(jié)點,都對應一個指針,指向該節(jié)點后繼節(jié)點中,代價值小的那條邊。圖生成過程,就是從初始節(jié)點出發(fā),按照該指針向下搜索,一直到找到一個未擴展的節(jié)點為止。然后擴展該節(jié)點。第二階段:自下而上的代價值計算過程

設n為最新被擴展的節(jié)點,計算節(jié)點n對應的最小代價值,并標記一個指針指向?qū)钚〈鷥r的邊。對于n的父節(jié)點,進行同樣的計算。重復這一過程,直到初始節(jié)點s為止。這時,從s出發(fā),選擇那些指針所指向的邊得到的局部圖,為當前代價值最小的局部圖。12/9/202256人工智能講義算法的兩個階段第一階段:自上而下的圖生成過程

對于每一個已經(jīng)具體步驟Step1建立一個僅由初始節(jié)點s構(gòu)成的搜索圖G,計算h(s)Step2在以下兩過程間循環(huán),直到s標記為可解或不可解,或其代價值大于閾值:

2.1選擇節(jié)點進行擴展

2.2根據(jù)擴展情況修改節(jié)點的可解性與代價值

12/9/202257人工智能講義具體步驟Step1建立一個僅由初始節(jié)點s構(gòu)成的搜索圖G,計Step2.1選擇節(jié)點進行擴展:1根據(jù)指針找出待擴展的局部解圖G′。

2選擇G′中的一個非終節(jié)點n作為當前節(jié)點。

3擴展節(jié)點n,如不能擴展,則標記為不可解,否則生成子節(jié)點集,如子節(jié)點為非終節(jié)點,計算其代價值,若為終節(jié)點,標注其可解。將所有子節(jié)點添加到G中。4建立含n的單一節(jié)點集合S,S:={n}12/9/202258人工智能講義Step2.1選擇節(jié)點進行擴展:12/7/202258人Step2.2修改節(jié)點的可解性與代價值

重復以下步驟,直到S為空:

1從S中挑選一個子孫節(jié)點都不在S中的節(jié)點m2計算始于m的每條連接線的代價,取其中最小值為m對應的代價,并在對應于最小代價的連接線上加指針。3如果連接于最小代價連接線上的所有節(jié)點都可解,則標注m可解。4如果m的可解性或代價值發(fā)生改變,則把m的所有祖先節(jié)點添加到S中。12/9/202259人工智能講義Step2.2修改節(jié)點的可解性與代價值12/7/2022AO*算法舉例目標目標初始節(jié)點n0n1n2n3n4n5n6n7n8h(n0)=3h(n1)=2h(n2)=4h(n3)=4h(n4)=1h(n5)=1h(n6)=2

h(n7)=0h(n8)=0連接線的代價=后繼節(jié)點個數(shù)12/9/202260人工智能講義AO*算法舉例目標目標初始節(jié)點n0n1n2n3n4n5n6nn0n1n2n3n4n5n6n7n8n0(3)n1(2)n4(1)n5(1)紅色代價:4藍色代價:312/9/202261人工智能講義n0n1n2n3n4n5n6n7n8n0(3)n1(2)n4n0n1n2n3n4n5n6n7n8n4(1)n5(1)紅色代價:4藍色代價:6n1(2->5)n2(4)n3(4)n0(3)n0(3->4)12/9/202262人工智能講義n0n1n2n3n4n5n6n7n8n4(1)n5(1)紅色n0n1n2n3n4n5n6n7n8n4(1)n1(5)n2(4)n3(4)n6(2)n7(0)n8(0)n0(4)n5(1)n5(1->2)12/9/202263人工智能講義n0n1n2n3n4n5n6n7n8n4(1)n1(5)n2n0n1n2n3n4n5n6n7n8紅色代價:5藍色代價:6n0(4)n4(1)n5(1->2)n1(5)n2(4)n3(4)n6(2)n7(0)n8(0)n0(4->5)12/9/202264人工智能講義n0n1n2n3n4n5n6n7n8紅色代價:5n0(4)nn0n1n2n3n4n5n6n7n8n0(5)n4(1)n5(2)n1(5)n2(4)n3(4)n6(2)n7(0)n8(0)12/9/202265人工智能講義n0n1n2n3n4n5n6n7n8n0(5)n4(1)n5目標目標初始節(jié)點n0n1n2n3n4n5n6n7n8n0(5)n4(1)n5(2)n1(5)n2(4)n3(4)n6(2)n7(0)n8(0)12/9/202266人工智能講義目標目標初始節(jié)點n0n1n2n3n4n5n6n7n8n0(5目標目標初始節(jié)點n0n1n2n3n4n5n6n7n8初始節(jié)點可解n0(5)n4(1)n5(2)n1(5)n2(4)n3(4)n6(2)n7(0)n8(0)12/9/202267人工智能講義目標目標初始節(jié)點n0n1n2n3n4n5n6n7n8初始節(jié)點歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202268人工智能講義歸結(jié)原理概述12/7/202268人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202269人工智能講義歸結(jié)原理概述12/7/202269人工智能講義概述歸結(jié)原理由J.A.Robinson由1965年提出。與演繹法完全不同,新的邏輯演算算法。一階邏輯中,至今為止的最有效的半可判定的算法。即,一階邏輯中任意恒真公式,使用歸結(jié)原理,總可以在有限步內(nèi)給以判定。語義網(wǎng)絡、框架表示、產(chǎn)生式規(guī)則等等都是以推理方法為前提的。即,有了規(guī)則已知條件,順藤摸瓜找到結(jié)果。而歸結(jié)方法是自動推理、自動推導證明用的。(“數(shù)學定理機器證明”)本課程只討論一階謂詞邏輯描述下的歸結(jié)推理方法,不涉及高階謂詞邏輯問題。

12/9/202270人工智能講義概述歸結(jié)原理由J.A.Robinson由1965年提出。12歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202271人工智能講義歸結(jié)原理概述12/7/202271人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202272人工智能講義歸結(jié)原理概述12/7/202272人工智能講義命題邏輯的歸結(jié)法基本單元:簡單命題(陳述句)例:

命題:A1、A2、A3和B求證:A1ΛA2ΛA3成立,則B成立,即:A1ΛA2ΛA3→B反證法:證明A1ΛA2ΛA3Λ~B是矛盾式(永假式)

12/9/202273人工智能講義命題邏輯的歸結(jié)法基本單元:簡單命題(陳述句)12/7/202命題邏輯的歸結(jié)法建立子句集合取范式:命題、命題和的與,如: PΛ(P∨Q)Λ(~P∨Q)子句集S:合取范式形式下的子命題(元素)的集合例:命題公式:PΛ(P∨Q)Λ(~P∨Q)子句集S:S={P,P∨Q,~P∨Q}

12/9/202274人工智能講義命題邏輯的歸結(jié)法建立子句集12/7/202274人工智能講義命題邏輯的歸結(jié)法歸結(jié)式消除互補對,求新子句→得到歸結(jié)式。如子句:C1=C1′∨L,C2=C2′∨

歸結(jié)式:R(C1,C2)=C1′∨

C2′

注意:C1ΛC2→R(C1,C2),反之不一定成立。假言推理:由合適公式W1和W1

→W2產(chǎn)生合適公式W2,如何用歸結(jié)法證明?12/9/202275人工智能講義命題邏輯的歸結(jié)法歸結(jié)式假言推理:由合適公式W1和W1→命題邏輯的歸結(jié)法歸結(jié)過程

對結(jié)論作否定,并加入前提中將命題寫成合取范式求出子句集對子句集使用歸結(jié)推理規(guī)則歸結(jié)式作為新子句參加歸結(jié)歸結(jié)式為空子句□,S是不可滿足的(矛盾),原命題成立。?(證明完畢)謂詞的歸結(jié):除了有量詞和函數(shù)以外,其余和命題歸結(jié)過程一樣。12/9/202276人工智能講義命題邏輯的歸結(jié)法歸結(jié)過程12/7/202276人工智能講義命題邏輯的歸結(jié)法例證明先將化為合取范式建立子句集S=對S做歸結(jié)PNIL12/9/202277人工智能講義命題邏輯的歸結(jié)法例證明12/7/202277人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202278人工智能講義歸結(jié)原理概述12/7/202278人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202279人工智能講義歸結(jié)原理概述12/7/202279人工智能講義子句形引用Herbrand定理,以說明歸結(jié)原理的意義及一個原理形成的根基與背景SKOLEM標準形前束范式:把所有的量詞都提到前面去,然后消掉所有量詞。

定義:說公式A是一個前束范式,如果A中的一切量詞都位于該公式的最左邊(不含否定詞),且這些量詞的轄域都延伸到公式的末端。即(Q1x1)…(Qnxn)M(x1,…,xn),其中Qixi為存在量詞或全稱量詞,M(x1,…,xn)為合取范式(由一些子句的合取組成)。12/9/202280人工智能講義子句形引用Herbrand定理,以說子句形(Skolem標準形)

量詞消去原則: 消去存在量詞“”,略去全程量詞“”。

注意:左邊有全稱量詞的存在量詞,消去時該變量改寫成為全稱量詞的函數(shù)(Skloem函數(shù));如沒有,改寫成為常量。

例子:見《人工智能及其應用》P7512/9/202281人工智能講義子句形(Skolem標準形) 子句形(Skolem標準形)定理: 謂詞邏輯的任意公式都可以化為與之等價的前束范式,但其前束范式不唯一。SKOLEM標準形定義: 消去量詞后的謂詞公式。注意:謂詞公式G的SKOLEM標準形同G并不等值。12/9/202282人工智能講義子句形(Skolem標準形)12/7/202282人工智子句形(Skolem標準形)例:G=(x)(y)(z)(u)P(x,y,z,u)Skolem標準形為:

(y)(z)P(a,y,z,f(y,z))其中,x=a(常量),u=f(y.z)

12/9/202283人工智能講義子句形(Skolem標準形)12/7/202283人工智子句形子句與子句集文字:不含任何連接詞的謂詞公式。子句:一些文字的析取(謂詞的和)。子句集S的求取:G→SKOLEM標準形 →消去存在變量 →以“,”取代“Λ”,并表示為集合形式。12/9/202284人工智能講義子句形子句與子句集12/7/202284人工智能講義子句形

G是不可滿足的<=>S是不可滿足的G與S不等價,但在不可滿足的意義下是一致的。

定理: 若G是給定的公式,而S是相應的子句集,則G是不可滿足的<=>S是不可滿足的。

注意:G真不一定S真,而S真必有G真。 即:S=>G12/9/202285人工智能講義子句形G是不可滿足的<=>S是不可滿足的12/7/202子句形G=G1ΛG2ΛG3Λ…ΛGn的子句形G的子句集可以分解成幾個單獨處理。

有SG=S1US2US3U…USn 則SG

與S1US2US3U…USn在不可滿足的意義上是一致的。 即SG不可滿足<=>S1US2US3U…USn不可滿足

12/9/202286人工智能講義子句形G=G1ΛG2ΛG3Λ…ΛGn的子句形1歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202287人工智能講義歸結(jié)原理概述12/7/202287人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/202288人工智能講義歸結(jié)原理概述12/7/202288人工智能講義Herbrand定理問題: 一階邏輯公式的永真性(永假性)的判定是否能在有限步內(nèi)完成?12/9/202289人工智能講義Herbrand定理問題:12/7/202289人工智能講義Herbrand定理1936年圖靈(Turing)和邱吉(Church)互相獨立地證明了:“沒有一般的方法使得在有限步內(nèi)判定一階邏輯的公式是否是永真(或永假)。但是如果公式本身是永真(或永假)的,那么就能在有限步內(nèi)判定它是永真(或永假)。對于非永真(或永假)的公式就不一定能在有限步內(nèi)得到結(jié)論。判定的過程將可能是不停止的。”12/9/202290人工智能講義Herbrand定理1936年圖靈(Turing)和邱吉(CHerbrand定理Herbrand的思想定義: 公式G永真:對于G的所有解釋,G都為真。思想:

尋找一個已給的公式是真的解釋。然而,如果所給定的公式的確是永假的,就沒有這樣的解釋存在,并且算法在有限步內(nèi)停止。12/9/202291人工智能講義Herbrand定理Herbrand的思想12/7/2022Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/202292人工智能講義Herbrand定理H域12/7/202292人工智能講義Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/202293人工智能講義Herbrand定理H域12/7/202293人工智能講義Herbrand定理(H域)基本方法:因為量詞是任意的,所討論的個體變量域D是任意的,所以解釋的個數(shù)是無限、不可數(shù)的。簡化討論域。建立一個比較簡單、特殊的域,使得只要在這個論域上,該公式是不可滿足的。此域稱為H域:H0為G中所出現(xiàn)的常量的集合,若G中沒有常量,就任取常量,H0={a}。

規(guī)定為H域

例題請參考教科書P2712/9/202294人工智能講義Herbrand定理(H域)基本方法:12/7/202294H域舉例例1S={P(a),~P(x)∨P(f(x))}依定義有 H0={a} H1={a}U{f(a)}={a,f(a)} H2={a,f(a)}U{f(a),f(f(a))}={a,f(a),f(f(a))} … H∞={a,f(a),f(f(a)),…}12/9/202295人工智能講義H域舉例例1S={P(a),~P(x)∨P(f(x)Herbrand定理(H域)幾個基本概念f(t1,t2,…tn):f為子句集S中的所有函數(shù)變量。t1,t2,…tn為S的H域的元素。通過它們來討論永真性。原子集A:謂詞套上H域的元素組成的集合。如

A={所有形如P(t1,t2,…tn)的元素}

即把H中的東西填到S的謂詞里去。S中的謂詞是有限的,H是可數(shù)的,因此,A也是可數(shù)的。一旦原子集內(nèi)真值確定好(規(guī)定好),則S在H上的真值可確定。成為可數(shù)問題。12/9/202296人工智能講義Herbrand定理(H域)幾個基本概念12/7/20229原子集舉例例1S={P(a),~P(x)∨P(f(x))}H∞={a,f(a),f(f(a)),…}S的原子集為A={P(a),P(f(a)),P(f(f(a))),…}12/9/202297人工智能講義原子集舉例例1S={P(a),~P(x)∨P(f(xHerbrand定理(H域)沒有變量出現(xiàn)的原子、文字、子句和子句集,分別稱作基原子、基文字、基子句和基子句集。它們在討論子句集S的不可滿足性時占有重要置。12/9/202298人工智能講義Herbrand定理(H域)沒有變量出現(xiàn)的原子、文字、子句和Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/202299人工智能講義Herbrand定理H域12/7/202299人工智能講義Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/2022100人工智能講義Herbrand定理H域12/7/2022100人工智能講義Herbrand定理(H解釋)解釋I*:取一個值得到一個結(jié)論I映射S中到所有常量符號到它們本身。(即原子集)令f是n元函數(shù),I是f下的一個指派,即H中的元素到f的一個映射(函數(shù)值)。簡單地說(P29),A中的各元素真假組合都是H的解釋。(或真或假只取一個)問題:對于所有的解釋,全是假才可判定。因為所有解釋代表了所有的情況,如可窮舉,問題便可解決。

12/9/2022101人工智能講義Herbrand定理(H解釋)解釋I*:取一個值得到一個結(jié)論H解釋-舉例例1S={P(a),~P(x)∨P(f(x))}

S的H域H∞={a,f(a),f(f(a)),…}S的原子集為A={P(a),P(f(a)),P(f(f(a))),…}S的H解釋:

I1*={P(a),P(f(a)),P(f(f(a))),…} S|I1*=T

I2*={~P(a),P(f(a)),P(f(f(a))),…} S|I2*=F

I3*={P(a),~P(f(a)),P(f(f(a))),…} S|I3*=F我們關(guān)心的是:對論域上的任一解釋I,若有S|I=T,如何求得一個相應的H解釋I*,使得S|I*=T成立。12/9/2022102人工智能講義H解釋-舉例例1S={P(a),~P(x)∨P(f(Herbrand定理(H解釋)如下三個定理保證了歸結(jié)法的正確性:定理1:

設I是S的論域D上的解釋,存在對應于I的H解釋I*,使得若有S|I=T,必有S|I*=T。定理2: 子句集S是不可滿足的,當且僅當所有的S的H解釋下為假。定理3: 子句集S是不可滿足的,當且僅當對每一個解釋I下,至少有S的某個子句的某個基例為假。12/9/2022103人工智能講義Herbrand定理(H解釋)如下三個定理保證了歸結(jié)法的正確Herbrand定理(H解釋)基例S中某子句中所有變元符號均以S的H域中的元素代入時,所得的基子句C’稱為C的一個基例。若一個子句為假,則此解釋為假。一般來說,D是無窮不可列的,因此,子句集S也是無窮不可列的。但S確定后H是無窮可列的。不過在H上證明S的不可滿足性仍然是不可能的。解決問題的方法:語義樹12/9/2022104人工智能講義Herbrand定理(H解釋)基例12/7/2022104人Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/2022105人工智能講義Herbrand定理H域12/7/2022105人工智能講義Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/2022106人工智能講義Herbrand定理H域12/7/2022106人工智能講義Herbrand定理(語義樹)構(gòu)成方法原子集中所有元素逐層添加的一棵二叉樹。將元素的是與非分別標記在兩側(cè)的分枝上(可不完全畫完)。(P34)特點一般情況H是可數(shù)集,S的語義樹是無限樹。12/9/2022107人工智能講義Herbrand定理(語義樹)構(gòu)成方法12/7/202210Herbrand定理(語義樹)意義SHA語義樹可以理解語義樹為H域的圖形解釋。目的:把每個解釋都攤開。語義樹中包含原子集的全部元素,因此,語義樹是完全的。每一個直到葉子節(jié)點的分支對應S的一個解釋??梢酝ㄟ^對語義樹每一個分支來計算S的真值。如果每個基例都為假,則可認為是不可滿足的。12/9/2022108人工智能講義Herbrand定理(語義樹)意義12/7/2022108人語義樹-舉例例1設子句集S的原子集A={P,Q,R}

語義樹:

N0

N11N12N21N22N23N24N31N32N33N34N35N36N37N38P~QQR~R~PI(N)表示從根節(jié)點到節(jié)點N分枝上所標記的所有文字的并集。如I(N34)={P,~Q,~R}12/9/2022109人工智能講義語義樹-舉例例1設子句集S的原子集A={P,Q,R}Herbrand定理(語義樹)幾個概念失敗結(jié)點: 當(由上)延伸到點N時,I(N)已表明了S的某子句的某基例假。但N以前尚不能判斷這事實。就稱N為失敗結(jié)點。完全語義樹:如果對語義樹的所有葉結(jié)點N來說,I(N)包含了S的原子集A={A1,A2,…}中的所有元素Ai或~Ai,I=1…n。封閉語義樹: 如果S的完全語義樹的每個分枝上都有一個失敗結(jié)點,就稱它是一棵封閉語義樹。12/9/2022110人工智能講義Herbrand定理(語義樹)幾個概念12/7/202211封閉語義樹-舉例例子句集S={~P(x)∨Q(x),P(f(y)),~Q(f(y))}H={a,f(a),f(f(a)),…}A={P(a),Q(a),P(f(a)),Q(f(a)),…}

語義樹:

N0

N11N12N21N22N23N24N31N32N33N34N35N36N37N38P(a)Q(a)P(f(a))N41N42N43N44N45N46N47N48N49N410N411N413N415N412N414N416這是一個無限樹,然而它是否是一個封閉樹?Q(f(a))ΧΧΧΧΧΧΧΧΧΧI(N41)={P(a),Q(a),P(f(a)),Q(f(a))},它使S的子句~Q(f(y))的基例~Q(f(a))為假,而N41的父輩不能使子句的基例為假12/9/2022111人工智能講義封閉語義樹-舉例例子句集S={~P(x)∨Q(x),P(封閉語義樹-舉例例子句集S={~P(x)∨Q(x),P(f(y)),~Q(f(y))}H={a,f(a),f(f(a)),…}A={P(a),Q(a),P(f(a)),Q(f(a)),…}

封閉語義樹:

N0

N11N12N21N22N23N24N31N32N36N37N38P(a)Q(a)P(f(a))N41N42N49N410N413N414Q(f(a))ΧΧΧΧΧΧΧΧΧΧ12/9/2022112人工智能講義封閉語義樹-舉例例子句集S={~P(x)∨Q(x),P(Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/2022113人工智能講義Herbrand定理H域12/7/2022113人工智能講義Herbrand定理H域H解釋語義樹結(jié)論:Herbrand定理12/9/2022114人工智能講義Herbrand定理H域12/7/2022114人工智能講義Herbrand定理(結(jié)論)Herbrand定理:子句集S是不可滿足的,當且僅當對應于S的完全語義數(shù)是棵有限封閉樹。

子句集S是不可滿足的,當且僅當存在不可滿足的S的有限基例集。

12/9/2022115人工智能講義Herbrand定理(結(jié)論)Herbrand定理:12/7/Herbrand定理(結(jié)論)定理的意義Herbrand定理已將證明問題轉(zhuǎn)化成了命題邏輯問題。由此定理保證,可以放心的用機器來實現(xiàn)自動推理了。(歸結(jié)原理)注意Herbrand定理給出了一階邏輯的半可判定算法,即僅當被證明定理是成立時,使用該算法可以在有限步得證。而當被證定理并不成立時,使用該算法得不出任何結(jié)論。但是

12/9/2022116人工智能講義Herbrand定理(結(jié)論)定理的意義12/7/202211例S={P(x,g(x),y,h(x,y),z,k(x,y,z)),~P(u,v,e(v),w,f(v,w)),x)}有H0={a},S0′={P(a,g(a),a,h(a,a),a,k(a,a,a)),~P(a,a,e(a),a,f(a,a)),a)}

H1={a,g(a),h(a,a),k(a,a,a),e(a),f(a,a)}共6個元素S1′:

63+64=1512個元素

H2:元素個數(shù)有63數(shù)量級(由于變量最多的函數(shù)是k(x,y,z),三個變量都可能取值于H1的六個元素)S2′:元素個數(shù)有(63)

4數(shù)量級建立S3′,S4′,直到S5′才是不可滿足。然而

S5′元素個數(shù)已達(1064)4=10256Herbrand定理(結(jié)論)仍存在的問題:基例集序列元素的數(shù)目隨子句基的元素數(shù)目成指數(shù)地增加。因此,Herbrand定理是30年代提出的,始終沒有顯著的成績。直至1965年Robinson提出了歸結(jié)原理。12/9/2022117人工智能講義例S={P(x,g(x),y,h(x,y),z,k(x,y歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/2022118人工智能講義歸結(jié)原理概述12/7/2022118人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/2022119人工智能講義歸結(jié)原理概述12/7/2022119人工智能講義歸結(jié)原理歸結(jié)原理正確性的根本在于,找到矛盾可以肯定不真。方法:和命題邏輯一樣。但由于有函數(shù),所以要考慮合一和置換。(定義與例題參考教科書P41)12/9/2022120人工智能講義歸結(jié)原理歸結(jié)原理正確性的根本在于,找到矛盾可以肯定不真。12歸結(jié)原理置換和合一的注意事項:謂詞的一致性,P()與Q(),不可以常量的一致性,P(a,…)與P(b,….),不可以 常量與變量,P(a,….)與P(x,…),可以變量與函數(shù),P(a,x,….)與P(x,f(x),…),不可以;但P(a,x,…)與P(x,f(y),…),可以是不能同時消去兩個互補對,P∨Q與~P∨~Q的空,不可以先進行內(nèi)部簡化(置換、合并)12/9/2022121人工智能講義歸結(jié)原理置換和合一的注意事項:12/7/2022121人工智歸結(jié)原理歸結(jié)的過程(P48)寫出謂詞關(guān)系公式→用反演法寫出謂詞表達試→SKOLEM標準形→子句集S→對S中可歸結(jié)的子句做歸結(jié)→歸結(jié)式仍放入S中,反復歸結(jié)過程→得到空子句

?得證12/9/2022122人工智能講義歸結(jié)原理歸結(jié)的過程(P48)12/7/2022122人工智能歸結(jié)原理歸結(jié)法的實質(zhì):歸結(jié)法是僅有一條推理規(guī)則的推理方法。歸結(jié)的過程是一個語義樹倒塌的過程。(P51)歸結(jié)法的問題子句中有等號或不等號時,完備性不成立?!鵋erbrand定理的不實用性引出了可實用的歸結(jié)法。12/9/2022123人工智能講義歸結(jié)原理歸結(jié)法的實質(zhì):12/7/2022123人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/2022124人工智能講義歸結(jié)原理概述12/7/2022124人工智能講義歸結(jié)原理概述命題邏輯的歸結(jié)法子句形Herbrand定理歸結(jié)原理歸結(jié)過程的策略控制12/9/2022125人工智能講義歸結(jié)原理概述12/7/2022125人工智能講義歸結(jié)過程的控制策略要解決的問題:歸結(jié)方法的知識爆炸。控制策略的目的歸結(jié)點盡量少控制策略的原則給出控制策略,以使僅對選擇合適的子句間方可做歸結(jié)。避免多余的、不必要的歸結(jié)式出現(xiàn)?;蛘哒f,少做些歸結(jié)仍能導出空子句。12/9/2022126人工智能講義歸結(jié)過程的控制策略要解決的問題:12/7/2022126人工歸結(jié)過程的控制策略盲目歸結(jié)

例S={P∨Q,

~P∨Q,P∨~Q,~P∨~Q}是不可滿足。證明從S0=S開始,依次構(gòu)造Si={C1,C2的歸結(jié)式|C1∈S0∪S1∪…∪Si-1,C2∈Si-1},i=1,2,…,直至得到空子句。具體過程如下:S0(1)

P∨Q(2)~P∨Q(3)P∨~Q(4)~P∨~QS1(5)Q(1)(2)(6)P(1)(3)(7)Q∨~Q(1)(4)(8)P∨~P(1)(4)(9)Q∨~Q(2)(3)(10)P∨~P(2)(3)(11)~P(2)(4)(12)~Q(3)(4)12/9/2022127人工智能講義歸結(jié)過程的控制策略盲目歸結(jié)12/7/2022127人工智能講歸結(jié)過程的控制策略(盲目歸結(jié))S2(13)P(1)(7)(14)P∨Q(1)(8)(15)P∨Q(1)(9)(16)P∨Q(1)(10)(17)Q(1)(11)(18)P(1)(12)(19)Q

(2)(6)(20)~P∨Q(3)(4)(21)~P∨Q(2)(8)(22)~P∨Q(2)(9)(23)~P∨Q(2)(10)(24)~P(2)(12)(25)P(3)(5)(26)P∨~Q(3)(7)(27)P∨~Q(3)(8)(28)P∨~Q(3)(9)(29)P∨~Q(3)(10)(30)~Q(3)(11)(31)~P(4)(5)(32)~Q(4)(6)(33)~P∨~Q(4)(7)(34)~P∨~Q(4)(8)(35)~P∨~Q(4)(9)(36)~P∨~Q(4)(10)(37)Q

(5)(7)(38)Q(5)(9)(39)?(5)(12)產(chǎn)生過多不必要的歸結(jié)式。一類是重言式(7)-(10)由它們又產(chǎn)生了(13)-(16),(20)-(23),(26)-(29),(33)-(39)。另一類是重復的,如P,Q,~P,~Q.12/9/2022128人工智能講義歸結(jié)過程的控制策略(盲目歸結(jié))S2(13)P歸結(jié)過程的控制策略刪除策略

設有兩個子句C和D,若有置換ó使得Có?D成立,便說子句C把子句D歸類。例C=P(X)D=P(a)∨Q(a)

取ó={a/x},便有Có=P(a)?{P(a),Q(a)}。刪除策略:若對s使用歸結(jié)推理過程中,當歸結(jié)式Cj是重言式或Cj被S中子句或歸結(jié)式Ci(i<j)歸類時,便將Cj刪除。12/9/2022129人工智能講義歸結(jié)過程的控制策略刪除策略12/7/2022129人工智能講歸結(jié)過程的控制策略支持集策略

支持集:設S的子集T,說T是支持集,如果S-T是可滿足。(目標公式的否定或由它們的后裔產(chǎn)生的子句)策略:每次歸結(jié)時,至少有一個子句來自于T或由T導出的歸結(jié)式。例S={P∨Q,~P∨R,~Q∨R,~R}取T={~R}12/9/2022130人工智能講義歸結(jié)過程的控制策略支持集策略12/7/2022130人工智能歸結(jié)過程的控制策略語義歸結(jié)策略

將子句集S分成兩部分,約定每部分內(nèi)的子句間不允許做歸結(jié)。還引入文字次序,約定歸結(jié)時其中的一個子句被歸結(jié)文字只能是該子句中“最大”的文字。例S={~P∨~Q∨R,P∨R,Q∨R,~R}文字次序:P>Q>R解釋I={~P,~Q,~R}12/9/2022131人工智能講義歸結(jié)過程的控制策略語義歸結(jié)策略12/7/2022131人工智歸結(jié)過程的控制策略線性歸結(jié)策略首先從子句集S中選取一個稱為頂子句的子句C0開始做歸結(jié),其次是歸結(jié)過程中所得到的歸結(jié)式Ci立即同另一個子句Bi進行歸結(jié)得歸結(jié)式Ci+1。而Bi屬于S或是已出現(xiàn)的歸結(jié)式Cj(j<i)。12/9/2022132人工智能講義歸結(jié)過程的控制策略線性歸結(jié)策略12/7/2022132人工智歸結(jié)過程的控制策略單元歸結(jié):在歸結(jié)過程中,每次歸結(jié)都有一個子句是單元(只含一個文字)子句或單元因子時的歸結(jié)過程。12/9/2022133人工智能講義歸結(jié)過程的控制策略單元歸結(jié):12/7/2022133人工智能歸結(jié)過程的控制策略輸入歸結(jié):在歸結(jié)過程中,對兩個子句所做的每一次歸結(jié),其中必須有一個是S的子句時,便稱作輸入歸結(jié)。12/9/2022134人工智能講義歸結(jié)過程的控制策略輸入歸結(jié):12/7/2022134人工智能歸結(jié)過程的控制策略控制策略的方法刪除 => 完備采用支撐集 <=>完備語義歸結(jié) <=> 完備線性歸結(jié) <=>完備單元歸結(jié) => 完備輸入歸結(jié) => 完備12/9/2022135人工智能講義歸結(jié)過程的控制策略控制策略的方法12/7/2022135人工

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論