Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts.

Similar presentations


Presentation on theme: "Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts."— Presentation transcript:

1 Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts

2 Ein abstraktes Prolog-Programm r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Abfrage: ?- p(A,B).

3 Ein abstraktes Prolog-Programm r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Abfrage: ?- p(A,B). Wann ist das wahr?

4 Ein abstraktes Prolog-Programm r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). p(A..., B...) Abfrage: ?- p(A,B).

5 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A..., B...) Abfrage: ?- p(A,B).

6 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A..., B...) p(a,a) Abfrage: ?- p(A,B).

7 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A..., B...) p(a,a) Abfrage: ?- p(A,B).

8 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A a, B a) p(a,a) Abfrage: ?- p(A,B).

9 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A a, B a) p(a,a) Abfrage: ?- p(A,B). A=a B=a

10 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(a,a). p(A a, B a) p(a,a) Abfrage: ?- p(A,B). A=a B=a ;

11 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) p(a,a) Abfrage: ?- p(A,B). p(a,a). ; q(X1..., Z1...) r(Z1..., Y1...), p(X,Y) :- q(X,Z), r(Z,Y).

12 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1..., Z1...) r(Z1..., Y1...), q(a,b). p(a,a) Abfrage: ?- p(A,B). A=a B=a ;

13 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1..., Z1...) r(Z1..., Y1...), q(a,b). q(a,b)p(a,a) Abfrage: ?- p(A,B). A=a B=a ;

14 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1 a, Z1 b) r(Z1..., Y1...), q(a,b). q(a,b)p(a,a) Abfrage: ?- p(A,B). A=a B=a ;

15 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1 a, Z1 b) r(Z1 b, Y1...), r(a,b). q(a,b)p(a,a)r(a,b) Abfrage: ?- p(A,B). A=a B=a ;

16 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1 a, Z1 b) r(Z1 b, Y1...), q(a,b)p(a,a)r (a,b) r(a,b). Abfrage: ?- p(A,B). A=a B=a ;

17 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1 a, Z1 b) r(Z1 b, Y1...), q(a,b)p(a,a)r (b, d) r(b,d). Abfrage: ?- p(A,B). A=a B=a ;

18 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A X1, B Y1) q(X1 a, Z1 b) r(Z1 b, Y1 d), q(a,b)p(a,a)r (b, d) r(b,d). Abfrage: ?- p(A,B). A=a B=a ;

19 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A a, B d) q(X1 a, Z1 b) r(Z1 b, Y1 d), q(a,b)p(a,a)r (b, d) r(b,d). Abfrage: ?- p(A,B). A=a B=a ;

20 r(a,b). r(b,d). p(a,a). p(X,Y) :- q(X,Z), r(Z,Y). q(a,b). Ein abstraktes Prolog-Programm p(A a, B d) q(X1 a, Z1 b) r(Z1 b, Y1 d), q(a,b)p(a,a)r (b, d) r(b,d). Abfrage: ?- p(A,B). A=a B=a ; A=a B=d

21 Ähnlich f(X,2,Z) = f(1,Y,3). führt zur Systemantwort X=1 Z=3 Y=2

22 Ähnlich f(X,2,Z) = f(1,Y,p(X)). führt zur Systemantwort X=1 Z=p(1) Y=2

23 Matching und Unifikation Man kann beim Mustervergleich (Matching) zwei Muster S und T nur unter folgenden Bedingungen zur Übereinstimmung bringen (Unifikation): –Wenn S und T Konstante sind, dann müssen sie gleich sein –Ist S irgendeine Variable und T irgendein Term, dann passen sie immer und S wird zu T instanziiert.

24 Matching und Unifikation –Wenn S und T strukturierte Objekte, dann passen sie nur dann, wenn sie im sog. ersten Funktor übereinstimmen (hier das f ) und der Rest wie vorangehend beschrieben korrespondiert Die resultierende Instanziierung wird durch den Mustervergleich der Komponenten festgelegt, (im Beispiel u.a. das X)


Download ppt "Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts."

Similar presentations


Ads by Google