6. Regelbasierte Systeme

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Eine dynamische Menge, die diese Operationen unterstützt,
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Abschluss Gegeben Menge F von funktionalen Abhängigkeiten.
Rekursion vs. Iteration
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Suche in Texten (Stringsuche )
4. Logik – und ihre Bedeutung für WBS
Kapitel 6. Suchverfahren
Default Logiken Zhao Li
8. Formale Sprachen und Grammatiken
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Andreas Abecker Knowledge Management Research Group Beispiel für quantitative Repräsentation von Unsicherheit: Certainty Theorie in MYCIN – MYCIN ist ein.
Christian Schindelhauer
SoSe 2004 Spree Entwicklung einer Wissensbasis Aufgaben und Techniken.
Minimum Spanning Tree: MST
Hauptseminar Automaten und Formale Sprachen
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Formale Sprachen Grundbegriffe für formale Sprachen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
Ausgewählte Kapitel der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Sommersemester.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
2.4 Rekursion Klassifikation und Beispiele
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Algorithmen und Datenstrukturen Übungsmodul 8
Noam CHOMSKY, Sheila GREIBACH
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Korrektheit von Programmen – Testen
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
7. Formale Sprachen und Grammatiken
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Gliederung der Vorlesung
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Dr. Wolfram Amme, Grundsätze der Logikprogrammierung, Informatik II, FSU Jena, SS Grundsätze der Logikprogrammierung.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

6. Regelbasierte Systeme Regel (über einer Sprache L): Konstrukt der Form IF Bedingung1, …, Bedingungn THEN Folgerung/Aktion Falls Aktion im THEN-Teil: Produktionsregel, sonst Inferenzregel Bedingungen und Folgerung in L formuliert verschiedene Notationen gebräuchlich: Bedingung1, …, Bedingungn  Folgerung Folgerung  Bedingung1, …, Bedingungn Folgerung :- Bedingung1, …, Bedingungn Die Folgerung nennt man auch Kopf der Regel, die Bedingungen Körper. Viele der in den 80/90er Jahren entwickelten Expertensysteme regelbasiert.

Regeln vs. Implikationen A  B ungerichtet: erlaubt Inferenz von B aus A, aber auch von A aus B, bzw. von B aus A  B zusammen mit A  B A  B gerichtet: nur wenn A gegeben, kann B hergeleitet werden: Kontrolle des Schließens Falls L nur aus Atomen besteht (Horn Klausen): C folgerbar aus Implikationen gdw. C herleitbar aus entsprechenden Regeln Beispiel: Toddler Toddler  Child Child, Male  Boy Infant  Child Child, Female  Girl Female

Schließen mit Regeln: backward vs. forward chaining Backward chaining (Rückwärtsverkettung): entspricht dem Finden von Regeln für noch offene Teilziele: Ziel: Girl bewiesen falls beweisbar Child, Female bewiesen falls beweisbar Toddler, Female bewiesen falls beweisbar Female bewiesen falls beweisbar nichts mehr zu beweisen! Man spricht von backward chaining, da man vom Ziel zu den Prämissen (von Regel-Konklusion zu Regel-Prämisse) zurück geht.

Rekursive Beweisprozedur input: endliche Liste von zu beweisenden Elementen q1, …, qn output: JA, falls aus gegebener Regelbasis R alle qi herleitbar, NEIN sonst procedure SOLVE[q1,…,qn] if n = 0 then return YES; for each rule r  R do if r = [p1, …, pm  q1] and SOLVE[p1, …, pm, q2,…,qn] then return YES end for; return NO. Implizite Suchstrategie: depth first left-to-right

Forward chaining (Vorwärtsverkettung) Starte mit Fakten (Regeln ohne Vorbedingung) in R; wende alle Regeln an, deren Vorbedingungen bereits abgeleitet sind; iteriere, bis nichts Neues mehr abgeleitet werden kann. Formaler: Sei R Menge von Regeln. Eine Menge S heißt abgeschlossen unter R, falls gilt: [B1, …, Bn  C]  R und B1, …, Bn  S impliziert C  S. Die Hülle von R ist die kleinste Menge, die abgeschlossen ist unter R. Anmerkung: für jedes Element c der Hülle gibt es einen Beweis, d.h. eine Folge von Regeln r1, … rk, so dass die Vorbedingungen von rj jeweils in den Köpfen von r1… rj-1 enthalten sind und c Kopf von rk ist. Die Hülle ist in diesem Sinne gegründet.

Iterative Berechnung der Hülle Betrachte Operator TR: TR(A) = {q | p1,…, pm  q  R, p1, …, pm  A} Definiere TR0 =  TRi+1 = TR(TRi) Hülle von R kann berechnet werden durch wiederholtes Anwenden von TR . Start mit der leeren Menge (Hülle ist kleinster Fixpunkt von TR). Im Beispiel: TR1 = TR() = {Toddler, Female} TR2 = TR(TR1) = {Toddler, Female, Child} TR3 = TR(TR2) = {Toddler, Female, Child, Girl} TR4 = TR(TR3) = {Toddler, Female, Child, Girl}

Forward vs. Backward forward chaining Algorithmen leicht (im aussagenlogischen Fall sehr effizient) zu implementieren. entsprechende Algorithmen existieren auch für first order Fall (Variablen in Regeln erlaubt, Instanzierung und Unifikation zu berücksichtigen). Vor- und Nachteile: backward chaining zielgerichtet: nur Regeln überprüft, die zu gesuchter Ableitung beitragen können; aber kann endlos laufen, z.B. wenn Regel der Form p  p vorhanden ist. forward chaining effizient in propositionalem Fall, terminiert möglicher Weise nicht im first order Fall, wenn Hülle unendlich werden kann.

Vorwärtsverkettung kann besser sein! 2n Atome: p0, p1, …, pn-1, q0, q1, …, qn-1 4n-4 Regeln: p0  p1, p1  p2, … pn-2  pn-1 p0  q1, p1  q2, … pn-2  qn-1 q0  p1, q1  p2, … qn-2  pn-1 q0  q1, q1  q2, … qn-2  qn-1 SOLVE[pi] und SOLVE[qi] liefern jeweils NO, aber erst nach 2i Schritten (= Aufrufe von SOLVE). Einfacher Induktionsbeweis für pi: i = 1: ruft auf SOLVE[p0] und SOLVE[q0], also 21 Aufrufe i > 1: ruft auf SOLVE[pi-1] und SOLVE[qi-1], nach Induktionsvoraussetzung je 2i-1 Aufrufe von SOLVE, also insgesamt 2i. Forward chaining terminiert sofort: keine Vorbedingung einer Regel ableitbar