Sunteți pe pagina 1din 2

Inteligen Artificial

9. Confruntarea abloanelor

Curs 9. Confruntarea abloanelor cu datele (pattern matching)


ntr-un sistem expert, spre deosebire de un sistem care funcioneaz pe baz de apeluri de funcii, regulile se aplic asupra datelor in momentul n care exist date care s rspund necesitilor pentru care au fost regulile create. Determinarea acestor condiii se face prin folosirea n prile de condiii ale regulilor a abloanelor, aa cum am vzut deja. n aceast seciune vom aprofunda aceasta descrierea de ablon i maniera n care are loc confruntarea dintre un ablon i faptele din baz. abloanele elementare snt constituite din literali constani i legri de variabile (simple ori multi-cmp). n afara acestora se pot exprima constrngeri asupra cmpurilor de urmtoarele tipuri: Constrngerea AND Simbolul constrngerii AND este ampersand (&) i el combin dou constrngeri ntr-o conjuncie. Rezultatul confruntrii reuete dac ambele constrngeri pe care le grupeaz astfel reuesc. Exemplu: Pentru a cuta un fapt care are pe prima poziie simbolul v pe al doilea un numr i care trebuie s fie mai mare dect 10, vom scrie: Constrngerea OR Simbolul constrngerii OR este bara vertical (|) i ea combin dou constrngeri ntro disjuncie. Rezultatul confruntrii reuete dac cel puin o constrngere dintre cele pe care le grupeaz reuesc. Exemplu: Pentru a cuta un fapt care are pe prima poziie simbolul c pe a doua fie valoarea a i u l fie valoarea vvom scrie: ,e r d Constrngerea NOT Se realizeaz cu semnul tilda (~) plasat n faa unui literal constant sau variabil. Dac acest cmp se potrivete cu un cmp din fapt atunci constrngerea NOT eueaz iar dac elementul prefixat cu ~ nu se potrivete peste valoarea din fapt, atunci constrngerea reuete. Exemplu: Pentru a cuta un fapt c crui valoare este diferit de n a u vom scrie: Combinarea constrngerilor de cmpuri Orice combinare a constrngerilor folosind ~, & i | poate fi realizat. Dac n condiie apar variabile, ele vor fi legate numai dac apar pe prima poziie n combinaie. n toate cazurile n care o variabil apare n interiorul unei constrngeri compuse, ea trebuie s fi fost anterior legat. Exemplu: Vezi mai sus. De asemenea, dac cutm un fapt virsta cu valoarea fie mai mic de 20, fie 30, vom scrie: a

Funcii predicat Urmtoarea este o list complet a funciilor predicat pe care le ofer CLIPS-ul: ntoarce TRUE dac fiecare element este mai mic n valoare dect cel care urmeaz. Tipul argumentelor este obligatoriu numeric.

49

Inteligen Artificial

9. Confruntarea abloanelor

ntoarce TRUE dac fiecare element este mai mic sau egal n valoare dect cel care urmeaz (tip numeric). ntoarce TRUE dac fiecare element este diferit n valoare dect cel care urmeaz (tip numeric). ntoarce TRUE dac primul element este egal n valoare cu toate cele urmeaz (tip numeric). ntoarce TRUE dac fiecare element este mai mare n valoare dect cel care urmeaz (tip numeric). ntoarce TRUE dac fiecare element este mai mare sau egal n valoare dect cel care urmeaz (tip numeric). ntoarce TRUE dac fiecare element se evalueaz la o valoare diferit de FALSE. ntoarce TRUE dac primul element este egal n tip i valoare cu toate elementele care urmeaz. ntoarce TRUE pentru numere pare. ntoarce TRUE pentru numere reale. ntoarce TRUE pentru numere ntregi. ntoarce TRUE pentru simboluri i iruri de caractere. ntoarce TRUE pentru expresii multi-cmp. ntoarce TRUE dac primul element nu este egal n tip i valoare cu toate elementele care urmeaz. ntoarce TRUE dac argumentul se evalueaz la FALSE. ntoarce TRUE dac argumentul este de tip ntreg. ntoarce TRUE pentru numere impare. ntoarce TRUE dac mcar un element se evalueaz la o valoare diferit de FALSE. ntoarce TRUE pentru expresii externe. ntoarce TRUE pentru iruri. (symbolp <expresie>) ntoarce TRUE pentru simboluri. Problem S se fac o baz de date asupra copiilor dintr-o grdini. Informaiile memorate n legtur cu un copil snt: nume, sex, vrsta, nlime, culoarea prului, culoarea ochilor. Prin diferite operaii asupra acestei baze, s se extrag apoi: toi bieii blonzi cu ochi albatri i fetiele brunete cu ochi verzi; toi bieii de aceeai vrst cu fetiele dar mai scunzi dect acestea; toi copiii de aceeai vrst, pe grupe de vrst; copiii ce snt cei mai nali din grupa lor de vrst.

50

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