Unifikation und Inferenz-Prozess

Terme

Frage:

Was sind Terme?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Termbaum

Frage:

Was versteht man unter einem Termbaum?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Hauptfunktor

Frage:

 Was versteht man unter einem Hauptfunktor?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Stelligkeit / Arität

Frage:

 Was versteht man unter der Stelligkeit bzw. der Arität von Funktoren?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Prologschreibweise

Frage:

Schreibe folgenden Term in Prologschreibweise auf und bilde anhand dessen den Termbaum!

$(17 / 4) * (12 + 11)$

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Unifikation

Frage:

Was versteht man unter Unifikation?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Substitution

Frage:

Was versteht man unter Substitution?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Unifikator

Frage:

Was versteht man unter einem Unifikator?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Unifikationsschritte

Frage:

Gibt zu folgender Anfrage die jeweiligen Unifikationsschritte an:

?-  date(D, M, 2009) = date(D1, apr, Y1),
date(D, M, 2009) = date(14, M, Y).

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Occurs Check

Frage:

Wozu dient der Occurs Check?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Prozedurale Bedeutung

Frage:

Was versteht man unter der prozeduralen Bedeutung eines Prolog Programms?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Deklarative Bedeutung

Frage:

 Was versteht man unter der deklarativen Bedeutung eines Prolog Programms?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Inferenz-Prozess

Frage:

Was versteht man unter dem Inferenz-Prozess in Prolog?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Logische Konsequenz

Frage:

Wann ist eine Anfrage G logische Konsequenz eines Programms P mit C :- $A_1 , A_2 , ... , A_n$ ?

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Schlussregel (formal)

Frage:

Wie ist die formale Vorgehensweise der Schlussregel?

Gegeben:

  • Anfrage: $?- G_1 , ... , G_n$
  • Unifikator: $\theta$
  • Programm P mit C :- $A_1, ... , A_m$

 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Schlussregel (Beispiel)

Frage:

Wende den Inferenz-Prozess mit Hilfe der Schlussregel an! Ist die Anfrage eine logische Konsequenz des Programms?

Gegeben:

  • Anfrage: ?- fehlbar(sokrates)
  • Programm:

mensch(sokrates).

fehlbar(X) :- mensch(X).

  • Unifikator: $\theta = \varnothing$

 

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.

Inferenz-Prozess (Baum)

Frage:

Wende den Inferenz-Prozess mit Hilfe eines Ableitungsbaumes an! Ist die Anfrage eine logische Konsequenz des Programms? 

Gegeben:

  • Anfrage: ?- foo(X).
  • Programm:

foo(1). baz(1,2). baz(1,3). gak(3).
foo(X) :- baz(X,Y), gak(Y).

  • Unifikator: $\theta = \{\}$

Antwort:

Nur angemeldete Nutzer dürfen die Antwort sehen. Hier geht's zur kostenlosen Registrierung.