předchozí - ÚVOD - následující

Zpětné a přímé řetězení

Zpětné řetězení

 

Zpětné řetězení (backward chaining) vychází z toho, že máme odvodit nějaký cíl. V bázi znalostí existují pravidla, které mají tento cíl ve svém závěru. Tyto pravidla se tedy pokoušíme aplikovat (za použití dedukce). Abychom zjistili, zda je pravidlo aplikovatelné, musíme vědět, zda platí jeho předpoklad. Pokud je v předpokladu dotaz, lze se na jeho pravdivost zeptat uživatele, pokud je v předpokladu mezilehlý výrok, musíme ho dovodit (podobně jako cíl) z pravidel,  které k němu vedou. Celý proces se tak opakuje.

 

Procházíme tedy bázi znalostí zpětně od cíle k dotazům (od závěrů pravidel k předpokladům). Zpětné řetězení je tak analogické s prohledáváním stavového prostoru do hloubky.

 

Pořadí, v jakém se vyhodnocují pravidla, je v nejjednodušším případě dáno pořadím podle priority (ta je buď pevně zadána při tvorbě báze, nebo se mění v průběhu konzultace. Podrobněji v [4].

 

Přímé řetězení

 

Při přímém řetězení (forward chaining) vycházíme z faktů, které jsou splněny a pokoušíme se nalézt nějaký závěr, to umožní nalézt další aplikovatelná pravidla a v odvozování lze pokračovat. Přímé řetězení v čisté podobě znamená, že systém se už uživatele na nic neptá; všechny "odpovědi" musí být zadány před začátkem konzultace. Je zde jistá analogie s prohledáváním stavového prostoru do šířky.

 

Existují systémy, které umožňují jak zpětné, tak přímé řetězení. Podrobněji v [4].

 

předchozí - ÚVOD - následující