《人工智能專家系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《人工智能專家系統(tǒng)(69頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2021-4-26 1 第五章 專家系統(tǒng) 1 專家系統(tǒng)概述 2 LISP語言 3 知識庫與推理機 2021-4-26 2 專家系統(tǒng)概述 1、定義 專家系統(tǒng)(ES, Expert System)是一種模擬人類專家解決領(lǐng)域問題的計算機程序系統(tǒng)。 2021-4-26 3 專家系統(tǒng)概述 2、專家系統(tǒng)的類型 1)解釋型 6)預(yù)測型 2)診斷型 7)規(guī)劃型 3)調(diào)試型 8)設(shè)計型 4)維修型 9)監(jiān)測型 5)教育型 10)控制型 2021-4-26 4 專家系統(tǒng)概述 3、專家系統(tǒng)的一般特點 (1)知識的匯集 (2)啟發(fā)性推理 (3)推理和解釋的透明性(how而在WHAT型語言中,程序編制者只需簡單說明要做
2、的事情是什么(WHAT) 。 現(xiàn)代的LISP語言是這些語言的佼佼者,因為采用Common Lisp格式的Lisp具有非凡的表現(xiàn)力,但是如何做某件事情仍然是有待于Lisp程序編制者來表達的東西.相反,Prolog是一種明顯地沖破了HOW型語言陳規(guī)的語言, 它鼓勵程序編制者去描述情況和問題,而不是那些用來解決問題的詳細(xì)步驟?!?2021-4-26 14 LISP語言 1、BackGround 1959年,麥卡錫基于阿隆索.邱奇(Alonzo Church)的-演算和西蒙、紐厄爾首創(chuàng)的表結(jié)構(gòu),開發(fā)了著名的LISP語言(LISt Processing language or LISt Processo
3、r),成為人工智能界第一個最廣泛流行的語言。 2021-4-26 15 LISP語言 2、LISP語言的特點 a、計算用的是符號表達式而不是數(shù); b、具有表處理能力,即用鏈表形式表示所有的數(shù)據(jù); c、控制結(jié)構(gòu)基于函數(shù)的復(fù)合,以形成更復(fù)雜的函數(shù); d、用遞歸作為描述問題和過程的方法; e、用LISP語言書寫的EVAL函數(shù)既可作為LISP語言的解 釋程序,又可以作為語言本身的形式定義;f、程序本身也同所有其他數(shù)據(jù)一樣用表結(jié)構(gòu)形式表示。 2021-4-26 16 LISP語言 2、LISP的符號表達式 符號:以字母開頭不含規(guī)定的特殊字符的字符串,相當(dāng)于其他語言中的變量。 原子:LISP中不可再分割的
4、對象,如數(shù)、符號、空表。 表:若干個數(shù)或符號用括號括起來就構(gòu)成一個表,表中的元素用空格分開,沒有元素的表稱為空表,用( )或者nil表示。 符號表達式:原子和表的統(tǒng)稱。 2021-4-26 17 LISP語言 LISP的符號表達式采用前綴表示形式,即表中第一個元素是函數(shù)符號名,其余的元素是這個函數(shù)要求的運算或處理的元素。例如:(setq y (* 2 3 4 ) ) 2021-4-26 18 LISP語言 3、LISP語言的基本函數(shù) (1)數(shù)值運算函數(shù) (2)求值與賦值函數(shù) (3)表處理函數(shù) (4)邏輯函數(shù) (5)條件函數(shù) (6)自定義函數(shù)與無名函數(shù) 2021-4-26 19 LISP語言 (
5、1)數(shù)值運算函數(shù) a、算術(shù)運算函數(shù):+ - * / 1+ 1- 等 (setq a 10) (/ a 2 2) b、超越函數(shù):exp expt log sqrt abs signum c、數(shù)的邏輯運算函數(shù):logior logxor logand lognot 2021-4-26 20 LISP語言 2021-4-26 21 LISP語言 (2)求值與賦值函數(shù) a、禁止求值函數(shù) quote (quote (a b c) (setq x (a b c) (setq x (a b c) b、賦值函數(shù) setq c、求值函數(shù) (values (* 2 3) (+ 4 5) ) 2021-4-26 2
6、2 LISP語言 2021-4-26 23 LISP語言 (3)表處理函數(shù):LISP的基本數(shù)據(jù)結(jié)構(gòu)是表,LISP語言最擅長的也是表。 a、取表部分內(nèi)容的函數(shù) car函數(shù):取表的第一個元素 (car (a b c) a cdr函數(shù):取表中去除第一個元素的余下表 (cdr (a b c) (b c) car和cdr的連續(xù)作用 (car (cdr (cdr (cdr (a b c d e f )可表示為 (cadddr (a b c d e f ) Max=4 2021-4-26 24 LISP語言 2021-4-26 25 LISP語言b、構(gòu)造表的函數(shù) 2021-4-26 26 LISP語言c、其
7、他表函數(shù) 2021-4-26 27 LISP語言4、邏輯函數(shù):只能返回真t或假nil 數(shù)據(jù)類型判斷函數(shù) 2021-4-26 28 LISP語言數(shù)的比較函數(shù) = = = /= 等值函數(shù) equal (equal ( ) nil ) t (equal (a b c) (a b d) nil邏輯運算函數(shù) and or not 2021-4-26 29 LISP語言5、條件函數(shù) if 函數(shù) (if test then else) 返回:else or nilwhen函數(shù): (when test form* ) unless函數(shù) (unless test form* ) 2021-4-26 30 LIS
8、P語言condition函數(shù) 2021-4-26 31 LISP語言6、自定義函數(shù)與無名函數(shù) 自定義函數(shù) 2021-4-26 32 LISP語言6、自定義函數(shù)與無名函數(shù) 無名函數(shù) 2021-4-26 33 LISP語言7、迭代與遞歸 2021-4-26 34 LISP語言do函數(shù) 2021-4-26 35 LISP語言do函數(shù) 2021-4-26 36 LISP語言(2)非結(jié)構(gòu)化迭代 2021-4-26 37 LISP語言 2021-4-26 38 專家系統(tǒng)實例動物識別系統(tǒng)這是一個用以識別虎、金錢豹等七種動物的小型專家系統(tǒng)。系統(tǒng)結(jié)構(gòu)1、主控模塊 2、創(chuàng)建知識庫模塊 3、建立數(shù)據(jù)庫模塊 4、推理
9、機 5、解釋機構(gòu) 2021-4-26 39 創(chuàng)建知識庫模塊 用于知識獲取,建立知識庫,并且把各條知識用鏈連接起來,形成“知識庫規(guī)則鏈表”。此外,它還對包含最終結(jié)論的規(guī)則進行檢測,做上標(biāo)志。建立數(shù)據(jù)庫模塊 用于把用戶提供的已知事實以及推理中推出的新事實放入數(shù)據(jù)庫中,并分別形成“已知事實鏈表”和“結(jié)論事實鏈表”。專家系統(tǒng)實例 2021-4-26 40 專家系統(tǒng)實例推理機:用于實現(xiàn)推理,推理中凡是被選中參加推理的規(guī)則形成“已使用規(guī)則鏈表”。解釋機構(gòu):用于回答用戶的問題,它將根據(jù)“已使用規(guī)則鏈表”進行解釋。推理過程:采用正向推理和反向推理。 2021-4-26 41 知識庫與推理機領(lǐng)域?qū)<医鉀Q領(lǐng)域問題
10、的能力主要體現(xiàn)在兩個方面: 1、專家擁有大量的知識。 2、專家具有選擇知識來解決問題的能力。 知識庫是專家系統(tǒng)中必不可少的組成部分,是基于知識的推理的基礎(chǔ)和核心 2021-4-26 42 知識庫與推理機 1、產(chǎn)生式規(guī)則與規(guī)則庫的存儲產(chǎn)生式規(guī)則的存儲結(jié)構(gòu) 一條產(chǎn)生式規(guī)則的前件或后件可能是有限個事實或結(jié)論的合取式的析取。例如:規(guī)則R為: (F1 F2 F3) (F4 F5) H1 H2 2021-4-26 43 知識庫與推理機規(guī)則R等價變換為:R11: F1 F2 F3 H1 R12: F4 F5 H1 R21: F1 F2 F3 H2R22: F4 F5 H2a.允許有前件不同但后件相同的規(guī)則。
11、b.后件相同時,它們的前件沒有包含關(guān)系。 2021-4-26 44 知識庫與推理機可以用一個與/或圖表示產(chǎn)生式的規(guī)則的事實和結(jié)論之間的與或關(guān)系。F1 F5F4F2F3 H2H1 2021-4-26 45 知識庫與推理機 LISP中產(chǎn)生式規(guī)則的存儲形式:表 (規(guī)則名 (if (條件1) (條件2). (條件n) ) (then (結(jié)論1) (結(jié)論2). (結(jié)論m) ) ) 2021-4-26 46 知識庫與推理機 2、規(guī)則庫的存儲結(jié)構(gòu):分層結(jié)構(gòu)的表 若規(guī)則庫有N條規(guī)則,則規(guī)則庫表就有N個頂層元素,每個頂層元素是一個規(guī)則子表,每個規(guī)則子表有3個元素,分別是規(guī)則名,規(guī)則前件和規(guī)則后件。 2021-4
12、-26 47 知識庫與推理機規(guī)則庫的例子 2021-4-26 48 知識庫與推理機 2021-4-26 49 知識庫與推理機動物識別專家系統(tǒng)規(guī)則庫與/或圖 2021-4-26 50 知識庫與推理機 3、推理機及其實現(xiàn) a.正向推理 b.反向推理(自學(xué)) 2021-4-26 51 知識庫與推理機正向推理過程: 根據(jù)在綜合數(shù)據(jù)庫中給出的已知事實,正向使用規(guī)則,即把規(guī)則的前件同當(dāng)前數(shù)據(jù)庫的內(nèi)容進行匹配來選取可用規(guī)則,若多條規(guī)則可用,則按沖突消解策略從中選擇一條規(guī)則執(zhí)行,將執(zhí)行規(guī)則的結(jié)論添加到綜合數(shù)據(jù)庫中,直至問題求解或沒有可用規(guī)則。 2021-4-26 52 知識庫與推理機 2021-4-26 53
13、 知識庫與推理機反向推理過程: 根據(jù)在綜合數(shù)據(jù)庫中給出的假設(shè),反向使用規(guī)則,即把規(guī)則的后件同當(dāng)前數(shù)據(jù)庫的內(nèi)容進行匹配來選取可用規(guī)則,若有多條規(guī)則可用,則按沖突消解策略從中選擇一條規(guī)則,將該規(guī)則的前件添加到綜合數(shù)據(jù)庫中,直至問題求解或沒有可用規(guī)則。 2021-4-26 54 知識庫與推理機 2021-4-26 55 知識庫與推理機正向推理機 用LISP語言編制的產(chǎn)生式系統(tǒng)中的綜合數(shù)據(jù)庫的存儲結(jié)構(gòu)也是一個表,我們用facts作為綜合數(shù)據(jù)庫表的名稱。 我們首先給出正向推理機需要調(diào)用的幾個函數(shù)的定義,最后給出實現(xiàn)的正向推理機 2021-4-26 56 知識庫與推理機 2021-4-26 57 知識庫與
14、推理機 2021-4-26 58 知識庫與推理機 2021-4-26 59 知識庫與推理機 2021-4-26 60 知識庫與推理機 2021-4-26 61 知識庫與推理機 2021-4-26 62 知識庫與推理機 2021-4-26 63 知識庫與推理機 2021-4-26 64 解釋機制與解釋器 How解釋 2021-4-26 65 解釋機制與解釋器Why解釋 2021-4-26 66 專家系統(tǒng)工具 1、概述 80年代以來,專家系統(tǒng)工具不斷涌現(xiàn)。 EMYCIN:PUFF, SACON, CLOT, HEAMED, DART, BLUEBOX, OPS:R1 2021-4-26 67 專家
15、系統(tǒng)工具 2、專家系統(tǒng)工具分類 專家系統(tǒng)工具按其功能主要分為兩類,一類是用于生成專家系統(tǒng)的工具,稱為生成工具;另一類用于改善專家系統(tǒng)性能的工具,稱為輔助工具。 (1)系統(tǒng)生成工具 系統(tǒng)生成工具主要幫助知識工程師構(gòu)造專家系統(tǒng)中的推理機和知識庫結(jié)構(gòu)。 2021-4-26 68 專家系統(tǒng)工具 程序設(shè)計語言 LISP PROLOG C PASCAL 骨架系統(tǒng) EMYCIN MYCIN 知識工程語言 OPS: Official Production System KEE: Knowledge Engineering Environment ROSIE: Rule-Oriented System for Implementing Expertise CLIPS: C Language Integrated Production System ART: Automatic Reasoning Tool 2021-4-26 69 專家系統(tǒng)工具 專家系統(tǒng)開發(fā)環(huán)境 專家系統(tǒng)開發(fā)環(huán)境是以一種或多種工具和方法為核心,加上與之配套的各種輔助工具和界面環(huán)境的完整的集成系統(tǒng)。 目前,有些知識工程語言系統(tǒng)已經(jīng)發(fā)展成這樣的集成系統(tǒng),集成系統(tǒng)中有一組預(yù)先定義的稱為組件的程序模塊,每個組件實現(xiàn)一種人工智能技術(shù)。