Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierung von Expertensystemen am Beispiel von CLIPS/COOL

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierung von Expertensystemen am Beispiel von CLIPS/COOL"—  Präsentation transkript:

1 Programmierung von Expertensystemen am Beispiel von CLIPS/COOL

2 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Flow Einführung Blackboardsysteme Erstellung / Programmierung Anwendung Lösung von Allokationsproblemen mit wissensbasierten Verfahren

3 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Gliederung Einführung CLIPS Allgemeine Vorgehensweise bei der Erstellung eines Expertensystems Umsetzung in COOL Verwendung von Ontologien Ausblick Lösung von Allokationsproblemen mit wissensbasierten Verfahren

4 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Einführung CLIPS AI – Systeme waren LISP – basiert, und dadurch sehr teuer CLIPS = C Language Integrated Production System Seit 1984 im NASA Johnson Space Center entwickelt, zunächst zu Trainingszwecken Seit 1986 als Entwicklungsumgebung COOL = CLIPS Object Oriented Language Lösung von Allokationsproblemen mit wissensbasierten Verfahren

5 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
CLIPS in Kürze Frei verfügbar für Windows, Mac OS, Solaris Letzte Version von 1998 Regelbasiertes Reasoning Kontrollkomponente arbeitet LIFO oder FIFO basiert Geschlossenes System ...daher: Lösung von Allokationsproblemen mit wissensbasierten Verfahren

6 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
JESS JESS = JAVA Expert System Shell Verfügbar für jede JAVA – fähige Plattform (derzeit Windows, Mac OS, Solaris, Linux) Durch JAVA – Implementierung nahezu beliebig skalierbar, viele Erweiterungen verfügbar CLIPS - kompatibel Lösung von Allokationsproblemen mit wissensbasierten Verfahren

7 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
JESS - Erweiterungen JDBC Tools zur Speicherung von Fakten in externen Datenbanken Tools zum Mailversand von Fakten Erweiterungen zur Verarbeitung von XML – Dokumenten in der Fact – Knowledge Base FuzzyJ Toolkit JessTab Lösung von Allokationsproblemen mit wissensbasierten Verfahren

8 Erstellung eines Expertensystems
Aufgaben: Füllen des Blackboards mit Fakten Wissensquellen definieren (hier: Regeln) Erstellung einer Kontrollkomponente zur Steuerung des Zugriffs auf das Blackboard (entfällt bei CLIPS, entweder LIFO oder FIFO) Wissens- quellen Kontroll- komponente Blackboard Lösung von Allokationsproblemen mit wissensbasierten Verfahren

9 Füllen des Blackboards
Aufgaben: Zunächst gilt es, die relevante Umwelt in das System zu übertragen. Dies können zum einen statische Faktoren sein, wie z.B. Produktstücklisten, oder dynamische Faktoren, die mit Startwerten versehen werden sollen. (z.B. Lagerbestände) Blackboard Wissens- quellen Kontroll- komponente Lösung von Allokationsproblemen mit wissensbasierten Verfahren

10 Beispiel: Produktionsplanungssystem
Eine Firma verfügt über eine Produktionslinie, auf der sowohl Bohrmaschinen als auch Stichsägen gefertigt werden, sowie über eine Werkstattfertigung zur Eigenproduktion von Baugruppen. Im Beispiel soll gezeigt werden, wie eine Stückliste und ein einfaches Lager für das Blackboard umgesetzt werden können. Im nächsten Schritt wird demonstriert, wie mit einfachen Knowledge Sources überprüft werden kann, ob ausreichende Resourcen zur Fertigung eines Auftrages vorhanden sind. Lösung von Allokationsproblemen mit wissensbasierten Verfahren

11 Beispiel: Produktionsplanungssystem
Befehle zum Füllen des Blackboards: (Assert) einmalige Zuweisung von Daten (Deffact) zur Erstellung einer Fact - Knowledge - Base, die erst durch (Reset) - Kommando im Speicher abgelegt wird (Deftemplate) Ähnlich wie deffacts, jedoch strukturierter, da nicht die Reihenfolge der Eingabe entscheidet, in welchem Feld eine Information abgelegt wird, sondern der Feldname Lösung von Allokationsproblemen mit wissensbasierten Verfahren

12 Beispiel: Produktionsplanungssystem
Befehle zum Modifizieren des Blackboards: (modify ?var) Verändert den Wert eines Fakts (retract ?var) Entfernt einen Fakt aus der Knowledge - Base Lösung von Allokationsproblemen mit wissensbasierten Verfahren

13 Beispiel: Produktionsplanungssystem
Erstellen eines Deftemplates zur Lagerverwaltung: (deftemplate Lager "Verfuegbare Teile mit Stückzahlen" (slot Part ; Bezeichnung des Teils (type STRING) ; Datentyp String (default "")) ; Keine Voreinstellung (slot PartID ; Eindeutiger Bezeichner für Teil (default "")) ; Keine Voreinstellung (slot Anzahl ; Verfügbare Stückzahl (type INTEGER) ; Datentyp Zahl (default 0)) ; Voreinstellung 0 ) Lösung von Allokationsproblemen mit wissensbasierten Verfahren

14 Beispiel: Produktionsplanungssystem
Füllen des Blackboards mit der Produktionsmatrix: Lösung von Allokationsproblemen mit wissensbasierten Verfahren

15 Beispiel: Produktionsplanungssystem
Erstellung der Produktstückliste: (deffacts bm500w (stkl-bm500w ; Name der Stückliste GBM ; Gehäuse M500W ; 500 Watt Motor GBM1000W ; Getriebe BF1000W ; Bohrfutter EBM750W) ; Elektronik ) Lösung von Allokationsproblemen mit wissensbasierten Verfahren

16 Erstellen von Knowledge Sources
Blackboard Da im Folgenden lediglich mit regelbasierten KS gearbeitet wird, sei noch einmal darauf hingewiesen, dass es sich nicht um eine prozedurale Abarbeitung dieser Regeln handelt, alle Regeln überwachen permanent den Status ihrer LHS. Wissens- quellen Kontroll- komponente Lösung von Allokationsproblemen mit wissensbasierten Verfahren

17 Beispiel: Produktionsplanungssystem
Erstellung der „Knowledge Sources“: (defrule Remove_invalid (Status invalid) ; Wenn Flag gesetzt ?ChkOrder <- (Order (OrderID ?name)) ; Überprüfe welcher Fakt den Auftrag enthält => (retract ?ChkOrder) ; Entferne Auftrag aus System ) Das Auslösen einer Regel wird auch als „Firing“ bezeichnet. Lösung von Allokationsproblemen mit wissensbasierten Verfahren

18 Einstellen der Kontrollkomponente
LIFO oder FIFO?  „Es ist schwer zu beurteilen, das die eine [Methode] besser ist als die andere, ohne die spezifische Anwendung zu betrachten. Sogar dann kann es schwer sein, zu beurteilen, welche die Beste ist.“ Standardmäßig benutzen CLIPS und auch JESS die LIFO – Einstellung. Blackboard Wissens- quellen Kontroll- komponente Quelle: Maarten Menken, Jess Tutorial, Seite 20 Lösung von Allokationsproblemen mit wissensbasierten Verfahren

19 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Bereits kleinere Systeme werden sehr schnell unübersichtlich Weder JESS noch CLIPS bieten eine besonders anwenderfreundliche Programmierumgebung Analyse des vorhandenen Wissens schwer zu realisieren Evtl. vorhandene Fehler lassen sich nur schwer aufspüren ...daher: Lösung von Allokationsproblemen mit wissensbasierten Verfahren

20 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Protégé 2000 In JAVA realisiertes Tool erlaubt das Einfügen verschiedener Plug-Ins (z.B. JessTab) Erstellung und Bearbeitung von Knowledge Bases GUI für die Entwicklung von Ontologien Lösung von Allokationsproblemen mit wissensbasierten Verfahren

21 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Exkurs: Ontologie Ontologien ermöglichen: Das Teilen einer gemeinsamen Informationsstruktur (innerhalb einer Gruppe von Menschen oder unter Softwareagenten) Die Wiederverwendbarkeit des Wissens einer Domäne Trennung von Domänenwissen und operationalem Wissen Die Analyse von Domänenwissen Lösung von Allokationsproblemen mit wissensbasierten Verfahren

22 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Fazit JESS darf dank seiner JAVA – bedingten Flexibilität als Meilenstein im Übergang von Experten- hin zu flexiblen Agentensystemen gesehen werden; hier wurde erstmals die Implementierung von Agenten vorgesehen. Nicht zuletzt deshalb gibt es immer noch eine sehr aktive Entwicklergemeinde, die eine große Bandbreite an Tools zur Benutzung mit JESS entwickelt hat. Lösung von Allokationsproblemen mit wissensbasierten Verfahren

23 Lösung von Allokationsproblemen mit wissensbasierten Verfahren
Ende Vielen Dank für die Aufmerksamkeit! Lösung von Allokationsproblemen mit wissensbasierten Verfahren


Herunterladen ppt "Programmierung von Expertensystemen am Beispiel von CLIPS/COOL"

Ähnliche Präsentationen


Google-Anzeigen