人工智能教程標(biāo)準(zhǔn)答案_第1頁(yè)
人工智能教程標(biāo)準(zhǔn)答案_第2頁(yè)
人工智能教程標(biāo)準(zhǔn)答案_第3頁(yè)
人工智能教程標(biāo)準(zhǔn)答案_第4頁(yè)
人工智能教程標(biāo)準(zhǔn)答案_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章 緒論1.1答:人工智能確實(shí)是讓機(jī)器完成那些假如由人來(lái)做則需要智能的情況的科學(xué)。人工智能是相關(guān)于人的自然智能而言,即用人工的方法和技術(shù),研制智能機(jī)器或智能系統(tǒng)來(lái)模仿延伸和擴(kuò)展人的智能,實(shí)現(xiàn)智能行為和“機(jī)器思維”,解決需要人類(lèi)專(zhuān)家才能處理的問(wèn)題。1.2答:“智能”一詞源于拉丁“Legere”,意思是收集、匯合,智能通常用來(lái)表示從中進(jìn)行選擇、理解和感受。所謂自然智能確實(shí)是人類(lèi)和一些動(dòng)物所具有的智力和行為能力。智力是針對(duì)具體情況的,依照不同的情況有不同的含義?!爸橇Α笔侵笇W(xué)會(huì)某種技能的能力,而不是指技能本身。1.3答:專(zhuān)家系統(tǒng)是一個(gè)智能的計(jì)算機(jī)程序,他運(yùn)用知識(shí)和推理步驟來(lái)解決只有專(zhuān)家才能解決的

2、復(fù)雜問(wèn)題。即任何解題能力達(dá)到了同領(lǐng)域人類(lèi)專(zhuān)家水平的計(jì)算機(jī)程序度能夠稱(chēng)為專(zhuān)家系統(tǒng)。1.4答:自然語(yǔ)言處理語(yǔ)言翻譯系統(tǒng),金山詞霸系列機(jī)器人足球機(jī)器人模式識(shí)不Microsoft Cartoon Maker博弈圍棋和跳棋第二章 知識(shí)表達(dá)技術(shù)2.1解答:(1)狀態(tài)空間(State Space)是利用狀態(tài)變量和操作符號(hào),表示系統(tǒng)或問(wèn)題的有關(guān)知識(shí)的符號(hào)體系,狀態(tài)空間是一個(gè)四元組(S,O,S0,G):S狀態(tài)集合;O操作算子集合;S0初始狀態(tài),S0S;G目的狀態(tài),GS,(G可若干具體狀態(tài),也可滿(mǎn)足某些性質(zhì)的路徑信息描述)從S0結(jié)點(diǎn)到G結(jié)點(diǎn)的路徑被稱(chēng)為求解路徑。狀態(tài)空間一解是一有限操作算子序列,它使初始狀態(tài)轉(zhuǎn)換為

3、目標(biāo)狀態(tài): O1 O2 O3 Ok S0S1S2G其中O1,Ok即為狀態(tài)空間的一個(gè)解(解往往不是唯一的) (2)謂詞邏輯是命題邏輯的擴(kuò)充和進(jìn)展,它將原子命題分解成客體和謂詞兩個(gè)部分。 與命題邏輯中命題公式相對(duì)應(yīng),謂詞邏輯中也有謂詞(命題函數(shù))公式、原子謂詞公式、復(fù)合謂詞公式等概念。一階謂詞邏輯是謂詞邏輯中最直觀(guān)的一種邏輯。(3)語(yǔ)義網(wǎng)絡(luò)是一種采納網(wǎng)絡(luò)形式表示人類(lèi)知識(shí)的方法。即用一個(gè)有向圖表示概念和概念之間的關(guān)系,其中節(jié)點(diǎn)代表概念,節(jié)點(diǎn)之間的連接弧(也稱(chēng)聯(lián)想弧)代表概念之間的關(guān)系。常見(jiàn)的語(yǔ)義網(wǎng)絡(luò)形式有命題語(yǔ)義網(wǎng)絡(luò)、數(shù)據(jù)語(yǔ)義網(wǎng)絡(luò):E-R圖(實(shí)體-關(guān)系圖)、語(yǔ)言語(yǔ)義網(wǎng)絡(luò)等。2.2解答:(1)GSGS

4、 gMAHMANAREMORTALISAISAISAISA動(dòng)作主體F動(dòng)作對(duì)象(2)colocolorGS gCHWCLOUDHASLINING ISAISAISAISA動(dòng)作主體F動(dòng)作對(duì)象SILVER(3)belongbelongGS gMPSMANAGERSPARTICIPATEPLAN ISAISAISAISA動(dòng)作主體F動(dòng)作對(duì)象BRANCHMANAGERSPROFIT-SHARING PLANISADECISA2.3解答:設(shè)有如下四個(gè)謂詞: HUMAN(X) X是人 LAWED(X) X受法律管制 COMMIT(X) X犯法 PUNISHED(X) X受法律制裁前兩個(gè)謂詞能夠變?yōu)椋篐UMAN

5、(X) LAWED(X),表示:人人都要受法律的管制;后兩個(gè)謂詞能夠變?yōu)椋篊OMMIT(X) PUNISHED(X),表示只要X犯了罪,X就要受到懲處;進(jìn)一步,還能夠把上述兩個(gè)謂詞聯(lián)結(jié)成如下形式:HUMAN(X) LAWED(X) COMMIT(X) PUNISHED(X)本公式的含義是:假如由于某個(gè)X是人而受到法律管制,則那個(gè)人犯了罪就一定要受到懲處。晁蓋是人,受法律的管制(老百姓受法律的管制);因此晁蓋劫了生辰綱,違反了宋王朝的法律,一定要受到官府的追究。高衙內(nèi)是人,卻不受法律的管制(達(dá)官貴人和惡少不受法律的管制);因此高衙內(nèi)強(qiáng)搶民女,同樣是違反了宋王朝的法律,卻能夠橫行無(wú)忌。推得:李、徐

6、、周、鈔票是同一性不2.4解答:題中提供的條件可記為,依次利用這些條件可得到如下結(jié)果:推得:李、徐、周、鈔票是同一性不(1)條件:周和鈔票是同一性不;條件:李、徐、周是同一性不;條件:李的愛(ài)人是陳的愛(ài)人的表哥,則李的愛(ài)人性不是男,而李的性不是女推得:陳與鈔票是夫妻如此能夠初步推出:李、徐、周、鈔票均是女的,對(duì)應(yīng)的王、陳、孫、吳均是男的。推得:陳與鈔票是夫妻(2)條件:陳與徐、周俊不構(gòu)成夫妻,則陳選擇的余地為鈔票或李;條件:李與陳不構(gòu)成夫妻;條件:吳與徐、周均不構(gòu)成夫妻,則吳選擇的余地為李;推得:吳與李是夫妻條件:王與周不構(gòu)成夫妻,則王選擇的余地為徐;推得:王與徐是夫妻排除上述差不多成立的條件,

7、顯然可推得:孫與周是夫妻。2.5解答:符號(hào)微積分差不多公式為用產(chǎn)生式表示為:If f(x) and (a,b) Then F(b)-F(a)2.6解答:題中描述的情況用謂詞形式可表達(dá)如下:DOG(X) X是狗SOUND(X) X會(huì)吠叫BIT(X,Y) X咬YANIMAL(X) X是動(dòng)物題中各條推理則能夠表示為:P1: x DOG(X) yBIT(X,Y)SOUND(X)P2: :x(ANIMAL(X) SOUND(X)) yBIT(X,Y)P3: 獵犬是狗,即DOG(X)種X的謂詞樣品是獵犬,同時(shí)也可得ANIMAL(獵犬)將P3帶入P1可得SOUND(獵犬),再將SOUND(獵犬)和ANIMA

8、L(獵犬)帶入P2可得yBIT(獵犬,Y),即能夠得到結(jié)果:獵犬是咬人的。2.7解答:題中的三條規(guī)則側(cè)重點(diǎn)不同:R1規(guī)則的重點(diǎn)在于我?guī)煹娜蝿?wù);R2規(guī)則的重點(diǎn)在于敵團(tuán)的配置;R3規(guī)則的重點(diǎn)在于我?guī)煹娜蝿?wù)和敵團(tuán)的配置同時(shí)滿(mǎn)足。它們之間的關(guān)系為R1 R2 R3。因此依照沖突解決規(guī)則中的規(guī)模排序,可知首先應(yīng)該選擇規(guī)則R3,系統(tǒng)執(zhí)行才最有效。2.8 解答:ZZIBCLYDE是ISAISAISA動(dòng)作主體動(dòng)作對(duì)象知更鳥(niǎo)鳥(niǎo)ISACL-1ISACF會(huì)飛ISAISAHN占有巢ISATIMESTA春天到秋天ISAISAISA鴕鳥(niǎo)非2.9 解答:(1)搖搖海浪戰(zhàn)艦輕輕地動(dòng)作主體動(dòng)作對(duì)象動(dòng)作方式(2)2.10 解答:

9、TV TV TP TD TBZ TB圖書(shū)館框架A工業(yè)技術(shù)一般工業(yè)技術(shù)礦業(yè)工程自動(dòng)化技術(shù)、計(jì)算機(jī)技術(shù)水利工程書(shū)名作者ISBN出版時(shí)刻出版社2.11解答:在產(chǎn)生式系統(tǒng)中,隨著產(chǎn)生式規(guī)則的數(shù)量的增加,系統(tǒng)設(shè)計(jì)者難以理解規(guī)則間的相互作用,究其緣故,在于每條規(guī)則的自含性使得知識(shí)表示的力度過(guò)于細(xì)微。因此要提高產(chǎn)生式系統(tǒng)的可理解性,就應(yīng)當(dāng)按照軟件工程的思想,通過(guò)對(duì)規(guī)則的適當(dāng)劃分,將規(guī)則組織誠(chéng)易于治理的功能模塊。由于框架系統(tǒng)具有組織成塊知識(shí)的良好特性,因此將兩者進(jìn)行有機(jī)結(jié)合,能夠?yàn)楫a(chǎn)生式系統(tǒng)的開(kāi)發(fā)、調(diào)試和治理提供有益的關(guān)心?;诳蚣艿谋硎緳C(jī)制能夠用作產(chǎn)生式語(yǔ)言和推理機(jī)制設(shè)計(jì)的一個(gè)重要構(gòu)件。另外,框架能夠直接用

10、于表示規(guī)則,假如將每一個(gè)規(guī)則作為一個(gè)框架處理,一組用于解決特定問(wèn)題的規(guī)則可組織成一類(lèi),且在這一類(lèi)框架中表示這組規(guī)則的各種特性。2.12 解答:略2.13 解答:(1)題目描述可轉(zhuǎn)換為如下問(wèn)題(N階漢諾塔問(wèn)題)有編號(hào)為A、B、C 的三個(gè)柱子和標(biāo)識(shí)為1、2、N的尺寸依次從小到大的N個(gè)有中心孔的金片;初始狀態(tài)下N個(gè)金片按1、2、N 順序堆放在A號(hào)柱子上,目標(biāo)狀態(tài)下N個(gè)金片以同樣次序順序堆放在B 號(hào)柱子上,金片的搬移須遵守以下規(guī)則:每次只能搬一個(gè)金片,且較大金片不能壓放在較小金片之上,能夠借助于C針。(2)假設(shè)差不多操作為move(x,A,C,B),表示將x個(gè)金片從A移到B上,中間可借助于C。當(dāng)N=1

11、時(shí),則無(wú)需借助中間的C針,就能夠直接實(shí)現(xiàn)將1個(gè)金片從A移到B上,這也是問(wèn)題的最簡(jiǎn)操作,可表示為move-one(1,A,B);當(dāng)N1時(shí),需要用中間的C針作輔助。其操作又可分為以下三步: 將N-1個(gè)金片從A移到C上,中間可借助于B,轉(zhuǎn)換為差不多操作確實(shí)是move(N-1,A, B, C); 將1個(gè)金片直接從A移到B上,轉(zhuǎn)換為差不多操作確實(shí)是move-one(1,A,B); 將N-1個(gè)金片從C移到B上,中間可借助于A,轉(zhuǎn)換為差不多操作確實(shí)是move(N-1, C, A, B);如此,就將問(wèn)題的規(guī)模減小為N-1,依次遞歸求解就能夠得到相應(yīng)的結(jié)果。(3)設(shè)M(x)表示移動(dòng)x個(gè)金片所需要的操作次數(shù),則上

12、述N階漢諾塔問(wèn)題能夠表示成如下形式:M(1)=1M(N)=2M(N-1)+1最后能夠解得M(N)=2N-1下面給出對(duì)梵塔問(wèn)題給出產(chǎn)生式系統(tǒng)描述,并討論N為任意時(shí)狀態(tài)空間的規(guī)模。(1)綜合數(shù)據(jù)庫(kù)定義三元組:(A, B, C),其中A, B, C分不表示三根立柱,均為表,表的元素為1N之間的整數(shù),表示N個(gè)不同大小的盤(pán)子,數(shù)值小的數(shù)表示小盤(pán)子,數(shù)值大的數(shù)表示大盤(pán)子。表的第一個(gè)元素表示立柱最上面的柱子,其余類(lèi)推。(2)規(guī)則集為了方便表示規(guī)則集,引入以下幾個(gè)函數(shù):first(L):取表的第一個(gè)元素,關(guān)于空表,first得到一個(gè)專(zhuān)門(mén)大的大于N的數(shù)值。tail(L):取表除了第一個(gè)元素以外,其余元素組成的表

13、。cons(x, L):將x加入到表L的最前面。規(guī)則集:r1: IF (A, B, C) and (first(A) first(B) THEN (tail(A), cons(first(A), B), C)r2: IF (A, B, C) and (first(A) first(C) THEN (tail(A), B, cons(first(A), C) r3: IF (A, B, C) and (first(B) first(C) THEN (A, tail(B), cons(first(B), C)r4: IF (A, B, C) and (first(B) first(A) THEN

14、(cons(first(B), A), tail(B), C)r5: IF (A, B, C) and (first(C) first(A) THEN (cons(first(C), A), B, tail(C)r6: IF (A, B, C) and (first(C) first(B) THEN (A, cons(first(C), B), tail(C) (3)初始狀態(tài):(1,2,.,N),(),()(4)結(jié)束狀態(tài):(),(),(1,2,.,N)問(wèn)題的狀態(tài)規(guī)模:每一個(gè)盤(pán)子都有三種選擇:在A上、或者在B上、或者在C上,共N個(gè)盤(pán)子,因此共有種可能。即問(wèn)題的狀態(tài)規(guī)模為。 2.14 解答:(1)

15、定義謂詞G(x,y):x比y大,個(gè)體有張三(zhang)、李四(li),將這些個(gè)體帶入謂詞中,得到G(zhang,li)和G(zhang,li),依照語(yǔ)義用邏輯連接詞將它們聯(lián)結(jié)起來(lái)就得到表示上述知識(shí)的謂詞公式:G(zhang,li) G(zhang,li)。(2) 定義謂詞Marry(x,y):x和y結(jié)婚,Male(x):x是男的,F(xiàn)emale(x):x是女的。個(gè)體有甲(A)、乙(B),將這些個(gè)體帶入謂詞中,得到Marry(A,B)、Male(A)、Female(B)以及Male(A)、Female(B),依照語(yǔ)義用邏輯連接詞將它們聯(lián)結(jié)起來(lái)就得到表示上述知識(shí)的謂詞公式:Marry(A,B) (

16、Male(A)Female(B)(Male(B)Female(A)(3) 定義謂詞Honest(x):x是老實(shí)的,Lying(x):x會(huì)講謊。個(gè)體有張三(zhang),將這些個(gè)體帶入謂詞中,得到Honest(x)、Lying(x)、Lying(zhang)、Honest(zhang),依照語(yǔ)義用邏輯連接詞將它們聯(lián)結(jié)起來(lái)就得到表示上述知識(shí)的謂詞公式: x (Honest(x) Lying(x) (Lying(zhang) Honest(zhang)第三章 問(wèn)題求解方法3.1答:深度優(yōu)先搜索與廣度優(yōu)先搜索的區(qū)不在于:在對(duì)節(jié)點(diǎn)n進(jìn)行擴(kuò)展時(shí),其后繼節(jié)點(diǎn)在OPEN表中的存放位置不同。廣度優(yōu)先搜索是將后繼

17、節(jié)點(diǎn)放入OPEN表的末端,而深度優(yōu)先搜索則是將后繼節(jié)點(diǎn)放入OPEN表的前端。廣度優(yōu)先搜索是一種完備搜索,即只要問(wèn)題有解就一定能夠求出,而深度優(yōu)先搜索是不完備搜索。在不要求求解速度且目標(biāo)節(jié)點(diǎn)的層次較深的情況下,廣度優(yōu)先搜索優(yōu)于深度優(yōu)先搜索;在要求求解速度且目標(biāo)節(jié)點(diǎn)的層次較淺的情況下,深度優(yōu)先搜索優(yōu)于廣度優(yōu)先搜索。廣度優(yōu)先的正例:積木問(wèn)題;深度優(yōu)先的正例:郵遞員問(wèn)題,反例:國(guó)際象棋。3.2答:衡量標(biāo)準(zhǔn)為:這組子狀態(tài)中有沒(méi)有目標(biāo)狀態(tài),假如有,則選擇該節(jié)點(diǎn)同時(shí)搜索成功;若沒(méi)有,則按照某種操縱策略從已生成的狀態(tài)中再選擇一個(gè)狀態(tài)作為當(dāng)前狀態(tài)重復(fù)搜索過(guò)程。3.3答:(1)廣度優(yōu)先搜索:該程序必須找到解,同時(shí)

18、最好是最優(yōu)解; (2)廣度優(yōu)先搜索:大夫要依照病人的各種病狀推斷病人的病; (3)深度優(yōu)先搜索:該程序要求一定要找到目標(biāo)路徑; (4)深度優(yōu)先搜索:該程序要求找到最優(yōu)解; (5)廣度優(yōu)先搜索:不能確定它們是否等同,既不能確定它們是否有等同解。3.4答:關(guān)于四皇后問(wèn)題,假如放一個(gè)皇后的耗散值為1的話(huà),則任何一個(gè)解的耗散值差不多上4。因此假如h是對(duì)該耗散值的可能,是沒(méi)有意義的。關(guān)于像四皇后如此的問(wèn)題,啟發(fā)函數(shù)應(yīng)該是對(duì)找到解的可能性的評(píng)價(jià)。利用一個(gè)位置放皇后后,消去的對(duì)角線(xiàn)的長(zhǎng)度來(lái)進(jìn)行評(píng)價(jià)。3.5答:定義h1=M+C-2B,其中M,C分不是在河的左岸的傳教士人數(shù)和野人人數(shù)。B1表示船在左岸,B0表示

19、船在右岸。也能夠定義h2=M+C。h1是滿(mǎn)足A*條件的,而h2不滿(mǎn)足。要講明h2M+C不滿(mǎn)足A*條件是專(zhuān)門(mén)容易的,只需要給出一個(gè)反例就能夠了。比如狀態(tài)(1, 1, 1),h2=M+C=1+1=2,而實(shí)際上只要一次擺渡就能夠達(dá)到目標(biāo)狀態(tài),其最優(yōu)路徑的耗散值為1。因此不滿(mǎn)足A*的條件。下面我們來(lái)證明h1M+C-2B是滿(mǎn)足A*條件的。我們分兩種情況考慮。先考慮船在左岸的情況。假如不考慮限制條件,也確實(shí)是講,船一次能夠?qū)⑷藦淖蟀哆\(yùn)到右岸,然后再有一個(gè)人將船送回來(lái)。如此,船一個(gè)來(lái)回能夠運(yùn)過(guò)河2人,而船仍然在左岸。而最后剩下的三個(gè)人,則能夠一次將他們?nèi)繌淖蟀哆\(yùn)到右岸。因此,在不考慮限制條件的情況下,也

20、至少需要擺渡次。其中分子上的3表示剩下三個(gè)留待最后一次運(yùn)過(guò)去。除以2是因?yàn)橐粋€(gè)來(lái)回能夠運(yùn)過(guò)去2人,需要個(gè)來(lái)回,而來(lái)回?cái)?shù)不能是小數(shù),需要向上取整,那個(gè)用符號(hào)表示。而乘以2是因?yàn)橐粋€(gè)來(lái)回相當(dāng)于兩次擺渡,因此要乘以2。而最后的1,則表示將剩下的3個(gè)運(yùn)過(guò)去,需要一次擺渡?;?jiǎn)有:再考慮船在右岸的情況。同樣不考慮限制條件。船在右岸,需要一個(gè)人將船運(yùn)到左岸。因此關(guān)于狀態(tài)(M,C,0)來(lái)講,其所需要的最少擺渡數(shù),相當(dāng)于船在左岸時(shí)狀態(tài)(M+1,C,1)或(M,C+1,1)所需要的最少擺渡數(shù),再加上第一次將船從右岸送到左岸的一次擺渡數(shù)。因此所需要的最少擺渡數(shù)為:(M+C+1)-2+1 。其中(M+C+1)的1表

21、示送船回到左岸的那個(gè)人,而最后邊的1,表示送船到左岸時(shí)的一次擺渡?;?jiǎn)有:(M+C+1)-2+1=M+C。綜合船在左岸和船在右岸兩種情況下,所需要的最少擺渡次數(shù)用一個(gè)式子表示為:M+C-2B。其中B1表示船在左岸,B0表示船在右岸。 由于該擺渡次數(shù)是在不考慮限制條件下,推出的最少所需要的擺渡次數(shù)。因此,當(dāng)有限制條件時(shí),最優(yōu)的擺渡次數(shù)只能大于等于該擺渡次數(shù)。因此該啟發(fā)函數(shù)h是滿(mǎn)足A*條件的。3.6答:在搜索期間改善h函數(shù),是一種動(dòng)態(tài)改變h函數(shù)的方法。像改進(jìn)的A*算法中,對(duì)NEXT中的節(jié)點(diǎn)按g值的大小選擇待擴(kuò)展的節(jié)點(diǎn),相當(dāng)于令這些節(jié)點(diǎn)的h0,確實(shí)是動(dòng)態(tài)修改h函數(shù)的一種方法。由定理2:若h(n)滿(mǎn)足

22、單調(diào)限制,則由A*所擴(kuò)展的節(jié)點(diǎn)序列,其f值是非遞減的,即f(ni)f(nj)),當(dāng)h滿(mǎn)足單調(diào)條件時(shí),A*所擴(kuò)展的節(jié)點(diǎn)序列,其f是非遞減的。關(guān)于任何節(jié)點(diǎn)i,j,假如j是i的子節(jié)點(diǎn),則有f(i)f(j)。利用該性質(zhì),我們能夠提出另一種動(dòng)態(tài)修改h函數(shù)的方法:f(j)=max(f(i), f(j)以f(j)作為節(jié)點(diǎn)j的f值。f值的改變,隱含了h值的改變。當(dāng)h不滿(mǎn)足單調(diào)條件時(shí),通過(guò)如此修正后的h具有一定的單調(diào)性質(zhì),能夠減少重復(fù)節(jié)點(diǎn)的可能性。3.7答:像這種類(lèi)型的問(wèn)題,由于涉及到都市距離或旅行費(fèi)用,因此利用代價(jià)樹(shù)廣度優(yōu)先搜索求解。為此,首先必須將旅行交通圖轉(zhuǎn)換為代價(jià)樹(shù),轉(zhuǎn)換方法為:從初始節(jié)點(diǎn)A開(kāi)始,把與它

23、直接相鄰的節(jié)點(diǎn)作為他的后繼節(jié)點(diǎn),對(duì)其他節(jié)點(diǎn)也作同樣的擴(kuò)展,但若一個(gè)節(jié)點(diǎn)以作為某節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn),則它就不能再作為該結(jié)點(diǎn)的后繼結(jié)點(diǎn)。另外,圖中節(jié)點(diǎn)除了初始節(jié)點(diǎn)A之外,其它的節(jié)點(diǎn)都有可能在代價(jià)樹(shù)中多次出現(xiàn),為了區(qū)分它們的多次出現(xiàn),分不用下標(biāo)1,2標(biāo)出。但他們卻是圖中的同一個(gè)節(jié)點(diǎn)。設(shè)估價(jià)函數(shù)f(n)=d(n)+w(n),其中d(n)為狀態(tài)的深度,w(n)為都市間的距離。代價(jià)樹(shù)如下所示:ACEBDA定義h1=n*k,其中n是還未走過(guò)的都市數(shù),k是還未走過(guò)的都市間距離的最小值。 h2,其中n是還未走過(guò)的都市數(shù),ki是還未走過(guò)的都市間距離中n個(gè)最小的距離。 顯然這兩個(gè)h函數(shù)均滿(mǎn)足A*條件。3.8答:可定義h

24、為:hB右邊的W的數(shù)目設(shè)j節(jié)點(diǎn)是i節(jié)點(diǎn)的子節(jié)點(diǎn),則依照走法不同,h(i)-h(j)的值和C(i, j)分為如下幾種情況:(1)B或W走到了相鄰的一個(gè)空格位置,現(xiàn)在: h(i)-h(j)=0, C(i,j)=1;(2)W躍過(guò)了1或2個(gè)W,現(xiàn)在 h(i)-h(j)=0, C(i,j)=1或2; (3)W向右躍過(guò)了一個(gè)B(可能同時(shí)包含一個(gè)W),現(xiàn)在: h(i)-h(j)=-1, C(i,j)=1或2;(4)W向右躍過(guò)了兩個(gè)B,現(xiàn)在: h(i)-h(j)=-2, C(i,j)=2; (5)W向左躍過(guò)了一個(gè)B(可能同時(shí)包含一個(gè)W),現(xiàn)在: h(i)-h(j)=1, C(i,j)=1或2; (6)W向左躍

25、過(guò)了兩個(gè)B,現(xiàn)在: h(i)-h(j)=2, C(i,j)=2; (7)B躍過(guò)了1或2個(gè)B,現(xiàn)在 h(i)-h(j)=0, C(i,j)=1或2; (8)B向右躍過(guò)了一個(gè)W(可能同時(shí)包含一個(gè)B),現(xiàn)在: h(i)-h(j)=1, C(i,j)=1或2;(9)B向右躍過(guò)了兩個(gè)W,現(xiàn)在: h(i)-h(j)=2, C(i,j)=2;(10)B向左躍過(guò)了一個(gè)W(可能同時(shí)包含一個(gè)B),現(xiàn)在: h(i)-h(j)=-1, C(i,j)=1或2; (11)B向左躍過(guò)了兩個(gè)W,現(xiàn)在: h(i)-h(j)=-2, C(i,j)=2;縱上所述,不管是哪一種情況,具有:h(i)-h(j)C(i,j)。且容易驗(yàn)證h

26、(t)=0,因此該h是單調(diào)的。由于h滿(mǎn)足單調(diào)條件,因此也一定有h(n)h*(n),即滿(mǎn)足A*條件。3.9答: 3.10答:(1)余一棋的弈法如下:兩棋手能夠從5個(gè)鈔票幣堆中輪流拿走一個(gè)、兩個(gè)或三個(gè)鈔票幣,揀起最后一個(gè)鈔票幣者算輸。試通過(guò)博弈證明,后走的選手必勝,并給出一個(gè)簡(jiǎn)單的特征標(biāo)記來(lái)表示取勝策略。為了方便起見(jiàn),用(AB)()()如此的表表示一個(gè)狀態(tài)。如此得到搜索圖如下: (2)八數(shù)碼問(wèn)題 空格:Up,Left,Down,Right3.11答:(1)與/或圖的解圖:那些可解結(jié)點(diǎn)的子圖,包含一結(jié)點(diǎn)到目的結(jié)點(diǎn)集的、連通的可解結(jié)點(diǎn)的子圖。在問(wèn)題的完整的隱含圖中擴(kuò)展生成出包含初始結(jié)點(diǎn)和目的結(jié)點(diǎn)集合的

27、連通的明顯子圖。(2)算法AO*:必須對(duì)當(dāng)前已生成出的與或圖中的所有結(jié)點(diǎn)實(shí)施其每解點(diǎn)是否為可解結(jié)點(diǎn)的標(biāo)注過(guò)程,假如起始結(jié)點(diǎn)被標(biāo)注為可解的,則搜索過(guò)程可成功地結(jié)束;假如起始結(jié)點(diǎn)還不能被標(biāo)注為可解的,則應(yīng)當(dāng)接著擴(kuò)展生成結(jié)點(diǎn)(盡可能地記錄,所有生成的結(jié)點(diǎn)中,哪些結(jié)點(diǎn)被標(biāo)注了可解的,以便減少下一次標(biāo)注過(guò)程的工作量);同樣地,對(duì)不可解結(jié)點(diǎn)也同樣如此。 利用結(jié)點(diǎn)的可解/不可解性質(zhì),能從搜索圖中刪去可解結(jié)點(diǎn)的任何不可解結(jié)點(diǎn)的子結(jié)點(diǎn);同樣地,能刪去不可解結(jié)點(diǎn)的所有的子結(jié)點(diǎn)(搜索這些被刪除的結(jié)點(diǎn)是沒(méi)有意義的,而只會(huì)降低搜索的效率)。兩個(gè)要緊過(guò)程的反復(fù):自上而下的圖生長(zhǎng)過(guò)程,并通過(guò)跟蹤有標(biāo)記的連接符查找一個(gè)候選局

28、部解圖自下而上的估價(jià)函數(shù)值的修正、連接符的標(biāo)記和SOLVED的標(biāo)注過(guò)程(3)3.12答:此題要求按照課中例題的方式,給出算法,以下是每個(gè)循環(huán)結(jié)束時(shí)的搜索圖。上面這種做法比較簡(jiǎn)單,也能夠如下做:3.13答:略3.14答:博弈搜索通常被限制在一定的范圍,搜索的目標(biāo)是確定一步好的走法(好棋),等對(duì)手回手后,再接著搜索。因此,博弈搜索過(guò)程總是由當(dāng)前狀態(tài)向目標(biāo)狀態(tài)搜索,而不是由目標(biāo)狀態(tài)向當(dāng)前狀態(tài)搜索。這類(lèi)博弈的實(shí)例有西洋跳棋等。3.15答:8(3,0,8)(7,8,3)、(0,6)、(8,9)(7,6)、(8,6,5)、(2,3)、(0,-2)、(6,2)、(5,8)、(9,2) 3.16答: 見(jiàn)上圖3

29、.17答:略3.18答:剪裁算法. 剪裁若微小層的(先輩層)則中止那個(gè)MAX以下的搜索 算法如下: double alphabeta( int depth, double alpha, double beta, Position p); /* alpha是MAX的當(dāng)前值 beta是MIN的當(dāng)前值,depth 是在搜索樹(shù)中的深度,p是所求結(jié)點(diǎn)的位置*/ double t; if( depth=0 ) return evaluate(p); /* 假如P是葉結(jié)點(diǎn),算出P的值 */ for( i=1; i alpha&MAX) if(t beta) return t; /*直接返回*/ else a

30、lpha = t; if( talpha&MIN) if(tAlpine(x)Skier(x)Alpinist(x) (5) (x)Alpinist(x)Like(x, Rain) = (x)Alpinist(x)Like(x, Rain) =Alpinist(x)Like(x, Rain)(6) (x)Like(x, Snow) Skier(x) = (x)Like(x, Snow) Skier(x) = Like(x, Snow) Skier(x)(7)(x)Like(Tony, x)Like(Mike, x) = (x)Like(Tony, x)Like(Mike, x) =Like(T

31、ony, x)Like(Mike, x) (8) (x)Like(Tony, x)Like(Mike, x) = (x)Like(Tony, x)Like(Mike, x) = Like(Tony, x)Like(Mike, x)(9) Like(Tony, Snow) (10) Like(Tony, Rain) 目標(biāo)取反:(x)Alpine(x)Alpinist(x)Skier(x)= (x)Alpine(x)Alpinist(x)Skier(x) =Alpine(x)Alpinist(x)Skier(x)經(jīng)變量換名后,得到子句集: Alpine(Tony), Alpine(Mike), A

32、lpine(John), Alpine(x1)Skier(x1)Alpinist(x1), Alpinist(x2)Like(x2, Rain), Like(x3, Snow) Skier(x3), Like(Tony, x4)Like(Mike, x4), Like(Tony, x5)Like(Mike, x5), Like(Tony, Snow), Like(Tony, Rain), Alpine(x)Alpinist(x)Skier(x) 歸結(jié)樹(shù)如下:4.10答:基于規(guī)則的演繹推理可分為正向演繹推理、反向演繹推理和正反向混合演繹推理。在正向演繹推理中,作為F規(guī)則用的蘊(yùn)含式對(duì)事實(shí)的總數(shù)據(jù)庫(kù)

33、進(jìn)行操作運(yùn)算,直至得到該目標(biāo)公式的一個(gè)終止條件為止。事實(shí) 目標(biāo)公式在反向演繹推理中,作為B規(guī)則用的蘊(yùn)含式對(duì)目標(biāo)的總數(shù)據(jù)庫(kù)進(jìn)行操作運(yùn)算,直至得到包含這些事實(shí)的終止條件為止。目標(biāo)公式 事實(shí)4.11答:第五章 不精確推理5.1答:不精確推理是建立在非經(jīng)典邏輯基礎(chǔ)上的一種推理,是基于不確定性知識(shí)的推理。不精確推理確實(shí)是從不確定性的初始事實(shí)(證據(jù))動(dòng)身,通過(guò)運(yùn)用不確定性的知識(shí),最終推出具有一定程度的不確定性卻是合理或者近乎合理的結(jié)論的思維過(guò)程。在不精確推理中,知識(shí)和證據(jù)都具有不確定性,這為推理機(jī)的設(shè)計(jì)與實(shí)現(xiàn)增加了復(fù)雜度和難度。它除了必須解決推理方向、推理方法和操縱策略等差不多問(wèn)題外,一般還需要解決不確定

34、性的表示、不確定性的匹配和不確定性的更新算法等問(wèn)題。 5.2答:有明確定義但不一定出現(xiàn)的事件中包含的不確定性稱(chēng)為隨機(jī)性,他不因人的主觀(guān)意思變化,由事物本身的因果律決定。不精確推理確實(shí)是表示和處理隨機(jī)性的推理方法。5.3答:(1)當(dāng)有一個(gè)證據(jù)E1時(shí),依照Bayes公式,可得= =0.4*0.5/(0.4*0.5+0.3*0.3+0.3*0.5)=0.2/0.44=0.45同理可得:=0.09/0.44=0.20 =0.15/0.44=0.34 這講明,由于證據(jù)E1的出現(xiàn),H1和H3成立的可能性有所增加,而H2成立的可能性有所下降。(2)當(dāng)證據(jù)E1、E2同時(shí)出現(xiàn)時(shí),依照多證據(jù)情況下的Bayes公式

35、,可得=0.14/(0.14+0.162+0.009)=0.59同理可得:0.34 0.064 這講明,由于證據(jù)E1和E2的出現(xiàn),H1和H2成立的可能性有不同程度的增加,而H3成立的可能性則有了較大幅度的下降。5.4答: LSLS為規(guī)則的充分性量度,它反映E的出現(xiàn)對(duì)H的支持程度。當(dāng)LS=1時(shí),O (H|E)= O(H),講明E對(duì)H沒(méi)有阻礙;當(dāng)LS1時(shí),O(H|E)O(H),講明E支持H,且LS越大,E對(duì)H的支持越充分,若LS為,則E為真時(shí)H就為真;當(dāng)LS1時(shí),O(H|E)1時(shí),O(H|E)O(H),講明E支持H,且LN越大,E對(duì)H的支持越充分,若LN為,則E為真時(shí)H就為真;當(dāng)LN1時(shí),O(H|

36、E)1且LN1情形2:LS1情形3:LS=LN=1 5.5答:5.6答:依照經(jīng)驗(yàn)對(duì)一個(gè)事物或現(xiàn)象為確實(shí)相信程度稱(chēng)為可信度。規(guī)則的一般形式為:IF E THEN H (CF(H, E))。其中,CF(H,E)是該規(guī)則的可信度,稱(chēng)為可信度因子或規(guī)則強(qiáng)度。CF(H, E)在-1,1上取值,它表示在已知證據(jù)E的情況下對(duì)假設(shè)H為確實(shí)支持程度。CF(H, E)定義如下:CF(H,E)= MB(H,E)MD(H,E)。其中,MB(Measure Belief)稱(chēng)為信任增長(zhǎng)度,表示因證據(jù)E的出現(xiàn)而增加對(duì)假設(shè)H為確實(shí)信任增加程度MB(H, E)0 P(H|E)P(H);MD(Measure Disbelief)

37、稱(chēng)為不信任增長(zhǎng)度,表示因證據(jù)E的出現(xiàn)對(duì)假設(shè)H為假的信任減少的程度MD(H, E)0 P(H|E)P(H)。 5.7答:HHE2E1E5E6E7E3E4R2R1R3R4ANDORR5(1)求證據(jù)E3、E4邏輯組合的可信度CF(E3 AND E4)=minCF(E3),CF(E4)=min0.5,09=0.8(2)依照規(guī)則R3求CF(E1) CF(E1)=0.9max0, CF(E3 AND E4)=0.90.8=0.72(3)求證據(jù)E6、E7邏輯組合的可信度CF(E6 OR E7)=maxCF(E6),CF(E7)=max0.1,0.5=0.5(4)依照規(guī)則R5求CF1(E2) CF1(E2)=

38、-0.3max0, CF(E6 OR E7)=-0.30. 5=-0.15(5)依照規(guī)則R4求CF2(E2) CF2(E2)=0.7max0, CF(E5)=0.70. 8=-0.56(6)依照規(guī)則R5求CF1(E2) CF1(E2)=-0.3max0, CF(E6 OR E7)=-0.30. 5=-0.15(7)組合由獨(dú)立證據(jù)導(dǎo)出的假設(shè)E2的可信度CF1(E2)、CF2(E2),得到E2的綜合可信度CF(E2)CF(E2)=CF1(H)+CF2(H)=0.56-0.15=0.41(8)依照規(guī)則R1求CF1(H1) CF1(H1)=0.8max0, CF(E1)=0.80. 72=-0.576

39、(8)依照規(guī)則R2求CF2(H1) CF2(H1)=0.9max0, CF(E2)=0.90. 41=-0.369(9)組合由獨(dú)立證據(jù)導(dǎo)出的假設(shè)H1的可信度CF1(H1)、CF2(H1),得到H1的綜合可信度CF(H1)CF(H)=CF1(H)+CF2(H)-CF1(H)CF2(H)=0.576+0.369-0.5760.369=0.7235.8答:差不多出現(xiàn)但難以給出精確定義的事件中包含的不確定性稱(chēng)為模糊性,是由事物的概念界限模糊和人的主觀(guān)推理與推斷產(chǎn)生的。而有明確定義但不一定出現(xiàn)的事件中包含的不確定性稱(chēng)為隨機(jī)性,他不因人的主觀(guān)意思變化,由事物本身的因果律決定。不精確推理確實(shí)是表示和處理隨機(jī)

40、性的推理方法。兩者之間有著本質(zhì)的區(qū)不。5.9答:=0.5/x1+0.65/x2+0.8/x3+0.9/x4+0.7/x5; =0.85/x1+0.7/x2+0.9/x3+0.98/x4+0.77/x5; =0.15/x1+0.3/x2+0.1/x3+0.1/x4+0.3/x5。5.10答: =5.11答:模糊推理實(shí)質(zhì)上是在模糊集合上進(jìn)行操作。在同一論域中,證據(jù)的“與”、“或”、“非”運(yùn)算通常能夠?qū)?yīng)于模糊集的交、并、求補(bǔ)操作;不同論域中的邏輯運(yùn)算一般需拓廣至笛卡爾意義下的相應(yīng)操作。邏輯推理是通過(guò)邏輯蘊(yùn)含實(shí)現(xiàn)的。設(shè)U和V為兩個(gè)論域,A是U上的模糊子集,B是V上的模糊子集,則規(guī)則IF A THEN

41、 B能夠定義為UV上的一個(gè)模糊關(guān)系:或等價(jià)表示成:第六章 PROLOG語(yǔ)言6.3答:(1)目標(biāo)不成功(2)目標(biāo)不成功(3)目標(biāo)成功,x,y,z被例化為x1,y1,z1(4)目標(biāo)不成功(5)目標(biāo)不成功6.4答:poglog規(guī)則Is_mother(x):_mother(x,y)Is_father(x):_father(x,y)Is_son(x):_father(y,x),male(x)Grandpa(x,y):_father(x,y1),father(y1,y)Sibling(x,y):_diff(x,y),mother(z1,x),mother(z1,y),father(z2,x), fathe

42、r(z2,y),parent(x,y)6.5答:(1) HYPERLINK /view/downloads76/sourcecode/math/290405/family1.cl_.htm t _blank family1.cl 文件頭:/* Copyright (c) Sabu Francis Associates*/class family1 open core predicates classInfo : core:classInfo. % short Class information predicate. % detail This predicate represents info

43、rmation predicate of this class. % end predicates run : core:runnable.end class family1(2) HYPERLINK /view/downloads76/sourcecode/math/290405/family1.pack_.htm t _blank family1.pack文件頭:/* Copyright (c) Sabu Francis Associates*/#include family1.ph% privately used packages#include pfcfilesystemfilesys

44、tem.ph#include pfcapplicationexeexe.ph#include pfcconsoleconsole.ph#include pfcexceptionexception.ph% private interfaces% private classes% implementations#include (3) HYPERLINK /view/downloads76/sourcecode/math/290405/family1.ph_.htm t _blank family1.ph文件頭:/* Copyright (c) Sabu Francis Associates*/#

45、requires family1.pack% publicly used packages#include pfccore.ph% exported interfaces% exported classes#include family1.cl(4)family1.prj6文件頭:/* Copyright (c) Sabu Francis Associates*/implement family1 open core constants className = family1. classVersion = $JustDate: $Revision: $. clauses classInfo(

46、className, classVersion). domains gender = female(); male(). class facts - familyDB person : (string Name, gender Gender). parent : (string Person, string Parent). class predicates father : (string Person, string Father) nondeterm anyflow. clauses father(Person, Father) :- parent(Person, Father), pe

47、rson(Father, male(). class predicates grandFather : (string Person, string GrandFather) nondeterm (o,o). clauses grandFather(Person, GrandFather) :- parent(Persoicates)文件尾: reconsult : (string FileName). clauses reconsult(FileName) :- retractFactDB(familyDB), file:consult(FileName, familyDB). clause

48、s run():- console:init(), stdIO:write(Load datan), reconsult(.fa.txt), stdIO:write(nfather testn), father(X, Y), stdIO:writef(% is the father of %n, Y, X), fail. run():- stdIO:write(ngrandFather testn), grandFather(X, Y), stdIO:writef(% is the grandfather of %n, Y, X), fail. run():- stdIO:write(nanc

49、estor of Pam testn), X = Pam, ancestor(X, Y), stdIO:writef(% is the ancestor of %n, Y, X), fail. run():- stdIO:write(End of testn).end implement family1goal mainExe:run(family1:run).(5) HYPERLINK /view/downloads76/sourcecode/math/290405/_.htm t _blank 補(bǔ)充習(xí)題:1.編寫(xiě)一 Prolog程序使得你能和計(jì)算機(jī)“交談”(Conversations wi

50、th a computer)。下圖顯示了對(duì)話(huà)時(shí)的情景,字體加粗的語(yǔ)句表示用戶(hù)從鍵盤(pán)輸入的內(nèi)容,其他則是計(jì)算機(jī)的回答。HELLOHIDO YOU WANT TO TALKNO I WANT TO SLEEPYOU ARE A STUPID COMPUTERI AM A NICE COMPUTER1.答:domains /*領(lǐng)域段,講明程序要用到的數(shù)據(jù)類(lèi)型*/ words=string sentence=words*predicates /*謂詞段,講明程序要用到的謂詞名和參數(shù)*/ nondeterm talk nondeterm human(sentence) nondeterm answer(

51、sentence) nondeterm tolist(words,sentence)nondeterm process(words)nondeterm change(words,words)clauses /*子句段,講明程序要用到的事實(shí)和規(guī)則*/talk:-human(X),answer(X),talk. human(Y):-readln(X),tolist(X,Y).tolist(Str,H|T):-fronttoken(Str,H,Str1),!,tolist(Str1,T). tolist(_,). answer():-nl,nl.answer(Y|Z):-process(Y),ans

52、wer(Z).process(X):-change(X,Y),write(Y),write( ).change(HELLO,HI).change(DO,NO).change(YOU,I).change(TALK,SLEEP).change(ARE,AM).change(STUPID,NICE).change(X,X).goal /*目標(biāo)段,講明程序要求解的目標(biāo)*/talk.2.有一個(gè)農(nóng)夫帶著一只狼、一只山羊和一筐白菜過(guò)河,要從南岸過(guò)河到北岸。岸邊有一條小船,農(nóng)夫能夠獨(dú)自劃著小船過(guò)河,或者每次帶其中的一樣?xùn)|西過(guò)河。問(wèn)題是假如他留下狼和羊在一起,那么狼就會(huì)把羊吃掉;假如留下羊和白菜,那么羊就會(huì)把白

53、菜吃掉。農(nóng)夫如何才能安全地將全部東西運(yùn)到河對(duì)岸?2.答:設(shè)計(jì)方案能夠用farmer、wolf、goat和cabbage分不表示問(wèn)題中的農(nóng)夫、狼、山羊和白菜等對(duì)象。狀態(tài)描述了各個(gè)成員的位置,能夠用字母n和s分不表示北岸和南岸,例如,能夠用location(s, n, n, s)表示農(nóng)夫、狼、山羊和白菜分不在南岸、北岸、北岸和南岸。動(dòng)作描述了農(nóng)夫的擺渡操作,依照題意,一共只有四種動(dòng)作,分不是農(nóng)夫獨(dú)自劃船、農(nóng)夫帶著狼劃船、農(nóng)夫帶著山羊劃船和農(nóng)夫帶著白菜劃船。問(wèn)題求解的目標(biāo)是一個(gè)特定的動(dòng)作序列(即渡河程序),而每個(gè)動(dòng)作都將當(dāng)前狀態(tài)轉(zhuǎn)變成另一個(gè)新的狀態(tài),因此狀態(tài)的變化過(guò)程。能夠反應(yīng)出動(dòng)作執(zhí)行的過(guò)程。因此

54、,能夠?qū)⑶蠼鈩?dòng)作序列的問(wèn)題轉(zhuǎn)換成求解狀態(tài)變化過(guò)程的問(wèn)題,狀態(tài)變化過(guò)程求出來(lái)后,只要用某種方法將狀態(tài)變化轉(zhuǎn)換成相應(yīng)的動(dòng)作序列輸出即可。我們用一個(gè)表X表示那個(gè)未知的狀態(tài)變化過(guò)程,X的條件是它必須由和平的狀態(tài)(即可不能出現(xiàn)一個(gè)對(duì)象將另一個(gè)對(duì)象吃掉的情況)組成。開(kāi)始時(shí)所有對(duì)象都在南岸,到最后所有對(duì)象都在北岸。用Prolog規(guī)則表示確實(shí)是legal_states(location(s, s, s, s), location(n, n, n, n), States, X),其中States是用來(lái)記錄狀態(tài)變化過(guò)程的動(dòng)態(tài)表,在問(wèn)題的開(kāi)始,即農(nóng)夫還沒(méi)做任何事時(shí),States存儲(chǔ)的應(yīng)該是初始狀態(tài);到最后,即農(nóng)夫擺

55、渡結(jié)束時(shí),States中所存儲(chǔ)的確實(shí)是目標(biāo)動(dòng)作序列所對(duì)應(yīng)的狀態(tài)變化過(guò)程。實(shí)施方案domains /*領(lǐng)域段,講明程序要用到的數(shù)據(jù)類(lèi)型*/bt=boat(symbol,symbol)ln=location(symbol,symbol,symbol,symbol)lists=ln*predicates /*謂詞段,講明程序要用到的謂詞名和參數(shù)*/opposite(symbol,symbol)safe_goat(symbol,symbol,symbol,symbol)safe_cabbage(symbol,symbol,symbol,symbol)is_peaceful(symbol,symbol,

56、symbol,symbol)transform(ln,ln)legal_states(ln,ln,lists,lists)member(ln,lists)write_state(ln,ln)write_actions(lists)boat(ln,ln)clauses /*子句段,講明程序要用到的事實(shí)和規(guī)則*/opposite(s,n).opposite(n,s).safe_goat(X,_,X,_).safe_goat(F,X,Y,_):-opposite(X,Y),FY.safe_cabbage(X,_,_,X).safe_cabbage(F,_,X,Y):-opposite(X,Y),FY

57、.is_peaceful(F,W,G,C):-safe_goat(F,W,G,C),safe_cabbage(F,W,G,C).member(X,X|_).member(X,_|T):-member(X,T).transform(location(X,W,G,C),location(Y,W,G,C):-opposite(X,Y).transform(location(X,X,G,C),location(Y,Y,G,C):-opposite(X,Y).transform(location(X,W,X,C),location(Y,W,Y,C):-opposite(X,Y).transform(lo

58、cation(X,W,G,X),location(Y,W,G,Y):-opposite(X,Y).legal_states(location(F0,W0,G0,C0),location(F,W,G,C),States,X):-transform(location(F0,W0,G0,C0),location(F1,W1,G1,C1),is_peaceful(F1,W1,G1,C1),not(member(location(F1,W1,G1,C1),States),legal_states(location(F1,W1,G1,C1),location(F,W,G,C),location(F1,W1

59、,G1,C1)|States,X).legal_states(location(F,W,G,C),location(F,W,G,C),L,L).write_state(location(X,W,G,C),location(Y,W,G,C):-!,write(The farmer crosses the river himself),nl.write_state(location(X,X,G,C),location(Y,Y,G,C):-!,write(The farmer crosses the river with the wolf),nl.write_state(location(X,W,X

60、,C),location(Y,W,Y,C):-!,write(The farmer crosses the river with the goat),nl.write_state(location(X,W,G,X),location(Y,W,G,Y):-!,write(The farmer crosses the river with the cabbage),nl.write_actions().write_actions(H1,H2|T):-write_state(H1,H2),write_actions(H2|T). boat(location(F0,W0,G0,C0),location

溫馨提示

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

評(píng)論

0/150

提交評(píng)論