Sunteți pe pagina 1din 2

Inteligenta Artificiala

Tema 2
5. Agenii software pot fi clasificai n urmtoarele categorii, n funcie de proprietile
pe care le ndeplinesc:
Ageni reactivi sunt cei care reacioneaz la schimbrile din mediu.
Ageni planificatori sunt cei care sunt capabili s determine un plan de rezolvare a unui
scop primit.
Ageni de tip hibrid sunt cei care reacioneaz att la schimbrile din mediu, ct i la
scopurile primite, fiind capabili s rezolve ambele tipuri de situaii.
a) Concepei faptele i regulile CLIPS care s poat determina pentru un agent tipul su, n
funcie de informaiile care exist despre acesta n BF.
Rezolvare:
(defrule R1
(agent ?x reactioneaza la mediul ?y )
=>
(assert (agentul ?x este reactiv))
(printout t "agentul " ?x " este reactiv" crlf))
(defrule R2
(agent ?x reactioneaza la scopul ?y )
=>
(assert (agentul ?x este planificator))
(printout t "agentul " ?x " este planificator " crlf))
(defrule R3
(agent ?x reactioneaza la mediul ?y si scopul ?z )
=>
(assert (agentul ?x este hibrid))
(printout t "agentul " ?x " este hibrid" crlf))
(deffacts fapte
(agent A reactioneaza la mediul N)
(agent B reactioneaza la scopul S)
(agent C reactioneaza la mediul Y si scopul Z))
b) Un agent de tip reactiv este indicat pentru a rezolva probleme de monitorizare, un agent
planificator este indicat pentru a rezolva probleme de fabricaie, iar un agent hibrid poate
rezolva ambele tipuri de probleme. Scriei regulile CLIPS care prelund rezultatul de la
punctul anterior s precizeze care sunt tipurile de probleme ce pot fi rezolvate conform tipului
agentului pentru care exist informaii n BF.
(defrule r1
(agentul ?x este reactiv)
=>
(assert (agent ?x rezolva probleme de monitorizare))
(printout t "agentul " ?x " rezolva probleme de monitorizare" crlf)
)
(defrule r2
(agentul ?x este planificator)
=>
(assert (agent ?x rezolva probleme de fabricaie))
(printout t "agentul " ?x " rezolva probleme de fabricaie" crlf)
)
(defrule r3
(agentul ?x este hibrid)
=>

(assert (agent ?x rezolva ambele tipuri de probleme))


(printout t "agentul " ?x " rezolva ambele tipuri de probleme" crlf)
)
2. Continund exemplul de la nceputul acestui paragraf, scriei regula care s afieze toi
studenii de la facultatea de AC, din anul V. Verificai funcionarea introducnd n BF
un grup de fapte potrivite.
(defrule s1
(student ?nume1 ?nume2 facultatea AC anul V)
=>
(printout t "student " ?nume1 " " ?nume2 " facultatea AC anul V" crlf)
)
(deffacts studenti pentru verificare au fost introdusi studenti din anul IV si V dar in regula
contorizati doar cei din anul V
(student Ion Vasile facultatea AC anul V)
(student Barbu Vasile facultatea AC anul V)
(student Calin Cretu facultatea AC anul V)
(student Matei Ilie facultatea AC anul V)
(student Ionel Telisca facultatea AC anul V)
(student Albu Mircea facultatea AC anul V)
(student Matei Ilie facultatea AC anul IV)
(student Ionel Telisca facultatea AC anul IV)
(student Albu Mircea facultatea AC anul IV)
)
2. Cu referire la exemplul de la nceputul seciunii 3, scriei o regul care s determine
toi studenii din anul V, de la facultatea de mecanic; regula va afia numele studenilor gsii
i domiciliul lor.
(defrule s2
(student ?nume1 ?nume2 facultatea MEC anul V $?)
=>
(printout t "student " ?nume1 " " ?nume2 $? "domiciliul " ?y crlf)
)
3. Cu referire la exemplul i exerciiul din seciunea 4, scriei regulile care s determine:
dou liste ce au acelai element pe poziia a doua;
dou liste ce au aceleai elemente;
dou liste ce au un element comun, indiferent de poziia acestuia.
6. O instalaie este supravegheat de 10 senzori. Fiecare senzor poate fi n starea 0 sau n
starea 1. Scriei un program CLIPS (BF i BR) care s determine un mesaj de avertizare dac 3
sau mai muli senzori sunt pe 0. Programul trebuie s se comporte astfel nct i atunci cnd
sunt
pe 0 mai mult de 3 senzori mesajul de avertizare s nu fie afiat dect o singur dat.

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