一個專家系統(tǒng)的例子_第1頁
一個專家系統(tǒng)的例子_第2頁
一個專家系統(tǒng)的例子_第3頁
一個專家系統(tǒng)的例子_第4頁
一個專家系統(tǒng)的例子_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、規(guī)則庫的符號名為ruleS。一個專家系統(tǒng)的例子一、建立動物識別專家系統(tǒng)的規(guī)則庫,并用與/或圖來描述這個規(guī)則庫。規(guī)則庫由15條規(guī)則組成,規(guī)則名分別是;rulel,rule2,rule15ruleS。編寫一段程序,把15條規(guī)則組成一個表直接賦值給規(guī)則庫(rules(rulel(if(animalhashair)(then(animalismammal)(rule2(if(animalgivesmilk)(then(animalismammal)(rule3(if(animalhasfeathers)(then(animalisbird)(rule4(if(animalflies)(animalla

2、yseggs)(then(animalisbird)(rule5(if(animaleatsmeat)(then(animaliscarnivore)(rule6(if(animalRaspointedteeth)(animalhasclaws)(animalhasforwordeyes)(then(animaliscarnivore)(rule7(if(animalhasmammal)(animalhashoofs)(then(animalisungulate)(rule8(if(animalhasmammal)(animalchewscud)(then(animalisungulate)(

3、rule9(if(animalismammal)(animaliscarnivore)(animalhastawnycolor)(animalhasdarksports)(then(animalischeetah)(rule10(if(animalismammal)(animaliscarnivore)若動物有毛發(fā)(F1)則動物是哺乳動物(M1)若動物有奶(F2)則動物是哺乳動物(M1)若動物有羽毛(F9)則動物是鳥(M4)若動物會飛(F10)且生蛋(F11)則動物是鳥(M4)若動物吃肉類(F3)則動物是食肉動物(M2)若動物有犀利牙齒(F4)且有爪(F5)且眼向前方(F6)則動物是食肉動物(

4、M2)若動物是哺乳動物(M1)且有蹄(F7)則動物是有蹄類動物(M3)若動物是哺乳動物(M1)且反芻(F8)則動物是有蹄類動物(M3)若動物是哺乳動物(M1)且是食肉動物(M2)且有黃褐色(F12)且有暗斑點(diǎn)(F13)則動物是豹(H1)若動物是哺乳動物(M1)且是食肉動物(M2)(animalhastawnycolor)(animalhasblackstripes)(then(animalistiger)(rulell(if(animalisungulate)(animalhaslongneck)(animalhaslonglegs)(animalhasdarksports)(then(ani

5、malisgiraffe)(rule12(if(animalisungulate)(animalhasblackstripes)(then(animaliszebra)(rule13(if(animalisbird)(animaldoesnotfly)(animalhaslongneck)(animalhaslonglegs)(animalblackandwhite)(then(animalisostrich)(rule14(if(animalisbird)(animaldoesnotfly)(animalswims)(animalblackandwhite)(then(animalispen

6、guin)(rule15(if(animalisbird)(animalflieswell)(then(animalisalbatross)且有黃褐色(F12)且有黑色條紋(F15)則動物是虎(H2)若動物是有蹄類動物(M3)且有長脖子(F16)且有長腿(F14)且有暗斑點(diǎn)(F13)則動物是長頸鹿(H3)若動物是有蹄類動物(M3)且有黑色條紋(F15)則動物是斑馬(H4)若動物是鳥(M4)且不會飛(F17)且有長脖子(F16)且有長腿(F14)且有黑白二色(F18)則動物是駝鳥(H5)若動物是鳥(M4)且不會飛(F17)且會游泳(F19)且有黑白二色(F18)則動物是企鵝(H6)若動物是鳥(M

7、4)且善飛(F20)則動物是信天翁(H6)在上述規(guī)則的說明中,用F1-F20標(biāo)記的是初始事實(shí)或證據(jù),用M1-M4標(biāo)記的是中間結(jié)論,用H1-H7標(biāo)記的是最終結(jié)論。用標(biāo)記表示15條規(guī)則如下:R1:F1-M1R2:F2-M1R3:F9-M4R4:F10AF11fM4R5:F3-M2R6:F4AF5AF6fM2R7:F7AMbM3R8:F8AMbM3R9:F12AF13AM1AM2H1R10:F12AF15AM1AM2H2R11:F13AF14AF16AM”H3R12:F15AM”H4R13:F14AF16AF17AF18AMAH5R14:F17AF18AF19AMAH6R15:F20AMAH7用VC

8、+編寫一個函數(shù),把一個表賦給變量rules,這個表有15個頂層元素,每一個頂層元素是一條規(guī)則,每條規(guī)則都是有4個元素的一個表。rule1Rule2Rule3Rule4Rule5Rule6Rule7Rule8Rule9rule10-If前件F1F2F9F10AF11F3F4AF5AF6F7AM1F8AM1F12AF13AM1AM2F12AF15AM1AM2Then后件M1M1M4M4M2M2M3M3H1H2可信度激活標(biāo)志二、推理機(jī)及其實(shí)現(xiàn)1、正向推理過程:根據(jù)在綜合數(shù)據(jù)庫中給出的已知事實(shí),正向使用規(guī)則,即把規(guī)則的前件同當(dāng)前數(shù)據(jù)庫的內(nèi)容進(jìn)行匹配來選取可用規(guī)則,若有多條規(guī)則可用,則采用先選優(yōu)先的策略

9、,將執(zhí)行規(guī)則的結(jié)論添加到綜合數(shù)據(jù)庫中,并將用過的規(guī)則置上激活標(biāo)志,直到問題求解或沒有可用規(guī)則為止.2、正向推理過程程序?qū)崿F(xiàn)Procedurerespond將規(guī)則庫中規(guī)則的前件同當(dāng)前數(shù)據(jù)庫的內(nèi)容進(jìn)行匹配,若匹配成功,則將這條規(guī)則送入可用規(guī)則集S;否則,取下一條規(guī)則進(jìn)行匹配。whileS非空且問題未求解除dobegin調(diào)用select-rule(S),從S中選擇一條規(guī)則,將該規(guī)則的結(jié)論添加到綜合數(shù)據(jù)庫中。調(diào)用respondend由上可見正向推理過程respond是遞歸的。3、舉例說明正向推理機(jī)推理過程若已知的初始事實(shí)是F13(有暗斑點(diǎn))、F12(黃褐色)、F3(若動物吃肉類)及F1(動物有毛發(fā)),

10、使用steq函數(shù)把已知的初始事實(shí)賦值給事實(shí)表facts:(steqfacts(animalhasdarkspots)(animalhastawnycolor)(animaleatsmeat)(animalhashair)即:facts=(F13F12F3F1)facts是一個可編輯的表,即可以添加。steq函數(shù)的功能就是對facts進(jìn)行編輯。使用在前面建立的rules規(guī)則庫,敘述正向推理過程如下:1)、在rules中查找規(guī)則前件的全部條件在當(dāng)前facts=(F13F12F3F1)中的可用規(guī)則,首先找到規(guī)則R1,則把R1后件中不在facts中的結(jié)論M1添加到facts中,擴(kuò)充facts為fact

11、s=(F13F12F3F1M1)。實(shí)際上,對facts=(F13F12F3F1)還有一條可用規(guī)則R5,因?yàn)镽5的前件F3也在當(dāng)前facts中。但是,由前面提到的沖突消解策略,若有多條可用規(guī)則,則按可用規(guī)則在規(guī)則庫表rules中的順序選擇第一條可用規(guī)則。2)、對當(dāng)前facts在rules中查找可用規(guī)則,仍然找到規(guī)則R1,但R1的后件結(jié)論M1已在facts中,因此不會執(zhí)行規(guī)則R1。繼續(xù)查找可用規(guī)則,找到規(guī)則R5,因?yàn)镽5的后件結(jié)論M2不在當(dāng)前的facts中,故執(zhí)行R5,把R5不在facts中的結(jié)論M2添加到facts中,擴(kuò)充facts為facts=(F13F12F3F1M1M2)。3)、對當(dāng)前fa

12、cts在rules中繼續(xù)查找可用規(guī)則,規(guī)則R9的前件在facts中,因此R9是可用規(guī)則。而R9的后件結(jié)論H1不在當(dāng)前的facts中,執(zhí)行R9,把R9的結(jié)論H1擴(kuò)充到facts中,使得facts=(F13F12F3F1M1M2H1)。4)、對當(dāng)前facts,在rules中找不到規(guī)則的前件所包含的全部條件在facts中且后件有不在facts中的結(jié)論的任何規(guī)則,至此,正向推理結(jié)束.為了實(shí)現(xiàn)上述推理過程,需編寫以下7個函數(shù):A、正向推理機(jī)函數(shù)deduce函數(shù)表達(dá)式;(deducefacts)功能:連續(xù)不斷的從規(guī)則庫rules中選擇可用規(guī)則,B、調(diào)用函數(shù)step-forward實(shí)現(xiàn)函數(shù)表達(dá)式:(step

13、-forwardrules)函數(shù)功能:逐次掃描規(guī)則庫rules中的規(guī)則,若發(fā)現(xiàn)rules中有一條可用規(guī)則,即該規(guī)則的前件所包含的全部事實(shí)在表facts中,則把該規(guī)則的后件中不在facts中的所有結(jié)論添加至Ufacts中,且step-forward返回t;若rules中沒有一條可用規(guī)則,返回nil。每選擇到一條可用規(guī)則,就把該規(guī)則的后件中不在facts中的所有結(jié)論添加到facts中,對facts進(jìn)行擴(kuò)充,再通過擴(kuò)充了的facts選擇下一條可用規(guī)則,對facts再擴(kuò)充,直到?jīng)]有可用規(guī)則為止。每找到一條可用規(guī)則對函數(shù)表達(dá)式:(try-rulerule)函數(shù)功能:判斷規(guī)則變量rule中的一條規(guī)則的前件

14、包含的全部事實(shí)是否在表facts中,若全部事實(shí)都在表facts中,且規(guī)則后件有不在facts中的結(jié)論,則把不在facts中的結(jié)論逐一添加到表facts中,此時try-rule返回t;否則,返回nil。T調(diào)用函數(shù)use-then實(shí)現(xiàn)調(diào)用函數(shù)remember或者函數(shù)recall實(shí)現(xiàn)D、函數(shù)use-then函數(shù)表達(dá)式:(use-thenrule)函數(shù)功能:判斷變量rule中的一條規(guī)則的后件所包含的全部結(jié)論是否在表facts中,若全部結(jié)論都在facts中,則use-then返回nil;否則,將不在facts中的結(jié)論逐一添加到表facts中,且use-then返回t。(調(diào)用函數(shù)steq實(shí)現(xiàn))E、函數(shù)remember函數(shù)表達(dá)式:(remembernew)函數(shù)功能:判斷變量new中的一個事實(shí)是否在表facts中,存在,返回nil;否則,將new中的事實(shí)添加到表facts的表頭,且返回new

溫馨提示

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

評論

0/150

提交評論