系統(tǒng)上下文的數(shù)據(jù)結構與智能數(shù)據(jù)庫
系統(tǒng)上下文是組織系統(tǒng)信息的基本部分巫顽,是當前求解狀態(tài)的符號、事實和各種設計結果的集合伊丘,是專家系統(tǒng)運行的基礎倒脓。
4.1系統(tǒng)上下文的組成
1.系統(tǒng)的上下文:專家系統(tǒng)在運行過程中,通過訪問上下文(動態(tài)數(shù)據(jù)庫)獲得數(shù)據(jù),決策完成后再將決策結果儲存在上下文中。上下文的組織形式碘梢、布局、數(shù)據(jù)的交換過程對專家系統(tǒng)的組織影響很大伐蒂。如果系統(tǒng)上下文的組織符合數(shù)據(jù)的內在聯(lián)系痘系,很容易存取各項數(shù)據(jù),不僅能夠使系統(tǒng)的數(shù)據(jù)組織順理成章饿自,而且便于使用系統(tǒng)的數(shù)據(jù)庫以及快速查詢,從而提高系統(tǒng)的使用性能和實用價值龄坪。
圓柱齒輪減速器設計專家系統(tǒng)是由LlSP語言編寫昭雌。LISP 語言是一種表處理語言(listpr cessing language ),數(shù)據(jù)及程序均由S一表達式構成健田,其基本結構形式是表(程序和數(shù)據(jù)沒有本質區(qū)別)烛卧。使用這種表結構,具有:
·全局性能好妓局。通過表之間的連接总放,系統(tǒng)能夠進行統(tǒng)籌管理;
·透明度高好爬。按一定的格式侥嫂,程序很容易讀;
·結構性好蒸撕;
·以表形式表達的數(shù)據(jù)非常容易擴充莽入。
利用人工智能語言LISP 在構造程序上的極大便利性,可方便地實現(xiàn)動態(tài)的智能數(shù)據(jù)庫(上下文)跑放。
2.上下文的組成:圓柱齒輪減速器設計專家系統(tǒng)的上下文由三部分組成押棋,它們分別是斷言表(ASSAERTIONS)、設計參數(shù)表(PARA METERAS)和進程表(HlSTORY)慈肯。
斷言表是構成產生式系統(tǒng)的基本組成部分范益,它實際上是一堆棧表,即后進入斷言表的斷言在規(guī)則調用中首先被匹配遭歉,這種組織方式能夠節(jié)省時間上的開銷虫犀,因為本階段設計任務與當前設計環(huán)境有更直接的聯(lián)系。
設計參數(shù)表是用于存放圓柱齒輪減速器專家系統(tǒng)設計中的各種零件參數(shù)及其它設計結果果的表的集合阴戚,它由一系列的框架組成倘灸。其中包括了圈柱齒輪減速羚的所有零件某亩,例如箱體、軸热某、齒輪腻菇、……。用框架形式表達設計參數(shù)比用斷言形式更加自然昔馋。
斷言表和設計參數(shù)表根據(jù)實際需要可以互相轉化筹吐,通過作者研制的一套轉換函數(shù),能夠實現(xiàn)從斷言表中匹配出所需的斷言秘遏,并從斷言中取得所要求的公式丘薛、數(shù)表或數(shù)值以及所需的操作;同時邦危,參數(shù)設計表中的內容也可通過相應的函數(shù)實現(xiàn)相反的轉變洋侨。
進程表是專家系統(tǒng)運行過程的記錄,主要用于解釋倦蚪、查詢及控制等功能希坚。
4.2 智能數(shù)據(jù)庫
1.智能數(shù)據(jù)庫的組織
圓柱齒輪減速器作為一個機器整體,各零件間是密切關聯(lián)的陵且,其相互間的聯(lián)系如圖4-1所示裁僧。
從圖4-1中衍生的圓往齒輪減速器設計專家系統(tǒng)的數(shù)據(jù)間的邏輯組織形式如圖4-2。
圖4-2為一樹狀結構垃准,其中樹的葉結點均為相應零智榆、部件所定義的框架結構。根據(jù)數(shù)據(jù)組織
的層次關系儿趋,建立起專家系統(tǒng)的動態(tài)數(shù)據(jù)庫的層次關系庫档低。
2.智能數(shù)據(jù)庫的實現(xiàn)
LlSP語言是表處理語言,讓我們簡單看一下表的內存表示法蛔乖。
從概念上看剑三,一般計算機內存是由許多編了號碼的內存單元組成。一個特定的內存單元的編號稱內存地址昵例。如
單元的地址 單元的內容
2001 9100
2002 9025
2003 9001
內存單元的內容是數(shù)字矩汪,像地址一樣。因此锣裆,一個內存單元的內容可以說包含了另一個單
元的地址拒凝。如果對內存單元的內容作這種解釋,那么第一內存單元被說成包含另一個單元
的指針泞驴。如內存單元2001含有指向9100內存單元的指針牢裳。一般在LISP語言中,內存單元大的可以包含兩個指針叶沛,左半指針和右半指針蒲讯。其中忘朝,右半指針把表串在一起,而左半指針
指出表的各元素判帮【粥遥可以用下面的抽象方式表示,即方盒一箭頭表示晦墙。每一個指針用一個箭頭
表示悦昵,表可以用帶有左、右指針的許多方盒來表示晌畅,用右指針把方盒連在一起但指,用帶斜杠
的方盒表示表的結尾,原子則簡單地寫下名字抗楔。
通過以上的描述方法棋凳,原子context的值(assertions parameters history)可表達為:
通過層次結構(或稱樹結構)的遍歷,通過LISP語言的再求值(EVAL)函數(shù)连躏,便可實現(xiàn)數(shù)據(jù)庫的一系列操作蛹拜。以圖4-2為例,說明數(shù)據(jù)庫的查詢過程贺坝。
在當前數(shù)據(jù)庫中查找到box-data,通過對原于box-data再求值赚兰,便可得到box-data框架俘噩,通過對box-data框架運行,可得到箱體的各項數(shù)據(jù)郎石。
數(shù)據(jù)庫的智能查詢:數(shù)據(jù)庫的智能查詢是指可對當前數(shù)據(jù)庫進行如下所示的操作:
·所設計的圓柱齒輪減速器的傳動級數(shù)逾辕;
·各傳動軸的功能;
·某軸上安裝的齒輪號认吕;
·與該齒輪嚙合的齒輪號煮沸;
·齒輪傳遞關系;
……
以上操作可以通過斷言表及設計參數(shù)框架的組合進行實現(xiàn)沼昵。
3.智能數(shù)據(jù)庫的存取
(1)樹的遍歷:這種方法中腾枣,數(shù)據(jù)以前序遍歷、即首先搜索樹的根結點极金,然后搜索樹的子結點的方法實現(xiàn)跨跨。
(2)通用選擇法:通用選擇法不依賴于選擇內容在樹結構中的位置和順序,而是根據(jù)所確定的選擇條件囱皿,直接對原子求值勇婴,選擇所需內容。

