Expertní systémyReprezentace poznatků |
|
Báze faktůJak jsme již uvedli, v bázi faktů se uchovávají aktuální data, která buď zadal uživatel, nebo byly odvozené během činnosti systému. Tato data pak přímo určují výběr použitelných pravidel z báze poznatků, proto forma jejich zápisu musí s bází poznatků korespondovat. Fakta bývají většinou zapisované ve tvaru uspořádaných trojic (objekt, atribut, hodnota). Například (Pascie, pohlaví, sameček) vyjadřuje údaj, který se týká křečka   Pascieho, a který atributu   pohlaví přiřazuje hodnotu   sameček. Inferenční mechanismus používá data z báze faktů tak, že na základě jejich přítomnosti (nebo nepřítomnosti) vybírá vhodné položky z báze poznatků. Jestliže se například v bázi faktů nachází položky (Žulina, věk, 5), (Žulina, pohlaví, samička) a (Žulina, přítomnost samečka), inferenční mechanismus hledá v bázi poznatků pravidla, jejichž předpokladové části tyto údaje využívají. Takové je pravidlo z předcházejícího příkladu, jehož spuštěním inferenční mechanismus odvodí důsledek (Žulina, gravidita, možná) a uloží jej do báze faktů. Tento údaj může být již cílový, a pravidlový systém ukončí odvozování, nebo je pouze mezivýsledkem, a inferenční mechanismum hledá další pravidla, jejichž předpokladové části již jsou splněné (přičemž se bere do úvahy tento nový fakt).
Jestliže se nenajde v bázi poznatků pravidlo, jehož předpokladová část využívá položky z báze faktů, snaží se inferenční mechanismus použít ty pravidla, které pracují s třídami objektů. Jestliže jsou například v bázi faktů údaje
(Žulina, věk, 5) (Pascie, pohlaví, sameček) (Žulina, pohlaví, samička) ... a inferenční mechanismus se snaží spustit opět nase staré známé pravidlo o graviditě, dosadí nejprve konstantu Pascie za název třídy *křeček a 8 za *číslo. Pak ale zjistí, že při tomto dosazení není splněn další předpoklad protože tento fakt se nenachází v bázi faktů. Inferenční mechanismus musí být schopný vrátit se ze slepé uličky zpět a vyzkoušet splnění předpokladu pravidla s dosazením které už možná povede ke splnění celého předpokladu, a tím i k vykonání akční části pravidla. |