Bakoverkjetting

Bakoverkjetting starter med en liste over mål (eller en hypotese) og arbeider bakover fra konsekvensen til forløperen for å se om noen data støtter noen av disse konsekvensene. En slutningsmotor som bruker bakoverkjetting, vil søke etter slutningsreglene til den finner en med en påfølgende (Da klausul) som samsvarer med et ønsket mål. Hvis forutsetningen (If-klausulen) i den regelen er kjent for å være sant, legges den til i listen over mål (for at målet skal bekreftes må man også gi data som bekrefter denne nye regelen).

anta for eksempel at et nytt kjæledyr, Fritz, leveres i en ugjennomsiktig boks sammen med to fakta Om Fritz:

  • Fritz croaks
  • Fritz spiser fluer

målet er å avgjøre om Fritz er grønn, basert på en regelbase som inneholder følgende fire regler:

Et Eksempel På Bakoverkjetting.
Et Eksempel På Bakoverkjetting.

  1. Hvis X croaks og X spiser fluer – Da X er en frosk
  2. Hvis X chirps Og x synger – Da X Er en kanarifugl
  3. Hvis X er en frosk – Da X er grønn
  4. Hvis X er en kanarifugl – Da X er gul

med bakover resonnement, kan en slutningsmotor avgjøre om Fritz er grønn i fire trinn. For å starte, er spørringen formulert som et mål påstand som skal bevises: «Fritz er grønn».

1. Fritz er erstattet Av X i regel # 3 for å se om dens påfølgende samsvarer med målet, så regel # 3 blir:

 If Fritz is a frog – Then Fritz is green

siden den påfølgende matcher målet («Fritz er grønn»), må regelmotoren nå se om forløperen («Fritz er en frosk») kan bevises. Forløperen blir derfor det nye målet:

 Fritz is a frog

2. Igjen erstatter Fritz For X, regel # 1 blir:

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

Siden konsekvensen samsvarer med dagens mål («Fritz er en frosk»), må slutningsmotoren nå se om antecedenten («Fritz croaks and eats flies») kan bevises. Forløperen blir derfor det nye målet:

 Fritz croaks and Fritz eats flies

3. Siden dette målet er en sammenstilling av to uttalelser, bryter slutningsmotoren den inn i to delmål, som begge må bevises:

 Fritz croaks Fritz eats flies

4. For å bevise begge disse delmålene ser slutningsmotoren at begge disse delmålene ble gitt som innledende fakta. Derfor er sammenhengen sant:

 Fritz croaks and Fritz eats flies

derfor er forløperen til regel # 1 sant, og konsekvensen må være sant:

 Fritz is a frog

derfor er forløperen til regel # 3 sant, og konsekvensen må være sant:

 Fritz is green

denne avledningen tillater derfor slutningsmotoren å bevise At Fritz er grønn. Regler # 2 og #4 ble ikke brukt.

Merk at målene alltid samsvarer med de bekreftede versjonene av konsekvensene av implikasjoner (og ikke de negerte versjonene som i modus tollens), og selv da blir deres forløpere betraktet som de nye målene (og ikke konklusjonene som ved å bekrefte konsekvensen), som i siste instans må samsvare med kjente fakta (vanligvis definert som konsekvenser hvis forløpere alltid er sanne).

fordi listen over mål bestemmer hvilke regler som velges og brukes, kalles denne metoden måldrevet, i motsetning til data-drevet fremadrettet kjeding slutning. Den bakoverkjedede tilnærmingen er ofte ansatt av ekspertsystemer.

Programmeringsspråk som Prolog, Knowledge Machine og ECLiPSe støtter bakoverkjetting i sine slutningsmotorer.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.