基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用_第1頁
基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用_第2頁
基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用_第3頁
基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用_第4頁
基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、電子科技大學(xué)UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA專業(yè)學(xué)位碩士學(xué)位論文MASTER THESIS FOR PROFESSIONAL DEGREE論文題目基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用專業(yè)學(xué)位類別工程碩士學(xué)號(hào)20122060138作者姓名朱壬而指導(dǎo)教師張景中 教授分類號(hào)密級(jí)UDC 學(xué)位論文基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其在自動(dòng)解題系統(tǒng)中的應(yīng)用朱瑞指導(dǎo)教師 張景中 教授電子科技大學(xué)成都申請學(xué)位級(jí)別 碩士 專業(yè)學(xué)位類別工程領(lǐng)域名稱計(jì)算機(jī)技術(shù)提交論文日期2019.337 論文答辯日學(xué)位授予單位和日期電子科技大學(xué)201

2、9年6月答辯委員會(huì)主席評(píng)閱人Knowledge Discovery Based on Inductive Learningand Its Application in Automatic Problem SolvingSystemA Master Thesis Submitted toUniversity of Electronic Science and Technology of ChinaDiscipline:Author:Supervisor:School:Master of EngineeringRui ZhuJingZhong ZhangSchool of Computer Sci

3、ence & Engineering獨(dú)創(chuàng)性聲明及取U研交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作 夕卜,論文中:J 據(jù)我所知,除了文中特別加以標(biāo)注和致謝的地方 獲得由21不包3其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為 我一同技大子或其它教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與 說明并表示志對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明確的作者簽名:日期2月鄉(xiāng)日論文使用授權(quán)本學(xué)位論文作者完全了解電子科技大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,有權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤,允許論文被查閱和借閱。本人授權(quán)電子科技大學(xué)可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、

4、縮印或掃描等復(fù)制手段保存、匯編學(xué)位論文。(保密的學(xué)位論文在解密后應(yīng)遵守此規(guī)定)作者簽名導(dǎo)師簽名:日期神)年歹取日摘要近幾年來,國內(nèi)外很多專家學(xué)者投入了大量的精力去研究人工智能,促使人 工智能在各個(gè)領(lǐng)域取得了飛速的發(fā)展。其中,教育領(lǐng)域的人工智能將是人工智能 研究的一個(gè)重要方向,而數(shù)學(xué)是教育領(lǐng)域最難攻克的一個(gè)堡壘。此前,我們團(tuán)隊(duì) 已經(jīng)研究并開發(fā)出了面向初等數(shù)學(xué)的自動(dòng)解題系統(tǒng),但解題正確率和效率還不能 夠滿足教育的需要。本論文的研究目標(biāo)是通過將歸納學(xué)習(xí)和自動(dòng)解題系統(tǒng)結(jié)合, 輔助自動(dòng)解題系統(tǒng)的推理,以此來提高系統(tǒng)的解題正確率和效率。主要的研究內(nèi) 容如下:自動(dòng)解題系統(tǒng)的結(jié)構(gòu)的分析與掌握。自動(dòng)解題系統(tǒng)是基

5、于歸納學(xué)習(xí)的知識(shí)發(fā) 現(xiàn)應(yīng)用的對(duì)象,因此必須要先對(duì)自動(dòng)解題系統(tǒng)的結(jié)構(gòu)進(jìn)行分析,掌握了自動(dòng)解題 系統(tǒng)的推理方式和深層原理后才可以考慮如何應(yīng)用歸納學(xué)習(xí)協(xié)助推理。本文將從 系統(tǒng)結(jié)構(gòu)、知識(shí)表示和推理系統(tǒng)三個(gè)層面對(duì)自動(dòng)解題系統(tǒng)進(jìn)行剖析,其中知識(shí)表 不是推理的基礎(chǔ),而推理系統(tǒng)是自動(dòng)解題系統(tǒng)的核心部分。歸納學(xué)習(xí)所需數(shù)據(jù)的選取和收集。根據(jù)需要對(duì)初等數(shù)學(xué)題目數(shù)據(jù)進(jìn)行選取并 作為歸納學(xué)習(xí)的訓(xùn)練集,將這些題目數(shù)據(jù)通過自動(dòng)解題系統(tǒng)完成推理后,將推理 的過程和解題的結(jié)果進(jìn)行整理和收集。自動(dòng)解題系統(tǒng)的優(yōu)化。自動(dòng)解題系統(tǒng)雖然已經(jīng)完成了初期的開發(fā),但還存著 很多不足之處,本文中將對(duì)已有對(duì)現(xiàn)有的自動(dòng)解題系統(tǒng)模型進(jìn)行研究,提出優(yōu)化

6、 方案,并根據(jù)優(yōu)化方案對(duì)自動(dòng)解題系統(tǒng)進(jìn)行改進(jìn)。本文中提出的優(yōu)化方案主要有 兩種,一種是通過增加矛盾停機(jī)規(guī)則來對(duì)知識(shí)庫的推理過程進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn) 異常并進(jìn)行反饋,另一種是將數(shù)學(xué)歸納法的思想與系統(tǒng)進(jìn)行結(jié)合,讓系統(tǒng)擁有新 的推理方法和驗(yàn)證的策略?;跉w納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)在系統(tǒng)推理中的應(yīng)用。將收集的數(shù)據(jù)進(jìn)行整理后進(jìn) 行訓(xùn)練,并通過機(jī)器學(xué)習(xí)的方法歸納出一定的規(guī)律,最后將這些規(guī)律通過一定的 方法轉(zhuǎn)化為對(duì)解題有幫助的知識(shí)加入到自動(dòng)解題系統(tǒng)的知識(shí)庫中去,以此來協(xié)助 推理。在完成上述的研究,并將研究成果應(yīng)用到已有的自動(dòng)推理系統(tǒng)中去后,自動(dòng) 推理系統(tǒng)的解題正確率和效率有了顯著的提升,解題正確率已經(jīng)達(dá)到了 90%,

7、而 平均解題時(shí)間也降低到了 2s以內(nèi)。關(guān)鍵詞:歸納學(xué)習(xí),知識(shí)發(fā)現(xiàn),自動(dòng)解題ABSTARCTIn recent years, many experts and scholars at home and abroad have devoted a lot of energy to the research of artificial intelligence, which has promoted the rapid development of artificial intelligence in various fields. Among them, artificial intelligen

8、ce in the field of education will be an important direction of artificial intelligence research, and mathematics is the most difficult fortress to overcome in the field of education.Previously, our team has studied and developed an Automatic- Problem-Solving-System for elementary mathematics, but th

9、e accuracy and efficiency of problem-solving can not meet the needs of education. The aim of this paper is to improve the accuracy and efficiency of problem solving by combining inductive learning with automatic problem solving system and assisting the reasoning of automatic problem solving system.

10、The main research contents are as follows:Analysis and mastery of the structure of Automatic-Problem-Solving-System. The Automatic-Problem-Solving-System is the object of knowledge discovery application based on inductive learning. Therefore, it is necessary to analyze the structure of the Automatic

11、-Problem-Solving-System and master the reasoning mode and deep-seated principle of the automatic problem-solving system before considering how to apply inductive learning to assist reasoning. This paper will analyze the Automatic-Problem-Solving-System from three aspects: system structure, knowledge

12、 representation and reasoning system. Knowledge representation is the basis of reasoning, and reasoning system is the core part of the automatic problem solving system.Selection and collection of data needed for inductive learning. According to the need, the data of elementary mathematics topics are

13、 selected and then used as the training set of inductive learning. After these data are reasoned through the Automatic-Problem-Solving-System, sort out and collect the reasoning process and the results of the problem.The optimization of Automatic-Problem-Solving-System.Although the automatic problem

14、-solving system has completed the initial development, there are still many shortcomings. In this paper, we will study the existing model of the Automatic-Problem-Solving-System, put forward the optimization scheme, and improve the automatic problem-solving system according to the optimization schem

15、e. There are two main optimization schemes proposed in this paper. One is to monitor the reasoning process of knowledge base by adding contradictory-downtime rules, find abnormalities in time and give feedback. The other is to combine the idea of mathematical induction with the system so that the sy

16、stem has new reasoning methods and verification strategies.The application of knowledge discovery based on inductive learning in system reasoning. Then sort out and train the collected data,some rules are summed up by machine learning method.Finally, transform these rules into knowledge which is hel

17、pful to solve problems and added to the knowledge base of the automatic problem solving system to assist reasoning.After completing the above research and applying the research results to the existing Automatic-Problem-Solving-System, the accuracy and efficiency of the Automatic-Problem-Solving-Syst

18、em have been significantly improved, the accuracy rate has reached 90%, and the average solution time has also been reduced to less than 2 seconds.Key words: inductive learning, knowledge discovery, automatic problem solving目錄 TOC o 1-5 h z HYPERLINK l bookmark27 o Current Document 第一章緒論1 HYPERLINK

19、l bookmark30 o Current Document 1.1研究工作的背景與意義11.2國內(nèi)外研究情況11知識(shí)的自動(dòng)推理1 HYPERLINK l bookmark37 o Current Document 1.2.2產(chǎn)生式系統(tǒng)和專家系統(tǒng)2 HYPERLINK l bookmark43 o Current Document 1.2.3歸納學(xué)習(xí)4 HYPERLINK l bookmark46 o Current Document 1.2.4機(jī)器學(xué)習(xí)與歸納學(xué)習(xí)的應(yīng)用5 HYPERLINK l bookmark49 o Current Document 1.3論文的研究內(nèi)容6 HYPERL

20、INK l bookmark56 o Current Document 1.4論文組織結(jié)構(gòu)7 HYPERLINK l bookmark59 o Current Document 第二章相關(guān)理論與技術(shù)91自動(dòng)推理技術(shù)91. 1推理引擎和推理引擎9 HYPERLINK l bookmark66 o Current Document 1. 2 Drools9 HYPERLINK l bookmark70 o Current Document 2. 1.3計(jì)算工具12 HYPERLINK l bookmark73 o Current Document 2.2歸納學(xué)習(xí)13 HYPERLINK l boo

21、kmark76 o Current Document 3本章小結(jié)14 HYPERLINK l bookmark80 o Current Document 第三章自動(dòng)解題系統(tǒng)15 HYPERLINK l bookmark83 o Current Document 1系統(tǒng)結(jié)構(gòu)15 HYPERLINK l bookmark87 o Current Document 2知I識(shí)表示16 HYPERLINK l bookmark91 o Current Document 3.3知識(shí)的自動(dòng)推理19 HYPERLINK l bookmark94 o Current Document 1知識(shí)庫與規(guī)則庫20 HY

22、PERLINK l bookmark97 o Current Document 3.3.2輔助計(jì)算系統(tǒng)25 HYPERLINK l bookmark101 o Current Document 3.3.3訓(xùn)練系統(tǒng)26 HYPERLINK l bookmark104 o Current Document 3.4自動(dòng)解題系統(tǒng)的優(yōu)化26 HYPERLINK l bookmark107 o Current Document 1矛盾停機(jī)規(guī)則27 HYPERLINK l bookmark110 o Current Document 3.4.2歸納法推理和驗(yàn)證28 HYPERLINK l bookmark1

23、19 o Current Document 5本章小結(jié)31 HYPERLINK l bookmark122 o Current Document 第四章 基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)與應(yīng)用32 HYPERLINK l bookmark125 o Current Document 1設(shè)計(jì)思想32 HYPERLINK l bookmark128 o Current Document 4.2數(shù)據(jù)的選取與收集33 HYPERLINK l bookmark132 o Current Document 4.3數(shù)據(jù)的整理和表示35 HYPERLINK l bookmark136 o Current Documen

24、t 4.4知識(shí)發(fā)現(xiàn)與應(yīng)用38 HYPERLINK l bookmark156 o Current Document 4.5本章小結(jié)41 HYPERLINK l bookmark159 o Current Document 第五章系統(tǒng)測試與分析42 HYPERLINK l bookmark162 o Current Document 1系統(tǒng)測試42 HYPERLINK l bookmark166 o Current Document 5. 1. 1 系統(tǒng)解題展示42 HYPERLINK l bookmark172 o Current Document 5. 1.2知識(shí)發(fā)現(xiàn)與應(yīng)用成果46 HYPE

25、RLINK l bookmark175 o Current Document 5.2測試結(jié)果分析50 HYPERLINK l bookmark179 o Current Document 3本章小結(jié)53 HYPERLINK l bookmark182 o Current Document 第六章總結(jié)與展望54 HYPERLINK l bookmark185 o Current Document 1總結(jié)54 HYPERLINK l bookmark189 o Current Document 6.2展望55 HYPERLINK l bookmark196 o Current Document 致

26、謝57 HYPERLINK l bookmark199 o Current Document 參考文獻(xiàn)58攻讀碩士期間參與獲獎(jiǎng)情況61第一章緒論1.1研究工作的背景與意義長時(shí)間以來,人腦承擔(dān)了很多復(fù)雜的計(jì)算任務(wù),而如今的計(jì)算機(jī)不僅可以代 替人腦來完成這種計(jì)算,甚至可以做到比人腦更快、更準(zhǔn)。而在當(dāng)今社會(huì)中, 隨著時(shí)代的發(fā)展與技術(shù)的進(jìn)步,這些復(fù)雜的計(jì)算任務(wù)已經(jīng)不會(huì)被看作是“只有人 類智能才可以完成的復(fù)雜的任務(wù)To為了解決復(fù)雜的任務(wù),誕生了人工智能等 交義學(xué)科,而人工智能這門科學(xué)的具體目標(biāo)也自然隨著時(shí)代的變化而發(fā)展。在一 方面不斷獲得新的進(jìn)展,另一方面又會(huì)轉(zhuǎn)向更有意義、更加困難的目標(biāo)。人工智能的發(fā)展

27、是對(duì)當(dāng)今社會(huì)科技發(fā)展來說不可或缺的一部分,它的發(fā)展可 以給推動(dòng)各個(gè)領(lǐng)域的各項(xiàng)技術(shù)的發(fā)展,包括醫(yī)療、經(jīng)濟(jì)、教育等領(lǐng)域。其中的教 育領(lǐng)域的人工智能則是人工智能研究的一個(gè)重要方向,其中的數(shù)學(xué)又是教育領(lǐng)域 最難攻克的一個(gè)堡壘2。教育領(lǐng)域的人工智能需要依賴知識(shí)推理技術(shù),而知識(shí)推 理技術(shù)作為人工智能技術(shù)的一個(gè)分支技術(shù),有著特殊的優(yōu)勢機(jī)器學(xué)習(xí)是一門涉及很多領(lǐng)域的交又形學(xué)科,這門學(xué)科的目標(biāo)是專門研究計(jì) 算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的 知識(shí)結(jié)構(gòu)使之不斷改善自身的性能。機(jī)器學(xué)習(xí)可以說是人工智能的核心,想要使 計(jì)算機(jī)具有智能,它是必不可缺的,其應(yīng)用遍及人工智能的各個(gè)領(lǐng)域,它主

28、要使 用歸納、綜合而不是演繹4。而歸納學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子類,通過歸納學(xué)習(xí) 能夠獲得新的概念,創(chuàng)立新的規(guī)則,發(fā)現(xiàn)新的理論。如果能將歸納學(xué)習(xí)和自動(dòng) 解題系統(tǒng)結(jié)合起來,讓高效率自動(dòng)解題這個(gè)難題迎刃而解,必定可以對(duì)整個(gè)人工 智能的發(fā)展產(chǎn)生不可低估的正面影響。1.2國內(nèi)外研究情況1.2.1知識(shí)的自動(dòng)推理從一個(gè)或多個(gè)已知的前提中邏輯推斷出一個(gè)新的結(jié)論,稱為推理,這是意識(shí) 中事物的客觀聯(lián)系的反映。人通過推理從以往的知識(shí)得出結(jié)論來解決問題。利用 計(jì)算機(jī)或智能機(jī)器中的被形式化的知識(shí)來進(jìn)行機(jī)器思維和解決問題的過程,被稱 為知識(shí)的自動(dòng)推理,這是根據(jù)一定的原則從已有的事實(shí)中來得出結(jié)論的過程回。 錢學(xué)森教授認(rèn)為,人

29、的思維一般是分為三類的:抽象思維,包括邏輯思維和概念 的概括與劃分、事物的分類和繼承等;形象思維,比如類比、聯(lián)想等典型的思維 方式;靈感思維,是一種創(chuàng)造性的思維方式,在潛意識(shí)里發(fā)出7】。自動(dòng)推理理論 和技術(shù)是研究程序推理、程序的正確性證明、智能機(jī)器人和專家系統(tǒng)等領(lǐng)域的重 要基礎(chǔ)罔。根據(jù)人類思維和智能活動(dòng)的不同特點(diǎn),針對(duì)自動(dòng)推理的研究,有不同 的研究觀點(diǎn),推理根據(jù)推理方向可以分為正向推理、逆向推理和雙向推理;根據(jù) 精確性可分為精確推理和不精確推理;根據(jù)單調(diào)性可以分為單調(diào)推理和非單調(diào)推 理;根據(jù)推理的具體方法可以分為計(jì)算推理、邏輯推理和智能搜索。自動(dòng)推理的早期工作主要集中在證明機(jī)器定理上證明力學(xué)定

30、理的中心問 題是找到一個(gè)確定公式是否有效(或不一致)的一般過程。對(duì)于命題邏輯公式, 由于解釋的次數(shù)有限,通常可以建立一個(gè)通用的決策過程,從而可以在有限的時(shí) 間內(nèi)確定公式是有效的還是無效的。對(duì)于一階邏輯公式,解釋的數(shù)量通常是任意 的。A.Church和A.M.Turing在1936年證明了不存在通用的程序來確定公式的有 效性。然而,他們證明了假如一階邏輯公式是有效的,就會(huì)有一個(gè)驗(yàn)證其有效性 的通用程序,而對(duì)于無效的公式,通用程序是不能終止的。赫伯蘭(Herbrand)在1930年建立了一個(gè)重要的定理證明方法的。他的方法 為機(jī)械定理證明奠定了基礎(chǔ)。這項(xiàng)開創(chuàng)性的工作是H.A.西蒙和A.紐威爾完成的。

31、 機(jī)械定理證明的主要突破是由J.A.Robinson于1965年提出的,他通過建立所謂的 歸結(jié)原理使機(jī)械定理證明可以參與應(yīng)用凹。該方法推理規(guī)則簡單,邏輯完整,因 此成為了邏輯編程語言prolog的計(jì)算模型。后來,自然演繹和方程改寫的能方法 也出現(xiàn)了。這些方法在某些方面優(yōu)于歸結(jié)方法,但它們本質(zhì)上都存在組合問題, 并受到難處理性的制約。證明定理是一種智能行為,并且是人類所特有的行為,它不僅需要根據(jù)假設(shè) 進(jìn)行邏輯的推理,還需要一些直覺技巧。機(jī)器定理證明是通過一套符號(hào)系統(tǒng)將人 證明定理的過程形式化,并將其轉(zhuǎn)化為一系列符號(hào)演算過程并可以在計(jì)算機(jī)上自 動(dòng)實(shí)現(xiàn),即將具有智能特性的推理和推導(dǎo)過程機(jī)械化。中國科

32、學(xué)院系統(tǒng)研究所中 的吳文軍教授提出了確定平面幾何和微分幾何的方法,并因此得到了國內(nèi)外的高 度評(píng)價(jià)。1.2.2產(chǎn)生式系統(tǒng)和專家系統(tǒng)1943年,E.波斯特將他提出的一種計(jì)算形式體系命名為產(chǎn)生式系統(tǒng)US產(chǎn)生 式系統(tǒng)包括下列3部分,可以在圖1-1中看出三者的關(guān)系。1)首先由一個(gè)其中保護(hù)所有與具體任務(wù)相關(guān)的信息的數(shù)據(jù)庫,所有的數(shù)據(jù) 都保存在其中。2)然后是一套可以對(duì)數(shù)據(jù)庫進(jìn)行操作的規(guī)則。這套規(guī)則中的每條都包括兩 個(gè)部分,一部分是規(guī)則匹配所需要的條件,另外一部分是規(guī)則滿足匹配條件后索要進(jìn)行的操作。3)最后還需要一個(gè)控制策略,這里的控制策略用來確定應(yīng)該采用哪一條適 用的規(guī)則,并在數(shù)據(jù)庫滿足終止條件時(shí)停止運(yùn)算

33、。圖產(chǎn)生式系統(tǒng)這里的產(chǎn)生式是指系統(tǒng)的單元程序。與常規(guī)的程序不同的是,產(chǎn)生式的執(zhí)行 和調(diào)用都由生產(chǎn)條件決定,只有滿足了匹配條件,產(chǎn)生式才能夠執(zhí)行。因此在人 工智能中,產(chǎn)生式有著伺機(jī)而動(dòng)的含義,也就是只有在條件滿足的條件下才會(huì)進(jìn) 行設(shè)定好的操作。另一方面,產(chǎn)生式的工作環(huán)境在執(zhí)行后會(huì)發(fā)生變化,因此必須 根據(jù)新的環(huán)境對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的修改。正向推理與逆向推理是產(chǎn)生式系統(tǒng)的兩種推理方式。其中正向推理是指自底 向上的從條件開始推導(dǎo),直到達(dá)成預(yù)期目標(biāo)的推理方式,可以理解為,如果條件 為A,那么實(shí)施行動(dòng)B,比如“如果一個(gè)三角形兩條邊的邊長相等,那么這個(gè)三 角形是等腰三角形” o而逆向推理則是自頂向下,從預(yù)期目

34、標(biāo)出發(fā)進(jìn)行回溯,一 直推理直到符合最初的條件,即“如果一個(gè)三角形是等腰三角形,那么這個(gè)三角 形兩條邊的邊長相等o專家系統(tǒng),是一種計(jì)算機(jī)智能程序系統(tǒng),它具有專業(yè)的知識(shí)和經(jīng)驗(yàn),可以通 過對(duì)人類專家的解決問題能力的建模,利用人工智能中的知識(shí)表示和知識(shí)推理技 術(shù),模擬了專家通常能夠解決的復(fù)雜問題,問題解決能力的水平甚至可以達(dá)到專 家相同回。這種基于知識(shí)的系統(tǒng)設(shè)計(jì)方法以知識(shí)庫和推理機(jī)為核心,即專家系統(tǒng)二 推理機(jī)+知識(shí)庫,將知識(shí)與系統(tǒng)的其他部分分離開來。專家系統(tǒng)強(qiáng)調(diào)知識(shí)而非方法。一般說來,一個(gè)專家系統(tǒng)應(yīng)該具備三要素:(1)具備某個(gè)應(yīng)用領(lǐng)域的專家級(jí)知識(shí);(2)可以模擬專家的思維;(3)可以達(dá)到專家級(jí)的解題水

35、平US1965年,斯坦福大學(xué)E.A.Feigenbaum和化學(xué)家J.Lederberg合作開發(fā)了 DENDRAL系統(tǒng)凹,將人工智能的研究從推理算法轉(zhuǎn)變?yōu)橐灾R(shí)為核心的方向上。 20世紀(jì)70年代,專家系統(tǒng)的觀點(diǎn)逐漸被接受,很多專家系統(tǒng)被研發(fā)成功。其中 的MYCIN (醫(yī)藥專家系統(tǒng))、PROSPECTOR (探礦專家系統(tǒng))等最具代表性。到了 20世紀(jì)80年代,專家系統(tǒng)的發(fā)展則趨于商業(yè)化,并產(chǎn)生了巨大的經(jīng)濟(jì)效益。1977年在第五屆國際人工智能聯(lián)合會(huì)議上,美國斯坦福大學(xué)計(jì)算機(jī)科學(xué)家費(fèi) 根鮑姆(E.A.Feigenballm)提出了知識(shí)工程的新概念問。他認(rèn)為,“知識(shí)工程是人工 智能的原理和方法,它為解決

36、需要專家知識(shí)的應(yīng)用問題提供了手段。合理利用專 家知識(shí)的獲取、表達(dá)和推理過程的構(gòu)成和解釋是知識(shí)系統(tǒng)設(shè)計(jì)中的一個(gè)重要技術(shù) 問題。知識(shí)工程是以知識(shí)為研究對(duì)象的學(xué)科,它以具體智能系統(tǒng)研究中常見的 基本問題為知識(shí)工程的核心內(nèi)容,使其成為指導(dǎo)各類智能系統(tǒng)發(fā)展的通用方法和 基本工具,是一門具有方法論意義的科學(xué)。20世紀(jì)80年代以來,在知識(shí)工程的 推動(dòng)下,還涌現(xiàn)出了不少專家系統(tǒng)開發(fā)工具,例如G2、KEE、OKPS、EMYCIN等。1.2. 3歸納學(xué)習(xí)歸納學(xué)習(xí)的目標(biāo)是獲得新的概念,和創(chuàng)立新的規(guī)則還有發(fā)現(xiàn)新的理論切。歸 納學(xué)習(xí)是符號(hào)學(xué)習(xí)中研究的最為廣泛的一種方法,給定關(guān)于某個(gè)概念的一系列已 知的正例與反例,其任務(wù)

37、是從中歸納出一個(gè)一般的概念描述四。歸納學(xué)習(xí)的目的是在從大量的經(jīng)驗(yàn)數(shù)據(jù)中歸納抽取出一般的判定規(guī)則和模 式,是從特殊情況推導(dǎo)出一般規(guī)則的學(xué)習(xí)方法I。歸納學(xué)習(xí)的目標(biāo)是通過學(xué)習(xí)可 以形成合理的一般性結(jié)論,這些結(jié)論能解釋已知事實(shí)和預(yù)見新事實(shí)。歸納學(xué)習(xí)由 于依賴于經(jīng)驗(yàn)數(shù)據(jù),所以又稱為經(jīng)驗(yàn)學(xué)習(xí)(Empiricaln Learning),而由于歸納依賴 于數(shù)據(jù)間的相似性,所以也稱為基于相似性學(xué)習(xí)(Similarity Based Learning)歸納學(xué)習(xí)方法可以劃分為單概念學(xué)習(xí)和多概念學(xué)習(xí)兩類。這里,概念指的是 用某種描述語言表示的謂詞,當(dāng)應(yīng)用于概念的正實(shí)例時(shí),謂詞為真,應(yīng)用于負(fù)實(shí) 例時(shí)為假。從而概念謂詞將

38、實(shí)例空間劃分為了正和反兩個(gè)子集。其中對(duì)于單概念 學(xué)習(xí),學(xué)習(xí)的目的是從概念空間(規(guī)則空間)中尋找某個(gè)與實(shí)例空間一致的概念; 對(duì)于多概念學(xué)習(xí)任務(wù),是從概念空間中找出若干概念描述,實(shí)例空間中均有相應(yīng) 的空間與每個(gè)概念描述對(duì)應(yīng)。其中典型的單概念學(xué)習(xí)系統(tǒng)包括:昆蘭(J.R. Quinlan) 的ID3方法,米切爾的基于數(shù)據(jù)驅(qū)動(dòng)的變型空間法,狄特利希(T.G. Dietterich)和米 哈爾斯基(RS. Michalski)提出的基于模型驅(qū)動(dòng)的Induce算法。典型的多概念學(xué)習(xí)方 法和系統(tǒng)有:米哈爾斯基的AQ11、DENDRAL和AM程序等囚】。多概念學(xué)習(xí)任務(wù) 則可以劃分成多個(gè)單概念學(xué)習(xí)任務(wù)來完成。多概

39、念學(xué)習(xí)與單概念學(xué)習(xí)的差別在于 多概念學(xué)習(xí)方法必須解決概念之間的沖突問題。通過歸納學(xué)習(xí)產(chǎn)生出具有一般性的知識(shí),這可以給解題系統(tǒng)帶來很多幫助, 這是因?yàn)闄C(jī)器和自動(dòng)解題系統(tǒng)本身是不具有類似人的“直覺”的,而歸納學(xué)習(xí)可 以影響自動(dòng)解題系統(tǒng)的判斷方式,相當(dāng)于擁有了一些常識(shí),可以理解為機(jī)器的“直 覺O這是歸納學(xué)習(xí)應(yīng)用于解題系統(tǒng)的初衷。1.2.4機(jī)器學(xué)習(xí)與歸納學(xué)習(xí)的應(yīng)用機(jī)器學(xué)習(xí)是繼專家系統(tǒng)之后人工智能應(yīng)用的又一重要研究領(lǐng)域,也是人工智 能和神經(jīng)計(jì)算的核心研究課題之一國。機(jī)器學(xué)習(xí)的基本思想就已經(jīng)有人提出,1783 年,托馬斯貝葉斯發(fā)表了貝葉斯定理,該定理發(fā)現(xiàn)了事給定有關(guān)類似事件的歷 史數(shù)據(jù)的事件的可能性,它是

40、根據(jù)以前的信息推斷之后最可能發(fā)生的事件,可以 說,貝葉斯定理只是一種從經(jīng)驗(yàn)中學(xué)習(xí)出來的數(shù)學(xué)方法,而這是機(jī)器學(xué)習(xí)的基本 思想。而到了 1950年,Alan Turing發(fā)明了所謂的圖靈測試,即測試者與被測試 者(一個(gè)人和一臺(tái)機(jī)器)隔開的情況下,通過一些裝置(如鍵盤)向被測試者隨 意提問。圖靈認(rèn)為,在進(jìn)行多次測試后,如果有超過30%的測試者不能確定出被 測試者是人還是機(jī)器,那么這臺(tái)機(jī)器才能通過測試,才能被認(rèn)為是具有“人工智 能 o 1952年,第一個(gè)真正的機(jī)器學(xué)習(xí)程序Arthur Samuel創(chuàng)建了出來,雖然只 是一個(gè)棋盤游戲,但計(jì)算機(jī)能夠通過從以前的游戲中學(xué)習(xí)策略,以此來提高它的 “棋力o而在之

41、后的幾十年間,類似的程序越來越多,并通過與專業(yè)的人類玩 家玩戰(zhàn)略游戲來測試機(jī)器學(xué)習(xí)程序的能力。到了 1997年,IBM國際象棋電腦深 藍(lán)在一場國際象棋比賽中擊敗了世界冠軍加里卡斯帕羅夫,而谷歌開發(fā)的 AlphaGo更是在圍棋這一復(fù)雜的游戲上擊敗了頂級(jí)棋手Lee SedoL圖1-2中是當(dāng)今機(jī)器學(xué)習(xí)的主要特點(diǎn),通過關(guān)系、模式、依存關(guān)系、隱藏結(jié) 構(gòu)等加上相應(yīng)的算法和技術(shù),將輸入數(shù)據(jù)轉(zhuǎn)化為最優(yōu)的模型輸出。雖然已經(jīng)形成 了較為固定的模式,但就目前來說,當(dāng)今的計(jì)算機(jī)系統(tǒng)和人工智能系統(tǒng)的學(xué)習(xí)能 力還不足以滿足各個(gè)領(lǐng)域?qū)λ男枨?。因此如果能夠在人工智能研究的某個(gè)領(lǐng)域 中取得一定的突破,則必能促進(jìn)人工智能在其他

42、領(lǐng)域的進(jìn)一步發(fā)展。歸納學(xué)習(xí)與機(jī)器學(xué)習(xí)有很大的關(guān)系,人工智能是追求目標(biāo),機(jī)器學(xué)習(xí)是實(shí)現(xiàn) 手段,而歸納學(xué)習(xí)是其中的一種方法,可以說是機(jī)器學(xué)習(xí)的一個(gè)子集,它是由教 師或環(huán)境提供某概念的一些實(shí)例或反例,讓學(xué)生通過歸納推理得出該概念的一般 描述。這種學(xué)習(xí)的推理工作量遠(yuǎn)多于示教學(xué)習(xí)和演繹學(xué)習(xí),因?yàn)榄h(huán)境并不提供 一般性概念描述(比如公理、定理)。從某種程度上說,歸納學(xué)習(xí)的推理量也會(huì) 比類比學(xué)習(xí)大,因?yàn)闆]有一個(gè)類似的概念可以作為”源概念”加以取用。歸納學(xué)習(xí) 是最基本的,發(fā)展也較為成熟的學(xué)習(xí)方法,在人工智能領(lǐng)域中已經(jīng)得到廣泛的研 究和應(yīng)用。目前在國內(nèi)外機(jī)器學(xué)習(xí)最主要的應(yīng)用領(lǐng)域包括專家系統(tǒng)、認(rèn)知模擬、規(guī)劃和 問題

43、求解、數(shù)據(jù)挖掘、圖象識(shí)別、自然語言理解、機(jī)器人和博弈等24】。從機(jī)器學(xué) 習(xí)的執(zhí)行部分所反映的任務(wù)類型上看,大部分的應(yīng)用研究領(lǐng)域基本上集中于以下 兩個(gè)范疇:分類和問題求解。1.3論文的研究內(nèi)容本論文主要研究如何通過歸納學(xué)習(xí)的方法提高自動(dòng)解題系統(tǒng)的解題正確率和 效率。在本課題的研究之中,自動(dòng)解題系統(tǒng)是使用Drools作為推理引擎的。Drools 是JBOSS旗下的一款開源規(guī)則引擎,是為Java量身定制的基于Charles Forgy的 RETE算法的規(guī)則引擎的實(shí)現(xiàn)/I。Drools具有一個(gè)易于訪問企業(yè)策略、易于調(diào)整 以及易于管理的開源業(yè)務(wù)規(guī)則引擎,符合業(yè)內(nèi)標(biāo)準(zhǔn),速度快、效率高,同時(shí)它提 供了大量的

44、編程接口,可以方便的與現(xiàn)有的Java系統(tǒng)對(duì)接26】。自動(dòng)解題系統(tǒng)中建 立了一套比較完善的定理規(guī)則庫,并在其基礎(chǔ)上生成認(rèn)知模型庫,機(jī)器以認(rèn)知模 型庫為主,以規(guī)則集為輔進(jìn)行推理,從而達(dá)到解題的目的。歸納學(xué)習(xí)能夠獲得新的概念,創(chuàng)立新的規(guī)則,發(fā)現(xiàn)新的理論。如果通過歸納 學(xué)習(xí)從已有的解題數(shù)據(jù)中歸納出具有一般性的知識(shí),將這些知識(shí)使用到自動(dòng)解題 系統(tǒng)中去參與推理,這可以給解題系統(tǒng)帶來很多幫助。機(jī)器本身不具有“直覺, 而歸納學(xué)習(xí)可以影響自動(dòng)解題系統(tǒng)的判斷和推理方式,相當(dāng)于擁有了一些常識(shí), 這是歸納學(xué)習(xí)應(yīng)用于解題系統(tǒng)的初衷。將歸納學(xué)習(xí)和自動(dòng)解題的結(jié)合是本文最重 要的創(chuàng)新點(diǎn)本課題主要研究基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)及其

45、在初等數(shù)學(xué)自動(dòng)解題系 統(tǒng)中的應(yīng)用,屬人工智能技術(shù)研究,通過歸納學(xué)習(xí)在大量的數(shù)據(jù)中歸納抽取出一 般的規(guī)則和模式,轉(zhuǎn)化為知識(shí)后應(yīng)用于自動(dòng)解題系統(tǒng)。主要的研究內(nèi)容如下:1)自動(dòng)解題系統(tǒng)的結(jié)構(gòu)的分析與掌握自動(dòng)解題系統(tǒng)是基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)應(yīng)用的對(duì)象,因此必須要先對(duì)自動(dòng) 解題系統(tǒng)的結(jié)構(gòu)進(jìn)行分析,掌握了自動(dòng)解題系統(tǒng)的推理方式和深層原理后才可以 考慮如何應(yīng)用歸納學(xué)習(xí)協(xié)助推理。2)歸納學(xué)習(xí)所需數(shù)據(jù)的選取和收集根據(jù)需要對(duì)初等數(shù)學(xué)題目數(shù)據(jù)進(jìn)行選取并作為歸納學(xué)習(xí)的訓(xùn)練集,將這些題 日數(shù)據(jù)通過自動(dòng)推理系統(tǒng)完成推理后,將推理的過程和解題的結(jié)果進(jìn)行整理和收 集。3)自動(dòng)解題系統(tǒng)的優(yōu)化對(duì)現(xiàn)有的自動(dòng)解題系統(tǒng)模型進(jìn)行研究,提

46、出優(yōu)化方案,并根據(jù)優(yōu)化方案對(duì)自 動(dòng)解題系統(tǒng)進(jìn)行改進(jìn)。4)基于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)在系統(tǒng)推理中的應(yīng)用將收集的數(shù)據(jù)進(jìn)行整理后進(jìn)行訓(xùn)練,通過機(jī)器學(xué)習(xí)的方法歸納出一定的規(guī)律, 然后將歸納出來的規(guī)律作為知識(shí)加入自動(dòng)解題系統(tǒng)的知識(shí)庫中,協(xié)助初等數(shù)學(xué)問 題的自動(dòng)推理。本文以提高自動(dòng)解題系統(tǒng)的解題正確率和效率為目標(biāo),通過對(duì)自動(dòng)推理系統(tǒng) 的優(yōu)化以及加入歸納學(xué)習(xí)發(fā)現(xiàn)的知識(shí)等方法來確保目標(biāo)的實(shí)現(xiàn)。本文中解題數(shù)據(jù) 選取了歷年中考題,高考題和一些模擬題,并對(duì)不同的題型進(jìn)行分類,這樣更具有 針對(duì)性和代表性。1.4論文組織結(jié)構(gòu)本文將研究成果分為6章敘述,具體如下:第一章:緒論。簡單敘述了本文研究課題的背景與意義,國內(nèi)外發(fā)展的

47、現(xiàn)狀 和文章的創(chuàng)新點(diǎn),并介紹了文章主要的研究內(nèi)容。第二章:相關(guān)理論與技術(shù)。對(duì)本文所涉及到的相關(guān)的技術(shù)和在系統(tǒng)中的應(yīng)用 進(jìn)行詳盡的講解。包括自動(dòng)解題系統(tǒng)的核心“知識(shí)的自動(dòng)推理,以及歸納學(xué)習(xí)和 歸納學(xué)習(xí)和自動(dòng)推理相結(jié)合的技術(shù)。第三章:自動(dòng)解題系統(tǒng)。自動(dòng)解題系統(tǒng)是本論文研究的基礎(chǔ)和重點(diǎn),也是基 于歸納學(xué)習(xí)的知識(shí)發(fā)現(xiàn)發(fā)揮作用的地方,這一章節(jié)從自動(dòng)解題系統(tǒng)的整體框架和 系統(tǒng)結(jié)構(gòu)出發(fā),從知識(shí)表示開始,將自動(dòng)解題系統(tǒng)中每一個(gè)部分的構(gòu)成和作用以 及相互之間的關(guān)系進(jìn)行了詳細(xì)的介紹。除此之外,在該章節(jié)的結(jié)尾,還講述了如 何對(duì)已有的自動(dòng)解題系統(tǒng)進(jìn)行優(yōu)化,主要提到了矛盾停機(jī)規(guī)則的添加和歸納推理 及驗(yàn)證的方法。第四章:

48、歸納學(xué)習(xí)在自動(dòng)解題系統(tǒng)中的應(yīng)用與優(yōu)化。從基于歸納學(xué)習(xí)的知識(shí) 發(fā)現(xiàn)的設(shè)計(jì)思想講起,詳細(xì)的講述了數(shù)據(jù)的選取與收集,關(guān)系類型與規(guī)則之間的 聯(lián)系,并從理論的角度講解了知識(shí)發(fā)現(xiàn)與應(yīng)用的原理,并介紹了應(yīng)用到自動(dòng)解題 系統(tǒng)中的具體過程。第五章:系統(tǒng)測試與分析。本課題選取了兩千多道初等數(shù)學(xué)問題進(jìn)行了測試, 這些數(shù)據(jù)來自歷年的高考題和各個(gè)高中的模擬試題,通過將使用歸納學(xué)習(xí)和未使 用歸納學(xué)習(xí)的兩個(gè)自動(dòng)解題系統(tǒng)的版本的測試結(jié)果進(jìn)行對(duì)比,展現(xiàn)了基于歸納學(xué) 習(xí)的知識(shí)發(fā)現(xiàn)對(duì)解題正確率和效率提高所帶來的巨大作用。第六章:總結(jié)與展望。總結(jié)了本文為實(shí)現(xiàn)目標(biāo)而做的工作和主要研究成果, 并提到了本課題中的創(chuàng)新之處,接著分析了研究存

49、在的不足之處,并據(jù)此提出與 之相關(guān)的問題和對(duì)未來自動(dòng)解題系統(tǒng)和歸納學(xué)習(xí)技術(shù)應(yīng)用的展望,起到對(duì)后續(xù)研 究的引導(dǎo)作用。第二章相關(guān)理論與技術(shù)2.1自動(dòng)推理技術(shù)2.1.1推理引擎和推理引擎自動(dòng)推理技術(shù)是自動(dòng)解題系統(tǒng)的核心,而推理引擎則是推理技術(shù)的核心。因 此,必須為自動(dòng)解題系統(tǒng)建立一個(gè)有效的推理引擎。推理引擎的主要功能是實(shí)現(xiàn) 知識(shí)之間的推理,也稱為推理機(jī)RM。推理機(jī)主要由調(diào)度程序、執(zhí)行器和一致性協(xié) 調(diào)器三個(gè)模塊組成。如今由面上有許多的推理引擎,在其中有著不少免費(fèi)的開源 軟件,比如Drools CWM、Flora-2等,也有商用的軟件RacerPro Bossa等函。 本文中的自動(dòng)解題系統(tǒng)則是選擇Dro

50、ols作為自動(dòng)解題系統(tǒng)的推理引擎。由于業(yè)務(wù)的需要,很多公司和企業(yè)都有著一個(gè)獨(dú)立的內(nèi)部系統(tǒng)來對(duì)業(yè)務(wù)進(jìn)行 管理,這些系統(tǒng)的結(jié)構(gòu)很復(fù)雜,這會(huì)導(dǎo)致業(yè)務(wù)邏輯也會(huì)很復(fù)雜,而且業(yè)務(wù)需求經(jīng) 常會(huì)發(fā)生改變。特別是某些商業(yè)系統(tǒng),有些要求對(duì)開發(fā)人員的挑戰(zhàn)非常大,比如 要求能夠?qū)崟r(shí)修改相應(yīng)的商業(yè)規(guī)則,試想,若按照傳統(tǒng)的編程思想去把業(yè)務(wù)所涉 及的規(guī)則都寫到代碼中去,假如一旦需要修改業(yè)務(wù)規(guī)則,就要將代碼重新編譯、 打包和發(fā)布等,這會(huì)導(dǎo)致開發(fā)效率很是低下。因此,可以通過把其中易變的業(yè)務(wù) 規(guī)則都抽取到程序外部去,那么這些業(yè)務(wù)邏輯規(guī)則都會(huì)獨(dú)立于程序而存在,這樣 也能實(shí)時(shí)的修改這些業(yè)務(wù)規(guī)則而不需要對(duì)整個(gè)系統(tǒng)進(jìn)行修改,這可以大大提

51、升程 序開發(fā)和維護(hù)的效率。正是為了應(yīng)對(duì)復(fù)雜的業(yè)務(wù)需求,規(guī)則引擎應(yīng)運(yùn)而生。簡單 來說,規(guī)則引擎是一個(gè)可以將業(yè)務(wù)邏輯代碼從其它系統(tǒng)代碼中抽取出來的組件四。規(guī)則引擎從接收業(yè)務(wù)數(shù)據(jù),用規(guī)則庫中的規(guī)則與業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配,再按匹 配成功的規(guī)則進(jìn)行接下來的操作3。這里使用規(guī)則引擎的目的就在于可以降低系 統(tǒng)中業(yè)務(wù)程序和應(yīng)用程序之間的耦合性,這樣可以將開發(fā)和應(yīng)用分割開來,既提 高了開發(fā)效率,也可以降低程序的維護(hù)成本。目前由面上有很多規(guī)則引擎,其中 的Drools是一種開源的基于RETE算法的規(guī)則引擎,非常適合本文中的自動(dòng)解題 系統(tǒng),它是基于Java語言的產(chǎn)生式規(guī)則引擎的實(shí)現(xiàn),目前廣泛應(yīng)用于各種專家 系統(tǒng)的開發(fā)。

52、1.2 Droo I s本文中的自動(dòng)解題系統(tǒng)的核心在于推理,而推理部分是基于Drools規(guī)則引擎 實(shí)現(xiàn)的,這里通過Drools的工作原理圖簡單介紹一下Drools的工作原理。圖2-1 Drools工作原理如圖2-1所示,Drools整體可以分為三個(gè)部分:接口引擎,生產(chǎn)內(nèi)存和工作 內(nèi)存。其中生產(chǎn)內(nèi)存中包括規(guī)則庫,其中保存著所有的業(yè)務(wù)規(guī)則,而工作內(nèi)存中 存放著事實(shí)也稱為知識(shí),所以工作內(nèi)存也可以成為知識(shí)庫,它實(shí)際上是所有當(dāng)前 知識(shí)的集合,知識(shí)則是推理機(jī)在推理時(shí)進(jìn)行匹配的對(duì)象。當(dāng)知識(shí)在插入內(nèi)存后, 也可能被刪改;并且當(dāng)系統(tǒng)中有足夠多的業(yè)務(wù)規(guī)則和知識(shí)時(shí),比如會(huì)面臨一個(gè)知 識(shí)可以同時(shí)匹配多個(gè)規(guī)則的情況,這

53、就是規(guī)則的沖突性,由于存在沖突,必然需 要相應(yīng)的策略來處理沖突,規(guī)定好發(fā)生沖突的情況下規(guī)則的執(zhí)行順序,而圖中的 匹配策略部分就是用來協(xié)調(diào)規(guī)則之間的沖突的32】。其實(shí)該部分是通過關(guān)鍵字 salience來管理沖突規(guī)則,并決定執(zhí)行順序的。在編寫規(guī)則時(shí),可以為每個(gè)規(guī)則加 上salience關(guān)鍵字,不同的salience代表不同的優(yōu)先級(jí),默認(rèn)優(yōu)先級(jí)是0,即沒 有salience關(guān)鍵字的情況,優(yōu)先級(jí)后的數(shù)字越大優(yōu)先級(jí)越高,允許存在負(fù)數(shù)的優(yōu) 先級(jí)。Drools的工作流程,可以解釋為生產(chǎn)內(nèi)存中的規(guī)則集合與工作內(nèi)存中的事實(shí) 在接口引擎中的模式匹配器進(jìn)行不斷匹配的過程,而該過程由匹配策略進(jìn)行監(jiān)控, 直至最終達(dá)成

54、日標(biāo)結(jié)果后結(jié)束匹配。因此,Drools的生產(chǎn)內(nèi)存中的業(yè)務(wù)規(guī)則可以 說是決定了推理引擎的推理能力。而規(guī)則作為推理功能實(shí)現(xiàn)的主要載體,是有著 其獨(dú)特的結(jié)構(gòu)的。package Importrule “rulel attributes(salience) whenCondition 1.Condition2.thenOperation 1.Operation2.endrule “rule2”圖2-2 Drools規(guī)則文件結(jié)構(gòu)從圖2-2中可以看出,一個(gè)標(biāo)準(zhǔn)的Drools規(guī)則文件中,包括文件所在的包名, 即package;然后是需要導(dǎo)入的類,用import來表示,這個(gè)和java的調(diào)用方法基 本一致;若有需

55、要,則可以通過global來定義全局變量,這樣就可以通過定義好 的變量名直接調(diào)用這個(gè)對(duì)象,還可以通過function來定義drools函數(shù),query來定 義查詢語句,這些都是為了規(guī)則編寫的方便和簡潔而存在的功能。除了以上部分, 規(guī)則文件最重要的當(dāng)然是規(guī)則,一個(gè)規(guī)則由規(guī)則名,規(guī)則屬性,條件,操作和結(jié) 束符組成,其中規(guī)則名就是規(guī)則的標(biāo)識(shí),不可以重復(fù),需要用引號(hào)括起來;規(guī)則 屬性在規(guī)則名的下一行,主要用來定義salience即優(yōu)先級(jí);when這個(gè)單詞標(biāo)志著 規(guī)則的匹配條件,只有滿足條件的情況下才能執(zhí)行后面的操作,而條件部分也可 以有多個(gè),只有滿足了前面的條件才會(huì)進(jìn)行后面條件的部分,這部分的語法基本

56、 符合Java的語言規(guī)范;then部分則是具體的操作部分,一般是在工作內(nèi)存即事實(shí) 庫中插入新的事實(shí)(知識(shí)),當(dāng)然也可以做一些更新和刪除事實(shí)的操作;最后的 end則是標(biāo)志著規(guī)則的結(jié)束。一個(gè)規(guī)則文件中往往有很多規(guī)則,出于后期管理的 需要,一般一個(gè)規(guī)則文件存放一類的規(guī)則,規(guī)則間通過規(guī)則名進(jìn)行區(qū)分,規(guī)則名 一般會(huì)用英文單詞的組合,可以通過規(guī)則名理解這個(gè)規(guī)則的大致功能,復(fù)雜規(guī)則 可以通過增加一些注釋。通過這些規(guī)則,Drools可以從開始的一個(gè)或幾個(gè)事實(shí)不 斷產(chǎn)生新的事實(shí),直至事實(shí)庫中目標(biāo)事實(shí)的誕生。Drools推理引擎是基于Rete算法的,這也是自動(dòng)解題系統(tǒng)選擇其作為推理引 擎的一個(gè)重要理由。RETE算

57、法產(chǎn)生于1974年,由美國計(jì)算機(jī)科學(xué)家Charles Forgy提出,是一個(gè)主要用于產(chǎn)生式系統(tǒng)的模式匹配算法mi。RETE在拉丁語中 是“net”,也就是“網(wǎng)絡(luò)的意思。簡單地講,RETE算法可以決定規(guī)則庫中的 哪些規(guī)則應(yīng)該觸發(fā),哪些不應(yīng)該觸發(fā)。RETE算法包括規(guī)則編譯和運(yùn)行時(shí)執(zhí)行兩 個(gè)部分,這是它可以實(shí)現(xiàn)上述功能的前提。規(guī)則編譯是指通過編譯過程后就會(huì)生 成一個(gè)文件,把所有的規(guī)則存放進(jìn)去,轉(zhuǎn)化為Drools中的推理網(wǎng)絡(luò)檢查規(guī)則文 件的語法的過程,規(guī)則完成編譯后才可以與知識(shí)庫或是數(shù)據(jù)中的數(shù)據(jù)進(jìn)行匹配, 也就是運(yùn)行時(shí)執(zhí)行的過程。Rete算法的具體推理流程較為復(fù)雜,也不是本文的 重點(diǎn),所以這里不進(jìn)行贅

58、述。2.1.3計(jì)算工具自動(dòng)解題系統(tǒng)不僅需要推理引擎來保證合理的推理邏輯,也需要足夠強(qiáng)大的 計(jì)算工具來確保推理結(jié)果的準(zhǔn)確性,如果只通過編程來進(jìn)行計(jì)算,不僅要花費(fèi)大 量時(shí)間和精力,也很能滿足整個(gè)自動(dòng)推理系統(tǒng)對(duì)計(jì)算的需求,所以本系統(tǒng)中使用 了計(jì)算工具M(jìn)apleo Maple是日前世界上最為通用的數(shù)學(xué)和工程計(jì)算軟件之一, 在數(shù)學(xué)和科學(xué)領(lǐng)域享有盛譽(yù),有“數(shù)學(xué)家的軟件”之稱36】。Maple是很適合自動(dòng)解 題系統(tǒng)的計(jì)算工具,它在符號(hào)計(jì)算的能力和數(shù)值計(jì)算能力都非常強(qiáng)大,在后面會(huì) 介紹到自動(dòng)解題系統(tǒng)中的A系統(tǒng)會(huì)廣泛用到符號(hào)計(jì)算的功能,而B系統(tǒng)中用到了 Maple的數(shù)值計(jì)算功能。i(2V-Server 3-Ma

59、ple 18文件臼犒蜀(E) m iA(l) W 表榭A)憐畫(D)繪期P) S) I1(T)窗口回黑碰H)b修固片街*扇國4隅T【E底苦傘A玲! !秒醫(yī)|匡耍0厝|陞駝rch for help,圖2-3 Maple計(jì)算示例如圖2-3所示,這是Maple 18版本下進(jìn)行計(jì)算的一個(gè)示例,通過solve關(guān)鍵字 和兩個(gè)二元一次方程,和求解對(duì)象x,y,可以解得每個(gè)對(duì)象的值。這只是Maple 最簡單功能的一個(gè)展示,除了解方程以外,Maple還可以進(jìn)行半代數(shù)求解,作圖, 解數(shù)列通項(xiàng)等等??偠灾琈aple是一個(gè)很強(qiáng)大的計(jì)算工具,可以給自動(dòng)解題 系統(tǒng)帶來很大的幫助,在自動(dòng)解題系統(tǒng)中有很多接口,通過這些接口

60、可以調(diào)用 Maple中很多對(duì)推理有很大幫助的公式或者方法。2.2歸納學(xué)習(xí)歸納(induction)是人類拓展認(rèn)識(shí)能力的重要方法,是一種從特殊到一般, 從一些實(shí)例中總結(jié)規(guī)律的過程、。與之相對(duì)應(yīng)的另一個(gè)概念是演繹(deduction), 演繹是從特殊到一般,將總結(jié)出來的規(guī)律應(yīng)用于具體情況的過程,二者都是人工 智能研究中重要的方法。歸納推理通過應(yīng)用歸納方法,從大量的經(jīng)驗(yàn)數(shù)據(jù)中提取一般規(guī)律和模式,因 此它是一種從個(gè)別到一般的推理。但在進(jìn)行歸納推理時(shí),一般不可能考察全部相 關(guān)事例,因而歸納出的結(jié)論無法保證其絕對(duì)正確,但又能以某種程度相信它為真。 這是歸納推理的一個(gè)重要特征。通過歸納推理,最終的理想結(jié)果是

溫馨提示

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

評(píng)論

0/150

提交評(píng)論