Backward chaining

a Backward chaining a célok listájával (vagy egy hipotézissel) kezdődik, és visszafelé halad a következménytől az előzményig, hogy megnézze, van-e adat, amely alátámasztja ezeket a következményeket. A hátsó láncolást használó következtetőmotor addig keresné a következtetési szabályokat, amíg meg nem talál egyet egy következményes (majd záradékkal), amely megfelel a kívánt célnak. Ha a szabály előzménye (If záradék) ismert, hogy igaz, akkor hozzáadódik a célok listájához (a cél megerősítéséhez olyan adatokat is meg kell adnia, amelyek megerősítik ezt az új szabályt).

tegyük fel például, hogy egy új háziállatot, A Fritz-et átlátszatlan dobozban szállítják, két tény mellett a Fritzről:

  • Fritz croaks
  • Fritz legyeket eszik

a cél annak eldöntése, hogy Fritz zöld-e, a következő négy szabályt tartalmazó szabályalap alapján:

példa a hátrafelé láncolásra.
példa a hátra láncolásra.

  1. ha X croaks és X eszik legyek-akkor X egy béka
  2. ha X csiripel és X énekel – akkor X egy kanári
  3. ha X egy béka – akkor X zöld
  4. ha X egy kanári-akkor X sárga

a visszafelé érvelés, egy következtetés motor tudja meghatározni, hogy Fritz zöld négy lépésben. Először a lekérdezést egy bizonyítandó célkövetelésként fogalmazzák meg:”Fritz zöld”.

1. Fritz helyettesíti X a 3. szabályban, hogy lássa, ennek következménye megfelel-e a célnak ,tehát a 3. szabály lesz:

 If Fritz is a frog – Then Fritz is green

mivel a következmény megfelel a célnak (“Fritz zöld”), a szabálymotornak most meg kell vizsgálnia, hogy az előzmény (“Fritz egy béka”) bizonyítható-e. Az előzmény tehát az új cél lesz:

 Fritz is a frog

2. Ismét helyettesítve Fritz-et X-re, az 1. szabály lesz:

 If Fritz croaks and Fritz eats flies – Then Fritz is a frog

mivel a következmény megfelel az aktuális célnak (“Fritz egy béka”), a következtetési motornak most meg kell vizsgálnia, hogy az előzmény (“Fritz croaks and eats flies”) bizonyítható-e. Az előzmény tehát az új cél lesz:

 Fritz croaks and Fritz eats flies

3. Mivel ez a cél két állítás összekapcsolása, a következtetési motor két részcélra bontja, mindkettőt be kell bizonyítani:

 Fritz croaks Fritz eats flies

4. Mindkét részcél bizonyítására a következtetési motor úgy látja, hogy mindkét részcélt kezdeti tényként adták meg. Ezért az együttállás igaz:

 Fritz croaks and Fritz eats flies

ezért az 1. szabály előzménye igaz, a következménynek pedig igaznak kell lennie:

 Fritz is a frog

ezért a 3. szabály előzménye igaz, a következménynek pedig igaznak kell lennie:

 Fritz is green

ez a levezetés tehát lehetővé teszi a következtető motor számára annak bizonyítását, hogy a Fritz zöld. A 2.és a 4. szabályt nem használták.

vegye figyelembe, hogy a célok mindig megegyeznek az implikációk következményeinek megerősített változataival (és nem a tagadott verziókkal, mint a modus tollens-ben), és még akkor is az előzményeiket tekintik új céloknak (és nem a következtetéseket, mint a következmény megerősítésében), amelyeknek végső soron meg kell egyezniük az ismert tényekkel (általában olyan következményekként definiálva, amelyek előzményei mindig igazak); így az alkalmazott következtetési szabály a modus ponens.

mivel a célok listája határozza meg, hogy mely szabályokat választják ki és használják, ezt a módszert célvezéreltnek nevezzük, ellentétben az adatvezérelt előremeneti következtetésekkel. A visszafelé láncolás megközelítést gyakran alkalmazzák szakértői rendszerek.

az olyan programozási nyelvek, mint a Prolog, a Knowledge Machine és az ECLiPSe támogatják a visszafelé láncolást a következtető motorjaikban.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.