Rückwärtsverkettung

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Backward chaining)
Zur Navigation springen Zur Suche springen

Eine Rückwärtsverkettung (englisch: backward chaining) bezeichnet in der Logik eine Inferenz- bzw. Schlussfolgerungs-Strategie der Form: wenn Bedingung, dann Faktum

Das Gegenmodell ist die Vorwärtsverkettung. Bedeutung haben diese Verkettungen beispielsweise im Bereich der künstlichen Intelligenz für Inferenzmaschinen.

Ebenso wie die Vorwärtsverkettung basiert die Rückwärtsverkettung auf einer transitiven Verknüpfung von Regeln. Man geht dabei jedoch vom Zielobjekt aus und prüft nur die Regeln, die das Ziel in der Konklusion haben. Falls der Wert eines Objektes in der Prämisse einer solchen Regel unbekannt ist, wird versucht, diesen aus anderen Regeln herzuleiten. Gelingt dieses nicht, so wird der Wert schließlich vom Benutzer erfragt.

Man nennt dieses Verfahren auch zielorientierte Inferenz. Eine verwandte Inferenz-Strategie besteht in der Vorwärtsverkettung.

Beispiel für rückwärtsverkettende Regelinterpreter

[Bearbeiten | Quelltext bearbeiten]

Arbeitsspeicher: X, Y, Z

Regelwissensbasis:

  1. X, Y -> S
  2. S, Z -> T
  3. S, Y -> A
  4. Y, T -> B
  5. X, T -> C

Ziel: C steht im Arbeitsspeicher

Konfliktresolution:

  1. Nimm nur Regeln, die das gesuchte Symbol in den Arbeitsspeicher schreiben
    1. Sind diese Regeln noch nicht anwendbar, dann mache sie anwendbar (Teilziel)

Mögliche Lösung:

Schritt Arbeitsspeicher Ziel: C
1 X, Y, Z Regel 5: X, T -> C
2 X, Y, Z Teilziel 1: X (im Arbeitsspeicher)
3 X, Y, Z Teilziel 2: T
4 X, Y, Z Regel 2: S, Z -> T
5 X, Y, Z Teilziel 3: S
6 X, Y, Z Regel 1: X, Y -> S
7 X, Y, Z Teilziel 4: X (im Arbeitsspeicher)
8 X, Y, Z, S Teilziel 5: Y (im Arbeitsspeicher)
9 X, Y, Z, S, T, C Teilziel 6: Z (im Arbeitsspeicher)

Liest man nun die Lösung von "unten nach oben", so erreicht man das Ziel: "C im Arbeitsspeicher".