Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

18.10.99GK Prolog - Fakten, Regeln und Anfragen 1 Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf

Ähnliche Präsentationen


Präsentation zum Thema: "18.10.99GK Prolog - Fakten, Regeln und Anfragen 1 Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf"—  Präsentation transkript:

1 18.10.99GK Prolog - Fakten, Regeln und Anfragen 1 Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

2 18.10.99GK Prolog - Fakten, Regeln und Anfragen 2 Programmieren = Problemlösen Prolog ist eine deklarative Programmiersprache. Problemlösen in Prolog heißt Probleme beschreiben, indem Objekte mit ihren Eigenschaften und Beziehungen dargestellt werden. –Was ist das Problem? –Welche Objekte sind beteiligt? –Welche Eigenschaften und Beziehungen?

3 18.10.99GK Prolog - Fakten, Regeln und Anfragen 3 Natürliches Schließen Sokrates ist ein Mensch. Alle Menschen sind sterblich. Sokrates ist sterblich. –Sprache: natürliche Sprache, Deutsch. –Schlußregel: natürliches, intuitives Schließen.

4 18.10.99GK Prolog - Fakten, Regeln und Anfragen 4 Modus Ponens mensch(sokrates)A x mensch(x) sterblich(x)A B sterblich(sokrates)B –Sprache:formale Sprache, PL1 –Schlußregel:Modus Ponens

5 18.10.99GK Prolog - Fakten, Regeln und Anfragen 5 Resolution mensch(sokrates). sterblich(X):- mensch(X). X ?- sterblich(X). X X = sokrates yes –Sprache:formale Sprache, Prolog –Schlußregel:Resolution

6 18.10.99GK Prolog - Fakten, Regeln und Anfragen 6 Namen sind Schall und Rauch banane(sokrates). kann_fliegen(X):- banane(X). ?- kann_fliegen(X). X = sokrates yes

7 18.10.99GK Prolog - Fakten, Regeln und Anfragen 7 Analyse des Sokrates-Beispiels –1 Objekt sokrates. –1 Menge von Objekten X. –1 Eigenschaft mensch von Objekt sokrates. –1 bedingte Eigenschaft sterblich einer Menge von Objekten X. –1 Beziehung zwischen Mengen von Objekten: sterblich(X):- mensch(X). Die Mengen sind identisch.

8 18.10.99GK Prolog - Fakten, Regeln und Anfragen 8 Prolog Entwicklungsumgebung Entwicklungsumgebung (IDE) Editor Interpreter (Inferenzmaschine) Benutzerschnittstelle (Anfragen) Wissensbasis (Prolog-Programm = Regeln + Fakten)

9 18.10.99GK Prolog - Fakten, Regeln und Anfragen 9 Fakten, Regeln und Anfragen mensch(sokrates). sterblich(X):- mensch(X). ?- mensch(sokrates). yes ?- mensch(aristoteles). no ?- sterblich(sokrates). yes Fakt Regel Anfrage Die Inferenzmaschine versucht die Anfragen durch Zugriff auf die Wissensbasis zu beweisen.

10 18.10.99GK Prolog - Fakten, Regeln und Anfragen 10 Fakten Fakten sind Aussagen über Eigenschaften und Beziehungen von Objekten, die als wahr angenommen werden. Z.B. Fritz liebt Anna. ist eine Aussage über eine Beziehung zwischen zwei Objekten. In Prolog können wir folgenden Fakt formulieren: liebt(fritz, anna).

11 18.10.99GK Prolog - Fakten, Regeln und Anfragen 11 Schreibweise für Fakten In Prolog verwenden wir eine standardisierte Form, um Fakten zu repräsentieren. Die Bezeichner aller Objekte, Eigenschaften und Beziehungen beginnen mit Kleinbuchstaben. Die Bezeichner für Mengen von Objekten (Variablen) beginnen mit Großbuchstaben. Die Bezeichner für Eigenschaften und Beziehungen werden zuerst geschrieben und die Objekte durch Kommata getrennt in runden Klammern. Am Ende eines Fakts kommt ein Punkt.

12 18.10.99GK Prolog - Fakten, Regeln und Anfragen 12 Prädikate und Argumente –Eigenschaften und Beziehungen werden Prädikate genannt. –Bezeichner von Eigenschaften und Beziehungen werden Funktoren genannt. –Die Objekte werden Argumente genannt. –Ein Prädikat mit n Argumenten hat Stelligkeit/Valenz/Arity n. funktor(Arg 1,..., Arg n )

13 18.10.99GK Prolog - Fakten, Regeln und Anfragen 13 Argumentreihenfolge Die Reihenfolge der Argumente von Beziehungen spielt eine Rolle. liebt(anna,fritz). liebt(fritz,anna). verheiratet(X,Y). verheiratet(Y,X).

14 18.10.99GK Prolog - Fakten, Regeln und Anfragen 14 Argumentposition Wir können selbst bestimmen, welche Interpretation die Argumentpositionen bekommen. Anna ist die Mutter von Maria. mutter(anna,maria). oder mutter(maria,anna). mutter(Mutter,Kind). oder mutter(Kind,Mutter). Einmal getroffene Konvention beibehalten.

15 18.10.99GK Prolog - Fakten, Regeln und Anfragen 15 Einige Beispiel-Fakten wertvoll(gold). fem(anna). besitzt(fritz,gold). vater(fritz,anna). gibt(fritz,anna,buch). Gold ist wertvoll. Anna ist weiblich. Fritz besitzt Gold. Fritz ist der Vater von Anna. Fritz gibt Anna das/ein Buch.

16 18.10.99GK Prolog - Fakten, Regeln und Anfragen 16 Universelle Fakten Fakten, die Variablen als Argumente haben, werden universelle Fakten genannt. objekt(X). beziehung(X,Y). weg(X,rom). Die Variablen stehen für beliebige Objekte.

17 18.10.99GK Prolog - Fakten, Regeln und Anfragen 17 Atomare Fakten Fakten können auch aus 0-stelligen Prädikaten bestehen. Von Bedeutung sind inbesondere zwei atomare Fakten, deren Verwendung standardisiert ist: true. Ist immer definiert. fail. Ist niemals definiert.

18 18.10.99GK Prolog - Fakten, Regeln und Anfragen 18 Von Fakten zu Regeln Fritz liebt alle Menschen. Faktenrepräsentation: liebt(fritz,anna). liebt(fritz,paul). liebt(fritz,sokrates).... Regelrepräsentation: liebt(fritz,X):- mensch(X). mensch(anna). mensch(paul). mensch(sokrates)....

19 18.10.99GK Prolog - Fakten, Regeln und Anfragen 19 Fakten und Regeln Fakten bezeichnen Eigenschaften und Beziehungen von Objekten und werden unbedingt als wahr angesehen. Regeln führen Bedingungen für die Wahrheit von Eigenschaften und Beziehungen ein. Fakten lassen sich auch als Regeln umformulieren: liebt(fritz,anna). liebt(fritz,anna):- true.

20 18.10.99GK Prolog - Fakten, Regeln und Anfragen 20 Aufbau von Regeln Regeln bestehen aus Kopf und Rumpf. Head :- Body. Der Kopf ist ein Prädikat und der Rumpf ein Prädikat oder eine Konjunktion und/oder Disjunktion von Prädikaten.

21 18.10.99GK Prolog - Fakten, Regeln und Anfragen 21 Konjunktion Fritz liebt jeden, der Wein und Essen liebt. liebt(fritz,X):- liebt(X,wein), liebt(X,essen). Allgemein: A:- B 1,..., B n | A, B Prädikate

22 18.10.99GK Prolog - Fakten, Regeln und Anfragen 22 Disjunktion Fritz liebt jeden, der Wein oder Essen liebt. liebt(fritz,X):- liebt(X,wein);liebt(X,essen). Alternativ: liebt(fritz,X):- liebt(X,wein). liebt(fritz,X):- liebt(X,essen).

23 18.10.99GK Prolog - Fakten, Regeln und Anfragen 23 Negation Fritz liebt alle Menschen außer sich selbst. liebt(fritz,X):- mensch(X), not X = fritz. Alternativ: liebt(fritz,X):- mensch(X), X \= fritz.

24 18.10.99GK Prolog - Fakten, Regeln und Anfragen 24 Klauseln und Prädikate Fakten und Regeln werden unter dem Oberbegriff Klauseln zusammengefasst. Prolog-Programme bestehen aus Klauseln. Alle Klauseln mit dem gleichen Prädikat im Kopf bilden eine Prädikatsdefinition, bzw definieren ein Prädikat.

25 18.10.99GK Prolog - Fakten, Regeln und Anfragen 25 Anfragen Anfagen werden am Prompt des Interpreters gestellt. Interpretation von Anfragen: ?- sterblich(sokrates). Hat das Objekt sokrates die Eigenschaft sterblich? ?- sterblich(X). Gibt es ein Objekt X mit der Eigenschaft sterblich?

26 18.10.99GK Prolog - Fakten, Regeln und Anfragen 26 Backtracking Wenn es mehrere Lösungen zu einer Anfrage gibt, werden die Elemente der Lösungsmenge aufgezählt. Der Interpreter muß sich dabei merken, welche Lösungen er schon gefunden hat. Das Verfahren, mehrere Verzweigungen in einem Lösungsraum verwalten zu können, nennt man Backtracking. Prolog-Interpreter haben dieses Verfahren eingebaut.

27 18.10.99GK Prolog - Fakten, Regeln und Anfragen 27 Mehrere Lösungen Datenbasis liebt(fritz,blumen). liebt(fritz,anna). liebt(paul,anna). Anfragen ?- liebt(X,anna). X = fritz ->; X = paul ->; no Durch Eingabe eines Semikolons nach einer Antwort auf eine Anfrage bringen wir den Interpreter zum Backtracking.

28 18.10.99GK Prolog - Fakten, Regeln und Anfragen 28 Variablen Variablen gelten im Kontext von Anfagen als implizit existensquantifiziert. ?- mensch(X). Gibt es ein Objekt X mit Eigenschaft mensch? Variablen gelten im Kontext von Fakten und Regeln als implizit allquantifiziert. sterblich(X):- mensch(X). Alle Objekte X mit Eigenschaft mensch haben auch Eigenschaft sterblich.


Herunterladen ppt "18.10.99GK Prolog - Fakten, Regeln und Anfragen 1 Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf"

Ähnliche Präsentationen


Google-Anzeigen