Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts

Similar presentations


Presentation on theme: "Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts"— Presentation transcript:

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

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). Wann ist das wahr? Abfrage: ?- p(A,B).

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 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├ ...) p(a,a). Abfrage: ?- p(A,B).

6 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├ ...) p(a,a). p(a,a) Abfrage: ?- p(A,B).

7 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├ ...) p(a,a). p(a,a) Abfrage: ?- p(A,B).

8 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├ a, B├ a) p(a,a). p(a,a) Abfrage: ?- p(A,B).

9 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├ a, B├ a) p(a,a). p(a,a) Abfrage: ?- p(A,B). A=a B=a

10 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├ a, B├ a) p(a,a). p(a,a) Abfrage: ?- p(A,B). A=a B=a ;

11 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├ X1, B├ Y1) p(X,Y) :- q(X,Z), r(Z,Y). p(a,a) q(X1├ ..., Z1├ ...) r(Z1├ ..., Y1├ ...) , Abfrage: ?- p(A,B). p(a,a). ;

12 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├ X1, B├ Y1) p(a,a) q(X1├ ..., Z1├ ...) r(Z1├ ..., Y1├ ...) , q(a,b). Abfrage: ?- p(A,B). A=a B=a ;

13 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├ X1, B├ Y1) p(a,a) q(X1├ ..., Z1├ ...) r(Z1├ ..., Y1├ ...) , q(a,b). Abfrage: ?- p(A,B). A=a B=a ; q(a,b)

14 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├ X1, B├ Y1) p(a,a) q(X1├ a, Z1├ b) r(Z1├ ..., Y1├ ...) , q(a,b). Abfrage: ?- p(A,B). A=a B=a ; q(a,b)

15 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). r(a,b). p(A├ X1, B├ Y1) p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ ...) , Abfrage: ?- p(A,B). A=a B=a ; q(a,b) r(a,b)

16 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). r(a,b). p(A├ X1, B├ Y1) p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ ...) , Abfrage: ?- p(A,B). A=a B=a ; q(a,b) r (a,b)

17 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├ X1, B├ Y1) r(b,d). p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ ...) , Abfrage: ?- p(A,B). A=a B=a ; q(a,b) r (b, d)

18 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├ X1, B├ Y1) r(b,d). p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ d) , Abfrage: ?- p(A,B). A=a B=a ; q(a,b) r (b, d)

19 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├ a, B├ d) r(b,d). p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ d) , Abfrage: ?- p(A,B). A=a B=a ; q(a,b) r (b, d)

20 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├ a, B├ d) r(b,d). p(a,a) q(X1├ a, Z1├ b) r(Z1├ b, Y1├ d) , Abfrage: ?- p(A,B). A=a B=a ; A=a B=d q(a,b) r (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 "Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts"

Similar presentations


Ads by Google