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

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Zugehörigkeitsfunktion (Wahrheitsfunktion) m
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Ich habe nie gelernt, Aufgaben zu lösen
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
Heuristiken und Kontexteinflüsse
Einführung.
Java: Grundlagen der Sprache
Lernen als Informationsverarbeitung
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
Agenda Einführung Haskell QuickCheck Zusammenfassung
Fakten, Regeln und Anfragen
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Introducing the .NET Framework
Access 2000 Datenbanken.
Seminar: Verteilte Datenbanken
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
SoSe 2004 Spree Entwicklung einer Wissensbasis Aufgaben und Techniken.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Kontrollfragen zu Kapitel 1
Maschinelles Lernen und automatische Textklassifikation
Nicolas Ruh EF Informatik 2014 Nicolas Ruh
Machine Learning & Spiele: Probleme und Ideen von Samuel bis heute Giuliana Sabbatini
Best Fit Matching von Punktewolken
Input / Wahrnehmung Control / Bewusstsein Output / Motorik Information.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
? Was ist Informatik? Was ist Informatik? Alexander Lange
grundlagen der Wirtschafts- informatik
EXCEL PROFESSIONAL KURS
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Wissensbasierte Systeme JESS Java Expert System Shell.
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Entwicklung der Programmiersprachen
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Reasoner Semantische Interoperabilität
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
Einführung in die Programmierung
Portabilität Seminar aus Softwareentwicklung: Programmierstil Christine Schiestl WS 02 / 03.
Problem Solving Ein Problem erkennen und lösen
Knowledge-Based system
Erfindervon Fuzzy Logic
Informatik: Zwischen Wissenschaft und Zehnfingersystem
Präsentiert Management Lösungen Value Added Software GmbH, Carl-Schurz-Str. 7, Neuss
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Im Frühjahr machen Schülerinnen und Schüler des 8. Schuljahres eine webbasierte, individuelle Standortbestimmung.
Thread Synchronisation in JAVA
MSDN TechTalk Anwendungen integrieren in Microsoft Dynamics CRM 4.0.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Artificial Intelligience
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Theoretische Schlüsselkonzepte
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
Dieser Vortrag wird gesponsort von:
Dr. Nicolas Ruh EF Informatik 2016 Dr. Nicolas Ruh
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Forschendes Lernen Wie sehen forschungsorientierte Aufgabenstellungen in der Mathematik aus? Modul IE-2: Offene und geschlossene Aufgaben (Problemstellungen)
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Nicolas Ruh EF Informatik 2017 Nicolas Ruh
 Präsentation transkript:

Rule-Based Programming Georg Kotschy

Ü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

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

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

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

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

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

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

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

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

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

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

Rule-Based Systems(2/8) - Architektur

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

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

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

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

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

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

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

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

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

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

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

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

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