Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

11. Wissenbasis und Regelsysteme Sebastian Linek.

Ähnliche Präsentationen


Präsentation zum Thema: "11. Wissenbasis und Regelsysteme Sebastian Linek."—  Präsentation transkript:

1 11. Wissenbasis und Regelsysteme Sebastian Linek

2 Überblick ► Einführung ► Hinzufügen und Löschen von Klauseln ► Mengenprädikate ► Regelsysteme ► Aufgaben

3 Hinzufügen und Löschen von Klauseln Programm WissensbasisDateiconsult assert

4 :- dynamic maennlich/1 maennlich(fritz).maennlich(heinz).maennlich(manfred). Hinzufügen von Klauseln ► Deklarieren der Klauseln ► asserta(+Klausel) („a“ für Anfang) ► assertz(+Klausel) („z“ für Ende) :- dynamic funktor/arität :- dynamic maennlich/1 maennlich(heinz).maennlich(manfred). ?- asserta(maennlich(fritz)). :- dynamic maennlich/1 maennlich(fritz).maennlich(heinz).maennlich(manfred).maennlich(jens). ?- assertz(maennlich(jens)).

5 Löschen von Klauseln ► Ebenso Regeln ► retract(+Klausel) ► Aller Klauseln asserta(elternteil(X,Kind):-vater(X,Kind)). ?- retract(maennlich(manfred). :- dynamic maennlich/1 maennlich(fritz).maennlich(heinz).maennlich(jens). ?- retract(maennlich(X).

6 Hinzufügen und Löschen von Klauseln ► Pro: + KI-Programme + effizientere Programme ► Contra - Schwer Fehler aufzuspüren

7 Beispiel ► FibonacciZahlen fib(1, 1). fib(2, 1). fib(N, F):- N > 2, N2 is N - 2, fib(N2, F2), N1 is N – 1, fib(N1, F1), F is F2 + F1. asserta(fib(N,F)), !. [1,1,2,3,5,8...] fib(n) = fib(n-2)+fib(n-1)

8 Mengenprädikate ► failure-driven loop vater(steffen, paul). vater(fritz, karin). vater(steffen, lisa). vater(paul, maria). ?- vater(steffen, Kind). Kind = paul Kind = lisa No ?- vater(steffen, Kind), fail. ?- vater(steffen, Kind), write(Kind), nl, fail. ?- vater(steffen, Kind), write(Kind), nl, fail.

9 Mengenprädikate ► findall(Lösungsvariable, Ziel, Lösungsliste) ► Anwendungsbereiche: - Sortierte Lösungsausgabe - Ausgabe einer Lösungsmenge ► Funktionsweise: - Erstellung und Speicherung alle Lösungen - Aufsammeln der wichtigen Daten - Löschen der unnötigen Daten ?- findall(Kind, vater(steffen, Kind), KindListe).

10 Regelsysteme Säugetier RaubtierHuftier GepardTigerZebraGiraffe Merkmale

11 Aufgaben ► I. In einer Wissensbasis stehen Fakten der Art „jagt(Jaeger, Beute)“. Sie wollen alle Beutetiere wissen. Wie verwenden Sie dazu findall ? ► II. Erweitern Sie die „Vaterdatenbank“ in „Vortrag.pl“ um einige Einträge. Schreiben Sie anschließend ein Prädikat, dass nach Eingabe des Vaters die Anzahl der Kinder ausgibt. (Tip: length(Liste, Ergebnis) könnte nützlich sein) ► III. Vervollständigen Sie das Regelsystem in „Vortrag.pl“ mit den als Kommentar eingefügten Regeln und führen Sie testweise einige Tierbestimmungen durch. ► IV. In der Wissensbasis sind Fakten mit Namen, Beruf und Alter von Personen gespeichert (siehe „Vortrag.pl“). Es soll die älteste Person ermittelt werden.


Herunterladen ppt "11. Wissenbasis und Regelsysteme Sebastian Linek."

Ähnliche Präsentationen


Google-Anzeigen