Taaksepäin ketjuttaminen

taaksepäin ketjuttaminen alkaa maaliluettelolla (tai hypoteesilla) ja toimii taaksepäin edeltävästä seurauksesta nähdäkseen, tukeeko jokin tieto mitään näistä seurauksista. Päättelymoottori, joka käyttää taaksepäin ketjuttamista, etsii päättelysääntöjä, kunnes se löytää yhden, jolla on seurauksena (sitten lauseke), joka vastaa haluttua tavoitetta. Jos kyseisen säännön edeltävä lauseke (If-lauseke) tiedetään todeksi, lisätään se maaliluetteloon (jotta tavoite voidaan vahvistaa, on annettava myös tiedot, jotka vahvistavat tämän uuden säännön).

Oletetaan esimerkiksi, että uusi lemmikki, Fritz, toimitetaan läpinäkymättömässä laatikossa yhdessä kahden faktan kanssa Fritzistä:

  • Fritz croaks
  • Fritz syö kärpäsiä

tavoitteena on päättää, onko Fritz vihreä, perustuen sääntöpohjaan, joka sisältää seuraavat neljä sääntöä:

esimerkki taaksepäin kahlitsemisesta.
esimerkki taaksepäin kahlitsemisesta.

  1. jos X croaks ja X syö kärpäsiä – silloin X on sammakko
  2. jos X visertää ja X laulaa – niin X on kanarialintu
  3. jos X on sammakko – niin X on vihreä
  4. jos X on kanarialintu – niin X on keltainen

taaksepäin päättelemällä, päättelymoottori voi määrittää, onko Fritz vihreä neljässä vaiheessa. Aluksi kysely on muotoiltu päämääräväitteeksi, joka on todistettava: ”Fritz on vihreä”.

1. Fritz korvataan X säännössä #3, jotta nähdään, vastaako se tavoitetta, joten säännöstä # 3 tulee:

 If Fritz is a frog – Then Fritz is green

koska tulos vastaa maalia (”Fritz on vihreä”), sääntömoottorin on nyt katsottava, voidaanko edeltäjä (”Fritz on sammakko”) todistaa. Näin ollen entisestä tulee uusi päämäärä:

 Fritz is a frog

2. Jälleen korvaa Fritz X, sääntö #1 tulee:

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

koska tulos vastaa nykyistä tavoitetta (”Fritz is a frog”), päättelymoottorin on nyt nähtävä, voidaanko antecedent (”Fritz croaks and eats flies”) todistaa. Näin ollen entisestä tulee uusi päämäärä:

 Fritz croaks and Fritz eats flies

3. Koska tämä tavoite on kahden lausekkeen Konjunktio, päättelymoottori pilkkoo sen kahdeksi osatavoitteeksi, jotka molemmat on todistettava:

 Fritz croaks Fritz eats flies

4. Todistaakseen molemmat osamaalit päättelymoottori näkee, että molemmat osamaalit annettiin alustavina faktoina. Näin ollen Konjunktio on tosi:

 Fritz croaks and Fritz eats flies

siksi säännön nro 1 edeltävä ehto on tosi ja sen on oltava tosi:

 Fritz is a frog

siksi säännön nro 3 edeltävä ehto on tosi ja sen on oltava tosi:

 Fritz is green

tämän derivoinnin avulla päättelymoottori voi siis todistaa, että Fritz on vihreä. Sääntöjä nro 2 ja nro 4 ei käytetty.

huomaa, että tavoitteet ovat aina samat kuin vahvistetut versiot seuraamuksista (eivätkä mitätöidyt versiot, kuten modus tollensissa), ja silloinkin niiden edeltäjiä pidetään sitten uusina tavoitteina (eikä johtopäätöksinä, kuten seurausten vahvistamisessa), joiden on lopulta vastattava tunnettuja tosiasioita (yleensä määritelty seurauksiksi, joiden edeltävät tapahtumat ovat aina tosia); näin ollen käytetty päättelysääntö on modus ponens.

koska maaliluettelo määrittää, mitkä säännöt valitaan ja käytetään, tätä menetelmää kutsutaan tavoitteelliseksi, vastakohtana datalähtöiselle eteenpäin kahlitsevalle päättelylle. Taaksepäin kahlitsemista käytetään usein asiantuntijajärjestelmissä.

ohjelmointikielet kuten Prolog, Knowledge Machine ja ECLiPSe tukevat päättelymoottoreissaan taaksepäin ketjuttamista.

Vastaa

Sähköpostiosoitettasi ei julkaista.