CLIPS

CLIPSとは、ソフトウェアの名称でありエキスパートシステムの一種である。C Language Integrated Production System(C言語統合型プロダクションシステム)の略。その文法と名称はチャールズ・フォーギーのOPS(Official Production System、もっとも公式(Official)なものでは全くない)からインスパイアされたものである。CLIPSの最初のバージョンは1984年にNASAのジョンソン宇宙センターで(既存のシステム ART*Inference の後継として)開発された。1990年代初めに国家予算問題で予算がつかなくなり、NASAは自力での開発をやめて一般の商用ソフトウェアを購入することになった。

CLIPSは高速で効率がよく無料であるため、最も広く使われているエキスパートシステム・ツールと言えるだろう。現在はパブリックドメインだが、それでもオリジナルの作者ゲーリー・ライリーがアップデートとサポートを続けている。

CLIPSはエキスパートシステムを記述するための完全なオブジェクト指向言語 COOL を含んでいる。C言語で書かれているが、そのインターフェイスはLISPに近い。拡張はC言語で行い、CLIPSをC言語から呼び出すこともできる。

他のエキスパートシステム用言語と同様、CLIPSは規則と事実を扱う。様々な事実によって規則が適用可能となり、適用可能となった規則はアサートされる。事実と規則は以下のように定義される。

 (deffacts trouble_shooting
     (car_problem (name ignition_key) (status on))
     (car_problem (name engine) (status wont_start))
     (car_problem (name headlights) (status work))
  )
 (defrule rule1
     (car_problem (name ignition_key) (status on))
     (car_problem (name engine) (status wont_start))
      =>
     (assert (car_problem (name starter) (status faulty))
  )

CLIPS言語の後継としてJess(Javaで書き直されたルールベース部を持つが、その後異なる方向に成長)、ECLiPSe、Haley Eclipse、FuzzyCLIPS (関連性の概念を導入した言語)などがある。

CLIPSに関する教科書として Expert Systems: Principles and Programming (ISBN 0-534-95053-1) がある。また、CLIPSはドキュメントを豊富に含んでいる。

外部リンク 
すべて英文
  公式ウェブサイト
 CLIPS expert system tool: a candidate for the Diagnostic System engine

エキスパートシステム
プログラミング言語
ドメイン固有言語