摘要:本文在分析了當(dāng)前專家系統(tǒng)的原理及存在的不足之處的基礎(chǔ)上,介紹了分布式專家系統(tǒng)的原理及其驅(qū)動(dòng)方式,和協(xié)同式專家系統(tǒng)的原理及其協(xié)同方法。同時(shí),提出并綜合了基于分布式和多專家協(xié)同的分布協(xié)同式專家系統(tǒng),給出了分布協(xié)同式多專家系統(tǒng)的典型結(jié)構(gòu),并對(duì)它的各個(gè)組成部分進(jìn)行了簡(jiǎn)單的分析。
關(guān)鍵詞:分布式;協(xié)同式;多專家系統(tǒng)
中圖分類號(hào):TP182文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)14-20922-04
1 引言
專家系統(tǒng)是人工智能的一個(gè)重要分支,廣泛地應(yīng)用于醫(yī)療診斷、圖像處理、石油化工地質(zhì)勘探、金融決策、實(shí)時(shí)監(jiān)控、分子遺傳工程、教學(xué)、軍事等多種領(lǐng)域中,產(chǎn)生了巨大的社會(huì)效益及經(jīng)濟(jì)效益,同時(shí)也促進(jìn)了人工智能基本理論和基本技術(shù)的研究和發(fā)展。目前,它已成為人工智能中一個(gè)最活躍且最有成效的研究領(lǐng)域。[1]
2 專家系統(tǒng)概述
2.1 專家系統(tǒng)概念
對(duì)于專家系統(tǒng),至今還沒有一個(gè)公認(rèn)的嚴(yán)格定義,但是我們可以從各種陳述中得出——所謂專家系統(tǒng)就是一種在相關(guān)領(lǐng)域中具有專家水平解題能力的智能程序系統(tǒng),它能運(yùn)用領(lǐng)域?qū)<叶嗄攴e累的經(jīng)驗(yàn)與專門知識(shí),模擬人類專家的思維過程,求解需要專家才能解決的困難問題。
2.2 專家系統(tǒng)的一般結(jié)構(gòu)
如圖1,一般都包括人機(jī)接口、推理機(jī)、知識(shí)庫(kù)及其管理系統(tǒng)、數(shù)據(jù)庫(kù)及其管理系統(tǒng)、知識(shí)獲取機(jī)構(gòu)、解釋機(jī)構(gòu)這六個(gè)部分。
2.3 目前的專家系統(tǒng)存在的問題
知識(shí)面窄:一方面,目前的專家系統(tǒng)只能應(yīng)用于相當(dāng)窄的知識(shí)領(lǐng)域內(nèi)求解預(yù)定的專門問題,一旦遇到超出知識(shí)范圍的問題,就無能為力,不能通過自身的學(xué)習(xí)增長(zhǎng)知識(shí);另一方面,目前的專家系統(tǒng)著重強(qiáng)調(diào)利用領(lǐng)域?qū)<业慕?jīng)驗(yàn)性知識(shí)求解問題,而忽視了深層知識(shí)(一般把經(jīng)驗(yàn)知識(shí)稱為表層知識(shí)或深層知識(shí),把理論性知識(shí)、原理性知識(shí)稱為深層知識(shí)或常識(shí))在問題求解中的作用,這就使系統(tǒng)的求解能力受到限制。
知識(shí)獲取瓶頸:知識(shí)的獲取可以劃分為兩個(gè)階段:一個(gè)是建立知識(shí)庫(kù)時(shí),從領(lǐng)域?qū)<壹坝嘘P(guān)文獻(xiàn)資料那里獲??;另一個(gè)是在系統(tǒng)運(yùn)行過程中,通過運(yùn)行實(shí)踐不斷總結(jié)、歸納出新的知識(shí)來動(dòng)態(tài)地修改知識(shí)庫(kù)。對(duì)于前一種情況,通常主要采用手工方法,由知識(shí)工程師將領(lǐng)域?qū)<业闹R(shí)輸入到計(jì)算機(jī)中,間接、費(fèi)時(shí)且效率低,并直接影響到知識(shí)的質(zhì)量及專家系統(tǒng)的功能,是人們目前亟待解決的問題。理想的方法是實(shí)現(xiàn)自動(dòng)知識(shí)獲取,這需要解決對(duì)自然語言的識(shí)別與理解以及從大量事例中歸納知識(shí)等問題。
體系結(jié)構(gòu)的不足:目前的專家系統(tǒng)大部分還是單一、獨(dú)立的專家系統(tǒng),缺少多個(gè)系統(tǒng)的協(xié)作及綜合型的專家系統(tǒng)。
推理方法的欠缺:不支持多種推理策略,在時(shí)態(tài)推理、定性推理和非單調(diào)推理等方面依舊沒有新的突破,而這些正是人類思維中最常用的推理形式。
系統(tǒng)的復(fù)雜性和效率問題:目前在專家系統(tǒng)中廣泛應(yīng)用的是把知識(shí)轉(zhuǎn)換成計(jì)算機(jī)可以存儲(chǔ)的形式存入知識(shí)庫(kù),推理時(shí)再依一定的匹配算法及搜索策略到知識(shí)庫(kù)中尋找所需的知識(shí)。這種表示和處理方式一方面需要對(duì)知識(shí)進(jìn)行合理的組織與管理,另一方面由于知識(shí)搜索是一串行的計(jì)算過程,必須解決沖突等問題, 這就產(chǎn)生了推理的復(fù)雜性、組合爆炸和無窮遞歸等問題,影響到系統(tǒng)的效率。
不具有聯(lián)想記憶功能,適應(yīng)能力差:目前的專家系統(tǒng)一般還不具備自學(xué)習(xí)能力和聯(lián)想記憶功能,不能在運(yùn)行過程中自我完善,不能通過聯(lián)想記憶、識(shí)別和類比等方式進(jìn)行推理,當(dāng)已知的信息帶有噪聲、發(fā)生畸變等不完全信息時(shí),缺少有利的措施進(jìn)行處理。
基于分布式、協(xié)同式的多專家系統(tǒng)能在一定程度上改善這些不足之處。
3 多專家系統(tǒng)的原理
3.1 分布式專家系統(tǒng)原理圖
分布式專家系統(tǒng)(DES,Distributed Expert System)是具有分布處理特征的專家系統(tǒng)。一般來說,專家系統(tǒng)的規(guī)模越大,就需要越長(zhǎng)的時(shí)間來對(duì)問題進(jìn)行推理求解。因此可以把一個(gè)大的問題分解后,分配給若干個(gè)子專家系統(tǒng)進(jìn)行并行求解,從而總體上提高系統(tǒng)的處理效率。圖2形象地表示分布式專家系統(tǒng)的基本結(jié)構(gòu)。
分布式專家系統(tǒng)是基于各種并行處理算法,采用各種并行推理和執(zhí)行技術(shù),系統(tǒng)的各個(gè)子專家系統(tǒng)不僅能同步地并行工作,更重要的是還能進(jìn)行異步并行處理??梢园磾?shù)據(jù)驅(qū)動(dòng)或要求的驅(qū)動(dòng)方式實(shí)現(xiàn)分布在各處理器上各子系統(tǒng)之間的通信和同步,目的是為了提高系統(tǒng)的處理效率和可靠性。它主要著重于專家系統(tǒng)功能的分布、知識(shí)的分布以及推理的分布。
對(duì)于子專家系統(tǒng)的驅(qū)動(dòng)方式,主要有如下幾種:
控制驅(qū)動(dòng):子專家系統(tǒng)被動(dòng)地等待驅(qū)動(dòng)命令,即使其運(yùn)行條件具備,若無來自其他專家系統(tǒng)的驅(qū)動(dòng)命令,它自身不能自動(dòng)工作。該驅(qū)動(dòng)方式最簡(jiǎn)單、常用,但是并行性較差。
數(shù)據(jù)驅(qū)動(dòng):任何的子專家系統(tǒng)都是對(duì)指定的輸入數(shù)據(jù)進(jìn)行處理,然后給出相應(yīng)的輸出數(shù)據(jù)。當(dāng)一個(gè)子專家系統(tǒng)的輸入數(shù)據(jù)都已經(jīng)具備后,不需要拜驅(qū)動(dòng)命令,即可自行啟動(dòng)工作。在該驅(qū)動(dòng)方式下,各子專家系統(tǒng)只有通過相互傳送消息來傳送數(shù)據(jù)的聯(lián)系,提高了并行推理的效率,具有面向?qū)ο蟮墓ぷ魈卣鳌?/p>
要求驅(qū)動(dòng):當(dāng)一個(gè)子專家系統(tǒng)的輸出被其他任務(wù)的子專家系統(tǒng)需要時(shí),才被啟動(dòng)執(zhí)行。即把輸出結(jié)果的要求和輸入數(shù)據(jù)的要求結(jié)合起來作為子專家系統(tǒng)的驅(qū)動(dòng)條件。這樣既可實(shí)現(xiàn)較高的并行性,又可避免單純的數(shù)據(jù)驅(qū)動(dòng)方式可能出現(xiàn)不根據(jù)需求而盲目產(chǎn)生很多暫時(shí)用不上的數(shù)據(jù)的問題,即避免了“數(shù)據(jù)積壓”。
事件驅(qū)動(dòng):是包含了數(shù)據(jù)驅(qū)動(dòng)和要求驅(qū)動(dòng)的更廣義的驅(qū)動(dòng)方式。在該驅(qū)動(dòng)方式下,各個(gè)子專家系統(tǒng)都要規(guī)定使它開始工作所需的事件集合,這些事件不一定是自身的輸入數(shù)據(jù)齊備,也可能是其它專家系統(tǒng)的輸入數(shù)據(jù)齊備或其它的事件。只有在事件集合中的所有事件都已發(fā)生,才開始運(yùn)行,否則就要等待。這樣就能更方便地實(shí)現(xiàn)通信,如同步和互斥等。
3.2 協(xié)同式專家系統(tǒng)原理
協(xié)同式專家系統(tǒng)(CES,Cooperative Expert System)亦稱群專家系統(tǒng),是能綜合若干個(gè)相近領(lǐng)域或一個(gè)領(lǐng)域的多個(gè)方面知識(shí)的分布式專家系統(tǒng)。在現(xiàn)實(shí)世界中,依靠多個(gè)專家系統(tǒng)的協(xié)同工作來求解一個(gè)復(fù)雜的問題的需求是很多的。協(xié)同式專家系統(tǒng)與分布式專家系統(tǒng)有一些共性,但它更強(qiáng)調(diào)各子專家系統(tǒng)之間的協(xié)同合作。如圖3為一個(gè)主從式的協(xié)同式專家系統(tǒng)的基本結(jié)構(gòu)。
3.2.1 協(xié)同方法
常用下面三種協(xié)同法:
多專家系統(tǒng)規(guī)劃法:即先設(shè)計(jì)一個(gè)規(guī)劃專家系統(tǒng),由它進(jìn)行整體規(guī)劃,形成一個(gè)多專家系統(tǒng)的問題解決方案。它描述了各個(gè)子專家系統(tǒng)應(yīng)采取的行動(dòng)和目標(biāo),然后分配任務(wù),最后把局部解綜合為全局解。
功能化有效協(xié)同法:即各子專家系統(tǒng)根據(jù)各自的功能需求與有關(guān)的專家系統(tǒng)交換部分結(jié)果,并最終生成一個(gè)全局解。
談判法:子專家系統(tǒng)把自己的局部解公布出去,按照事先設(shè)計(jì)的一個(gè)談判協(xié)議,對(duì)相關(guān)的局部解經(jīng)過裁決等綜合處理后,得到全局解。
3.2.2 知識(shí)的組織和分布
共享性知識(shí)與私有性知識(shí):一般把共享性知識(shí)分離出來,存儲(chǔ)在公共知識(shí)庫(kù)中,供各個(gè)專家系統(tǒng)共享。同時(shí),每個(gè)專家系統(tǒng)都有自己私有的知識(shí)。這樣,專家系統(tǒng)必須具備把共享性知識(shí)及其他專家系統(tǒng)的私有性知識(shí)轉(zhuǎn)化為自己的私有性知識(shí)的能力。如果所有的專家系統(tǒng)采用統(tǒng)一的知識(shí)表示方式,知識(shí)共享的效率會(huì)高很多。
靜態(tài)知識(shí)與動(dòng)態(tài)知識(shí):靜態(tài)知識(shí)是指系統(tǒng)開始時(shí)加載到各個(gè)專家系統(tǒng)中的知識(shí),是各個(gè)專家系統(tǒng)的個(gè)性知識(shí);動(dòng)態(tài)知識(shí)是指問題求解過程中,各個(gè)專家系統(tǒng)之間進(jìn)行傳送的知識(shí),是支持多專家系統(tǒng)協(xié)同工作所需的知識(shí)。
3.2.3 裁決方法
是非問題的裁決方法:若多個(gè)子專家系統(tǒng)對(duì)同一個(gè)是非問題產(chǎn)生多個(gè)局部解,可以用以下方法裁決:
表決法:即少數(shù)服從多數(shù)的投票法。
加權(quán)平均法:可以按照解決該問題的權(quán)威程序賦于各子專家不同的權(quán)值Wi,并且滿足∑Wi=1。又設(shè)Ai為第i個(gè)子專家系統(tǒng)對(duì)該問題的解,解為“是”則Ai=1,否則Ai=0。全局解的加權(quán)平均為∑Wi*Ai,當(dāng)∑Wi*Ai>1/2時(shí),全局解為“是”;當(dāng)∑Wi*Ai<1/2時(shí),全局解為“否”;當(dāng)∑Wi*Ai=1/2時(shí),則不能裁決。
評(píng)分問題的裁決方法:對(duì)多個(gè)子專家系統(tǒng)的評(píng)分問題,同上,可以用∑Wi*Ai作為最后的全局的評(píng)分。
互補(bǔ)問題的裁決方法:對(duì)局部解進(jìn)行簡(jiǎn)單的并操作,即可作為全局解。
3.2.4 驅(qū)動(dòng)方式
與分布式專家系統(tǒng)類似。
3.2.5 系統(tǒng)結(jié)構(gòu)
主從式:上面有圖。整個(gè)系統(tǒng)有一個(gè)主專家系統(tǒng)和若干個(gè)子專家系統(tǒng)。主專家系統(tǒng)負(fù)責(zé)把任務(wù)分配給子專家系統(tǒng),并綜合或裁決各子專家系統(tǒng)的局部解,得出全局解。
層次式:把系統(tǒng)分為若干層,越是在上層的專家系統(tǒng),負(fù)責(zé)更宏觀的管理與控制任務(wù),而由最下層的專家系統(tǒng)求出局部解。
同僚式:系統(tǒng)中的專家系統(tǒng)是協(xié)同合作的平等伙伴關(guān)系。當(dāng)用戶提出一個(gè)問題后,由接受問題的專家系統(tǒng)首先看自己能否獨(dú)立地解決,若能,則獨(dú)立求解;若不能,則向其他專家系統(tǒng)“廣播”求助。這樣,每個(gè)專家系統(tǒng)都處于不斷地求助其他專家系統(tǒng)和為其他專家系統(tǒng)服務(wù)之中。如此相互服務(wù),共同完成總?cè)蝿?wù)。
廣播式:用戶同時(shí)把問題廣播給若干個(gè)專家系統(tǒng),各專家系統(tǒng)根據(jù)自己擁有的知識(shí)從不同角度進(jìn)行求解,然后由一個(gè)綜合專家系統(tǒng)把所有的局部解合成全局解。
網(wǎng)絡(luò)式:根據(jù)專家系統(tǒng)協(xié)同求解的“與”、“或”關(guān)系,把系統(tǒng)表示為以專家系統(tǒng)為結(jié)點(diǎn)的與/或圖。
4 分布協(xié)同式多專家系統(tǒng)的結(jié)構(gòu)
4.1 結(jié)構(gòu)圖
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、硬件資源共享、遠(yuǎn)程數(shù)據(jù)交換以及分布式計(jì)算與并行處理技術(shù)的發(fā)展,基于計(jì)算機(jī)網(wǎng)絡(luò)的分布協(xié)同式專家系統(tǒng)實(shí)現(xiàn)成為可能,典型的分布協(xié)同式專家系統(tǒng)結(jié)構(gòu)如圖4所示。
4.2 基本工作方式
主系統(tǒng)是一個(gè)協(xié)同式專家系統(tǒng),它的各個(gè)子專家系統(tǒng)都是一個(gè)分布式的專家系統(tǒng)。當(dāng)用戶向多專家系統(tǒng)提出問題后,由主協(xié)同專家系統(tǒng)中的轉(zhuǎn)換器,將原問題進(jìn)行“同構(gòu)”或“同態(tài)”變換,以適于不同領(lǐng)域、不同學(xué)科、不同學(xué)派的專家,然后把“同構(gòu)”或“同態(tài)”問題輸出給相應(yīng)領(lǐng)域的分布式專家系統(tǒng)。接著,該分布式專家系統(tǒng)的主專家系統(tǒng)的分解器把來自上一層專家系統(tǒng)的問題分解,然后分配給各個(gè)子專家系統(tǒng)進(jìn)行并行處理。再由分布式主專家系統(tǒng)的綜合器對(duì)局部解進(jìn)行綜合,再提交到上一層。最后,由協(xié)同式主專家系統(tǒng)的協(xié)調(diào)器把各領(lǐng)域的局部解進(jìn)行協(xié)調(diào)處理,得出整個(gè)系統(tǒng)的全局解。
4.3 協(xié)同式主專家系統(tǒng)由變換器、協(xié)調(diào)器和總控器等部分組成
變換器:將用戶輸入的問題進(jìn)行“同構(gòu)”或“同態(tài)”變換,以適于不同領(lǐng)域、不同學(xué)科、不同學(xué)派的專家的求解?!巴瑯?gòu)”問題的解和原問題的解等價(jià),“同態(tài)”問題蘊(yùn)含原問題的解。
協(xié)調(diào)器:對(duì)多知識(shí)源產(chǎn)生的沖突進(jìn)行協(xié)調(diào),如進(jìn)行綜合評(píng)價(jià)、沖突裁決、優(yōu)選出最優(yōu)解、非劣解、均衡解、折衷解、可信解和均值解等等。各個(gè)分布式專家系統(tǒng)通過協(xié)調(diào)器互相通訊,一個(gè)(或多個(gè))子分布式專家系統(tǒng)的輸出可能是另一個(gè)子分布式專家系統(tǒng)的輸入;甚至可能是輸出到自身作為反饋信息,經(jīng)迭代求得某種穩(wěn)定狀態(tài)。
總控器:對(duì)協(xié)調(diào)器、變換器及各領(lǐng)域的分布式專家系統(tǒng)進(jìn)行總體控制,以協(xié)同工作。
4.4 分布式主專家系統(tǒng)由分解器、綜合器和總控器等組成
分解器:把來自上一層專家系統(tǒng)的問題分解,然后分配給各個(gè)子專家系統(tǒng)進(jìn)行并行處理。
綜合器:與協(xié)同式主專家系統(tǒng)的協(xié)調(diào)器的功能類似。
總控器:與協(xié)同式主專家系統(tǒng)的總控器的功能類似。
4.5 公用知識(shí)庫(kù)
存放各個(gè)專家子系統(tǒng)可能交叉的知識(shí)。各專家子系統(tǒng)可以采用不同的知識(shí)獲取、表示方法,知識(shí)庫(kù)分為公用知識(shí)庫(kù)和專用知識(shí)庫(kù),這樣可以減少知識(shí)冗余,便于維護(hù)和修改。專用知識(shí)庫(kù)為各子專家系統(tǒng)采用,公用知識(shí)庫(kù)用來在各子專家系統(tǒng)交互時(shí)利用。它的知識(shí)獲取過程相對(duì)比較復(fù)雜,當(dāng)各個(gè)子專家系統(tǒng)進(jìn)行知識(shí)獲取時(shí),要對(duì)這些私有知識(shí)進(jìn)行協(xié)同處理,以決定哪些為公用知識(shí)。
5 結(jié)論與展望
分布式并行處理思想,能夠降低問題的復(fù)雜度,將大的系統(tǒng)分為若干子系統(tǒng),各子系統(tǒng)可以根據(jù)自己的不同特點(diǎn)來確定適合于該子系統(tǒng)的知識(shí)獲取、知識(shí)表示以及推理方法;同時(shí),引入多專家協(xié)同機(jī)制,能夠解決更廣領(lǐng)域的問題,也能解決知識(shí)獲取的部分“瓶頸”問題以及知識(shí)的“窄臺(tái)階”問題;以成熟的網(wǎng)絡(luò)技術(shù)為基礎(chǔ)必將得到更加廣泛的應(yīng)用。
所以,本文提出的基于分布式思想和協(xié)同式思想的分布協(xié)同式多專家系統(tǒng),能在一定程序上解決傳統(tǒng)專家系統(tǒng)的一些弊端。但是,基于分布式、協(xié)同式的多專家系統(tǒng),其優(yōu)越性只是潛在的,必須在理論方法和技術(shù)手段上作大量的工作才能把它們發(fā)揮出來。
參考文獻(xiàn):
[1] 王永慶. 人工智能原理與方法[M]. 西安:西安交通大學(xué)出版社,1998.
[2] 廉師友. 人工智能技術(shù)導(dǎo)論[M]. 西安:西安電子科技大學(xué)出版社,2000.
[3] 尹朝天,尹皓. 人工智能與專家系統(tǒng)[M]. 北京:中國(guó)水利水電出版社,2002.
[4] 徐進(jìn),郝紅艷. Client/Server體系結(jié)構(gòu)分布式專家系統(tǒng)模型與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)應(yīng)用,1997,18(4).
[5] 李東波,唐敦兵,張世琪. 協(xié)同式多專家系統(tǒng)在并行工程中的應(yīng)用[N]. 南京理工大學(xué)學(xué)報(bào),1998,22(5).
[6] 龍光正,雷英杰,邢清華. 分布協(xié)同式專家系統(tǒng)研究[J]. 空軍工程大學(xué)學(xué)報(bào),2003,4(2).
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文