Sunteți pe pagina 1din 67

INTELIGEN ARTIFICIAL

Curs 8

Sisteme inteligente Sisteme bazate pe reguli n medii certe

Laura Dioan

Sumar
A. Scurt introducere n Inteligena Artificial (IA) B. Rezolvarea problemelor prin cutare

Definirea problemelor de cutare Strategii de cutare


Strategii de cutare neinformate Strategii de cutare informate Strategii de cutare locale (Hill Climbing, Simulated Annealing, Tabu Search, Algoritmi evolutivi, PSO, ACO) Strategii de cutare adversial

C.

Sisteme inteligente

Sisteme bazate pe reguli n medii certe Sisteme bazate pe reguli n medii incerte (Bayes, factori de certitudine, Fuzzy) Sisteme care nva singure

Arbori de decizie Reele neuronale artificiale Maini cu suport vectorial Algoritmi evolutivi

Sisteme hibride

Materiale de citit i legturi utile

capitolul III din S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 1995 capitolul 4 i 5 din H.F. Pop, G. erban, Inteligen artificial, Cluj Napoca, 2004 capitolul 2 din Adrian A. Hopgood, Intelligent Systems for Engineers and Scientists, CRC Press, 2001 capitolul 6 i 7 din C. Groan, A. Abraham, Intelligent Systems: A Modern Approach, Springer, 2011

Coninut

Sisteme inteligente

Sisteme bazate pe cunotine Sisteme care nva singure Sisteme hibride

Sisteme inteligente

Sisteme expert

Bayes Fuzzy

Arbori de decizie Reele neuronale artificiale Maini cu suport vectorial Algoritmi evolutivi

Sisteme bazate pe reguli

Obiecte, frame-uri, ageni

Sisteme bazate pe cunotine (SBC)

Inteligen computaional

Sisteme inteligente sisteme bazate pe cunotine (SBC)

sistemele computaionale alctuite din 2 module principale (roluri):

Domeniul de cunotine (baza de cunotine BC knowledge base)

Informaiile specifice despre un domeniu

Modulul de control (MC inference engine)


Regulile prin care se pot obine informaii noi Algoritmi independeni de domeniu

Sisteme inteligente SBC


Baza de cunotine (BC)

Coninut Tipologie Modaliti de reprezentare a cunotinelor Modaliti de stocare a cunotinelor

Sisteme inteligente SBC


Baza de cunotine (BC)

Coninut

Informaii (exprimate ntr-o anumit reprezentare ex. propoziii) despre mediu informaii necesare pentru nelegerea, formularea i rezolvarea problemelor mulime de propoziii (exprimate/reprezentate ntr-un limbaj formal) care descriu mediul

reprezentare uor interpretabil de ctre calculator limbaj de reprezentare a cunotinelor mecanismul de obinere a unor propoziii noi pe baza celor vechi inferen/raionare

Tipologie

cunotine exacte (perfecte) cunotine imperfecte (nesigure, incerte)


Inexacte Incomplete Incomensurabile

Modaliti de reprezentare a cunotinelor


Logica formal (limbaje formale) Reguli Reele semantice

Sisteme inteligente SBC


Baza de cunotine (BC)

Modaliti de reprezentare a cunotinelor

Logica formal (limbaje formale)

Componente
Sintax simbolurile atomice folosite de ctre limbaj i regulile de construcie a expresiilor (structurilor/propoziiilor) limbajului Semantic asociaz un neles simbolurilor i o valoare de adevr (Adevrat sau Fals) regulilor (propoziiilor) limbajului Metod de inferen sintactic regulile necesare determinrii unei submulimi de expresii logice teoreme (folosite pentru obinerea de noi expresii)

Tipologie
Logica propoziional

se lucreaz doar cu propoziii declarative obiectele descrise sunt fixe sau unice (Ionic este student) se lucreaz cu propziii declarative, cu predicate i cuantificri obiectele descrise pot fi unice sau variabile asociate unui obiect unic (Toi studenii sunt prezeni)

Logica predicatelor de ordin I


Reguli Reele semantice

Sisteme inteligente SBC


Baza de cunotine (BC)

Modaliti de reprezentare a cunotinelor


Logica formal (limbaje formale) Reguli


Euristici speciale care genereaz informaii (cunotine) O modalitate de exprimare (reprezentare) a cunotinelor Ex. dac Ionic lucreaz la Facebook, atunci el ctig muli bani i are puin timp liber Interdependenele ntre reguli reea de inferen Fac legtura ntre cauz i efect - memorate n calculator sub forma unor structuri de control IF cauz THEN efect Grafuri orientate cu noduri care conin concepte i arce care reprezint relaii semantice ntre concepte precum:
Meronymy (A este meronym al lui B dac A este o parte a lui B)

Reele semantice

Ex. Degetul este un meronym al minii, roata este un meronym al mainii Ex. Copacul este un holonym al scoarei Ex. Tractorul este un hyponym al autovehiculului Ex. Fructul este un hypernym al portocalei Ex. A alerga este sinonim cu a fugi Ex. Uscat este antonim cu ud

Holonymy (A este holonym al lui B dac B este o parte a lui A)

Hyponymy (A este hyponym al lui B dac A este un fel de B)

Hypernymy (A este hypernym al lui B dac A este o generalizare al lui B)

Synonymy (A este sinonim al lui B dac A denot acelai lucru ca B)

Antonymy (A este antonim al lui B dac A denot lucruri opuse ca B)

Sisteme inteligente SBC


Baza de cunotine (BC)

Modaliti de stocare a cunotinelor

Relaii

Simple baze de date Ierarhice ierarhii de concepte (reele semantice)

Logic formal

Reguli

Logic procedural

Algoritmi

Sisteme inteligente SBC


Modulul de control (MC)

Coninut

Responsabil cu inferena A ajunge la o concluzie plecnd de la anumite premise (cunotine) i aplicnd anumite reguli de inferen MC depinde de complexitate i tipul cunotinelor cu care are de-a face

Tipologie

n funcie de direcia inferenei:

MC cu legtur nainte (forward chaining)


Pornesc de la informaia disponibil (fapte date, condiii) i ncearc s ajung la o concluzie (fapte derivate) Se bazeaz pe date (data driven) Pornesc de la o concluzie potenial (ipotez) i caut evidene care s o suporte-contrazic (explicaii) Se bazeaz pe scop (goal driven)

MC cu legtur napoi (backward chaining)


Tehnici de raionare (tehnici de inferen)

n medii certe

bazate pe logic bazate pe reguli


bazate pe teoria probabilitilor bazate pe teoria posibilitii

n medii incerte

Sisteme inteligente SBC


Tipologia SBC

Sisteme bazate pe logic (SBL) Sisteme bazate pe reguli (SBR) Case-based reasoning Hypertext manipulating systems Data bases and intelligent UI Intelligent tutoring systems

Sisteme inteligente SBC


Sisteme bazate pe logic (SBL)

Coninut i obiective Arhitectur Tipologie Tool-uri Avantaje i limite

Sisteme inteligente SBC SBL


Coninut i obiective

Coninut

exploreaz o multitudine de cunotine date pentru a obine concluzii noi despre activiti dificil de examinat, folosind metode specifice logicii formale Un sistem logic este alctuit din:

limbaj (sintax + semantic) metod de deducie (inferen)

Scopul SBL

Rezolvarea de probleme cu ajutorul programrii declarative


descriind ceea ce este adevrat sau nu n rezolvarea problemelor permind tehnici de raionare automat demonstrarea automat a teoremelor

Exemple de probleme rezolvate de SBRL

De ce se studiaz SBL?

Logica formal este precis i definit

Sisteme inteligente SBC SBL


Arhitectur

Baza de cunotine (BC)

Sintax

simbolurile atomice folosite de ctre limbaj i regulile de construcie a expresiilor (structurilor/propoziiilor) limbajului asociaz un neles simbolurilor i o valoare de adevr (Adevrat sau Fals) regulilor (propoziiilor) limbajului

Semantic

Modulul ce control (MC)

Metod de inferen sintactic regulile necesare determinrii unei submulimi de expresii logice teoreme (folosite pentru obinerea de noi expresii)

Sisteme inteligente SBC SBL


Tipologie

Sisteme bazate pe logica propoziional


se lucreaz doar cu propoziii declarative obiectele descrise sunt fixe sau unice (Ionic este student)

Sisteme bazate pe logica predicatelor de ordin I


se lucreaz cu propoziii declarative, cu predicate (Student(a)) i cuantificri (variabile cuantificabile pentru orice a, Student(a) AccesWiFi(a)) obiectele descrise pot fi unice sau variabile asociate unui obiect unic (Toi studenii sunt prezeni) predicatele au argumente simple

Sisteme bazate pe logica predicatelor de ordin superior ( 2)


se lucreaz cu propoziii declarative, cu predicate i cuantificri (variabile cuantificabile) permit variabilelor s reprezinte mai multe relaii ntre obiecte predicatele pot avea argumente simple, argumente de tip predicat sau argumente de tip funcie

Sisteme temporale

Reprezint valoarea de adevr a faptelor de-a lungul timpului (Ionic este uneori grbit)

Sisteme modale

Reprezint si fapte ndoielnice

Sisteme inteligente SBC SBL


Sisteme bazate pe logica propoziional

Baza de cunotine

Poate fi alctuit din:


Simboluri (A, B, P, Q, ...) Propoziii (formule)


definite astfel:
1. 2. 3. 4.

Un simbol Dac P este o propziie, atunci i P este tot propoziie Dac P i Q sunt propoziii, atunci PQ, PQ, PQ, PQ sunt tot propoziii Un numr finit de aplicri ale regulilor (1) (3)

Interpretare a unei propoziii stabilirea valorii de adevr Model interpretare a unei mulimi de propoziii astfel nct toate propoziiile s fie adevrate

Modulul de control

realizeaz inferena

stabilirea valorii de adevr a unei propoziii obiectiv pe baza informaiilor din BC verificarea modelului
numerarea tuturor combinaiilor posibile pentru valorile de adevr ale simbolurilor i propoziiilor implicate n SBL

n mai multe moduri

deducia modelului cu ajutorul regulilor de inferen

Sisteme inteligente SBC SBL


Sisteme bazate pe logica propoziional modulul de control

Problem

Se d o BC = {P1, P2, ..., Pm} format din simbolurile {X1, X2, ..., Xn} i o propoziie obiectiv O. Se poate deduce O din BC?

Verificarea modelului

Etape

Se construiete tabelul corespunztor tuturor combinaiilor posibile pentru valorile de adevr ale simbolurilor Se determin dac toate modelele BC sunt i modele ale lui O Modelele BC acele linii n care toate propziiile din BC sunt adevrate
P Q T T F F T T F F R T F T F T F T F PQR T F T T T T T T QP T T T T F F T T Q T T F F T T F F BC T F F F F F F F R T F T F T F T F BCR T T T T T T T T T T T T

Exemplu

P = Afar este foarte cald Q = Afar este umezeal R = Afar plou BC = {PQR, QP, Q} R = Va ploua?

F F F

Dificulti

Nr tuturor combinaiilor crete exponenial cu n timp mare de calcul Soluia: deducerea prin folosirea regulilor de inferen

Sisteme inteligente SBC SBL


Sisteme bazate pe logica propoziional modulul de control

Problem

Se d o BC = {P1, P2, ..., Pm} format din simbolurile {X1, X2, ..., Xn} i o propoziie obiectiv O. Se poate deduce O din BC?
Regul de inferen Modus ponens i introductiv i eliminativ Negaie dubl Rezoluie unitar Rezoluie Premis A, AB A, B AB A AB, B AB, BC Propoziia derivat B AB A A A AC

Deducia modelului cu ajutorul regulilor de inferen

Etape
Construirea unei demonstraii a valorii de adevr a propoziiei obictiv pe baza:

propoziiilor

originale din BC derivate

regulilor de inferen

Exemplu

Problem
P = Afar este foarte cald Q = Afar este umezeal R = Afar plou BC = {PQR, QP, Q} R = Va ploua?

Soluie
1. 2. 3. 4. 5. 6. Q QP P (PQ)R PQ R Premis Premis Modus Ponens (1,2) Premis i introductiv (1,3) Modus Ponens (4,5)

Sisteme inteligente SBC


Tipologia SBC

Sisteme bazate pe logic (SBL) Sisteme bazate pe reguli (SBR) Case-based reasoning Hypertext manipulating systems Data bases and intelligent UI Intelligent tutoring systems

Sisteme inteligente SBC

Sisteme bazate pe reguli (SBR)

Coninut i obiective Proiectare Arhitectur Tool-uri i exemple Avantaje i limite

Sisteme inteligente SBC SBR


Coninut i obiective

Coninut

exploreaz o multitudine de cunotine date pentru a obine concluzii noi despre activiti dificil de examinat, folosind metode asemntoare cu experii umani pot avea succes la problemele fr soluie algoritmic deterministic ncearc s imite un expert uman (ntr-un anumit domeniu) SBR nu nlocuiesc experiena uman, dar i lrgesc sfera disponibilitii permind ne-experilor s lucreze mai bine Sisteme expert

Scopul SBR

Rezolvarea acelor tipuri de probleme care, de obicei, necesit experi umani prin

Transferul expertizei de la un expert la un sistem computaional i Apoi la ali oameni (ne-experi) Consultant medical aplicaie care nlocuiete medicul (dndu-se simptomele, SE sugereaz un diagnostic i un tratament) Detector al problemelor de funcionare ale unei maini Detector de probleme n sistemele de operare - Microsoft Windows troubleshooting Consultant financiar

Exemple de probleme rezolvate de SBR Probleme de recomandare/consultare

De ce se studiaz SBR?

Pentru a nelege metodele umane de raionare Experii umani au nevoie de vacane, pot pleca la alte companii, se pot mbolnvi, cer mriri de salar, etc. Au foarte mare succes comercial

Sisteme inteligente SBC SBR


Proiectare

Achiziionarea informaiilor (cunotinelor) Reprezentarea cunotinelor Inferena cunotinelor Transmiterea ctre utilizator a cunotinelor

Sisteme inteligente SBC SBR


Arhitectur

Baza de cunotine (BC)

Informaiile specifice despre un domeniu

Modulul de control (MC)

Regulile prin care se pot obine informaii noi

Interfaa cu utilizatorul
permite dialogul cu utilizatorii n timpul sesiunilor de consultare, precum i accesul acestora la faptele i cunotinele din BC pentru adugare sau actualizare

Modulul de mbogire a cunoaterii


ajut utilizatorul expert s introduc n baz noi cunotine ntr-o form acceptat de sistem sau s actualizeze baza de cunotine.

Modulul explicativ

are rolul de a explica utilizatorilor att cunotinele de care dispune sistemul, ct i raionamentele sale pentru obinerea soluiilor n cadrul sesiunilor de consultare. Explicaiile ntr-un astfel de sistem, atunci cnd sunt proiectate corespunztor, mbuntesc la rndul lor modul n care utilizatorul percepe i accept sistemul

Sisteme inteligente SBC SBR


Arhitectur baza de cunotine

Conine

Informaiile specifice despre un domeniu sub forma unor


fapte afirmaii corecte reguli - euristici speciale care genereaz informaii (cunotine)

Rol

stocarea tuturor elementelor cunoaterii (fapte, reguli, metode de rezolvare, euristici) specifice domeniului de aplicaie, preluate de la experii umani sau din alte surse

Sisteme inteligente SBC SBR


Arhitectur baza de cunotine

Fapte

Definiie

Afirmaii necondiionate corecte (propoziii) Memorate n calculator sub forma unor structuri de date

Exemplu

Ionic lucreaz la Facebook

Tipologie

n funcie de persisten (ritmul de modificare)


Fapte statice aprox. permanente Fapte tranzitive specifice unei instane/rulri

n funcie de modul de generare


Fapte date Fapte derivate rezultate prin aplicarea unor reguli

Sisteme inteligente SBC SBR


Arhitectur baza de cunotine

Reguli

Definiie

Euristici speciale care genereaz informaii (cunotine) O modalitate de exprimare (reprezentare) a cunotinelor Interdependenele ntre reguli reea de inferen Fac legtura ntre cauz i efect - memorate n calculator sub forma unor structuri de control IF cauz THEN efect
Deducie cauz + regul efect Abducie efect + regul cauz Inducie cauz + efect regul

Exemplu

O cauz i mai multe consecine (combinate cu I)


DAC Ionic lucreaz la Facebook, ATUNCI el ctig muli bani I are puin timp liber DAC anotimpul este iarn ATUNCI vremea este rece SAU este zpad DAC anotimpul este iarn I temperatura este sub 0 grade I bate vntul ATUNCI vremea este rece DAC anotimpul este iarn SAU temperatura este sub 0 grade SAU bate vntul ATUNCI vremea este rece DAC anotimpul este iarn I temperatura este sub 0 grade SAU bate vntul ATUNCI vremea este rece

O cauz i mai multe consecine (combinate cu SAU)

Mai multe cauze/antecedente (combinate cu I) i un efect/o consecin

Mai multe cauze/antecedente (combinate cu SAU) i un efect/o consecin

Mai multe cauze/antecedente (combinate cu I i SAU) i un efect/o consecin

Sisteme inteligente SBC SBR


Arhitectur baza de cunotine

Reguli

Tipologie

n funcie de gradul de incertitudine


Reguli sigure Reguli nesigure Relaii ex. dac x > 0 atunci x este pozitiv Recomandri ex. Dac plou atunci s lum umbrela Directive ex. Dac bateria telefonului e gata atunci trebuie pus la ncrcat Euristici ex. Dac lumina telefonului este stins atunci bateria este plin

n funcie de ceea ce exprim


Avantajul lucrului cu reguli


Uor de neles (o form natural a cunotinelor) Simplu de explicat Simplu de modificat i ntreinut

Limitri ale regulilor


Cunotinele complexe necesit exprimarea prin foarte multe reguli Cutarea n sistemele cu numeroase reguli devine greoaie

Sisteme inteligente SBC SBR


Arhitectur

Baza de cunotine (BC)

Informaiile specifice despre un domeniu

Modulul de control (MC)

Regulile prin care se pot obine informaii noi

Interfaa cu utilizatorul
permite dialogul cu utilizatorii n timpul sesiunilor de consultare, precum i accesul acestora la faptele i cunotinele din BC pentru adugare sau actualizare

Modulul de mbogire a cunoaterii


ajut utilizatorul expert s introduc n baz noi cunotine ntr-o form acceptat de sistem sau s actualizeze baza de cunotine.

Modulul explicativ

are rolul de a explica utilizatorilor att cunotinele de care dispune sistemul, ct i raionamentele sale pentru obinerea soluiilor n cadrul sesiunilor de consultare. Explicaiile ntr-un astfel de sistem, atunci cnd sunt proiectate corespunztor, mbuntesc la rndul lor modul n care utilizatorul percepe i accept sistemul

Sisteme inteligente SBC SBR


Arhitectur modulul de control

Coninut

Regulile prin care se pot obine informaii noi Algoritmi independeni de domeniu Creierul SBR un algoritm de deducere bazat pe BC i specific metodei de raionare

un program n care s-a implementat cunoaterea de control, procedural sau operatorie, cu ajutorul cruia se exploateaz baza de cunotine pentru efectuarea de raionamente n vederea obinerii de soluii, recomandri sau concluzii.

depinde de complexitate i tipul cunotinelor cu care are de-a face

Rol

cu ajutorul lui se exploateaz baza de cunotine pentru efectuarea de raionamente n vederea obinerii de soluii, recomandri sau concluzii

Tipologie n funcie de direcia inferenei:


MC cu legtur nainte (forward chaining) MC cu legtur napoi (backward chaining)

Sisteme inteligente SBC SBR


Arhitectur modulul de control cu legtur nainte (forward chaining)

Ideea de baz

Pornesc de la informaia disponibil (fapte date, condiii) i ncearc s ajung la o concluzie (fapte derivate) folosind regulile disponibile

Regulile sunt de forma:


partea stng (PS) ==>partea dreapt (PD) partea de condiii ==>partea de consecine (efecte)

Se bazeaz pe date (data driven)

Exemplu

ntrebare (problem): Angajatul Popescu are telefon? Regul: Dac Popescu este angajat, atunci el are telefon. Fapt curent: Popescu este angajat. Concluzie: Popescu are telefon.

Sisteme inteligente SBC SBR


Arhitectur modulul de control cu legtur nainte (forward chaining)

Algoritm

Ciclul de execuie

Repet
Se selecteaz o regul a crei condiii din PS sunt satisfcute de starea curent a faptelor stocat n memoria curent Se execut PD a regulii anterior selectate (schimbnd starea curent)

Pn cnd nu se mai poate aplica nici o regul

Observaii

Faptele sunt reprezentate n memoria curent (de lucru) care este continuu actualizat Regulile reprezint aciuni care pot fi executate atunci cnd condiiile specificate sunt satisfcute de elementele stocate n memoria curent Condiiile sunt, de obicei, abloane care se potrivesc cu elementele din memoria curent Aciunile implic, de obicei, adugarea sau eliminarea unor elemente n memoria curent

Sisteme inteligente SBC SBR


Arhitectur modulul de control cu legtur napoi (backward chaining)

Ideea de baz

Se pornete de la o concluzie potenial (ipotez) i se caut evidene care s o suporte/contrazic (explicaii) Regulile sunt de forma:

partea stng (PS) ==>partea dreapt (PD)

Se bazeaz pe scop (goal driven)

Exemplu

ntrebare (problem): Angajatul Popescu are calculator? Afirmaie: Popescu are calculator. Fapt curent: Popescu este programator Regul: Dac Popescu este programator, atunci el are calculator

Se verific setul de reguli i se caut ce trebuie s fie Adevrat (n PS) pentru ca Popescu s aib calculator: un programator. Popescu este programator este un fapt, deci atunci el are calculator.

Sisteme inteligente SBC SBR


Arhitectur modulul de control cu legtur napoi (backward chaining)

Algoritm

Ciclul de execuie

Se ncepe cu starea obiectiv Se verific dac obiectivul nu se potrivete cu unul din faptele iniiale. Dac da, atunci STOP. Altfel, se caut acele reguli a cror concluzie se potrivete cu starea obiectiv. Se alege una dintre reguli i se ncearc demonstrarea faptelor din precondiie (folosind acelai mecanism), care devin noi obiective.

Observaii

este necesar memorarea obiectivelor urmrite

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Baza de cunotine

Fapte

A, B, C, D, E

Reguli

R1: dac A este adevrat i C este adevrat atunci B este adevrat R2: dac C este adevrat i D este adevrat atunci F este adevrat R3: dac C este adevrat i D este adevrat i E este adevrat atunci X este adevrat R4: dac A este adevrat i B este adevrat i X este adevrat atunci Y este adevrat R5: dac D este adevrat i Y este adevrat atunci Z este adevrat

Scop

faptul Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu Algoritm forward chaining

Se repet

Se selecteaz regulile aplicabile pentru faptele existente n BC Regulile care conin n PS a lor doar fapte deja existente n BC Dac pentru un fapt se pot aplica mai multe reguli, se alege doar una dintre ele (care nu a mai fost folosit) Se aplic regulile selectate, iar faptele noi obinute se adaug n BC

Pn cnd se ajunge la concluzie sau la o regul care indic oprirea procesului

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu Iteraia 1

B A,B,C,D,E activare R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z A,B,C,D,E,F

F A,B,C,D,E,F,X activare R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

activare R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu Iteraia 2

Y A,B,C,D,E,F,X, Y activare R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu Iteraia 3

Z A,B,C,D,E,F,X,Y,Z activare R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu Algoritm backward chaining

Se repet

Se selecteaz regulile care se potrivesc cu scopul


Regulile care conin n PD a lor scopul urmrit Dac pentru un scop se pot aplica mai multe reguli, se alege doar una dintre ele

Se verific regulile selectate


Se nlocuiete scopul cu premisele (cauzele) regulii selectate, acestea devenind sub-scopuri

Pn cnd toate sub-scopurile sunt adevrate


Sunt fapte cunoscute (existente iniial n BC) sunt informaii oferite de utilizator

Se repet

Se aplic regulile anterior verificate n ordine invers

Pn la aplicarea tuturor regulilor i obinerea scopului urmrit (ca fapt in BC)

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 1.1

A,B,C,D,E

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

scop

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 1.1

A,B,C,D,E

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

YBC Y = sub-scop

Z,Y

scop

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 1.2

A,B,C,D,E

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

XBC X = sub-scop

Z,Y,X

scop

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 1.2

A,B,C,D,E

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

XBC X = sub-scop

Z,Y,X

scop

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 2.1

A,B,C,D,E,X

X
aplicare

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 2.1

A,B,C,D,E,X,Y

Y
aplicare

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control exemplu

Iteraia 2.1

A,B,C,D,E,X,Y,Z

Z
aplicare

R1: if A & C then B R2: if C & D then F R3: if C & D & E then X R4: if A & B & X then Y R5: if D & Y then Z

Sisteme inteligente SBC SBR


Arhitectur modulul de control

Dificulti

Forward Chaining (FC) sau Backward chaining (BC)? Rezolvarea conflictelor

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Forward Chaining (FC) sau Backward chaining (BC)?

FC se recomand a fi folosit atunci cnd:

Toate (sau aproape toate) informaiile se dau de la nceput n problem Exist un numr mare de scopuri poteniale, dar doar o parte din ele sunt realizabile pentru o instan dat a problemei Este dificil formularea unui scop sau a unor ipoteze

BC se recomand a fi folosit atunci cnd:


Scopul sau ipotezele se dau n problem sau sunt uor de formulat Exist numeroase reguli care se potrivesc cu faptele din BC, producnd numeroase concluzii Datele problemei nu se dau (sau nu sunt uor accesibile), dar trebuie achiziionate (n anumite sisteme)

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Dac se pot aplica mai multe reguli, care regul este aleas?

De ex.
R1: dac culoarea este galben atunci fructul este mr R2: dac culoarea este galben i forma este lunguia atunci fructul este banan R3: dac forma este rotund atunci fructul este mr

Strategii de alegere a regulii care se aplic


prima regul o regul aleatoare regula cea mai specific cea mai veche regul cea mai bun regul

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Alegerea primei reguli care se potrivete (First in first serve)

Exemplu
R1: dac culoarea este galben atunci fructul este mr R2: dac culoarea este galben i forma este lunguia atunci fructul este banan R3: dac forma este rotund atunci fructul este mr

Observaii
Regulile sunt ordonate doar n sistemele mici

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Alegerea aleatoare a unei reguli care se potrivete

Exemplu
R1: dac culoarea este galben atunci fructul este mr R2: dac culoarea este galben i forma este lunguia atunci fructul este banan R3: dac forma este rotund atunci fructul este mr

Observaii
Alegerea poate fi bun sau mai puin bun

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Alegerea celei mai specifice reguli (Specificity)

Cea cu cele mai multe condiii, fiind cea mai relevant pentru datele existente Exemplu
R1: dac culoarea este galben atunci fructul este mr R2: dac culoarea este galben i forma este lunguia atunci fructul este banan R3: dac forma este rotund atunci fructul este mr

Observaii
O regul specific proceseaz mai mult informaie dect o regul general longest matching strategy

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Alegerea celei mai vechi reguli utilizate (Recency):

Fiecare regul are asociat o marc temporal ultima dat cnd a fost folosit Exemplu
R1: dac culoarea este galben atunci fructul este mr [12.01.2012 13.45] R2: dac culoarea este galben i forma este lunguia atunci fructul este banan [7.02.2012 21.10] R3: dac forma este rotund atunci fructul este mr [10.01.2012 10.25]

Observaii
Noile reguli au fost adugate de experi mai puin pregtii dect vechile reguli (adugate de experi mai bine pregtii cu mai multe cunotine n domeniu)

Sisteme inteligente SBC SBR


Arhitectur modulul de control dificulti

Rezolvarea conflictelor

Alegerea celei mai bune reguli (Prioritization)

Fiecare regul are asociat o pondere care specific importana ei (relativ la alte reguli) Exemplu
R1: dac culoarea este galben atunci fructul este mr [30%] R2: dac culoarea este galben i forma este lunguia atunci fructul este banan [30%] R3: dac forma este rotund atunci fructul este mr [40%]

Observaii
Necesit expertiz uman pentru stabilirea importanei

Sisteme inteligente SBC SBR


Arhitectur

Baza de cunotine (BC)

Informaiile specifice despre un domeniu

Modulul de control (MC)

Regulile prin care se pot obine informaii noi

Interfaa cu utilizatorul
permite dialogul cu utilizatorii n timpul sesiunilor de consultare, precum i accesul acestora la faptele i cunotinele din baz pentru adugarea sau actualizarea bazei.

Modulul de mbogire a cunoaterii


ajut utilizatorul expert s introduc n baz noi cunotine ntr-o form acceptat de sistem sau s actualizeze baza de cunotine.

Modulul explicativ

are rolul de a explica utilizatorilor att cunotinele de care dispune sistemul, ct i raionamentele sale pentru obinerea soluiilor n cadrul sesiunilor de consultare. Explicaiile ntr-un astfel de sistem, atunci cnd sunt proiectate corespunztor, mbuntesc la rndul lor modul n care utilizatorul percepe i accept sistemul

Sisteme inteligente SBC SBR


Arhitectur

Interfaa cu utilizatorul

Procesarea limbajului de dialog


Tehnici de procesare a limbajului Meniuri Elemente grafice, etc

Modulul de mbogire a cunoaterii

ajut utilizatorul expert s introduc n baz noi cunotine ntr-o form acceptat de sistem sau s actualizeze baza de cunotine

Sisteme inteligente SBC SBR


Arhitectur

Modulul explicativ

are rolul de a explica utilizatorilor


cunotinele de care dispune sistemul, raionamentele sale pentru obinerea soluiilor n cadrul sesiunilor de consultare.

explicaiile ntr-un astfel de sistem, atunci cnd sunt proiectate corespunztor, mbuntesc la rndul lor modul n care utilizatorul percepe i accept sistemul Exemplu

Un expert medical care prescrie un tratament unui pacient trebuie s explice


motivele pentru care a ajuns la acea recomandare riscurile unui astfel de tratament alternative la acest tratament

Sisteme inteligente SBC SBR

Coninut i obiective Proiectare Arhitectur Tool-uri i exemple Avantaje i limite

Sisteme inteligente SBC SBR


Tool-uri existente

PROLOG

Limbaj de programare care utilizeaz backward chaining

ART (Inference Corporation)

n 1984, Inference Corporation a dezvoltat Automated Reasoning Tool (ART), un sistem expert bazat pe forward chaining

CLIPS

NASA preia abilitile de forward chaining ale sintaxei ART i dezvolt C Language Integrated Production System" (CLIPS)

ART-IM (Inference Corporation)

Inference Corporation implementeaz o versiunea forward-chaining a ART/CLIPS, numit ART-IM.

OPS5 (Carnegie Mellon University)

Primul libaj de IA utilizat pentru sisteme de producie (XCON)

Eclipse (The Haley Enterprise, Inc.)

Eclipse este singurul modul de control pentru C/C++ care suport att forward chaining, ct i backward chaining

Sisteme inteligente SBC SBR


Exemple

DENDRAL (1965-1983)

Analizeaz structura moleculelor i propune structuri plauzibile pentru compui chimici noi sau necunoscui

MYCIN (1972-80)

Program interactiv pentru


diagnosticarea unor boli infecioase sangvine Recomandri terapeutice antimicrobiene

EMYCIN, HEADMED, CASNET i INTERNIST

pentru domeniul medical

PROSPECTOR (1974-1983)

Ofer recomandri pentru explorrile mineralelor

TEIRESIAS

pentru achiziia inteligent a cunoaterii

XCON (1978-1999)

Ofer recomandri pentru configurarea calculatoarelor

SBR financiare

ExpertTAX, Risk Advisor (Coopers & Lybrand), Loan Probe, Peat/1040 (KPMG), VATIA, Flow Eval (Ernst & Young), Planet, Compas, Comet (Price Waterhouse), Rice (Arthur Andersen), Audit Planning Advisor, World Tax Planner (Deloitte Touche)

Sisteme inteligente SBC SBR


Avantaje i limite Avantaje

Oder recomandri celor mai puin experi n anumite domenii Permit companiilor replicarea celor mai buni angajai

Preiua informaia i cunotinele intelectuale ale experilor i le pun la dispoziia celorlali oameni

Se reduc erorile datoarate proceselor de automatizare a sarcinilor monotone, repetitive sau critice Se reduce necesarul de for uman i de timp pentru testarea i analizarea datelor Se reduc costurile prin accelerarea procesului de observare a greelilor Se elimin munca pe care oamenii nu ar trebui s o fac (dificil, consumatoare de timp, susceptibil de erori, care necesit antrenare lung i costisitoare) Se elimin munca pe care oamenii nu i-o doresc s o fac (luarea unor decizii care nu-i pot mulumi pe toi sistemele expert nu pot fi acuzate de favoritsime)

Dezavantaje

Domeniu ngust de aplicare a unui SBR Focus limitat la anumite obiective Lipsa capacitii de nvare i adaptare Probleme de ntreinere Costuri de dezvoltare mari

Recapitulare

SBC

Sisteme computaionale n care baza de cunotine i modulul de control se suprapun SBL


SBC pot fi

exploreaz o multitudine de cunotine date pentru a obine concluzii noi despre activiti dificil de examinat, folosind metode specifice logicii formale Componen
limbaj (sintax + semantic) i metoda de deducie (inferen)

SBR

exploreaz o multitudine de cunotine date pentru a obine concluzii noi despre activiti dificil de examinat, folosind metode asemntoare cu experii umani pot avea succes la problemele fr soluie algoritmic deterministic ncearc s imite un expert uman (ntr-un anumit domeniu) Componen Baza de cunotine fapte i reguli Modulul de control inferen nainte sau napoi

Cursul urmtor
A. Scurt introducere n Inteligena Artificial (IA) B. Rezolvarea problemelor prin cutare

Definirea problemelor de cutare Strategii de cutare


Strategii de cutare neinformate Strategii de cutare informate Strategii de cutare locale (Hill Climbing, Simulated Annealing, Tabu Search, Algoritmi evolutivi, PSO, ACO) Strategii de cutare adversial

C.

Sisteme inteligente

Sisteme bazate pe reguli n medii certe Sisteme bazate pe reguli n medii incerte (Bayes, factori de certitudine, Fuzzy) Sisteme care nva singure

Arbori de decizie Reele neuronale artificiale Maini cu suport vectorial Algoritmi evolutivi

Sisteme hibride

Cursul urmtor Materiale de citit i legturi utile

Capitolul V din S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 1995 capitolul 3 din Adrian A. Hopgood, Intelligent Systems for Engineers and Scientists, CRC Press, 2001 capitolul 8 i 9 din C. Groan, A. Abraham, Intelligent Systems: A Modern Approach, Springer, 2011

Informaiile prezentate au fost colectate din diferite surse de pe internet, precum i din cursurile de inteligen artificial inute n anii anteriori de ctre:

Conf. Dr. Mihai Oltean www.cs.ubbcluj.ro/~moltean Lect. Dr. Crina Groan www.cs.ubbcluj.ro/~cgrosan Prof. Dr. Horia F. Pop www.cs.ubbcluj.ro/~hfpop

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