Begriff
Forward Chaining
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Du hast einen Haufen Puzzleteile (Daten). Du fängst an, sie zusammenzusetzen, ohne zu wissen, was das Bild wird. "Hier ist was Rotes." -> "Hier ist noch was Rotes." -> "Ah, es ist ein Feuerwehrauto!" Forward Chaining startet bei den Fakten und wendet Regeln an, um neue Fakten abzuleiten, bis ein Ziel erreicht ist (oder keine Regeln mehr passen). Es ist datengetrieben.
Merksatz: Eine Inferenzmethode, die mit den verfügbaren Daten beginnt und Inferenzregeln anwendet, um weitere Daten zu extrahieren, bis ein Ziel erreicht ist (Bottom-Up).
In Smart Home Systemen. Fakt: "Bewegungsmelder: AN". Regel 1: "Wenn Bewegung, DANN Licht an." -> Neues Fakt: "Licht: AN". Regel 2: "Wenn Licht an UND Nacht, DANN Rollladen runter." -> Neues Fakt: "Rollladen: RUNTER". Das System reagiert auf die Welt.
1. Rete Algorithmus
Wenn du 10.000 Regeln hast, ist es langsam, jede Sekunde alle zu prüfen. Der Rete-Algorithmus (Charles Forgy) ist ein extrem cleveres Caching. Er merkt sich Teilergebnisse. "Regel X braucht (A und B). A ist schon wahr. Ich warte nur noch auf B." Wenn B Eintritt, feuert die Regel sofort.
1. Production Memory & Conflict Sets
In der Welt der Production Systems (wie SOAR oder ACT-R) wird Forward Chaining genutzt, um menschliches Denken zu simulieren. Der Prozess läuft in einem Zyklus ab:
- Match: Vergleiche alle Regeln mit dem Arbeitsspeicher (Working Memory).
- Conflict Resolution: Wenn mehrere Regeln passen (der "Conflict Set"), wähle eine aus.
- Act: Führe die Aktion aus (füge neue Fakten hinzu oder lösche alte). In der Forschung ist Schritt 2 der spannendste: Wie entscheidet eine KI, was sie als nächstes "denkt"? Strategien wie "Lexicographic Priority" (bevorzuge komplexere Regeln) oder "Novelty" (bevorzuge neue Informationen) bestimmen den Charakter der KI.
2. Incremental Matching (Rete Nodes)
Wie funktioniert der Rete-Algorithmus unter der Haube? Er baut einen Graphen aus verschiedenen Knoten-Typen:
- Alpha Nodes: Filtern einfache Bedingungen (
Temperatur > 100). - Beta Nodes: Verknüpfen Informationen (
Sensor1 > Sensor2). Die Magie liegt in den Beta-Nodes, die Teilergebnisse in Join Memories speichern. Wenn eine neue Information eintrifft, muss sie nicht den ganzen Baum durchlaufen, sondern wird nur mit den gespeicherten Teil-Matches verknüpft. Das reduziert die Komplexität bei massiven Datenmengen von $O(R \cdot D)$ auf fast $O(R + D)$, wobei $R$ die Anzahl der Regeln und $D$ die Datenmenge ist.
3. Truth Maintenance Systems (TMS)
Ein Problem von einfachem Forward Chaining: Was passiert, wenn ein Fakt, auf dem eine Schlussfolgerung basierte, später gelöscht wird? Experten nutzen ein TMS. Jeder abgeleitete Fakt speichert eine Liste seiner "Rechtfertigungen" (Justifications). Wenn ein Basis-Fakt verschwindet, löst das TMS eine Kettenreaktion aus und löscht automatisch alle darauf basierenden "Lügen". Das ist entscheidend für komplexe Planungssysteme (z. B. Logistik-Optimierung), bei denen sich Eingangsdaten (LKW-Positionen) ständig ändern und das System seine Pläne (Folgerungen) stabil halten muss.
Quick-Check
Wann nutzen?
Wenn du viele Inputs hast und wissen willst: "Was folgt daraus?". (Monitoring, Konfiguration).Gegenteil?
Backward Chaining. Da startest du beim Ziel ("Ist es eine Grippe?") und suchst rückwärts nach Beweisen ("Hat er Fieber?").Endlosschleifen?
Gefährlich. "Wenn A dann B". "Wenn B dann A". Das System feuert ewig hin und her. Man braucht "Refraction" (eine Regel feuert nur 1x pro Datensatz).