Łańcuch do przodu - Forward chaining
Łączenie w przód (lub rozumowanie w przód ) jest jedną z dwóch głównych metod wnioskowania przy użyciu silnika wnioskowania i można je logicznie opisać jako powtarzające się stosowanie modus ponens . Wnioskowanie w przód to popularna strategia realizacji systemów eksperckich , biznesu i systemów reguł produkcji . Przeciwieństwem łańcucha do przodu jest łańcuch do tyłu .
Tworzenie łańcucha do przodu rozpoczyna się od dostępnych danych i wykorzystuje reguły wnioskowania, aby wyodrębnić więcej danych (na przykład od użytkownika końcowego), aż do osiągnięcia celu . Mechanizm wnioskowania korzystający z łańcuchów do przodu przeszukuje reguły wnioskowania, aż znajdzie taką, w której poprzednik ( klauzula If ) jest znany jako prawdziwy. Gdy taka reguła zostanie znaleziona, silnik może podsumować lub wywnioskować następnik ( klauzula Then ), co powoduje dodanie nowych informacji do swoich danych.
Silniki wnioskowania będą iterować przez ten proces, aż do osiągnięcia celu.
Przykład
Załóżmy, że celem jest określenie koloru zwierzaka o imieniu Fritz, biorąc pod uwagę, że rechocze i zjada muchy, a podstawa reguł zawiera następujące cztery zasady:
- Jeśli X rechocze, a X zjada muchy - wtedy X jest żabą
- Jeśli X i X ćwierkania śpiewa - Wtedy X jest kanarek
- Jeśli X jest żabą - wtedy X jest zielony
- Jeśli X jest kanarkiem - wtedy X jest żółty
Zilustrujmy łączenie w przód, podążając za wzorcem komputera podczas oceny reguł. Przyjmij następujące fakty:
- Fritz rechocze
- Fritz je muchy
W przypadku rozumowania w przód silnik wnioskowania może wyprowadzić, że Fritz jest zielony w szeregu kroków:
1. Ponieważ podstawowe fakty wskazują, że „Fritz rechocze” i „Fritz zjada muchy”, poprzednik reguły nr 1 jest spełniony przez podstawienie Fritza za X, a mechanizm wnioskowania stwierdza:
Fritz is a frog
2. Poprzednik reguły nr 3 jest wtedy spełniony przez podstawienie Fritza za X, a mechanizm wnioskowania wnioskuje:
Fritz is green
Nazwa „forward chaining” pochodzi z faktu, że mechanizm wnioskowania zaczyna się od danych i uzasadnia swoją drogę do odpowiedzi, w przeciwieństwie do wstecznego łańcucha , który działa na odwrót. W wyprowadzaniu reguły są używane w odwrotnej kolejności w porównaniu z łańcuchem wstecznym . W tym przykładzie reguły 2 i 4 nie zostały użyte do określenia, czy Fritz jest zielony.
Ponieważ dane określają, które reguły są wybierane i używane, ta metoda jest nazywana opartą na danych , w przeciwieństwie do wnioskowania opartego na łańcuchu wstecznym opartym na celu . Metoda łączenia w przód jest często stosowana przez systemy eksperckie , takie jak CLIPS .
Jedną z zalet łączenia w przód w porównaniu z łączeniem wstecznym jest to, że odbiór nowych danych może wyzwalać nowe wnioski, co sprawia, że silnik jest lepiej dostosowany do dynamicznych sytuacji, w których warunki mogą się zmienić.