Znalostní technologie II.
 Rozcestnik                   Pár slov ...                   Znalostní technologie I.                   Znalostní technologie III.                   Znalostní technologie IV.                   Další zdroje                  
Dnes je:        Aktuální čas: 00:00       Moudra: 

LEKCE 15.

Náplň lekce: Rozšiřování modulů o další konstrukce a příkazy


Vytváření pravidel v modulech

Před definicí pravidel si musíme říci o základních příkazech používaných při tzv. přepínání pozornosti inferenčního mechanismu.

Příkaz FOCUS, AUTO-FOCUS a RETURN

Inferenční mechanismus během vykonávání programu různě přesměrovává svoji pozornost na různé moduly. Chvíli se věnuje jednomu modulu, pak druhému atd. Přičemž v jednu chvíli se dívá vždy na jeden modul. Opět je to podobné situaci z reálného života, kdy se člověk nedokáže dívat třeba doleva a zároveň doprava (bez žádných pomocných nástrojů).

Můžeme pomocí výše zmíněných příkazů ovládat zaměřování pozornosti inferenčního mechanismu tak kam potřebujeme.

PŘÍKAZ FOCUS

Syntaxe: (focus NAZEV_MODULU)

Užití: v usuzovací části pravidla

Popis: např. (focus MODUL_B). Uvedením tohoto příkazu říkáme asi toto: a teď se mi inferenční mechanisme dívej na MODUL_B a vykonávej v něm určitou činnost (v MODULU_B bude vykonáváno takové pravidlo mající splněnou podmínkovou část). Za příkazem focus mohou být uvedeny různé příkazy (akce). Ty se vykonají až po tom, co se pozornost inferenčního mechanismu vrátí zpět na to pravidlo toho modulu, ze kterého byl vyslán požadavek za změnu pozornosti inferenčního mechanismu.

PŘÍKAZ RETURN

Syntaxe: (return)

Užití: v usuzovací části pravidla

Popis: příkaz způsobuje, že inferenční mechanismus se přestane dívat na určitý modul, ve kterém je return uveden.

Na obrázku níže je znázorněna možná představa činnosti inferenčního mechanismu, příkazu Focus a Return

Představa činnosti IM

PŘÍKAZ AUTO-FOCUS

Syntaxe: (declare(auto-focus TRUE))

Užití: v podmínkové části pravidla - uvedení jako prvního příkazu v pravidle

Popis: jestliže definujeme v určitém pravidle příkaz auto-focus true říkáme tím, že jestli bude v tomto pravidle, kde je auto-focus uveden, splněna podmínková část - inferenční mechanisme zaměř se na ten modul, ve kterém je toto pravidlo se splněnou podmínkovou částí uvedeno.

Změna pozornosti infefrenčního mechanismu

Inferenční mechanismus je zaměřen na modul do doby než jeho pozornost není nějak narušena či přerušena. Přerušení zaměření inferenčního mechanismu na určitý modul může být způsobeno často tím, že jiný modul požaduje, aby se mu inferenční mechanismus věnoval.

Dá se říci, že některé moduly mohou být velmi aktivní v tom, že stále chtějí, aby se jim inferenční mechanismus věnovala tak ho vyrušují z jeho dosavadní činnosti. Je to něco podobného jako s dětmi, stále vyžadují Váš čas a pozornost. Dedají a nedají Vám chvíli oddechu (řečeno s nadsázkou).

Možné důvody přerušení zaměření pozornosti inferenčního mechanismu

  1. agenda modulu v centru pozornosti IM se vyprázdní a činnost celého systému skončí
  2. agenda modulu v centru pozornosti IM se vyprázdní a pozornost IM se vrátí na modul, odkud byla přesměrována příkazem focus
  3. agenda modulu v centru pozornosti IM není prázdná, ale aktuálně vykonané pravidlo příkazem return vrátí pozornost IM na modul, odkud byla pozornost přesměrována příkazem focus
  4. pravidlo z jiného modulu přtáhne na sebe pozornost IM, protože je splněna podmínková část tohoto pravidla a jaho vlastnot auto-focus je nastavena na hodnotu TRUE

Zdroj:materiály z cvičení č.2 (ZT2)

Praktické využití výše zmíněných příkazů

Soubor setkani_pratel.clp z minulé lekce je rozšířen o pravidla, komentáře a možný ke stáhnutí:
(setkani_pratel_autofocus.clp)
Validace

Valid XHTML 1.0 Strict

Valid CSS!

Monitoring webu