永磁起動機電機設計專家系統(tǒng)的設計與實現(xiàn)1 2韓懷勝馮紹輝山東工業(yè)大學(濟南250061)濟南發(fā)電設備廠博山電機廠了該專家系統(tǒng)的總體結構、知識庫、推理機和設計調(diào)整策略等關鍵問題。
1永磁起動機電機設計專家系統(tǒng)的總體結構與控制結構1.1總體結構在永磁起動機電機設計專家系統(tǒng)中,永磁起動機電機設計方案用狀態(tài)空間表示,永磁起動機電機設計專家系統(tǒng)的設計過程即是利用專家知識(規(guī)則)使設計方案由初始狀態(tài)(初始方案)向目標狀態(tài)(目標方案)轉(zhuǎn)化的過程。因而系統(tǒng)應具有以下結構:狀態(tài)變量存儲區(qū)、規(guī)則存儲區(qū)、推理機、存儲候選初始狀態(tài)的靜態(tài)存儲區(qū)和與電機設計有關的計算方法。電機設計專家系統(tǒng)的智能模型可用一個五元組表示:ds=tdb,im,kb,sdb,prog)其中:tdb為動態(tài)數(shù)據(jù)庫,是記錄動態(tài)信息的內(nèi)存區(qū)域,主要記錄當前設計狀態(tài)的有關信息,包括兩部分:記事冊記錄設計的性能指標要求和當前的子任務,事實庫記錄設計中的有關事實。在設計過程中tdb是動態(tài)刷新的,對它的操作由推理機控制。
im為推理機,是系統(tǒng)的總控制,其主要功能是:①確定當前待執(zhí)行的子任務;②分配子任務給記事冊;③根據(jù)不同的子任務,選擇相應的知識;④根據(jù)所選擇的知識進行推理,調(diào)整設計方案。
kb為知識庫,用于存儲與設計有關的專家知識。
sdb為靜態(tài)數(shù)據(jù)庫,用于存儲已有設計方案。
prog為與電機設計有關的計算方法。
1.2控制結構永磁起動機電機設計專家系統(tǒng)的控制結構如下頁的所示。
1.3內(nèi)部數(shù)據(jù)通訊永磁起動機電機設計專家系統(tǒng)內(nèi)部通訊包括:計算算法與推理機的接口、計算算法與數(shù)據(jù)庫的接口和支撐軟件與推理機的接口。由于系統(tǒng)中各部分采用了不同的語言編程(計算算法用fortran語言,推理機用c語言,數(shù)據(jù)庫及其管理系統(tǒng)用foxbase語言,知識庫編輯軟件用turbo prolog語言編程),各種語言之間的直接通訊困難很大。為此,本系統(tǒng)中算法軟件與其它軟件接口都使用數(shù)據(jù)文件為中介,這樣各軟件只同數(shù)據(jù)文件發(fā)生關系,避免接口的復雜化。為保證數(shù)據(jù)文件的通用性,本系統(tǒng)統(tǒng)一采用普通的數(shù)據(jù)文件格式。
2永磁起動機電機設計專家系統(tǒng)的靜態(tài)數(shù)據(jù)庫系統(tǒng)為提高初始設計方案的質(zhì)量,在該文開發(fā)的永磁起動機電機設計專家系統(tǒng)中,采用“事例模糊設計法確定初始設計方案,即對已有設計方案進行評價,從中選取合適方案的某些零部件進行新電機的設計,以充分利用現(xiàn)有生產(chǎn)設備。因而這些設計方案必須以一定的結構存儲,以便于設計過程中系統(tǒng)對數(shù)據(jù)的訪問。該文采用foxbase 2.10數(shù)據(jù)庫管理語言建立了永磁起動機數(shù)據(jù)庫及其管理系統(tǒng)。該系統(tǒng)的作用是接受推理機對已有設計方案的訪問、完成永磁起動機設計數(shù)據(jù)庫的管理,包括方案輸人、方案修改、方案查詢、方案打印和方案刪除等功能。
3知識庫管理系統(tǒng)為了提高規(guī)則表示的直觀性,本文定義了一種直觀、自然的規(guī)則表達形式,既便于知識庫的建立,又便于使用人員對知識庫的維護。在知識庫的管理上,采用了框架管理方式,便于大型知識庫的管理。
3.1規(guī)則表達形式用于規(guī)則庫中知識的表達,產(chǎn)生式規(guī)則表示形式為:其中w,(x麻為規(guī)則的前提,即3.2知識庫結構知識庫由規(guī)則庫和參量庫組成。參量庫是規(guī)則庫中所有變量的名稱及其數(shù)值類型的集合;規(guī)則庫包含多個按問題領域劃分的規(guī)則組,考慮到規(guī)則庫比較龐大,將規(guī)則庫分成幾個獨立的規(guī)則文件,一個文件包含一個或多個規(guī)則組,一個規(guī)則組包含一條或多條規(guī)則。
規(guī)則庫的管理采用了框架形式,一級框架的名為規(guī)則庫,其槽值為二級框架;二級框架的名為規(guī)則文件名,其槽值為三級框架;三級框架的名為規(guī)則組號,其槽值為四級框架;四級框架的名為規(guī)則號,其槽值為規(guī)則體。其特點是以規(guī)則為主體,輔之以框架。在推理過程中,推理機根據(jù)設計的當前狀態(tài),確定需要調(diào)用的規(guī)則框架,最后找到合適的規(guī)則。
3.3知識庫語法規(guī)則為便于推理機對知識庫的使用,該文定義了知識庫的語法規(guī)則,規(guī)則庫源文件的擴展名為kb,參量組的擴展名為pam.語法規(guī)則如下。
3.3.1參置與參置組的定義參量組是所有參量的集合,以數(shù)據(jù)文件的形式存在,擴展名為pam,用于定義參量的名和數(shù)值類型,便于推理機和算法的通訊。其物理結構如下:其中參量的名以英文字母開頭,參量類型與其相應代號的對應關系為:整型一integer,實型一float.參量定義的先后順序與校核計算程序中輸人輸出文件中參量的順序相對應,參量組以end語句結束。
設計時,首先將參量名和參量類型讀人內(nèi)存,而參量的值在設計中生成,對參量的訪問是通過參量名實現(xiàn)的。
3.3.2規(guī)則庫定義⑴規(guī)則組定義語句其格式為:rulegroup:number用于說明規(guī)則組在該文件中的編號(相當于規(guī)則組名),規(guī)則名定義語句其格式為:rule:number用于說明規(guī)則在該規(guī)則組中的編號。
規(guī)則定義語句其格式為其中premise,為第i個前提,m個前提之間是合取,即"其中“為關系運算符,為數(shù)學運算符,a、b、c、d為參量。允許的關系運算符< >6種,允許的數(shù)學運算符有+、-、、/、〃5種,分別為加、減、乘、除、乘方運算。
在規(guī)則庫中,規(guī)則名占一行,規(guī)則的前提和結論可分別占多行,但二者不在同一行,這是規(guī)則庫和推理機的約定。
計算機工程與應用2000.1 175可執(zhí)行文件調(diào)用語句用于可執(zhí)行文件調(diào)用,例如:system語句的意義為:將a、b、c 3個參量的值從動態(tài)數(shù)據(jù)庫依次寫人數(shù)據(jù)文件bbbbb.dat,然后調(diào)用可執(zhí)行文件modu.exe,modu.exe從bbbbb.dat輸人計算所需要的數(shù)據(jù),計算并將輸出數(shù)據(jù)e、f寫人數(shù)據(jù)文件ut.dat,最后將e、f從out.dat送到動態(tài)數(shù)據(jù)庫。
結束語句其格式為:end 3.4知識庫開發(fā)系統(tǒng)知識庫開發(fā)系統(tǒng)充當知識庫與用戶之間的界面,便于用戶建立自己的領域知識庫。該系統(tǒng)用prolog語言開發(fā)了一個功能強大的知識庫編輯軟件,用c語言開發(fā)了知識庫檢查程序,這兩個軟件都直接嵌在系統(tǒng)中,用戶在系統(tǒng)內(nèi)即可對知識庫進行編輯修改和檢查。
4推理機初始條件為初始事實或目標時,推理的起點是不同的,因而推理方法也不同。正向推理是從證據(jù)節(jié)點向目標節(jié)點推理,是面向事實的推理,適合于初始條件為初始事實的推理;逆向推理是從目標節(jié)點向證據(jù)節(jié)點推理,是面向目標的推理,適合于初始條件為目標的推理。對于電機設計專家系統(tǒng),系統(tǒng)得到的是一組設計目標,據(jù)此進行推理、設計,是逆向推理;另一方面,系統(tǒng)根據(jù)設計目標得到一初始方案(即初始事實),在此基礎上利用規(guī)則調(diào)整設計數(shù)據(jù),這是一個根據(jù)事實向目標推理的過程,是正向推理,在該系統(tǒng)中正、逆向推理同時存在,從總體上講,是逆向推理,但在實施過程中將逆向推理轉(zhuǎn)化為一系列正向推理,因而在系統(tǒng)內(nèi)部采用正向推理。
該文用c語言開發(fā)了推理機,該推理機為一函數(shù),具有通用性,可供其它程序調(diào)用,其人口參數(shù)為規(guī)則文件名和規(guī)則組編號,調(diào)用該函數(shù)后,推理機將對給定規(guī)則文件中給定規(guī)則組的所有規(guī)則進行推理。實現(xiàn)了知識庫和推理機的分離。
5設計調(diào)整過程的實現(xiàn)在永磁起動機電機設計專家系統(tǒng)中,整個設計調(diào)整過程類似人類設計專家的設計方式,是一個"校核-評價-調(diào)整-再校核“的過程,具體如下:(1)根據(jù)用戶的性能指標要求,利用有關初始設計的專家知識確定初始方案;(2)利用算法支撐庫中的校核程序?qū)υ摲桨高M行校核汁算,結果送人動態(tài)數(shù)據(jù)庫中;⑶利用評價模塊對結果進行綜合評價,若方案合格或用戶所給的性能指標要求太高,則轉(zhuǎn)(4);若方案達不到要求,則利用知識庫中的專家知識和動態(tài)數(shù)據(jù)庫中的事實進行推理,確定最佳調(diào)整方法,進行結構數(shù)據(jù)的調(diào)整,將調(diào)整后的結構數(shù)據(jù)由動態(tài)數(shù)據(jù)庫轉(zhuǎn)移到一數(shù)據(jù)文件中,返回(2);(4)設計方案輸出。
在設計調(diào)整過程中,為提高設計效率,采用“最優(yōu)調(diào)整”
控制策略氣該策略在進行設計方案時,首先利用專家知識對所有的調(diào)整方法進行評價,選擇最優(yōu)調(diào)整方法進行設計調(diào)整,這樣能保證以最篼效率找到可行方案。
6結論為提高永磁起動機電機設計專家系統(tǒng)的設計能力,該文重點對專家系統(tǒng)的總體結構、知識庫、推理機和設計調(diào)整策略等關鍵問題進行了探討。提出了一種直觀自然的規(guī)則表達形式,定義了一套完善的知識庫語法規(guī)則,采用了框架管理的知識庫結構,便于大型知識庫的建立和維護;開發(fā)了知識庫開發(fā)系統(tǒng),集知識編輯、修改、檢查于一體,能對知識庫進行自動的語法檢查,提高了知識庫開發(fā)效率;根據(jù)所確定的知識表達方式,利用c語言開發(fā)了高效、靈活的推理機。采用了“最優(yōu)調(diào)整”控制策略,使專家系統(tǒng)能以最高效率找到可行方案。(定稿日期:1999年2月)










