Vorwärtsverkettung

aus Wikipedia, der freien Enzyklopädie

Als Vorwärtsverkettung (engl.: forward chaining oder forward reasoning) bezeichnet man eine Strategie zur Verknüpfung von Regeln in einem System zur Ableitung logischer Folgerungen, einer sogenannten Inferenzmaschine. Auf der Basis einer Regel, die in der Form

wenn Faktum, dann Folgerung

repräsentiert wird, kann eine einfache Schlussfolgerung gezogen werden. Häufig will man jedoch komplexere Schlussfolgerungen aus mehreren gegebenen Regeln ziehen. Eine Möglichkeit hierzu besteht in der Verkettung von Regeln. Die Vorwärtsverkettung geht dabei transitiv vor, d. h. aus einem Faktum wird anhand einer Regel und einer Inferenzmethode (z. B. modus ponens) eine Schlussfolgerung gezogen, die wiederum als Prämisse und mittels einer weiteren Regel für eine weitere Schlussfolgerung verwendet wird usw. Da von einem meist fallspezifischen Faktum ausgegangen wird, bezeichnet man diese Inferenzstrategie auch als datengetriebene Inferenz.

Eine verwandte Inferenz-Strategie besteht in der Rückwärtsverkettung.

Beispiel für vorwärtsverkettende Regelinterpreter

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. Ignoriere Regeln, die bereits im Arbeitsspeicher stehende Symbole erneut hinzufügen
  2. Berücksichtige Regeln gemäß ihrer Reihenfolge im Regelspeicher

Mögliche Lösung:

Schritt Arbeitsspeicher angewendete Regel
1 X, Y, Z X, Y -> S (Regel 1)
2 X, Y, Z, S S, Z -> T (Regel 2)
3 X, Y, Z, S, T S, Y -> A (Regel 3)
4 X, Y, Z, S, T, A Y, T -> B (Regel 4)
5 X, Y, Z, S, T, A, B X, T -> C (Regel 5)
6 X, Y, Z, S, T, A, B, C (Ziel erreicht)