系統上下文的數據結構與智能數據庫
系統上下文是組織系統信息的基本部分,是當前求解狀態的符號、事實和各種設計結果的集合,是專家系統運行的基礎。
4.1系統上下文的組成
1.系統的上下文:專家系統在運行過程中,通過訪問上下文(動態數據庫)獲得數據,決策完成后再將決策結果儲存在上下文中。上下文的組織形式、布局、數據的交換過程對專家系統的組織影響很大。如果系統上下文的組織符合數據的內在聯系,很容易存取各項數據,不僅能夠使系統的數據組織順理成章,而且便于使用系統的數據庫以及快速查詢,從而提高系統的使用性能和實用價值。
圓柱齒輪減速器設計專家系統是由LlSP語言編寫。LISP 語言是一種表處理語言(listpr cessing language ),數據及程序均由S一表達式構成,其基本結構形式是表(程序和數據沒有本質區別)。使用這種表結構,具有:
·全局性能好。通過表之間的連接,系統能夠進行統籌管理;
·透明度高。按一定的格式,程序很容易讀;
·結構性好;
·以表形式表達的數據非常容易擴充。
利用人工智能語言LISP 在構造程序上的極大便利性,可方便地實現動態的智能數據庫(上下文)。
2.上下文的組成:圓柱齒輪減速器設計專家系統的上下文由三部分組成,它們分別是斷言表(ASSAERTIONS)、設計參數表(PARA METERAS)和進程表(HlSTORY)。
斷言表是構成產生式系統的基本組成部分,它實際上是一堆棧表,即后進入斷言表的斷言在規則調用中首先被匹配,這種組織方式能夠節省時間上的開銷,因為本階段設計任務與當前設計環境有更直接的聯系。
設計參數表是用于存放圓柱齒輪減速器專家系統設計中的各種零件參數及其它設計結果果的表的集合,它由一系列的框架組成。其中包括了圈柱齒輪減速羚的所有零件,例如箱體、軸、齒輪、……。用框架形式表達設計參數比用斷言形式更加自然。
斷言表和設計參數表根據實際需要可以互相轉化,通過作者研制的一套轉換函數,能夠實現從斷言表中匹配出所需的斷言,并從斷言中取得所要求的公式、數表或數值以及所需的操作;同時,參數設計表中的內容也可通過相應的函數實現相反的轉變。
進程表是專家系統運行過程的記錄,主要用于解釋、查詢及控制等功能。
4.2 智能數據庫
1.智能數據庫的組織
圓柱齒輪減速器作為一個機器整體,各零件間是密切關聯的,其相互間的聯系如圖4-1所示。
從圖4-1中衍生的圓往齒輪減速器設計專家系統的數據間的邏輯組織形式如圖4-2。
圖4-2為一樹狀結構,其中樹的葉結點均為相應零、部件所定義的框架結構。根據數據組織
的層次關系,建立起專家系統的動態數據庫的層次關系庫。
2.智能數據庫的實現
LlSP語言是表處理語言,讓我們簡單看一下表的內存表示法。
從概念上看,一般計算機內存是由許多編了號碼的內存單元組成。一個特定的內存單元的編號稱內存地址。如
單元的地址 單元的內容
2001 9100
2002 9025
2003 9001
內存單元的內容是數字,像地址一樣。因此,一個內存單元的內容可以說包含了另一個單
元的地址。如果對內存單元的內容作這種解釋,那么第一內存單元被說成包含另一個單元
的指針。如內存單元2001含有指向9100內存單元的指針。一般在LISP語言中,內存單元大的可以包含兩個指針,左半指針和右半指針。其中,右半指針把表串在一起,而左半指針
指出表的各元素?梢杂孟旅娴某橄蠓绞奖硎荆捶胶幸患^表示。每一個指針用一個箭頭
表示,表可以用帶有左、右指針的許多方盒來表示,用右指針把方盒連在一起,用帶斜杠
的方盒表示表的結尾,原子則簡單地寫下名字。
通過以上的描述方法,原子context的值(assertions parameters history)可表達為:
通過層次結構(或稱樹結構)的遍歷,通過LISP語言的再求值(EVAL)函數,便可實現數據庫的一系列操作。以圖4-2為例,說明數據庫的查詢過程。
在當前數據庫中查找到box-data,通過對原于box-data再求值,便可得到box-data框架,通過對box-data框架運行,可得到箱體的各項數據。
數據庫的智能查詢:數據庫的智能查詢是指可對當前數據庫進行如下所示的操作:
·所設計的圓柱齒輪減速器的傳動級數;
·各傳動軸的功能;
·某軸上安裝的齒輪號;
·與該齒輪嚙合的齒輪號;
·齒輪傳遞關系;
……
以上操作可以通過斷言表及設計參數框架的組合進行實現。
3.智能數據庫的存取
(1)樹的遍歷:這種方法中,數據以前序遍歷、即首先搜索樹的根結點,然后搜索樹的子結點的方法實現。
(2)通用選擇法:通用選擇法不依賴于選擇內容在樹結構中的位置和順序,而是根據所確定的選擇條件,直接對原子求值,選擇所需內容。

