Sunteți pe pagina 1din 7

Crearea motorului de inferen

Motorul de inferen este o component de baz a unui sistem expert care


ndeplinete mai multe funcii:
- proceseaz cunotinele experilor umani pentru rezolvarea unei probleme
i generarea de soluii
- gsete rspunsuri n baza de cunotine, la ntrebrile /interogrile
(scopurile urmrite de motorul de inferen)
- determin cunotinele ce se vor aplica la urmtorul moment al execuiei i
planific aciunile necesare ndeplinirii unui scop [Oprea M., 2002]
- proceseaz cunotine incerte (de tip fuzzy).

Inferena este o metod de prelucrare a cunotinelor din baza de


cunotine i de generare de raionamente bazate pe reguli [Tudor N.
L., 2012]:
a) - reguli deductive
b) - reguli inductive
c) - raionamente mixte.

a) Raionamentul deductiv pornete de la cazuri generale i furnizeaz


cunotine particulare [Tudor N. L., 2012]. Se dau anumite premize i se
ajunge la o concluzie, exprimndu-se formal astfel:

dac premiz
atunci concluzie

- permite generarea tuturor soluiilor posibile


- deduce cunotine noi, adugndu-le la baza de cunotine, la fiecare ciclu
de inferen
- dac numrul de cunotine este foarte mare, scade performanta inferenei
- n situaii de blocaje, nu interacioneaz cu utilizatorul pentru a semnala
anumite lipsuri de raionament

1
b) Raionamentul inductiv pleac de la fapte sau cazuri particulare i
furnizeaz soluii generale [Tudor N. L., 2012]. O regul inductiv are
forma:

concluzie dac
premiz

O regul Prolog are forma general:

concluzie :-
premiza1,
...,
premizaN.

Inferena inductiv a fost aplicat n modelul de nvare al lui Mark


Gold, din 1967, fiind dezvoltat din ce n ce mai mult n ultimele decenii
[Jain S., Daniel O., James R., Arun S., 1999], [Hutter M., 2003].

Un model care pornete de la abordarea lui Gold este conturat n 2002,


n teoria lui Schmidhuber, legat de complexitatea Kolmogorov. Acest
model introduce tipuri de algoritmi super-recursivi [Schmidhuber J., 2002].

Inferena inductiv st la baza majoritii algoritmilor de nvare,


avnd anumite avantaje [Oprea M., 2002]:
- necesit memorie puin, deoarece arborele de cutare a soluiilor este mic
- vitez de execuie mare datorit faptului c se verific i se compar scopul
final doar cu faptele care au anse mai mari de potrivire
- n cazul unor blocaje, se declaneaz dialogul cu utilizatorul, pentru a
solicita tratarea tuturor posibilitilor.

c) Raionamentul mixt cumuleaz avantajele celor dou metode de raionare


(inductiv i deductiv)
- aplic mai nti inferena inductiv, plecnd de la scop
- determin faptele deductibile
- solicit definirea faptelor necunoscute, care se pot interoga
- declaneaz raionamentul deductiv

2
Structura motorului de inferen

Motorul de inferen conine [Owen, James, 2010]:


- planificatorul - deine controlul asupra agendei motorului de inferen.
Agenda conine regulile i faptele selectate pentru inferen.
- interpretor de reguli - aplic cunotinele din agend, executnd regulile
corespunztoare din baza de cunotine
- sistemul care asigur consistena fiecrei soluii generate de motorul de
inferen.

Motorul de inferen poate conine i componente auxiliare, cum ar fi


procesorul de incertitudine i procesorul de explicare [Oprea M., 2002].
Procesorul de incertitudine prelucreaz fapte incerte sau incomplet definite.
Procesorul de explicare explic faptele, regulile i procesul de inferen, prin
care se obin rezultatele finale.

Noiunea de teorem - Un lan inferenial ale crui premize sunt


axiome, se numete demonstraie, iar concluzia se numete teorem [Oprea
M., 2002].

Motorul de inferen construiete raionamente n mod dinamic,


selectnd o anumit ordine de execuie a regulilor i parcurgnd anumite
etape.

Ciclul de inferen

Ciclul de inferen (de execuie a regulilor de ctre motorul de


inferen) conine urmtoarele etape [Christel Kemke, 2005]:

1) se verific potrivirea dintre scopuri (ntrebri, interogri) i faptele i


regulile din baza de cunotine
Motorul de inferen folosete, pentru aceast etap, algoritmii Rete i
Markov.
- regulile care se potrivesc, sunt activate i memorate ntr-o agend (n
motorul de inferen)
- activarea unei reguli declaneaz activarea altor reguli i introducerea
acestora n agend

2) se actualizeaz regulile din agend:


3
se adaug regulile ale cror premize sunt ndeplinite i
- se terg regulile ale cror premize nu sunt ndeplinite

3) se rezolv conflictele de prioritate:


- se selecteaz regula cu cea mai mare prioritate din agend

4) execuia propriu-zis:
- realizarea aciunilor din concluzia regulii selectate
- terge regula din agend (dezactiveaz regula)
Execuia se termin atunci cnd se termin regulile din agend sau este
ntlnit o comand explicit de terminare [Christel Kemke, 2005].

Algoritmii Rete i Markov

Motorul de inferen folosete algoritmii Rete i Markov, pentru


cutarea scopurilor n baza de cunotine.

Algoritmul Rete este eficient pentru recunoaterea abloanelor, fiind


folosit n sisteme cu reguli de producie.

Denumirea algoritmului Rete provine de la net, network (reea); el


memoreaz informaii despre premizele din reea i la fiecare ciclu de
inferen, verific modificrile din reea [RETE2, 1980].

Algoritmul Rete a fost dezvoltat de Charles L. Forgy n anii 70, pentru


interfaa sistemului de producie CMU. Forgy a studiat algoritmul Rete n
teza sa de doctorat i l-a republicat n diverse versiuni mbuntite n 1982.

Astfel, algoritmul Rete a devenit foarte popular pentru multe motoare


de inferen i sisteme expert de tip shell, cum sunt: CLIPS, Jess, Drools,
JRules, OPSJ, Blaze Advisor, BizTalk Rules Engine, Soar [29]. Versiunile
ulterioare ale algoritmului Rete (Rete II n 1980, Rete III n anul 2010) au
mbuntit eficiena inferenei n dou direcii:
- utilizarea memoriei hash n cazul utilizrii mulimilor mari de date i
- includerea algoritmului de nlnuire napoi

4
Algoritmul Markov

- n anii 50, A. Markov a introdus prioritile, ca structur de control pentru


sisteme de producie
- ideea const n aplicarea regulii cu cea mai mare prioritate; dac regula cu
cea mai mare prioritate nu este aplicabil, se aplic urmtoarea regul, n
ordinea prioritii [Feigenbaum Edward, 1998]
- permite obinerea unei execuii mai eficiente a sistemelor de producie
- este un algoritm eficient pentru sisteme expert cu o mulime mare de reguli
- algoritmul Markov poate fi aplicat irurilor de caractere.

Reelele logice Markov au fost introduse de Richardson i Domingos, n


2006 [Matthew R., Pedro Domingos, 2006] i folosesc baze de cunotine cu
clauze Horn, bazate pe modelul probabilistic. Inferena n reele logice
Markov caut o stare apropiat de distribuia staionar a unui sistem.

Reelele logice Markov sunt aplicabile problemelor de extragere a


informaiilor, de text mining i de procesare a limbajului natural [AnHai D.,
Feng N., Christopher R., Jude S., 2011].

Algoritmii Rete i Markov selecteaz regulile care sunt activate i


memorate n agenda motorului de inferen.

Metodele de activare a regulilor

Metodele de activare a regulilor sunt evideniate de nlnuirea regulilor


aplicabile i memorate n agenda motorului de inferen.

Tipul de nlnuire a regulilor alese pentru inferen, depinde de ipoteza


i concluzia problemei [Christel Kemke, 2005]:

a) nlnuirea nainte
- descrie situaia urmtoare: Se dau faptele. Care este concluzia?
- o regul este activat dac toate premizele ipotezei sunt satisfcute
- aceast metod este utilizat, n special, la sistemele expert de
monitorizare i control n timp real (exemplu: CLIPS)

b) nlnuirea napoi
- descrie situaia urmtoare: Se d un scop. Este susinut de fapte?
5
- se pornete de la interogare (scop)
- se parcurg regulile i faptele, pn premizele ipotezei sunt satisfcute
- se utilizeaz n sisteme expert de diagnoz i consultare (EMYCIN).

c) metode alternative de raionament


- demonstrarea matematic a teoremei
- raionament probabilistic
- utilizarea factorilor de certitudine (folosind preri subiective de fapte
i reguli)
- raionament Fuzzy (folosind predicate construite cu valori incerte,
inexacte)
- meta-cunotine (cunotine despre cunotine) exemplu CLIPS
(folosete cunotine care se autodefinesc) [CLIPS/R2, 2003].

Un exemplu de nlnuire a regulilor este urmtorul: Se dau regulile


exprimate formalizat:

Regula 1: ir1 ir2


Regula 2: ir3 ir4
Regula 3: ir5 ir1
Regula 4: ir6 ir5

nlnuirea nainte: ir6


- se d faptul ir6 regula 4
- cnd se obine ir2?
- nlnuirea regulilor: 4, 3, 1 ir5

nlnuirea napoi: regula 3


- se d scopul ir1
(ntrebarea / interogarea) ir2
- nlnuirea regulilor: 1, 3, 4
regula 1
ir2

Figura 1. Arbore de inferen..

n Figura 1. este prezentat arborele de inferen (care evideniaz


raionamentul nlnuirea regulilor).

6
Bibliografie

1. AnHai Doan, Feng Niu, Christopher R, Jude Shavlik, Tuffy: Scaling


up Statistical Inference in Markov Logic Networks using an RDBMS,
The 37th International Conference on Very Large Data Bases,
Washington, 2011
2. Christel Kemke, Expert Systems, University of Manitoba, 2005
3. CLIPS/R2, Production Systems Technologies, Pittsburgh, PA, 2003
4. Feigenbaum Edward, Expert Systems: Principles and Programming,
Fourth Edition, Stanford University, 1998
5. Hutter M , On the existence and convergence of computable universal
priors, Algorithmic Learning Theory, Springer, 2003
6. Matthew Richardson, Pedro Domingos, Markov Logic Networks,
University of Washington, U.S.A., 2006
7. Oprea Mihaela, Sisteme bazate pe cunotine Ghid teoretic i
practic, Editura MATRIX ROM, Bucureti, 2002
8. Owen, James, World's fastest rules engine. Business rule management
systems, InfoWorld, 2010
9. RETE2, Production Systems Technologies, 1980
10. Tudor N. L., PROGRAMARE LOGIC I SISTEME EXPERT.
Aplicaii Visual Prolog si Exsys, Editura MATRIX ROM, Bucureti,
2012, 182 pag.

S-ar putea să vă placă și