32
Knowledge-Based system Inference Engine Prof. Dr. T. Nouri [email protected] 12.01.2008

Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Knowledge-Based system

Inference Engine

Prof. Dr. T. Nouri

[email protected]

12.01.2008

Page 2: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Inhalt

• Grundlagen– Wozu “Inference”?– Aufbau Knowledge Based System– Strategien für Folgerungen– Suchstrategien

• Beispiel• Fazit• Fragen

2 / 30

Page 3: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Wozu “Inference”?

1. Folgerungen aus bestehendem Wissensind wichtig für Entscheidungen.

2. Steuern die Funktionen des KnowledgeBased Systems

3 / 30

Page 4: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Aufbau Knowledge Based System 4 / 30

Page 5: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Aufbau Knowledge Based System

• User Interface: Schnittstelle für Benutzerum mit dem Knowledge Based System zuarbeiten

• Knowledge Base– Speichert Wissen(Regeln, Fact, Triplet, usw.)– Könnte als Datenbank gespeichert– Kann einfach in Prolog realisiert werden

5 / 30

Page 6: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Aufbau Knowledge Based System

Inference Engine1. Logik-basierter Mechanismus2. Stellt die Funktionen des Systems zur

Verfügung• Kombiniert Wissen und Regeln um neue Schlüsse

zu ziehen• Mit dem Wissen allein können die Benutzer nicht

arbeiten3. Uncertainty Management(Fuzzy, Mycin usw)4. Implementiert als Software-Komponente

6 / 30

Page 7: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Strategien für Folgerungen

• Strategien um möglichst schnell auf Grundvon Informationen aus dem bestehendenWissen eine Folgerung zu erhalten– Z.B. um bei einer Liste von

Krankheitssymptomen die Ursache zu finden• Normales Vergleichen aller Möglichkeiten

wäre auch für Computer zu aufwändig– Deshalb müssen Strategien eingesetzt

werden, welche den Suchbereich eingrenzen

7 / 30

Page 8: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Strategien für Folgerungen

• Zwei Kategorien– Monotonic

• Wenn ein Weg durch das Wissen eingeschlagenwurde, kann dieser nicht mehr im nachhineinangepasst werden

– Non-monotonic• Bei dieser Kategorie kann z.B. bei Konflikten der

Weg angepasst werden, damit eine bessereFolgerung möglich wird

8 / 30

Page 9: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Strategien für Folgerungen

• Zwei Bereiche der Kategorie non-monotonic– Forward chaining Backward chaining

9 / 30

Page 10: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Strategies of reasonning

Page 11: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Strategies of reasonningThere are many other strategies of reasoning. Forward and backwardreasoning is a hybrid approach combining the two and referred to as thebidirectional approach. Then there is monotonic reasoning where once a facthas been established it cannot be altered. In contrast, non-monotonicreasoning is where facts can be altered once established, thus facilitating theinference of tentative conclusions which may later be abandoned as a result of,for example, new conflicting information.

Another way to contrast approaches is deductive reasoning, which reachesconclusions from the general to the specific but monotonically; while inductivereasoning concludes from the special to the general.

Other reasoning strategies include common-sense reasoning, which infers with 'littleoverhead from a lot of knowledge'; default reasoning, which concludes from standard orexpected values for lack of better knowledge; example-driven reasoning, which builds adecision tree from a knowledge-base containing representative case studies; andexpectation-driven reasoning, where the number of valid facts increases monotonically, i.e.no facts become invalid.

Page 12: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Forward chaining

• Initiale Informationen:– Mehrere bekannte Fakten– Definierte Regeln

• Vorgehen:– Mit Hilfe der Fakten und Regeln wird der

Suchbereich immer mehr eingegrenzt, bis diekorrekte Schlussfolgerung gefunden wird

• Korrekte Schlussfolgerung = die am bestenPassende

12 / 30

Page 13: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Forward chaining13 / 30

Inference DiagramKnowledge Space

Page 14: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Backward chaining

• Initiale Informationen:– Mögliche korrekte Schlussfolgerung– Die Schlussfolgerungen sind fix mit den

Fakten verknüpft / verbunden• Vorgehen:

– Fakten, die zur möglichen Schlussfolgerunggehören, werden gesucht und ausgegeben

• Mit Hilfe dieser Fakten kann überprüft werden, obdie mögliche Schlussfolgerung korrekt ist

14 / 30

Page 15: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Backward chaining15 / 30

Inference DiagramKnowledge Space

Page 16: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Suchstrategien

• Strategien, mit denen das Wissenbasierend auf Regeln durchsucht wird, umeine Schlussfolgerung zu erhalten oder zubestätigen

16 / 30

Page 17: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Generate and Test

• Alle möglichen Kombinationen werdendurchprobiert

• Dazu müssen alle möglichenKombinationen generiert und getestetwerden

• Diese Methode funktioniert sehr langsamund wird daher nur selten eingesetzt

17 / 30

Page 18: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Generate and Test

• Beispiel:– Safe mit fünf Zahlen zwischen 1 und 100– Es währen maximal ca. 10 Millionen Versuche

nötig, um die richtige Kombination (korrekteSchlussfolgerung) zu erhalten

– Das Öffnen des Safes würde somit eine sehrlange Zeit in Anspruch nehmen

18 / 30

Page 19: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Breadth-First Search

• Bei dieser Suchmethode wird zuerst in derBreite nach dem richtigen Weg gesucht

• Bei einem möglichen Weg wird die Suchedann in die Tiefe fortgesetzt

• Dadurch ist eine bessere Gesamtübersichtmöglich und es wird in den meisten Fällenvon Anfang an der richtige Wegeingeschlagen

19 / 30

Page 20: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Depth-First Search

• Bei dieser Methode wird zuerst ein Wegkomplett durchsucht, bevor ein andererWeg ebenfalls in Betracht gezogen wird

• Mit dieser Methode wird schneller imDetail gesucht, wodurch die Suche aberlänger dauern kann, da in vielen FällenWege detailiert durchsucht werden,welche nicht zur Lösung führen

20 / 30

Page 21: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Breadth-/Depth-First Search

Breadth-First Search Depth-First Search

21 / 30

Inference DiagramKnowledge Space

Inference DiagramKnowledge Space

Page 22: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Heuristic Search

• Hierbei werden zur Suche bestehendeErfahrungswerte eingesetzt

• Dadurch kann sehr schnell der richtigeWeg erkannt werden

• Um diese Methode nutzen zu können,müssen zuerst sehr viele Erfahrungengemacht und erfasst werden

22 / 30

Page 23: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Backtracking

• Bei dieser Suchmethode kann auch einRetourschritt gemacht werden, wenn dieSuche in die falsche Richtung verläuft

• Somit kann ein Schritt zurück gemachtwerden, um in einem anderen Ast weiterzu suchen

• Diese Methode wird z.B. in Prologeingesetzt

23 / 30

Page 24: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel24 / 30

Page 25: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel

• Programm, mit welchem ein Tieridentifiziert werden kann

• Besitzt eine Knowledge Base, welchegrundlegende Informationen und Regelnbeinhaltet

• Die Inference Engine stellt die Funktionenzur Verfügung, indem die Knowledge Basedurchsucht wird

25 / 30

Page 26: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel26 / 30

Page 27: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel27 / 30

Page 28: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel28 / 30

Page 29: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel29 / 30

Page 30: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Beispiel

• Andere Programme:– LISP– SIE (Simple Inference Engine): Project??http://homepage.ntlworld.com/peterhi/sie.html– IECS (Inference Engine Component Suite)Project??– Bayesian Logic Inference Engine etc.Project??

30 / 30

Page 31: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

Fazit

• Expertenwissen ist teuer und nicht immerund überall verfügbar

• Knowledge Base muss nur einmal erfasstwerden

• Mit Hilfe einer Inference Engine und einemGUI kann dieses Wissen von jedemverwendet werden

31 / 30

Page 32: Knowledge-Based system - nouri.ch fileInhalt • Grundlagen – Wozu “Inference”? – Aufbau Knowledge Based System – Strategien für Folgerungen – Suchstrategien • Beispiel

32 / 30

Cuestiones

FragenQuestions

Questioni