Ich arbeite derzeit durch SICP Abschnitt über Logic Programming, aber ich steckte in den Beispielen in Bezug auf logische Schlussfolgerungen, vor allem die Append-to-Form-Regeln. Wie arbeiten Sie? Was ich nicht ganz verstehe, ist, wie die zweite Regel die erste Liste durchsucht. Zum Beispiel gegeben:Wie funktioniert Append-to-Form? (SICP's Abschnitt über Logic Programming)
(Regel (append-to-Form() y y)??)
(Regel (append-to-Form (U v) y (u?.???. ? z)) (append-to-Form v y z))
a) Wie erreichen wir aus:?
;;; Query input:
(append-to-form (a b) (c d) ?z)
to
;;; Query results:
(append-to-form (a b) (c d) (a b c d))
b) Und was Kampf dieses:
;;; Query input:
(append-to-form (a b) ?y (a b c d))
to
;;; Query results:
(append-to-form (a b) (c d) (a b c d))
c) Und schließlich:
;;; Query input:
(append-to-form ?x ?y (a b c d))
to
;;; Query results:
(append-to-form() (a b c d) (a b c d))
(append-to-form (a) (b c d) (a b c d))
(append-to-form (a b) (c d) (a b c d))
(append-to-form (a b c) (d) (a b c d))
(append-to-form (a b c d)() (a b c d))
würde ich in den spezifischen mentalen Schritte Interesse erforderlich ist, um die Regelanpassungs auszuführen.
Vielen Dank im Voraus.
Vielen Dank für Ihre Antwort, Rindfleisch. Eigentlich hatte ich damit zu kämpfen, weil die Funktionsweise des Evaluators später im Kapitel erläutert wird. Ich hätte vorher den Abschnitt nach diesen Beispielen lesen sollen. – motxilo