Înlănțuirea înapoi

înlănțuirea înapoi începe cu o listă de obiective (sau o ipoteză) și funcționează înapoi de la consecință la antecedent pentru a vedea dacă există date care acceptă oricare dintre aceste consecințe. Un motor de inferență care utilizează înlănțuirea înapoi ar căuta regulile de inferență până când găsește unul cu o consecință (atunci clauză) care se potrivește cu un obiectiv dorit. Dacă antecedentul (clauza If) a acelei reguli este cunoscut a fi adevărat, atunci este adăugat la lista de obiective (pentru ca obiectivul cuiva să fie confirmat, trebuie să furnizați și date care confirmă această nouă regulă).

de exemplu, să presupunem că un nou animal de companie, Fritz, este livrat într-o cutie opacă împreună cu două fapte despre Fritz:

  • Fritz croaks
  • Fritz mănâncă muște

scopul este de a decide dacă Fritz este verde, pe baza unei baze de reguli care conține următoarele patru reguli:

un exemplu de înlănțuire înapoi.
un exemplu de înlănțuire înapoi.

  1. dacă X croaks și X mănâncă muște – atunci X este o broască
  2. dacă X ciripește și X cântă – atunci X este un canar
  3. dacă X este o broască – atunci X este verde
  4. dacă X este un canar – atunci X este galben

cu raționament înapoi, un motor de inferență poate determina dacă Fritz este verde în patru pași. Pentru început, interogarea este formulată ca o afirmație de obiectiv care trebuie dovedită: „Fritz este verde”.

1. Fritz este înlocuit cu X în regula # 3 pentru a vedea dacă consecința sa se potrivește cu obiectivul, deci regula # 3 devine:

 If Fritz is a frog – Then Fritz is green

deoarece rezultatul se potrivește cu obiectivul („Fritz este verde”), motorul regulilor trebuie acum să vadă dacă antecedentul („Fritz este o broască”) poate fi dovedit. Antecedentul, prin urmare, devine noul obiectiv:

 Fritz is a frog

2. Înlocuind din nou Fritz pentru X, regula # 1 devine:

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

deoarece consecința se potrivește cu obiectivul actual („Fritz este o broască”), motorul de inferență trebuie acum să vadă dacă antecedentul („Fritz croaks și mănâncă muște”) poate fi dovedit. Antecedentul, prin urmare, devine noul obiectiv:

 Fritz croaks and Fritz eats flies

3. Deoarece acest obiectiv este o conjuncție a două afirmații, motorul de inferență îl împarte în două sub-obiective, ambele trebuind dovedite:

 Fritz croaks Fritz eats flies

4. Pentru a dovedi ambele sub-obiective, motorul de inferență vede că ambele sub-obiective au fost date ca fapte inițiale. Prin urmare, conjuncția este adevărată:

 Fritz croaks and Fritz eats flies

prin urmare, antecedentul regulii #1 este adevărat și consecința trebuie să fie adevărată:

 Fritz is a frog

prin urmare, antecedentul regulii # 3 este adevărat și consecința trebuie să fie adevărată:

 Fritz is green

această derivare, prin urmare, permite motorului de inferență să demonstreze că Fritz este verde. Regulile # 2 și # 4 nu au fost utilizate.

rețineți că obiectivele se potrivesc întotdeauna versiunilor afirmate ale consecințelor implicațiilor (și nu versiunilor negate ca în modus tollens) și chiar și atunci, antecedentele lor sunt apoi considerate ca fiind noile obiective (și nu concluziile ca în afirmarea consecințelor), care în cele din urmă trebuie să se potrivească faptelor cunoscute (de obicei definite ca consecințe ale căror antecedente sunt întotdeauna adevărate); astfel, regula de inferență utilizată este modus ponens.

deoarece lista de obiective determină ce reguli sunt selectate și utilizate, această metodă se numește bazată pe obiective, spre deosebire de inferența de înlănțuire înainte bazată pe date. Abordarea înlănțuirii înapoi este adesea folosită de sistemele expert.

limbaje de programare precum Prolog, Knowledge Machine și ECLiPSe acceptă înlănțuirea înapoi în motoarele lor de inferență.

Lasă un răspuns

Adresa ta de email nu va fi publicată.