Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise...

Click here to load reader

  • date post

    26-Mar-2015
  • Category

    Documents

  • view

    217
  • download

    1

Embed Size (px)

Transcript of Prof. Dr. Herbert Göttler Johannes Gutenberg-Universität, Mainz Visualisierung der Funktionsweise...

  • Slide 1

Prof. Dr. Herbert Gttler Johannes Gutenberg-Universitt, Mainz Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts Slide 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). Slide 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? Slide 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). Slide 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). Slide 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). Slide 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). Slide 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). Slide 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 Slide 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 ; Slide 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). Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 ; Slide 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 Slide 21 hnlich f(X,2,Z) = f(1,Y,3). fhrt zur Systemantwort X=1 Z=3 Y=2 Slide 22 hnlich f(X,2,Z) = f(1,Y,p(X)). fhrt zur Systemantwort X=1 Z=p(1) Y=2 Slide 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 mssen sie gleich sein Ist S irgendeine Variable und T irgendein Term, dann passen sie immer und S wird zu T instanziiert. Slide 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)