Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Rule-Based Programming Georg Kotschy. Überblick Grundlagen (4) – KI, CBR, ES Procedural vs declarative programming (5) – Vergleich, Eigenschaften von.

Ähnliche Präsentationen


Präsentation zum Thema: "Rule-Based Programming Georg Kotschy. Überblick Grundlagen (4) – KI, CBR, ES Procedural vs declarative programming (5) – Vergleich, Eigenschaften von."—  Präsentation transkript:

1 Rule-Based Programming Georg Kotschy

2 Überblick Grundlagen (4) – KI, CBR, ES Procedural vs declarative programming (5) – Vergleich, Eigenschaften von RBPs Rule-based systems (8) – Regeln, Architektur Jess (7) – Installation, Anwendungsgebiete, Performance

3 Grundlagen(1/4) - Einführung Systeme die rule-based programming verwenden sind auch bekannt als Experten Systeme Experten Systeme sind ein Teilbereich des Case Based Reasoning Case Based Reasoning ist ein kleiner Teilbereich der künstlichen Intelligenz

4 Grundlagen(2/4) - Künstliche Intelligenz Künstliche Intelligenz will als ultimatives Ziel menschliches Denken nachahmen Probleme sollen nur durch die Prinzipien der Logik gelöst werden kein vorausgehendes Wissen über den Bereich des Problems oder Lösungen zu ähnlichen Problemen soll erforderlich sein

5 Grundlagen(3/4) - Case Based Reasoning Case Based Reasoning versucht ungelöste Probleme mithilfe von bestehenden Lösungen für ähnliche Probleme zu lösen Basiert auf menschlicher Fähigkeit Lösungen aus vorheriger Erfahrung mit ähnlichen Problemen abzuleiten Zusätzlich werden zu einem kleinen Anteil die Prinzipien der Logik genutzt

6 Grundlagen(4/4) - Experten Systeme Experten Systeme deduzieren eine Lösung für ein Problem in einem bestimmten, abgegrenzten Bereich Die rules repräsentieren das Fachwissen eines human expert Die facts repräsentiert den aktuellen Zustand des Problembereichs

7 Procedural vs Declarative(1/5) - Traditionelle Programme linear, vorhersehbar, deterministisch Jeder mögliche Fall im Problembereich muß mit Schleifen und IF-THEN-ELSE Bedingungen modelliert werden Mit jeder Problemvariation wächst der Aufwand der bedingten Logik Nachträgliche Änderungen beeinflussen Integrität der bereits existierenden bedingten Logik

8 Procedural vs Declarative(2/5) - Rule-based Programs nicht-linear, unvorhersehbar, komplex Unabhängige IF-THEN Regeln werden automatisch in eine einzige, effiziente bedingte Logik integriert Diese Logik bleibt unverändert auch wenn Regeln verändert, hinzugefügt oder entfernt werden RBPs erfordern ein runtime environment daß diese Logik zur Verfügung stellt

9 Procedural vs Declarative(3/5) - Funktionelle Eigenschaften von RBPs...a computer program that behaves like a human expert in some useful ways – Winston & Prendergast, 1984, S.6...solve problems efficiently and effectively in a narrow problem area. – Waterman, 1986, S.17...programs that mimic the adive-giving capabilities of human experts. – Brule, 1986, S.6

10 Procedural vs Declarative(4/5) - Strukturelle Eigenschaften von RBPs The knowledge of an expert system consists of facts and heuristics. The facts constitute a body of information that is widely shared, publicly available, and generally agreed upon by experts in the field. – Edward Feigenbaum in Harmon & King, 1985, S.5 [separation of knowledge and control] make domain knowledge explicit and separate from the rest of the system – Waterman, 1986, S.18

11 Procedural vs Declarative(5/5) - Zusammenfassung RBPs sind kein Allheilmittel Prozedurale Programme beinhalten was sie tun, wie sie es tun und in welcher Reihenfolge sie es tun – zB mathematische Gleichung, Grafik Deklarative Programme beinhalten was sie tun, aber nicht wie oder in welcher Reihenfolge sie es tun – zB Agenten KI, ERP

12 Rule-Based Systems(1/8) - Regeln left-hand side (LHS) IF Behauptung Bedingung right-hand side (RHS) THEN Schlussfolgerung Handlung

13 Rule-Based Systems(2/8) - Architektur

14 Rule-Based Systems(3/8) - Rule Base (Knowledge Base) procedural knowledge Enthält alle dem System bekannten Regeln Die ursprüngliche Textform wird zur effizienteren Verarbeitung kompiliert Dabei können Regeln hinzugefügt oder neugeordnet werden Kann in einer externen oder integriert sein Jess verwendet ein integriertes Rete Netzwerk

15 Rule-Based Systems(4/8) - Working Memory (Fact Base) declarative knowledge Enthält alle Informationen über den aktuellen Zustand des Problembereichs Kann sowohl Behauptungen als auch Schlußfolgerungen enthalten Mögliche Objekttypen von rule engine zu rule engine unterschiedlich Indizierung für Suche ähnelt relationalen Datenbanken

16 Rule-Based Systems(5/8) - Inference Engine Kernstück einer rule engine Kontrolliert die Anwendung der rule base auf das working memory 1. Der pattern matcher erstellt conflict set bestehend aus ungeordneter Liste von zu aktivierenden Regeln 2. Durch conflict resolution wird geordnete agenda erstellt 3. Die erste Regel in der agenda wird gefeuert, rinse and repeat

17 Rule-Based Systems(6/8) - Pattern Matcher Entscheidet welche Regeln wann gefeuert werden Meistens der aufwendigste Prozeß einer rule engine da sämtliche Kombinationen von Fakten untersucht werden müssen, ob sie die Regeln erfüllen Hauptauschlaggebend für Effizienz der rule engine und des Programmierprozesses

18 Rule-Based Systems(7/8) - Agenda Enthält die Reihenfolge in der die ausgewählten Regeln gefeuert werden Entscheidend ist die spezifische conflict strategy der rule engine Einflußfaktoren sind zB Genauigkeit, Komplexität, relatives Alter im working memory oder spezifische Priorität A Robot may not injure a human being or, through inaction, allow a human being to come to harm. – The first law of Robot

19 Rule-Based Systems(8/8) - Execution Engine Führt assoziierte Handlungen für gefeuerte Regeln aus Kann in klassischen rule engines auf das ändern, hinzufügen oder entfernen von Fakten beschränkt sein Moderne rule engines wie Jess stellen eine komplette Programmiersprache bereit

20 Jess(1/7) - Einführung Jess ist rule engine und scripting environment geschrieben von Ernest Friedman-Hill (Sandia National Laboratories) basiert stark auf CLIPS ermöglicht Software deduktives Denken zu beherrschen

21 Jess(2/7) - Installation Testversion erhältlich auf http://herzberg.ca.sandia.gov/jess http://herzberg.ca.sandia.gov/jess Kommerzielle und akademische Lizenzen erhältlich auf Anfrage Erfordert Java2 Platform jess.jar zum CLASSPATH hinzufügen

22 Jess(3/7) - Ausführung code ausführen > java jess.Main test.clp command prompt > java jess.Main Jess Konsole > java jess.Console JessWin frei verfügbares GUI von Bill Wheeler

23 Jess(4/7) - als rule engine typisches Anwendungsgebiet Regeln repräsentieren Fachkenntnisse eines human experts Fakten repräsentiert den aktuellen Zustand einer Situation Beliebige Funktionen können ausgeführt werden wenn Regeln feuern

24 Jess(5/7) - als scripting environment alternatives Anwendungsgebiet kann auf alle Java Klassen und Bibliotheken zugreifen muss vor dem Ausführen nicht kompiliert werden kann durch neue in Jess oder Java geschriebene Funktionen für spezialisierte Anwendungen angepaßt werden

25 Jess(6/7) - Performance Benchmark Test durch Ernest Friedman-Hill im März 2000 Problemstellung: Sitzarrangement männlich/weiblich alternierend 1-3 Hobbies zusammen Jess überholt CLIPS ab 25 Objekten

26 Jess(7/7) - Jess in Action das Referenzwerk zu Jess © 2003 by Ernest Friedman-Hill erhältlich auf www.manning.com oder beim Buchhändler ihres Vertrauens www.manning.com


Herunterladen ppt "Rule-Based Programming Georg Kotschy. Überblick Grundlagen (4) – KI, CBR, ES Procedural vs declarative programming (5) – Vergleich, Eigenschaften von."

Ähnliche Präsentationen


Google-Anzeigen