Sunteți pe pagina 1din 25

31.03.

2016

MS SIA an 1
2015-2016

Cap.2 - Aplicaii ale IA:


Sisteme bazate pe reguli
Sistemele inteligente n economie

Conf.dr. D.Pvloaia
3/31/2016

Cuprins
1. Sisteme bazate pe reguli - SBR(RBS), Sisteme Expert, Motoare de reguli.
Concepte de baz (expert, raionament, inferen, exemple de reguli, FC +
BC, etc) i repere evolutive

2. Arhitectura SE i MR. Asemnri, diferene i exemple (de reguli)


3. Avantaje i dezavantaje ale utilizrii SBR
3/31/2016

31.03.2016

1.Sisteme bazate pe reguli


Cele mai numeroase SI
Cele mai influente
Cunoscute anterior ca SE
Exemple:
Limbaje de programare: LISP, CLIPS
ES Shells: Exsys, Corvid
RBS:
For Java: Jess, Drools
Others: OPS5
Familia Web Rule languages
In special RuleML si SWRL
Interoperabilitatea regulilor
3/31/2016

SBR definiie, scop i caracteristici


Multitudine de definiii
Scop primordial (ca al SE) = emuleze comportamentul expertului uman prin
nmagazinarea expertizei acestuia

Ce este un expert, ce este expertiza


Ce este o regul de producie
Strategiile Forward chaining i Backward chaining
3/31/2016

31.03.2016

Concepte de baz ale SE/SBR


Expertiza este o cunoatere intensiv, specific domeniului problemei, achiziionat prin
instruire, citire sau experien ndelungat.
Urmtoarele tipuri de cunoatere se includ n expertiz:
1) fapte despre domeniul problemei;
2) teorii din domeniul problemei;
3) reguli i proceduri privind domeniul problemei;
4) reguli sau euristici despre ce trebuie fcut ntr-o situaie problematic dat, pentru
soluionarea problemei;
5) strategii globale despre soluionarea tipurilor de probleme;
6) metacunoatere.

3/31/2016

Definitii Web pentru noiunea de EXPERTIZ:


Specialized domain knowledge, skills, tricks, shortcuts and rule-of-thumb that
provide an ability to rapidly ad effectively solve problems in the problem
domain: www.expertise2go.com/webesie/tutorials/ESGloss.htm
A capability of a person to perform an operation in a limited domain with
exceptional results when compared to others capable of performing the same
operation. Expertise may depend on abstractions, such as individual mental
models, rather than on knowledge alone: amglossary.allenpress.com
Expertise is the property of a person (expert) or of a system which delivers a
desired result such as rapid, pertinent information:
en.wikipedia.org/Expertise
http://encyclopedia.laborlawtalk.com/Expertise
3/31/2016

31.03.2016

Concepte de baz ale SE/SBR. Experii


Experii - dificil de definit (persoane cu mai multe niveluri sau grade de expertiz).
Ct de mult expertiz -> a fi considerat expert? Expert = Kworker|Tworker??
Expertiza uman include o gam larg de activiti ale expertului i anume:
1)

recunoaterea i formularea problemei;

2)

rezolvarea problemei cu exactitate i rapiditate;

3)

explicarea soluiei;

4)

nvarea din experien;

5)

restructurarea cunoaterii;

6)

fragmentarea regulilor;

7)

determinarea relevanei;

8)

contiina limitelor sale.

3/31/2016

Definitii pentru expert:


1) Persoana care dispune de cunoastere sau competenta intr-un domeniu
2) Persona recunoscuta pentru cunoasterea si judecatile sale, care i confera
autoritate publica. Expertul dispune de o experienta indelungata, intensa,
practica sau educatie intr-un domeniu particular

4) Persoana recunoscuta de catre un grup profesional sau o societate


profesionala prin certificare
5) O persoana cu calificare sau cunoastere superioara intr-un domeniu particular
Sursa:definitii Web in engleza,
www.cogsci.princeton.edu/cgi-bin/webwn , en.wikipedia.org/wiki/Expert ,
www.normataylor.com/glosary.html
3/31/2016

31.03.2016

Concepte de baz ale SE/SBR.


Inferenierea
procesul de inferen
trstur unic, major a SE
abilitatea de a raiona
efectuat de motor de inferene.

3/31/2016

Definitii Web pentru Inferentiere:


1) A judgment based on reasoning rather than on direct or explicit statement. A
conclusion based on facts or circumstances.
www.tnellen.com/cyberenl/lit_terms/2terms.html
2) The process of drawing a conclusion from given evidence. To reach a decision by
reasoning www.dssresources.com/glossary1999.html
3) The process of reasoning whereby one statement (the conclusion) is derived from
one or more other statements (the premises)
www.filosofia.net/materiales/rec/glosaen.htm
4) New knowledge inferred from existing facts
www.expertise2go.com/tutorials/ESGloss.htm
5) A conclusion drawn from data
mdk12.org/mspp/vsc/mathematics/bygrade/glossary.shtml

3/31/2016

10

31.03.2016

Exemple de SE/SBR
Limbaje de programare: LISP, CLIPS
ES Shells: Exsys, Corvid
SBR:
For Java: Jess, Drools
Others: OPS5
Familia Web Rule languages
In special RuleML si SWRL
Interoperabilitatea regulilor
3/31/2016

11

Limbaje de programare: LISP, CLIPS

LISP = limbaj de programare funcional cu un lung istoric


Iniial = model de calcul -> a devenit limbajul cel mai folosit n app IA (1970-1980).
Denumirea provine de la "LISt Processing".
Specificat iniial n 1958, Lisp este cel de-al doilea ca vechime limbaj de programare
de nivel nalt (Fortran - primul)

Precum Fortran, Lisp a evoluat comparativ cu forma iniial, existnd de-a lungul
vremii o serie de dialecte

Cele mai rspndite dialecte Lisp sunt Common Lisp i Scheme.


3/31/2016

12

31.03.2016

Limbaje de programare: LISP, CLIPS

CLIPS - C Language Integrated Production System


Destinat dezvoltrii SE, creat de NASA n anii 1980
Sintaxa i numele au fost inspirate de OPS(Charles Forgy)
CLIPS cel mai utilizat pentru dezv SE (rapid, eficient, este gratuit i
incorporeaz un LPOO denumit COOL)

CLIPS este scris n C, foarte asemntor Lisp


Descendenii CLIPS: Jess, ECLiPSe, Haley Eclipse, FuzzyCLIPS
3/31/2016

13

Exemplu de regul:
n LISP
n CLIPS

3/31/2016

14

31.03.2016

E.S. Shells: Exsys, Corvid


ES Shells -> for nonprogrammers.
Exsys(1983)-versiuni: Exsys(MSDos), Exsys 16, Exsys Developer, Corvid (2001) Web
Instrument foarte longeviv(33ani), utilizat n multe domenii(economie, cercetare,
militar, industrial, turism, divertisment, aeronautic, domeniul public. Exemple:
http://www.exsys.com/demomain.html

Folosit ca metod de predare n universiti i licee


3/31/2016

15

3/31/2016

16

Constructorul de reguli n Corvid(Logic block)

31.03.2016

Blocul de comand n Corvid (Command block)


1. Backward chaining
2. Forward chaining

3/31/2016

17

SBR. Jess, Drools(Java); OPS5 (Others)


Jess
http://herzberg.ca.sandia.gov/jess/index.shtml
Motor de reguli Java
Developed by Ernest Friedman-Hill at Sandia National Laboratories in Livermore,
CA

Permite efectuarea de raionament folosind cunoaterea furnizat prin intermediul


regulilor declarative

Folosete algoritm Rete (pattern matching)


Permite Backward chaining
Free for academic purpose
3/31/2016

18

31.03.2016

Drools
http://www.drools.org/

platform de integrare a logicii afacerii (BLiP) sau Motor de reguli(Rule engine)


dezvoltat de JBoss i Red Hat Inc.
extinde i implementeaz algoritmul Rete (optimizare Pattern matching).
este o colecie de instrumente ce permite separarea nivelului datelor de nivelul logic al
proceselor afacerii.
este format din 2 pri principale: Authoring i Runtime.
Authoring: procesul de autorizare presupune crearea fiierelor care conin reguli (fiiere .DRL).
Runtime: Implic crearea memoriei de lucru i specificarea activrii acesteia.
3/31/2016

19

Drools. Termeni frecvent folosii


Faptele (date asupra crora acioneaz regulile). n perspectiva Java, faptele sunt
POJO (Plain Old Java Object).

Sesiune (de cunoatere) - knowledge Session este componenta principal care

declaneaz regulie. O sesiune de cunoatere este creat din baza de cunotine.


Pentru ca motorul de reguli s poat lucra, faptele sunt inserate n sesiune. Atunci cnd se
ndeplinete o condiie, regula care o conine se declaneaz.

O sesiune este de 2 tipuri:


Stateless Knowledge Session
Stateful Knowledge Session
3/31/2016

20

10

31.03.2016

Drools. Termeni frecvent folosii


Stateless Knowledge Session. Exemple:

Validare
Eligibilitatea unei persoane pentru obinerea unei ipoteci
Calcul
Calculul unei ipoteci.
Direcionare i filtrare
Filtrarea mesajelor primite i gruparea lor n foldere.
Trimiterea mesajelor primite ctre o destinaie
Stateful Knowledge Session. Exemple:
Monitorizare
Monitorizarea bursei de valori i analiz n vederea realizrii unei achiziii semi-automate.
Diagnostic
Depistarea fraudelor, diagnostic medical.
Logistic

3/31/2016

21

Drools. Termeni frecvent folosii


Funcii n reguli
Funciile reprezint o alternativ a claselor, n unele situaii. De exemplu,
function double calculateSquare (double value) {
return value * value;
}

Salience este un aspect important n sintaxa regulilor(rezolvare a conflictelor ).


Salience ->definirea ordinii n care vor fi executate regulile. Salience are un atribut,

care preia orice expresie ce returneaz un numr de tip int. Strategia de rezolvare a
conflictelor va executa prima dat regula care are salience-ul cel mai mare.
salience ($account.balance * 5)

Valoarea implicit a lui salience este 0.

3/31/2016

22

11

31.03.2016

Familia Web Rule languages: RuleML


RuleML Initiative - August 2000 Pacific Rim International Conference on
Artificial Intelligence.

RuleML Initiative dezvolta limbaje bazate pe reguli deschise XML/RDF


Aceasta permite schimbul de reguli intre diferite sisteme, inclusiv componete
software distribuite pe Web si sisteme client-server eterogene

Limbajul RuleML sintaxa XML pentru reprezentarea cunostintelor sub forma


de reguli

Integrarea cu ontologii: sistemul de reguli trebuie sa deriveze/utilizeze


cunostinte din ontologie
3/31/2016

24

3/31/2016

25

RuleML
Reguli de inferenta/derivare
<imp> <_head> conc </_head>
<_body> <and> prem1 ... premN </and> </_body>
</imp >
implementate prin
<rule> <_body> <and> prem1 ... premN </and> </_body>
<_head> <assert> conc </assert> </_head>
</rule>

Fapte
<atom> <_head> conc </_head> </atom>
implementate prin
<imp> <_head> conc </_head>
<_body> <and> </and> </_body> </imp>

12

31.03.2016

Exemplu OPS5
WME

(literalize student nume plasat_in sex_stud)


(literalize camera numar capacitate
libere sex_cam ocupanti)
(vector-attribute ocupanti)
camera

111 4

2 F

(Maria Elena)time tag

(make camera ^numar 112 ^capacitate 4 ^libere 4


^sex_cam nil ^ocupanti nil)
(make student ^nume Mihai ^plasat_in nil ^sex-stud M)

3/31/2016

26

26

Cuprins
1. Sisteme bazate pe reguli - SBR(RBS), Sisteme Expert, Motoare de reguli.
Concepte de baz (expert, raionament, inferen, exemple de reguli, FC +
BC, etc) i repere evolutive

2. Arhitectura SE i MR. Concept, istoric, asemnri, diferene i componente


3. Avantaje i dezavantaje ale utilizrii SBR
3/31/2016

31

13

31.03.2016

2.Arhitectura SE i MR. Concept, istoric, asemnri, diferene i componente


SE - definiii

Numeroase. n esen, SE:


Simuleaz comportamentul expertului uman n procesul de rezolvare a
problemelor complexe

Utilizate n domenii restrnse, bine structurate unde cunoaterea poate fi


formalizat

3/31/2016

32

Istoricul apariiei SE
Early AI (1956-late 1960s): ateptri prea mari , urmate de dezamgiri i deziluzii.

Eforturile timpurii au fost prea ambiioase, ncercnd s soluioneze probleme prea


complexe.

Early 1970s: constiezarea faptului c ar fi mai bine s se concentreze pe domenii

specifice, cu probleme restrnse primele reuite pentru IA:


DENDRAL (Buchanan et al, 1969) un SE pentru analiza compoziiei chimice (destinate
pentru studierea compoziiei solului de pe Marte)

MYCIN (Feigenbaum et al, 1972) sistem pentru diagnosticarea bolilor infecioase ale
sngelui. Utilizarea factorilor de certitudine pentru manipularea incertitudinii

PROSPECTOR (Duda et al, 1979) Analiza geologic a rocilor i a mineralelor. Folosirea


metodelor Bayesiene (gestiunea incertitudinii)

3/31/2016

33

14

31.03.2016

Arhitectura unui SE

3/31/2016

34

Componentele SE: Interfaa utilizator

3/31/2016

35

15

31.03.2016

Componentele SE: Baza de cunotine

3/31/2016

36

Componentele SE: Editorul bazei de cunotine

3/31/2016

37

16

31.03.2016

Componentele SE: Motorul de inferen

3/31/2016

38

Componentele SE: Motorul de inferen ->


interpretor i planificator

3/31/2016

39

17

31.03.2016

Componentele SE: Motorul de inferen ->


planificator
La nivelul planificatorului, selectarea regulii care se aplic la un moment dat folosete una din
urmtoarele strategii :

Selectarea regulii celei mai specializate (X =numrul maxim de condiii specializat vs.
Y=caracter general)

Selectarea regulii celei mai productive. (X=numrul maxim de consecine, mai mult
nseamn mai bine )

Selectarea euristic. (regula care conduce baza de fapte ct mai aproape de starea dorit)
Selectarea pe baza ncrederii. (Principiul utilizrii factorilor de certitudine Confidence
factor)

3/31/2016

40

Strategii de control a raionamentului n


SE/SBR
Forward Chaining - nlnuire nainte
Backward Chaining - nlnuire napoi

3/31/2016

41

18

31.03.2016

Strategii de control a raionamentului n SE/SBR


Forward Chaining

3/31/2016

42

Strategii de control a raionamentului n SE/SBR


Backward Chaining

3/31/2016

43

19

31.03.2016

Strategii de control a raionamentului n SE/SBR


i strategiile de cutare
FC data driven
BC goal driven
Drools: FC, BC, Hybrid Chaining

Strategii de cutare: n adncime, de tip Backtracking, n lime,


bidirecional, etc

3/31/2016

44

3/31/2016

45

Arhitectura unui SBR/MR


Reprezentare

Intrari
(date de caz)

MEMORIE
DE LUCRU
Fapte dinamice
Date

Iesiri
(Raspunsuri)

Date de activare

BAZA DE
CUNOSTINTE
Reguli
Fapte

Actiuni
(Concluzii)

MOTOR DE
INFERENTA

Reguli selectate

Control

Selectie reguli
si fapte

20

31.03.2016

Regula de producie

Metod procedural
Este cea mai folosit metod de dezvoltare a SE/SBR
F.eficace -> reprezentarea recomandrilor, directivelor sau strategiilor
Are dou pri care stabilesc o relaie ce reprezint scopul regulii:
partea de IF (LHS) i
partea de THEN (RHS)
3/31/2016

46

Regula de producie. Sintaxa general


DAC(IF)
condiie1
condiie2

antecedente sau premise


operator logic

....
ATUNCI(THEN)
concluzie1

aciune sau consecin

concluzie2

....
ALTFEL(ELSE)
concluzie3
concluzie4

.....
3/31/2016

47

21

31.03.2016

Regula de producie. Exemple


R1: IF numrul de zile <5
THEN efectuai livrarea n 24 ore
R2: IF persoana are salariu
THEN persoana este salariat
R3: IF persoana este salariat
AND persoana are un venit diferit de salariu
THEN venitul trebuie declarat
R4: IF persoana nu are salariu
OR persoana nu are pensie
OR persoana nu are alt venit minim stabilit
THEN persoana este omer

3/31/2016

48

Quizz: formai regulile de producie pentru


exemplul din tabel (Analiza lichiditii)

3/31/2016

49

22

31.03.2016

Regula de producie. Tipologie


Tipologia regulilor are n vedere marea varietate a formelor cunoaterii de reprezentat
astfel:

Reguli de cauzalitate
Reguli de recomandare
Reguli directiv
Reguli strategice
Reguli euristice
Reguli cu variabile
Reguli cu factori de certitudine (0-1, -1 1, 0-10).
3/31/2016

50

Exemple de reguli cu factori de certitudine


R11: daca componenta-meniu = curcan
atunci culoare-vin = rosie 0.7
else culoare-vin = alba 0.2
R12: daca componenta-meniu = peste
atunci culoare-vin = alba
R13: daca sos-meniu = sos-alb
atunci culoare-vin = alba 0.6
R14: daca componenta-meniu = porc
atunci culoare-vin = rosie 0.9

R21: daca sos-meniu = sos-alb


atunci tip-vin = sec 0.8
else tip-vin = demisec 0.6
R22: daca sos-meniu = sos-tomat
atunci tip-vin = dulce 0.8
else tip-vin = demisec 0.5
R23: daca sos-meniu = necunoscut
atunci tip-vin = demisec 0.5
R24: daca componenta-meniu = curcan
atunci tip-vin = dulce 0.6
else tip-vin = demisec 0.4
3/31/2016

51

51

23

31.03.2016

Avantajele utilizrii SBR

Programarea declarativ reguli de producie


Separarea nivelului datelor de nivelul logic
Vitez i scalabilitate
Centralizarea cunoaterii

3/31/2016

52

Limitele SBR

cunoaterea (expertiza) nu este ntotdeauna uor disponibil;


experii au cunotine limitate legate de utilizarea tehnologiei;
lipsa ncrederii utilizatorilor finali este uneori o barier n plus n calea folosirii SBR;
muli experi nu dispun de mijloace independente pentru controlul situaiilor cnd
concluziile lor nu sunt rezonabile;

vocabularul utilizat de ctre experi este strict delimitat i adesea dificil de neles de ctre
dezvoltatori;

transferul expertizei este nc un subiect delicat, datorit bazei legale i percepiei multor
persoane.

3/31/2016

53

24

31.03.2016

Bibliografie
Michael Negnevitsky, Artificial Intelligence: A Guide to

Intelligent Systems, 3rd edition (2011), Addison Wesley


Joseph C. Giarratano, Gary D. Riley, Expert Systems:
Principles and Programming, 4 edition (2004), Course
Technology
Michael Bali, Drools Jbos Rules 5.x Developers Guide
(2013), PACKT Publishing
Andone, I., Robert J. Mockler, Dorothy G. Dologite,
Alexandru Al. Tugui, Dezvoltarea sistemelor inteligente
n economie: metodologie i studii de caz, Ed.
Economica, Bucuresti 2001
3/31/2016

54

3/31/2016

55

25

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