Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
|||||||||||||||||||||
|
Pravidlá, databázy a bázy pravidiel
Rules - pravidláPravidlo v SDML sa skladá z dvoch častí. Príčinnej časti (antecedent) a dôsledkovej časti (consequent). Ak je pravdivá príčinná časť, potom je pravdivá aj dôsledková časť. Obidve časti pravidla sa skladajú z klauzúl. Klauzuly v príčinnej časti môžu byť spájané konjunkciou, disjunkciou, alebo môžu byť negované. V dôsledkovej časti môže byť použitá len konjunkcia. Argumentami pravidiel sú väčšinou premenné, ktoré sú pri vykonávaní pravidiel unifikované s faktami. Ak príčinná časť obsahuje premené, potom dôsledok je pravdivý pre tie väzby, pre ktoré je príčinná časť pravdivá.
DatabázyDatabáza je súbor klauzúl. Každá klauzula v databáze reprezentuje niečo, o čom vieme že je pravdivé. Klauzuly môžu byť do databázy umiestnené manuálne, alebo môžu byť dedukované počas simulácie. Teda klauzuly môžu byť použité na reprezentáciu logických predikátov a každá klauzula v databáze reprezentuje predikát, ktorý je pravdivý. Avšak chýbajúca klauzula v databáze neznamená, že je nepravdivá, znamená len, že sa nepodarilo potvrdiť jej pravdivosť. Keďže všetky klauzuly môžu obsahovať podklauzuly, jedna klauzula v databáze môže obsahovať veľa informácií. V praxi väčšina klauzúl obsahuje ako svoje argumenty čísla a symboly. Z klauzulami v databáze sa dajú robiť tri základné operácie:
V reálnom svete, veci sú pravdivé v určitom čase, alebo po určitom čase stratia platnosť. Aby sa kvôli tomu nemuseli z databázy odstraňovať klauzuly, ktoré stratili platnosť, doba ich platnosti sa zaznamenáva. Takto sú vytvárané čiastkové databázy ktoré obsahujú klauzuly platné v rovnakom čase. Vedomosti, ktoré svoju platnosť nemenia sú uložené v permanentnej databáze. Klauzuly v permanentnej databáze sú dedené do jej čiastkových databáz
Bázy pravidiel
Báza pravidiel, v SDML je súbor pravidiel, z ktorých každé má svoje meno. Každé pravidlo určuje, že keď sú jeho príčiny pravdivé pre nejaké väzby jeho premenných, potom aj dôsledky sú pravdivé pre tie isté väzby premenných. Pravidlá sú čisto deklaratívne. Deklarujú vzťahy medzi klauzulami, ktoré reprezentujú logické predikáty o svete. Klauzuly v pravidlách sú často aj klauzulami v databázach. Existujú však určité primitíva na konštrukciu pravidiel a klauzúl. Napríklad primitívum
Logické primitíva:
Dve negačné primitíva existujú preto, aby sme sa vyhli chybe uvažovať o uzavretom svete (čiže považovať všetko, čo nevieme určiť ako pravdivé, za nepravdivé). |
||||||||||||||||||||
Kontakt: Marek Bundzel |