Expertní systémy

Reprezentace poznatků




Něco o těchto stránkách

Hlavní stránka

Úvod kapitoly

Obsah

Literatura

Rejstřík

Odkazy jinam

Inferenční mechanismus

Na začátku práce systému vkládá inferenční mechanismus do báze faktů tzv.  startovací položky. Systém skončí tehdy, jestliže už není možné spustit žádné pravidlo, nebo jestliže příkazová část spuštěného pravidla obsahovala přímo příkaz k ukončení.

Inferenční mechanismus pracuje v sekvenci tří kroků:

  1. Porovnání podmínky pravidla s položkami báze faktů.
  2. Při nalezení více než jednoho vyhovujícího pravidla se modul rozhoduje, které z nich vybrat - dochází k tzv. řešení konfliktů .
  3. Aplikace vybraného pravidla s následným přidáním nové položky do báze faktů (případně vymazáním existující položky) a návrat ke kroku 1.

Algoritmy na vykonávání kroků 1 a 3 jsou natolik jednoduché a přímočaré, že nevyžadují další pozornost. Řešení konfliktů je však problém, jehož způsob řešení přímo ovlivňuje chování a kvalitu celého expertního systému. Existují sice tzv.   deterministické systémy, v nichž lze spustit v každém kroku maximálně jedno pravidlo, běžnějším případem jsou ale   nedeterministické systémy.

V reálných systémech se nejčastěji vyskytují tři způsoby řešení konfliktů, případně jejich kombinace:

  • Pravidlo nesmí být spuštěno vícekrát se stejnými údaji (tím se předchází nežádoucímu zacyklení)
  • K položkám v bázi faktů obyčejně expertní systém přiřadí časový údaj vyjadřující dobu, kdy byly do báze faktů zařazeny. Systém může používat strategii, která přednostně využívá "čerstvější"data. Tento způsob vede rozhodování rychleji dopředu a vyhýbá se zkoumání starších dat z jiného pohledu.
  • Pravidla, jejichž levá strana obsahuje více podmínek (a bylo tedy těžší je získat) má přednost před všeobecnějšími pravidly. Jestliže je například v bázi faktů P, Q a R, pak inferenční mechanismus upřednostní pravidlo   Jestliže& Q & R tak S před pravidlem  Jestližetak S .

Výhoda poslední metody spočívá především v tom, že systém bere do úvahy maximum relevantních dat, ale přitom umožňuje pracovat s výjimkami. Například každý chovatel křečků ví, že není dobré chovat více křečků pohromadě - nesnesou se. Tento poznatek můžeme zapsat následujícím pravidlem:   Jestliže (*X je křeček) tak (*X je samotář). Na druhou stranu existuje druh křečka (křeček džungarský), který přítomnost společníka snáší velice dobře:   Jestliže (*X je křeček) & (*X je džungarský) tak (*X není samotář). Vybráním konkrétnějšího pravidla tak můžeme pracovat s výjimkami ze všeobecných pravidel.

V produkčních systémech existují dva základní druhy využívání pravidel: dopředné a zpětné řetězení.


Báze faktů Dopředné řetězení