2008-12-15 12 views

Antwort

2

Werfen Sie einen Blick auf CLIPS - es in C.

codiert

Es weitere Informationen bei Wikipedia auf CLIPS ist.

3

Ich ging den gleichen Prozess, vor etwa einem Jahr, um ein gutes .Net-System dafür zu finden. Ich erinnere mich, ein paar anständige Motoren gefunden zu haben, aber sie waren alle zu allgemein und erforderten zu viele Annahmen.

Am Ende fand ich, dass das Schreiben meines eigenen Systems ziemlich einfach war, und es tat genau das, was ich wollte, ohne irgendeinen Extrabull, um es mit einer abstrakten verallgemeinerten Engine arbeiten zu lassen.

Es könnte hilfreich sein zu wissen, was Ihre beabsichtigte Verwendung ist.

+0

Können Sie sie weitergeben? Ich meine den Quellcode Ihrer Inferenz-Engine. – menjaraz

+0

Leider nicht ... aber mein Motor war sehr spezifisch für meinen Anwendungsfall und konnte wahrscheinlich nicht wiederverwendet werden. Es war nicht verallgemeinert, worauf meine Antwort hinwies. Anstatt ein verallgemeinertes Framework zu verwenden, ist es oft einfacher, genau herauszufinden, was Sie für Ihr System tun müssen, und einen Code dafür zu generieren. Kommt darauf an, wie komplex Ihre Anforderungen sind. –

+0

Vielen Dank für Ihre Antwort. – menjaraz

1

Wenn Sie eine Regelverarbeitungs-Engine in Betracht ziehen, ist JBoss Rules (auch bekannt als Drools) das Beste, was ich kenne. Open Source und kostenlos. Es ist in Java geschrieben, aber für die Integration konzipiert. Sie können Objekte in die Regeln und Regelbasisanwendungen in Ihren Komponenten integrieren. Sie können Regelbasen auch im laufenden Betrieb erstellen oder ändern.

0

Sie können JESS ausprobieren, aber es ist Java-basiert. Amzilogic bietet auch eine gute Plattform.

4

Beiden CLIPS und JESS sind bereits in anderen Antworten erwähnt, also werde ich diesen Link zu CLIP gegen JESS liefern: http://www.comp.lancs.ac.uk/~kristof/research/notes/clipsvsjess/

Es wurde geschrieben 4. Juni 1999, und zu dieser Zeit war der Vorteil eindeutig mit CLIPS .

Wenn Sie nicht lesen wollen es alle, hier sind die Schlussfolgerungen:

Kapitel 3 Die Schlussfolgerungen

Beide CLIPS und JESS sind Produkte mit einer großen Unterstützung im Internet, aber CLIPS scheint ein breiteres Publikum zu haben, wahrscheinlich weil es länger existiert . Dieser Unterschied im Alter führt dazu, dass das CLIPS-Paket stabiler und vollständiger ist, während JESS-Nutzer immer noch einige kleinere Bugs erleben werden. JESS wird ständig aktualisiert und der Autor, Ernest Friedman-Hill, reagiert sehr auf das Feedback von Benutzern und Entwicklern und veröffentlicht regelmäßig neue Versionen und Bugfixes. Die Wahl zwischen JESS und CLIPS hängt heutzutage von der Anwendung ab. Wenn es webbasiert ist oder sich in Applet-Form befinden sollte, ist die Auswahl von JESS eine sehr logische (die sogar von den Autoren von CLIPS unterstützt wird). Für die eher klassischen Anwendungen wird CLIPS wahrscheinlich gewählt, weil es stabiler ist und mehr Unterstützung bietet.

Die Zukunft von JESS hängt in hohem Maße von der Entwicklung des Internets, der Java-Programmiersprache und ihrer zukünftigen Stabilität ab. Diese drei Bedingungen machen, dass es eine große Möglichkeit gibt, dass JESS populärer werden und häufiger verwendet werden.Vor allem die objektorientierten Möglichkeiten und die einfache Integration in Java Code machen die Zukunft von JESS sehr vielversprechend.

CLIPS, auf der anderen Seite, ist eher die neue und anspruchsvolle Funktionen zuerst implementieren, wie sie herauskommen, da es immer noch die Vorteil in der Zeit hat. CLIPS hat auch verschiedene Erweiterungen und Varianten (wie FuzzyCLIPS, AGENT CLIPS, DYNACLIPS, KnowExec, CAPE, PerlCLIPS, wxCLIPS und EHSIS um einige zu nennen), die einen Vorteil in Bezug auf Unterstützung von Methoden wie Fuzzy-Logik und Agenten bieten.

Die multifunktionale Entwicklungsumgebung von CLIPS für -Betriebssysteme, die Fenster zu unterstützen ist auch ein Vorteil, während JESS nur ein Fenster mit zwei Tasten (‚durchsichtiges Fenster‘ und ‚verlassen‘) hat, ohne Menü. Die Abbildungen 1 und 2 zeigen beide Umgebungen.

Zusammenfassend ist CLIPS noch vollständiger und stabiler als JESS, aber das könnte sich in Zukunft ändern, da das JESS-Paket ständig verbessert wird. Abgesehen davon hat JESS auch die Eigenschaft, Java zu verwenden, was sich auf lange Sicht als großer Vorteil gegenüber CLIPS erweisen könnte.

Diese Links auch von Interesse sein könnten: http://en.wikipedia.org/wiki/CLIPS

Gewerbe & Freeware Expert System Shells http://www.kbsc.com/rulebase.html

Are there open source expert systems with reasoning capabilities?