オープンソースのエキスパートシステムについて知っている人はいますか? 実際、私はその推論エンジンを C# から呼び出すことに興味があります。
6 に答える
CLIPS と JESS の両方が他の回答で既に言及されているので、CLIPS と JESS のリンクを提供します: http://www.comp.lancs.ac.uk/~kristof/research/notes/clipsvsjess/
これは 1999 年 6 月 4 日に書かれたもので、当時は明らかに CLIPS の方が有利でした。
すべてを読みたくない場合は、結論を次に示します。
第 3 章 結論
CLIPSもJESSもインターネット上で大きな支持を得ている製品ですが、CLIPSの方が長く存在しているせいか、より幅広い層に支持されているようです。この年齢の違いにより、CLIPS パッケージはより安定して完全なものになりますが、JESS ユーザーはまだいくつかのマイナーなバグに遭遇することになります。JESS は常に更新されており、作者の Ernest Friedman-Hill はユーザー/開発者のフィードバックに非常に敏感で、定期的に新しいリリースとバグ修正を行っています。
現在、JESS と CLIPS のどちらを選択するかはアプリケーションによって異なります。それが Web ベースであるか、アプレット形式で存在する必要がある場合、JESS の選択は非常に論理的なものです (これは CLIPS の作成者によってさえサポートされています)。より古典的なアプリケーションの場合、より安定しており、より多くのサポートがあるという評判のため、おそらく CLIPS が選択されます。
JESS の将来は、Web の進化、Java プログラミング言語、および JESS 自体の将来の安定性に大きく依存しています。この 3 つの条件により、JESS の普及と使用頻度が高まる可能性が高くなります。特に、オブジェクト指向の可能性と Java コードへの容易な統合は、JESS の将来を非常に有望なものにしています。
一方、CLIPS は、新しい洗練された機能が登場したら最初に実装する可能性が高くなります。CLIPSには、ファジーロジックやエージェントなどのメソッドのサポートに関して利点を提供するさまざまな拡張機能とバリアント(FuzzyCLIPS、AGENT CLIPS、DYNACLIPS、KnowExec、CAPE、PerlCLIPS、wxCLIPS、EHSISなど)もあります。
ウィンドウをサポートするオペレーティング システム用の CLIPS の多機能開発環境も利点ですが、JESS には 2 つのボタン (「ウィンドウのクリア」と「終了」) を備えた 1 つのウィンドウしかなく、メニューはありません。図 1 と 2 は両方の環境を示しています。
要約すると、CLIPS は JESS よりも完全で安定していますが、JESS パッケージは常に改善されているため、これは将来変更される可能性があります。それに加えて、JESS には Java を使用するという特性もあり、長い目で見れば CLIPS よりも大きな利点となる可能性があります。
これらのリンクも興味深いかもしれません: http://en.wikipedia.org/wiki/CLIPS
商用およびフリーウェアのエキスパート システム シェル http://www.kbsc.com/rulebase.html
私は約 1 年前に同じプロセスを経て、これに適した .Net システムを見つけようとしました。いくつかのまともなエンジンを見つけたのを覚えていますが、それらはすべてあまりにも一般的であり、あまりにも多くの仮定が必要でした.
最終的に、独自のシステムを作成するのは非常に簡単であり、抽象化された一般化されたエンジンで動作させるための追加の雄牛を必要とせずに、まさに私が望んでいたことを実行できることがわかりました。
使用目的を知っておくと役立つ場合があります。
ルール処理エンジンを検討する場合、JBoss Rules(Droolsとも呼ばれます)は私が知っている中で最高です。オープンソースで無料。Javaで書かれていますが、統合用に設計されています。ルールにオブジェクトを組み込み、コンポーネントのルールベースアプリケーションを組み込むことができます。ルールベースをその場で構築または変更することもできます。
AI::ExpertSystem::AdvancedまたはAI::ExpertSystem::Simple は Perl ソリューションです。
JESS を試すこともできますが、これは Java ベースです。Amzilogic も優れたプラットフォームを提供します。