CLIPSとは
CLIPSは、ルール/オブジェクトベースのエキスパートシステム開発ツールで、そのベー スとなるプロトタイプは 1985年(今から20年以上前!)、アメリカ合衆国のNASA、ジョンソン宇宙センターで開発されました。パブリックドメインのフリーなソフトであり、 C言語で書かれ、他の環境とも統合が比較的容易であったために広く知られるエキスパートシステム開発ツールとなっています。このCLIPS、残念ながら日 本語が使える版は見当たらないのですが(個人的に日本語化している版はあるかもしれませんが、一般的に使われている日本語版は見当たりません)、インス トールが容易でWindowsの対話環境も使用できるので概念を学ぶための学習環境としてはスグレモノだと思います。そこで、ここではルールベースの考え 方を具体的に知るために、CLIPSを用いてみましょう。
CLIPSのインストール(Windows)
まず CLIPSのサイトに 行き、ダウンロードエリア(Download Area)から、実行モジュール(executables)-PC版(pc)を選択し、CLIPSWin.zipおよびCLIPS6.hlpをダウンロー ドしてきます。CLIPSWin.zipを解凍し、適当なディレクトリに、CLIPSWin.exe、CLIPS6.hlpを入れて、インストールは完了 です。CLIPSWin.exeのアイコンをダブルクリックすれば、CLIPSが起動します。
CLIPSの起動
CLIPSを起動すると、以下のような画面が表示されます。
この対話環境で、CLIPSをさわってみましょう。CLIPSのプロンプトに続けて、
(+ 1 3)
と打ち込んで見ましょう。すると、
4
と値が返ってきます(同じように-,*,/などもできます。適当に試してみてください)。
CLIPSでは、計算手続きなどを「関数」の形で記述します。CLIPSの関数は、プログラミング言語のLispと同じように、
(<関数名> <引数1> ・・・ <引数n>)
の形で書きます。 CLIPSの組み込み関数は、メニューからHelpを選択すると(英語ですが)参照できます。ここでは、よく使う関数をあげておきましょう。
(printout t <print内容> crlf)
<print内容>を標準出力に改行付きで出力する。’t’ はterminal、’crlf’ は改行を表す。
それから、対話環境 のコマンドについても
(exit)
対話環境を終了する。(メニューのFile-Exitが対応)
(load <ファイル名>)
<ファイル名>で指定されたルールファイルを読み込む。 ディレクトリのパスを付けないと、CLIPSWinのexeファイルがあるディレクトリがデフォルトとなります。(メニューのFile-Loadが対応)
ただし、本稿の目的は、ルールベースの考え方を説明することなので、ここではこれ以上CLIPSの関数、コマンドに深入りしないこととします。以降必要の都度、関数・コマンドを説明していきます。