HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material/Prolog

Details zum Backtracking

Mit der Wissenbasis
p(a).
p(b).

c:-p(X).
reagiert Prolog auf die Anfrage ?- c. mit yes. Ein Trace zeigt, dass sich das System mit der Ersetzung p(a) zufriedengibt. b wird also nicht in p eingesetzt. Das liegt daran, dass das Prädikat c nullstellig ist. Schreibt man c(X):-p(X), so werden alle Möglichkeiten für X getestet und ausgegeben.
Dieses Backtracking kann man auch mit dem Prädikat fail erzwingen, wie folgende Wissensbasis zeigt:
p(a).
p(b).

c:-p(X),fail.
c:-p(X).
Bitte mit trace. überprüfen!