Zpětné řetězení

Zpětné řetězení začíná se seznam cílů (nebo hypotézy) a funguje obráceně z následné aby antecedent, jestli některá data podporuje některý z těchto konsekventu. Inferenční motor využívající zpětné řetězení by prohledával pravidla inference, dokud nenajde ten s následným (pak klauzulí), který odpovídá požadovanému cíli. Pokud je známo, že předchůdce (klauzule If) tohoto pravidla je pravdivý, pak je přidán do seznamu cílů (pro potvrzení cíle je třeba také poskytnout údaje, které toto nové pravidlo potvrzují).

například, předpokládejme, že nové pet, Fritz, se dodává v neprůhledné krabici spolu se dvěma fakta o Fritz:

  • Fritz skřehotá
  • Fritz žere mouchy

cílem je rozhodnout, zda Fritz je zelená, a to na základě právního základu obsahující následující čtyři pravidla:

Příklad Zpětné Řetězení.
příklad zpětného řetězení.

  1. Pokud X skřehotá a X jí mouchy – Pak X je žába
  2. Pokud X cvrlikání a X zpívá – Pak X je kanárských
  3. Pokud X je žába – Tak X je zelený
  4. Pokud X je kanárek – Pak X je žlutá

S dozadu uvažování, závěr engine můžete určit, zda Fritz je zelená ve čtyřech krocích. Nejprve je dotaz formulován jako tvrzení o cíli, které má být prokázáno: „Fritz je zelený“.

1. Fritz je nahrazen X v pravidle #3, aby zjistil, zda jeho následný odpovídá cíli, takže pravidlo #3 se stává:

 If Fritz is a frog – Then Fritz is green

vzhledem k tomu, že následující zápasy gólu („Fritz je zelený“), musí nyní motor pravidel zjistit, zda lze předchůdce („Fritz je žába“) prokázat. Předchůdce se proto stává novým cílem:

 Fritz is a frog

2. Opět dosazením Fritz X, pravidlo #1 se stane:

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

Od následné odpovídá aktuální cíl („Fritz je žába“), inference engine nyní potřebuje vidět, pokud antecedent („Fritz skřehotá a žere mouchy“) může být prokázán. Předchůdce se proto stává novým cílem:

 Fritz croaks and Fritz eats flies

3. Protože tento cíl je spojením dvou tvrzení, inferenční motor jej rozdělí na dva dílčí cíle, oba musí být prokázány:

 Fritz croaks Fritz eats flies

4. Dokázat oba tyto dílčí cíle, inferenční motor vidí, že oba tyto dílčí cíle byly uvedeny jako počáteční fakta. Proto spojení je pravda:

 Fritz croaks and Fritz eats flies

proto antecedent pravidlo #1 je pravda a následný musí být pravda:

 Fritz is a frog

proto antecedentu pravidla #3 je pravda a následný musí být pravda:

 Fritz is green

tato derivace tedy umožňuje odvozovacímu motoru dokázat, že Fritz je zelený. Pravidla #2 a #4 nebyly použity.

Všimněte si, že cíle vždy zápas potvrdil, verze konsekventu z důsledků (a není negován verze jako modus tollens), a dokonce pak, jejich předchůdci jsou pak považovány za nové cíle (a ne závěry jako v potvrzujíce, následné), což v konečném důsledku musí odpovídat známá fakta (obvykle definována jako konsekventu, jejichž předchůdci jsou vždy pravdivé); to znamená, že odvozovací pravidlo používá, je modus ponens.

vzhledem k tomu, že seznam cílů určuje, která pravidla jsou vybrána a použita, nazývá se tato metoda cílená, na rozdíl od odvození dat poháněného vpřed. Přístup zpětného řetězení je často používán odbornými systémy.

programovací jazyky jako prolog, Knowledge Machine a ECLiPSe podporují zpětné řetězení v rámci svých inferenčních motorů.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.