OPS83是一種套用於專家系統的程式設計語言.它不僅支持OPS早期版本所採用的規矩基程式設計,它也支持像PASCAL[6]或C[7]這些常規程式設計語言所具有的過程程式設計能力。儘管規則基程式設計十分有力,但它不是對所有程式設計任務都很適宜,因此可以說OPS83較之OPS的早期版本,對許多問題處理的更目然、更有效。
基本介紹
- 中文名:OPS83語言
- 外文名:official production system
- 套用:專家系統
- 版本:OPSl、OPS2、OPS4、OPS5
- 開發時間:1986年
- 套用學科:計算機原理
背景,結構,
背景
OPS是由美國賓夕法尼亞州卡內基一梅隆大學的C.L.Forgy、J.Mc Dermott、A.Newell和M.Rychener等人用BLISS、MACLISP、FRANE LISP和Zeta LISP語言實現並在VAX一11、Xerox 1108、Symbolics LISP、Symbolics 3600及IBM—PC機上運行的系統。OPS的最早版本是在1975年開發的,之後幾經修改形成了OPSl、OPS2(1978)、OPS4(1979)、OPS5(1981)多種版本,1986年出現了OPS83。
結構
知識庫又稱規則庫。每條規則均以0PS83語言來表示。OPS83的推理過程由若干“識別一動作”周期組成。每個周期包括三個動作或階段:匹配、衝突解決(或選擇)和執行。匹配是數據和已有規則的匹配。匹配的結果形成了衝突集。它是所有滿足條件的規則的集合。然後,推理機從衝突集中選擇一規則執行。工作存貯器(Work Memory,記作WM)用來存貯推理機在推理過程中涉及到的初始狀態、中間狀態和目標等信息。
0PS83作為一種程式設計語言,具有一般高級語言所擁有的各種優點。它不僅提供了豐富的數據類型,而且提供了各種類型的語句。0PS83的程式設計是模組化程式設計。各個模組可作為獨立的檔案存放在存貯器中,單獨編譯,然後連線在一起運行。它的數據類型、語句、子程式等與一般程式設計語言類似,讓使用0PS83的知識工程師有一個類似於過程描述型語言的編程環境。OPS83的數據類型有五種基本型:整型、實型、邏輯型、字元型和符號型。與之對應有五種類型的常數。此外,它還有三種結構化類型:數組、記錄和元素。它們基於上述五種基本型組合而成。數組和記錄的含義與過程型語言中的含義相同。元素型是一種較特殊的數據類型,它的結構、用法與記錄相同,但元素只能用在WM中。