0% au considerat acest document util (0 voturi)
269 vizualizări398 pagini

CursIA PDF

Încărcat de

Maria Georgiana
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
269 vizualizări398 pagini

CursIA PDF

Încărcat de

Maria Georgiana
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 398

Curs: Inteligenta Artificiala

(informatii generale)

Constanta-Nicoleta BODEA
Radu Ioan MOGOS

Masterat Informatica economica, CSIE


Tematica de curs (poate suferi modificari)
Sapt. 1 18.02.2020 Introducere in Inteligenta artificiala (IA)
Sapt. 2 25.02.2020 Agenti inteligenti. Sisteme multi-agent. Clasificari, exemple.
Agentii de tip ChatBots
Sapt. 3 03.03.2020 Metodologii de realizare a sistemelor multi-agent. Studiu de caz
Sapt. 4 10.03.2020 Procesul de negociere intre agenti. Tipuri de licitatii. Coalitii
Sapt. 5 17.03.2020 Limbaje si platforme pentru dezvoltarea de aplicatii pe baza de agenti

Sapt. 6 24.03.2020 Invatare automata (ML). Deep learning. Retele neuronale.Aplicatii bazate
pe retele neuronale
Sapt. 7 31.03.2020 ML in Natural Language Processing (NLP). Aplicatii R
Sapt. 8 07.04.2020 ML: Arbori de decizie, analiza cluster
14.04.2020 VACANTA PASTE
Sapt. 9 21.04.2020 ML: Aspecte metodologice privind clasificatorii (etape, aspecte ale utilizarii
datelor, evaluarea clasificatorilor)
Sapt. 10 28.04.2020 Reguli de productie si grafuri semantice. Ontologii. Semantic Web
Sapt. 11 05.05.2020 Autonomous Database Systems
Sapt. 12 12.05.2020 Automatizarea proceselor de afaceri
Sapt. 13 19.05.2020 LUCRARE DE CONTROL
Sapt. 14 26.05.2020 Sustinere proiecte
2
Evaluare curs
LUCRARE DE CONTROL: 19 mai 2020
 Punctaj lucrare: maxim 5 puncte (cu punct din oficiu inclus)
 Format: intrebari grila
 Punctaj suplimentar: participarea la sesiunea stiintifica
studenteasca (vezi seminar).

Pentru promovarea disciplinei, punctajul obtinut la lucrarea de


control (inclusiv punctajul suplimentar) trebuie sa fie de minim 2
puncte.

3
Inteligenta Artificiala (1)

Constanta Bodea
Radu Mogos

Masterat Informatica economica, CSIE


Introducere in IA
 Contextul IA
 Ce este IA? O scurta istorie a IA
 Ce este o entitate inteligenta?
 Arhitecturi bazate pe agenti
 Evolutia metodelor de IA

2
Contextul IA
Etapele introducerii IT in business

 Sursa: Gartner, 2013


3
Digitizarea

Digitizarea inseamna crearea unei versiuni digitale a obiectelor


analogice / fizice, cum ar fi documente de hârtie, imagini cu microfilm,
fotografii, sunete și altele.

Formatul digital poate fi folosit de un sistem de calcul. Digitizarea


permite, de asemenea, automatizarea proceselor existente manuale.

4
Digitalizarea
 Transformarea proceselor de afaceri, a functiilor de afaceri sau a
modelelor, utilizand tehnologiile digitale
 Angajatii lucreaza intr-un mod diferit, (“digital”) folosind instrumente
digitale precum dispozitivele și tehnologiile mobile care faciliteaza
colaborarea socială și platformele de comunicare unificate,
Digitalizarea afacerii conduce la afaceri digitale.
 Adoptarea continuă a tehnologiilor digitale în diferite activităti sociale.

5
Digitalizarea înseamnă utilizarea tehnologiilor digitale si a datelor
(digitizate si nativ digitale) pentru a crea valoare, pentru a îmbunătăți
afacerile, pentru a înlocui / transforma procesele de afaceri (nu doar
pentru a le digitiza) si pentru a crea un mediu pentru afaceri digitale, in
care informațiile sunt esentiale.

6
Transformare digitala (Digital
transformation, DT, DX)
Transformarea digitală este o schimbare culturală, organizatorică si
operatională a unei organizatii, industrii sau ecosistem printr-o integrare a
tehnologiilor, proceselor și competentelor digitale pe toate nivelurile si
functiile organizatiei.

Transformarea digitală este definită ca fenomen la nivelul orgqnizatiei.

Transformarea digitală nu înseamnă doar o schimbare sau adoptarea unei


noi tehnologii. Este vorba despre valoare, oameni, optimizare și adaptare
printr-o utilizare inteligentă și orientată către oameni a tehnologiilor.
Transformarea digitală utilizează tehnologiile pentru a crea valoare pentru
diversi actori, să inoveze si să permita adaptarea la schimbari.

7
Transformarea digitala reprezinta o schimbare profunda a proceselor,
competentelor si modelelor de afaceri si organizaționale, pentru a valorifica
pe deplin schimbările și oportunitătile unui amestec de tehnologii digitale si
impactul lor accelerat asupra societății într-un mod strategic și prioritar, cu
schimbări prezente și viitoare.

Strategia de transformare digitală – pentru crearea conditiilor de


valorificare a posibilitătile oferite de noile tehnologii si de impactul acestora.

8
Schimbari digitale (digital disruptions)
Reprezinta schimbări în modul în care sunt utilizate tehnologiile, dar si
schimbări în comportamentul si asteptările angajatilor. Aceste
schimbări pot fi induse de noile tehnologii si de modul în care
tehnologiile sunt adoptate sau valorificate.

Schimbarile digitale inseamna că afacerile se realizeaza în mod


semnificativ diferit.

9
Impactul DX

Sursa: Capgemini Consulting si MIT center for digital

10
Sursa: McKinsay Report 2019
11
Potential transformator al AI (AI as
disruptive technology)
Survey-uri globale pentru studiul impactului IA
Gartner, Inc. 2019 CIO Survey:
Organizațiile din toate industriile folosesc IA într-o varietate de aplicatii.
„În urmă cu patru ani, implementarea AI a fost rară, doar 10% dintre
respondentii sondajului au raportat că întreprinderile lor au implementat IA
sau vor face acest lucru în scurt timp. Pentru anul 2019, acest număr a fost
mai mare de 37%, o crestere de 270% in patru ani ”, spune Chris Howard,
vicepreședinte de cercetare la Gartner.
Gartner a adunat date de la peste 3.000 de respondenti CIO în 89 de țări
din industriile majore, reprezentând 15 trilioane de dolari în bugetele de
venituri și din sectorul public și 284 miliarde de dolari în cheltuieli pentru IT.

12
MIT Sloan Management Review 2019:
Un sondaj realizat pe 3.000 de directori, manageri si analisti sugerează
că o majoritate surprinzătoare a companiilor nu au adoptat încă
tehnologiile AI. Mai puțin de un sfert au adoptat tehnologii AI, în timp ce
încă 23% dintre cei chestionați au un anumit proiect pilot în derulare. În
special, 54% au declarat că nu au început să adopte tehnologii AI.

13
14
 Oreilly Survey 2018 privind adoptarea IA si ML in companiile din Europa

15
16
17
Teradata Survey: Artificial Intelligence for Enterprises, 2017

18
19
20
21
22
23
24
Studiu de caz DX in domeniul bancar
(Oracle)

25
26
27
IA, in viata personala
 Asistenti personali inteligenti (Siri, Google Now, Cortana etc.).
 Video games (Middle Earth: Shadow of Mordor, Far Cry, Call of Duty etc.)
 Masini inteligente (proiectul Google’s selfdriving car, Tesla’s autopilot”
feature)
 Aparate casnice inteligente (case inteligente)
 Online customer support (inclusiv pentru recomandari produse)
 Aplicatii pentru asigurarea securitatii (supraveghere video cu recunoastere
faciala etc)

28
Aplicatii IA pentru educatie
 programe inteligente de tutoring (tutori inteligenti);
 automatizarea unor activitati didactice, precum evaluarea eseurilor si
acordare punctaje;
 automatizarea unor servicii educationale (selectare cursuri optionale,
recomandarea scolilor/specializarilor etc.);
 mesaje customizate la raspunsuri gresite la teste (feedback/instruire
personalizata).

29
Spre o economie DX

30
Ce este IA ?
 Un domeniu al stiintei calculatoarelor
 Obiectivul domenului IA: Construirea de artefacte (entitati artificiale)
inteligente, pentru:
 Obtinerea de avantaje prin utilizarea acestora (relevanta practica);
 Intelegerea mai buna a inteligentei naturale, in special a celei umane
(relevanta teoretica).

31
O scurta istorie a IA
Fundamentele IA (radacinile)
Stiinta calculatoarelor
Filozofie
Logica
Psihologie/stiinte cognitive
Biologie, neurologie, genetica

32
… si totusi conceptul de robot umanoid apare frecvent in literatura, chiar inainte
de secolul 19.

33
… si totusi nici pana in prezent acest test
nu a fost trecut

34
In 1956 este semnat certificatul de nastere al IA, ca domeniu stiintific.

35
O problema mai complicata reclama un algoritm mai complicat. … si totusi GPS
a fost un esec, din punct de vedere al performantelor!

36
37
38
39
40
Ce este o entitate inteligenta?

“Ca un om” “Rational”

Cognitive
A gandi Logica
Science

Testul lui Agenti


A actiona
Turing rationali

41
Ce studiaza IA?
Comportamentul inteligent (CI) si posibilitatile de emulare a acestuia la
masini.
 CI este asociat efectuarii unor task-uri dificile (pentru om sau dificil de
automatizat).
 CI presupune detinerea si utilizarea de cunostinte. Sisteme bazate pe
cunostinte

2
2

1
(Sursa: Ertel W., Introduction in Artificial Intelligence, Springer Verlag, 2011)
42
Arhitecturi bazate pe agenti
 Un agentul software rational (inteligent) reprezinta un prototip de sistem
bazat pe cunostinte.

 Obiectivul IA = studierea si construirea de agenti rationali.

43
Definitia agentului
Un agent reprezinta o entitate care percepe mediul si actioneaza asupra acestuia.

perceptii

Mediu
Agent

actiuni

Caracteristicile mediului:
 Accesibil-inaccesibil
 Deterministic-nedeterministic
 Episodic-nonepisodic
 Static-dinamic
 Discret-continuu

44
Agent rational (inteligent)
 Reprezinta un agent care actioneaza cu succes.
 Masurarea performantei pentru definirea gradului de succes;
 Informatia detinuta despre mediu (secventa perceptiilor);
 Cunostintele detinute;
 Actiunile pe care le poate intreprinde.

45
Definitia agentului inteligent
Reprezinta agentul care actioneaza astfel incat sa-si maximizeze performanta, pe
baza informatiilor despre mediu dobandite prin perceptii si a cunostintelor
detinute anterior.

Programul agent:
O functie (un program) prin care se realizeaza trecerea de la perceptii la
actiuni.
Functia presupune existenta unei arhitecturi de implementare (hardware si
software).

Agentul = arhitectura de implementare + programul

46
Structura generica a unui program agent

function AGENT(perceptie) returns actiune


static: memorie

memorie ACTUALIZARE-MEMORIE(memorie, perceptie)


actiune CEA-MAI-BUNA-ACTIUNE(memorie)
memorie ACTUALIZARE-MEMORIE(memorie, actiune)
return actiune

47
Structura generica a programului de simulare a mediul
agentului

procedure RUN-ENVIRONMENT(stare, UPDATE-EN, agenti, conditie-


terminare)
inputs: stare
UPDATE-EN
agenti
conditie-terminare

repeat
for each agent in agenti do
PERCEPT[agent] GET-PERCEPT(agent, stare)
end
for each agent in agenti do
ACTION[agent] PROGRAM[agent](PERCEPT[agent])
end
stare UPDATE-EN(actiuni, agenti, stare)
until conditie-terminare(stare)

48
Arhitectura unui agent

Agent
Senzori
M

perceptii
E

D
Memorie (BC)

I
Alegere actiuni
U

actiuni

Efectori

49
Arhitectura unui agent care invata
Standard de performanta

Critic Senzori
M
feedback Modificari alegere perceptii
E

Element care invata D

Element pentru alegere actiuni


I
cunostinte

Scopurile invatarii U

actiuni
Generator de
problema Efectori

50
Evolutia metodelor de IA

(Sursa: Ertel W., Introduction in Artificial Intelligence, Springer Verlag, 2011)


51
Inteligență artificială (2)

Prof. dr. Constanța Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


Curs 2: Agenți inteligenți. Sisteme
multi-agent. Clasificari, exemple

2
Cuprins
 1. Conceptul de agent
 II. Clasificare agenti
 III. Proprietati ale agentilor
 IV. Sisteme multi-agent (SMA)
 V. Tehnici de coordonare ale SMA
 VI. Tehnologia orientata agent (TOA) vs. tehnologia
orientata obiect (TOO)
 VII. Aplicabilitate SMA si rolul lor in cadrul IA

3
Conceptul de agent inteligent
 Agentul inteligent (raţional) - agent care acţionează în scopul obţinerii
succesului.

 Raţionalitatea agentului este definită ţinând cont de elementele:


 măsura de performanţă, care defineşte gradul de succes ;
 secvenţa percepţiilor ;
 ceea ce ştie a priori agentul ;
 acţiunile pe care le poate realiza agentul.

 Agentul raţional ideal - agentul care actioneaza a.i. să-şi maximizeze


performanţa, pe baza:
 informaţiilor despre mediu dobândite prin percepţii
 cunoştinţelor deţinute anterior.

4
Clasificarea agenţilor inteligenţi
 Agenti simpli
 Agenti care memoreaza evolutia mediului
 Agenti bazati de scop
 Agenti bazati pe utilitate

5
Clasificarea agenţilor inteligenţi –
Agenti simpli (1)
 Agentul simplu – agent
Agent
care identifica o simplu Senzori
regulă care se
potriveşte situaţiei în Starea
care se află (după cum prezentă a
este definită de mediului

percepţie) şi apoi Mediu


realizează acţiunea Reguli Ce acţiune să
asociată regulii condiţie- întreprind acum?
acţiune

 Eficienta mare Afectori


 Aplicabilitate restransa
Ex:
dacă maşina-din-faţă-frânează atunci iniţiază–procesul de frânare
6
Clasificarea agenţilor inteligenţi –
Agenți simpli (2)

Modul
comportament
Intrari Iesiri
Modul
Senzori comportament
Actiuni

Modul
comportament

Arhitectura generală agent simplu

7
Clasificarea agenţilor inteligenţi –
Agenți simpli (3)
Avantaje:
- timpul scăzut de răspuns
- simplitatea remarcabilă de realizare
- toleranţa greşelilor.

Exemplu de diagrama de clase agent simplu


class Diagrama de clase pentru un agent reactiv

Comportament
- restrictii: vector
+ executa() : void

Set de Agent
comportamente
- sc: Set de comportamente
- elemente: vector - m: Mediu
+ getAction() : void + run() : void

Stare Actiune
- tip stare: int + actioneaza() : void
+ primeste intrare() : void
8
Clasificarea agenților inteligenți –
Agenți simpli (3)
Avantaje:
 timp scazut de raspuns
 timp de raspuns mic, pentru ca nu analizeaza date primite prin intermediul
senzorilor proprii de intrare
 timpul de raspuns este in functie de viteza primirii de catre agent a datelor
de intrare
 simplitate de realizare
 datorita absentei elementelor de invatare si rationament
 toleranta greselilor
 modulele prezente lucreaza in paralel, analizand intrarile si iesirile
 dc. un modul functioneaza gresit, nu afecteaza comportamentul celorlelte
module

9
Clasificarea agenţilor inteligenţi –
Agenti care memorează evoluţia mediului

- asemănători cu ag. simpli


- Stare Senzori
- diferenţa: aceştia deţin stări
interne în ceea ce priveşte mediul - Modul în
care mediul
evoluează Starea prezentă a
mediului
- actualizarea informaţiilor aferente - Acţiunile
stărilor interne necesită: mele Mediu

• cunoştinţe despre modul în


care mediul evoluează Ce acţiune să
independent de agent Reguli întreprind acum?
condiţie-
acţiune
• cunoştinţe despre modul în
care acţiunile agentului vor
influenţa mediul. Afectori
Agent

Ex: daca temperatura scade, agentul va face ca masina sa mearga mai incet.
10
Clasificarea agenţilor inteligenţi –
Agenţi bazaţi pe scop (1)
• Agentul are nevoie de:
- informatii ce descriu starea Senzori

curenta de mediu - Stare


-informaţii privind scopul
- Modul Starea prezentă a
în care mediului
mediul
• Cazuri particulare evoluează
Mediu
nefavorabile:
- Acţiunile Consecinţă acţiune A
mele
- există scopuri care intră în
conflict =>se obţine doar o Ce acţiune să
parte din fiecare (de exemplu Scopuri întreprind acum
viteza şi siguranţa);
Agent
- există mai multe scopuri pe Afectori
care le vizează agentul şi nici
unul nu poate fi atins sigur
Ex.scop - destinatie: intr-un taxi, destinația pasagerului.
11
Clasificarea agenţilor inteligenţi –
Agenţi bazaţi pe scop (2)
 Agentul combina
 inf. legata de scop
 cu inf. care descrie actiunile permise
=> corelarea lor are rolul de a alege actiunile care ating scopul
propus.

 Ex: scop – sa franeze => daca va incepe sa ploua, agentul


isi va actualiza cunostintele despre cat de eficient vor
functiona franele in astfel de conditii.
Acest lucru va provoca in mod automat modificarea
tuturor comportamentelor relevante care urmeaza pentru a
se potrivi cu noile conditii (viteza redusa, se pornesc
stergatoarele,
12 etc.)
Clasificarea agenţilor inteligenţi –
Agenti bazaţi pe utilitate (1)
 Exemplu: sunt mai multe moduri in care un taxi poate
ajunge la destinatie, atingand scopul insa acesta poate
ajunge:
 cat mai repede
 cat mai sigur
 sau cat mai ieftin pentru client
 => stare client: nemultumit / multumit / foarte multumit

 Din acest motiv este nevoie de:


 o masura a performantei care sa permita o comparatie intre
stari

13
Clasificarea agenţilor inteligenţi –
Agenti bazaţi pe utilitate (2)

- Stare Senzori
Functia de utilitate FU (măsură a
performanţei): Starea prezentă a mediului
- permite o comparaţie între stările
mediului în raport cu cât de “fericit” l- - Modul în
care mediul
ar face acestea pe agent dacă ar fi
evoluează
atinse Consecinţă acţiune A
- Acţiunile Mediu
mele
Cat de mult ma va
FU poate fi transpusă într-un Utilitate avantajeaza aceasta stare
set de scopuri =>
deciziile luate de ag. bazat pe Ce acţiune să întreprind
scopuri sunt asemanatoare cu acum
cele luate de cel bazat pe
utilitate.
Agent Afectori

14
Clasificarea agenţilor inteligenţi –
Agenti bazaţi pe utilitate (3)
 Cand agentii bazati pe scop nu dau rezultate foarte bune,
se poate realiza o specificare completa a FU ce pp.
realizarea unui plan ce permite luarea unor decizii
rationale

 De ex.: exista scopuri care intra in conflict si se poate


obtine doar o parte din fiecare (de exemplu: viteza si
siguranta).

15
Proprietati ale agentilor (1)
 autonomie – abilitatea unui agent de a opera fara a-i fi impuse instructiuni din exterior

 gradul de cooperare şi comunicare – abilitatea de a coopera si de a stabili relatii de


comunicare cu mediul inconjurator

 reactivitatea – mediul in care agentul exista si actioneaza este supus unor schimbari
rapide in mod continuu=>este solicitata mult capacitatea agentului de raspuns la stimuli
externi

 persistenţa – viata unui agent este de obicei mai lunga decat duratele sarcinilor pe care
trebuie sa le indeplineasca
 ag. îşi încheie activitatea după ce a realizat diversele interacţiuni solicitate ce i-au fost
atribuite;
 ag. îşi încheie activitatea după ce resursele interne asignate s-au epuizat;

16
Proprietati ale agentilor (2)
 mobilitatea – agentul are inclusa proprietatea de a se misca intre
partenerii cu care comunica. El este capabil sa comunice cu un utilizator si
cu un alt agent fara sa faca nicio diferenta.
Bază de date cu Bază de date cu Bază de date cu Bază de date cu Bază de date cu Bază de date cu
mesaje mesaje mesaje mesaje mesaje mesaje
Verificare listă
pentru agentul pentru agentul pentru agentul pentru agentul pentru agentul pentru agentul
mesaje
destinatar destinatar destinatar destinatar destinatar destinatar

Scrie mesaje pentru


alţi agenţi Depune Depune Depune
mesaj mesaj mesaj
Mutare Mutare Primeşte mesajele
Agentul îşi citeşte Agentul îşi citeşte agent agent primite stocate
mesajele destinate mesajele destinate Agent

Locaţie vizitată Locaţie vizitată Locaţia curentă a


de agentul destinatar de agentul destinatar agentului destinatar
Mutare
Mutare
agent
agent
Agent Agent
Livrare Livrare Livrare
mesaj mesaje mesaje

Locaţie vizitată Locaţie vizitată Locaţie vizitată


de agentul destinatar de agentul destinatar de agentul destinatar
sau expeditor sau expeditor sau expeditor Agent expeditor

Modelul de comunicare “Blackboard” Modelul de comunicare “Broadcast”

17
Proprietati ale agentilor (3)
 abilitatea socială (ACL) – proprietatea de a comunica cu alti agenti,
chiar si de a coopera cu ei pentru a atinge scopurile urmarite prin
intermediul schimbului de informatii si cunostinte.
 Caracteristica dezvoltata prin intermediul Limbajului comunicarii intre
agenti (Agent Communication Language – ACL)
 increderea – schimbul de informatii intr-un SMA nu este sub controlul
direct al unei entitati superioare care poate verifica corectitudinea
raspunsurilor oferite de agenti. De aceea, se presupune ca raspunsurile
oferite de acestia sunt coerecte si se pot lua decizii pe baza lor.

18
Sisteme multiagent (SMA) (1)

Definitie: sisteme bazate pe agenţi, care au rolul de modela lumea reala cu


scopul de rezolva intr-un mod cat mai eficient activitatile si problemele.

Principalele motive de utilizare:


 situaţiile şi problemele care devin din ce în ce mai complexe;
 oferă o manieră de modelare a sistemelor deschise, distribuite;
 oferă soluţii pentru depăşirea unor situaţii în care un singur agent nu poate
rezolva probleme reale;
 datorită posibilităţii de reutilizare şi integrare în sistemele noi a vechilor
pachete software;
 necesitatea utilizării resurselor distribuite în reţea;
 creşterea performanţei sistemelor: viteză de calcul, timp de răspuns
îmbunătăţit, extensibilitate, fiabilitate, robusteţe, calitatea răspunsurilor.

19
Rolul SMA in IA
 SMA sunt utilizate in cadrul IA cu scopul de a analiza si
oferi solutii la probleme cu grad ridicat de complexitate
din cadrul IA.
 Directii de cercetare in IA utilizand SMA:
 Realizarea de software orientat agent
 Crearea de agenti de tipul BDI (beliefs, desires, and intentions)
 Aspecte legate de organizare, cooperare si coordonare
 Comunicare
 Negocierea si mediere
 Pentru invatare
 Toleranta erorilor
 Roboti
20 Etc.
Sisteme multiagent - avantaje
 toleranţa la greşeli
 sisteme autoconfigurabile
 costuri reduse atât din punct de vedere al hard-ului cât şi
al software-ului
 rezolvare eficientă a problemelor
 sisteme flexibile
 comunicare redusă între module

21
Sisteme multiagent - dezavantaje
 identificarea problemelor de rezolvat, descrierea,
descompunerea şi alocarea lor
 alegerea metodologiei necesare care va fi folosita
 sintetizarea răspunsului oferit de grupul de agenţi
 alegerea modului de comunicare, coordonare şi
interoperabilitate între agenţi;
 asigurarea corectitudinii în luarea deciziilor de către agent;
 modul de detectare, şi reconciliere a conflictelor apărute între
agenţi;
 construirea SMA astfel încât să simuleze cât mai bine
realitatea;

22
Tehnici de coordonare in SMA (1)
 Motivare:
 Corelaţia dintre acţiunile agenţilor
 Prevenirea haosului
 Eficienţa
 Constrângerile globale
 Distribuirea informaţiilor şi a resurselor

 Exemplu: protocolul contract net

23
Tehnici de coordonare in SMA (3)

 Exemplu: protocolul contract net


 tehnica de coordonare pentru alocarea
sarcinilor şi a resurselor între agenţi
 construit pe baza mecanismului
de contractare folosit în afaceri
pentru a gestiona schimbul de
bunuri şi servicii
 dacă un agent nu poate rezolva
problema singur, va apela la un alt agent
din proximitatea sa pentru a soluţiona
problema

24
Tehnici de coordonare in SMA (2)

25
Tehnologia orientată agent (TOA) vs.
tehnologia orientată obiect (TOO) (1)
Criteriu Agent Obiect
Funcţionalitatea Agenţii sunt consideraţi a fi mai funcţionali (inteligenţi) decât obiectele.
integrată Agenţii includ de obicei elemente de raţiune complexă.
(inteligenţa)

Autonomie Da Nu

Limbaj de comunicare Agenţii dispun de limbaje de comunicare complexe Obiectele folosesc în


pentru a comunica între ei. comunicare un set fix de
mesaje.

Moştenire Moştenirea este mai puţin întâlnită la agenţi. Moştenirea este foarte des
întâlnită la obiecte.

Componenţă Descompunerea structurii unui agent conduce la Mai multe obiecte pot
crearea de obiecte cum ar fi: constitui structura unui
- numele agentului, agent.
- modul de comunicare al agentului,
- componentele limbajului de comunicare
(codarea mesajului, ontologia, elementele de
vocabular),
- politica de trimitere şi primire mesaje.

26
Tehnologia orientată agent (TOA) vs.
tehnologia orientată obiect (TOO) (2)
 Greu de realizat o delimitare intre agenti si obiecte
 “Ce relatie exista intre un agent si un obiect?” trebuie
raspuns la:
 Cat de usor se pot adauga componente unui obiect pentru a
deveni agent?
 Daca agentii incep sa devina utili si la scara larga, cat de rapida
va fi tranzitia de la sistemele bazate pe TOO la sistemele bazate
pe TOA?
 Cum se va solutiona situatia actuala in care majoritatea SMA
sunt inchise, agentii comunicand doar intre ei, in cadrul
sistemului? Cum se va realiza interconectarea acestor sisteme?

27
Aplicabilitate SMA (1)
 Companiei:
 Documente inteligente
 Managementul rolurilor şi personalului (de exemplu atribuirea dinamică de roluri, atribuţii
şi resurse personalului)

 Aplicaţii de tip B2B (B2C, C2C, C2B ):


 Obţinerea de bunuri şi servicii
 Activităţile de brokeraj pentru obţinerea de bunuri şi servicii
 Managementul echipei

 Controlul proceselor
 Clădiri inteligente (de exemplu securitate şi climatizare inteligentă)
 Creşterea plantelor
 Roboţi

 Agenţi personali
 Filtre pentru email şi ştiri
 Managementul planificării programului personal
 Secretară personală

28
Aplicabilitate SMA (2)
 Task-uri pentru managementul informatiei ( in domenii ca medicina, educatie,
securitate nationala, turism, afaceri imobiliare, cautarea unui loc de munca, etc.).
 Cautarea de informatii – cantitate mare de informatii disponibile pe o
retea de intranet/internet restrange capacitatea utilizatorului de a prelua in
mod eficient informatiile utile.
 Filtrarea de informatii – agentii de filtrare incearca sa se ocupe de
problema excesului de informatii prin limitarea sau sortarea informatiiloe care
ajung la un utilizator
 Monitorizarea informatiei – multe sarcini sunt dependente de notificarea
in timp util a modificarilor aparute in sursele de date. De exemplu, un
planificator pentru monitorizarea logisticii pentru o deplasare a unor
exhipamente de la o locatie la alta
 Medierea surselor de date - pentru gestionarea datelor sunt folosite o
multime de sisteme care, de cele mai multe ori, nu comunica intre ele. Agentii
pot fi utilzati ca mediatori intre aceste surse de date, oferind mecanisme care
sa le permita sa interopereze.
29
Domenii de aplicare SMA
 operaţii în cadrul reţelelor de comunicaţii
 analiză a datelor de tip data-mining
 e-business
 finanţe şi bănci (de exemplu bănci virtuale)
 comerţ
 media
 e-government
 producţie
 dispozitive mobile
 obiecte inteligente
 acvarii virtuale
 animale de casă virtuale, etc.
30
Exercitiu
 Oferiti un exemplu de agent/sistem multiagent care ar
putea realiza o activitate pe care o desfasurati la servici
sau in viata de zi cu zi, cu scopul de a va usura munca.
 Indicatie: se vor specifica:
 Intrarile
 Iesirile
 Scopul/Scopurile
 Task-urile
 Informatiile folosite (faptele)

31
Inteligenta artificiala (3)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1
Masterat Informatica economica, CSIE
Curs 3: Metodologii de realizare a
sistemelor multi-agent

2 Masterat Informatica economica, CSIE


 Concept
 Provenienţa MOA
 Clasificare MOA
 MOA pentru modelarea SMA
 Analiză comparativă a principalelor metodologii orientate
agent
 Studiu de caz I - TROPOS
 Studiu de caz II – Prometheus si ROADMAP

3 Masterat Informatica economica, CSIE


Concept (1)
 Metodologia ingineriei software - proces de dezvoltare software
echipat cu concepte şi instrumente dedicate pentru modelare

 Metodologia orientată agent - proces de dezvoltare software, dotat cu


concepte şi instrumente dedicate pentru modelare, în care
elementul cheie de abstractizare folosit este agentul, acesta apărând
în toate etapele procesului de realizare

 Obiectivul MOA - de a oferi un suport care să conţină toate


elementele necesare dezvoltării unui sistem informatic.
Concept (2)
 Concepte folosite de MOA:
 multe MOA (de ex Gaia, Tropos) - folosesc conceptul de
organizatie ce poate fi divizată în sub-organizaţii în care
agenţii joacă unul sau mai multe roluri, interacţionând unii cu
alţii
 rol
 dependenţa socială
 reguli organizaţionale

Folosite pentru:
- a modela mediul în care rulează sistemul
- realizarea sistemului în sine
Concepte (3)
 Aspecte vizate de MOA:
 descriere modele de interacţiune
 descriere modele de cooperare care simulează dependenţele
dintre agenţi şi rolurile pe care aceştia le au în sistem
 grad de abstractizare suficient de mare pentru realizarea
modelelor
 trebuie să aibă în centru:
 agenţii,
 rolurile pe care aceştia le au în sistemele realizate
 interacţiunea dintre agenţi bazată pe protocoalele determinate de
rolurile acestora.
Provenienţa MOA
 Origini MOA:
 domeniul inteligenţei artificiale
 MAS-CommonKADS (KADS - Knowledge Acquisition and
Documentation Structuring)
 metodologiile orientate obiect
 MaSE (Multiagent Systems Engineering) care preia modul de folosire al
cunoştinţelor şi informaţiilor de la metodologia AAII (Australian
Artificial Intelligence Institute)
 AAII a fost influenţată de metodologia or. ob. OMT (Object Modeling
Technique).

Influenţele MOO asupra MOA


Clasificarea MOA (1)
1.Dpdv al descrierii procesului de dezvoltare:

 metodologii care adoptă o descriere formală (ex: ADELFE, RAP,


MESSAGE şi INGENIAS)

 metodologii care adoptă o descriere informală (ex: Gaia,


TROPOS, PROMETHEUS şi MASE).
Clasificarea MOA (2)
II. Dpdv al abordării:
 - extensii ale MOO
- integrarea instrumentelor, tehnicilor şi metodelor folosite
de acestea (de exemplu modelarea protocoalelor de
interacţiune, notaţiile specifice UML şi OMT, etc.)

 - bazate pe preluarea şi folosirea de cunoştinţe, ex. MAS-


CommonKADS
- nu oferă o evidenţiere detaliată a proprietăţilor şi
caracteristicilor specifice mediului sistemelor multiagent.
Clasificarea MOA (3)
 - TROPOS - are la bază mediul de modelare pentru agenţi “i*” care a devenit în
2008 o parte componentă a standardului internaţional User Requirements Notation
(URN).

 - mediul i* are la bază conceptul de “intenţie distribuită”, plasând în centru


caracteristicile de intenţie ale agenţilor.
- folosita petru situaţii unde există mai multe părţi care au interese şi care pot intra
în conflict unele cu altele.
- acţiuni necesare:
 reproiectarea procesului de afaceri,
 ingineria sistemului de obţinere a informaţiilor,
 proiectarea sistemelor software bazate pe agenţi, etc.

10
Clasificarea MOA (4)
III. Dpdv al folosirii conceptului de “rol” în dezvoltarea SMA:

 nu sunt orientate pe rol (non role oriented - NRO) -


metodologii care nu folosesc conceptul de rol în tot
procesul de dezvoltare al SMA;

 orientate pe rol (role oriented - RO), conceptul de rol


reprezinta un element central al procesului de modelare.
Ex: Gaia, MaSE (Multiagent Systems Engineering) şi
MESSAGE.
Clasificarea MOA (5)
IV. Dpdv al identificării rolului:

 orientate pe obiective (goal oriented – GO) – unde rolurile


sunt identificate pe baza analizei obiectivelor sistemului;

 orientate pe comportament – (behaviour oriented, BO) –


unde rolurile derivă din sarcinile şi comportamentele
sistemului;

 orientate pe organizaţie (organization oriented – OrO) – unde


rolurile sunt identificate folosind structura organizaţională a
sistemului.
MOA pentru modelarea SMA (1)

1. GAIA Identificarea
cerinţelor
Cerinţe

 una dintre primele metodologii MOA


 foloseşte analogii din cadrul organizaţiilor
Împărţirea sistemelor
în subsisteme
reale
 ofera: Analiză
Modelul mediului
 o abordare tehnică pentru dezvoltator
 una mai puţin tehnică pentru cei mai puţin Proiectare model Proiectare model
cunoscători roluri interacţiune

 ofera facilităţi pentru ca cele două categorii


să poată interacţiona. Regulile organizaţiei
 prezintă o abordare secvenţială a dezvoltării
de software
 etape: Structura
organizaţională
Şabloane
 colectare a cerinţelor, Proiectarea organizaţionale
arhitecturii sistemului
 analiză Modelul de
 proiectare (arhit. sistem si detalii) Modelul rolurilor
interacţiune

 implementare.
Proiectarea
Modelul agentului Modelul serviciilor
detaliilor
Ex de sistem: sistemul SmArt (Semantic
Agreement) realizeaza un acord automat Implementare
folosind ontologii şi tehnologia agent.
MOA pentru modelarea SMA (2)
2. TROPOS
 una dintre cele mai complete MOA

cadru pentru modelarea obiectivelor ţinând


cont de actorii, activităţile şi resursele sistemului.

 punct de plecare: mediul i*

oferă un grad de flexibilitate ridicat

face parte din tematica unor proiecte de


Concepte folosite:
cercetare europene. Ex: - actor
SECURE CHANGE - Security
Engineering for Lifelong Evolvable Systems - scop
(2009-2012),
MASTER - Managing Assurance, - dependenţa actorilor de
Security and Trust for sERvices (2008- cerinţele iniţiale şi cele
2011), ulterioare,
MEnSA - Methodologies for the
Engineering of complex software Systems:
- proiectare arhitecturală şi de
Agent-based approach (2007 - 2009). detaliu
MOA pentru modelarea SMA (2)
TROPOS
MOA pentru modelarea SMA (3)
3. MAS–CommonKADS

 are la baza metod. CommonKADS şi metodologiile orientate obiect.

 permite dezvoltatorului să realizeze SMA folosind tehnici şi


diagrame cunoscute şi mai des folosite.

 conceptele folosite reprezintă o prelungire a tehnicilor OO pentru


conceptualizarea SMA
MOA pentru modelarea SMA (4)
 defineşte un set de modele:
 modelul agentului,
 modelul activităţilor,
 modelul de expertiză,
 modelul de coordonare,
 modelul de comunicaţie,
 modelul de organizare
 modelul de proiectare
care folosite împreună pot construi un model - solutie pentru o problema din
viaţa reală.
 etape:
 conceptualizarea,
 analiza,
 proiectarea,
 dezvoltarea şi testarea (ultimele două nefiind foarte clar reliefate de către metodologie).

17
MOA pentru modelarea SMA (5)
Alte metodologii:
 PROMETHEUS
 PASSI (Process for Agent Societies Specification and
Implementation)
 ADELFE
 MASE (Multiagent Systems Engineering )
 RAP (Radical Agent-Oriented Process)
 MESSAGE
 INGENIAS
MOA pentru modelarea SMA (6)
Cerinţe iniţiale
Specificatii

Actiuni si
Scenarii Obiective Functionalitati Modelul sistemului de cerinţe
perceptii Testarea
Descrierea cerinţelor Identificarea societăţii de
sistemului agenţilor agenţi

Specificarea Identificarea
Corelare date sarcinilor rolurilor
si cunostinte
Diagrame de
interactiune agent
Modelul societăţii de agenţi
Proiectarea

Modelul de desfăşurare
arhitecturii

Descrierea Descrierea
Descrierea ontologiei protocolului Realizarea
agentului configurării
Descrierea
Privire de rolurilor
Protocoale de ansamblu a
interactiune sistemului

Modelul de implementare al agenţilor

Privire de Privire de Descrierea


Proiectarea detaliilor

Definirea structurii
comportamentului
Procese ansamblu a ansamblu a agenţilor agenţilor
aptitudinilor agentului

Privire de Modelul codului Testarea


Descrierea Descrierea Descrierea agentului
ansamblu a
planului datelor evenimentelor Realizarea
aptitudinilor Refolosirea codului
codului

Prometheus PASSI
(fol. pt. dezv. SMA pe platfome comerciale) (foloseste modele in cascada)
5.Analiză comparativă a principalelor MOA (1)-
Criterii
 Pentru procese - descriu aplicabilitatea metodologiei, fazele procesului său de dezvoltare şi
dezvoltarea abordării urmărite de metodologie.

 Pentru etape şi tehnici folosite etape: urmăresc valabilitatea şi gradul de folosire a


tehnicilor oferite de o metodologie pentru execuţia etapelor şi/sau pentru dezvoltarea
modelelor.

 Pentru modelare (şi concepte) - evaluează diversele aspecte ale modelelor, conceptelor
oferite de metodologie, cât şi caracteristicile agenţilor compatibili cu acestea.

 Pentru adaptabilitate - analizează elementele suplimentare ce pot fi adăugate unei


metodologii MOA. Elementele cuprind instrumentele software valabile pentru ontologii, agenţi
şi sistemele multiagent

Cadrul de analiză şi evaluare a MOA

Criterii pentru procese Criterii pentru etape si Criterii pentru modelare Criterii pentru
tehnici folosite (şi concepte) adaptabilitate
Studiu de caz I - TROPOS
6. Studiu de caz – TROPOS (1)
Problema: proiectarea unui sistem de management pentru o conferinţă
a) In cadrul primei etape:
sunt determinate cerinţele iniţiale => modelarea intenţiilor stakeholderilor
folosind scopurile în contextul cerinţelor impuse de sistemul dezvoltat.
Stakeholderii sunt reprezentaţi prin actori. Un actor poate fi un agent
sau un rol.
Dependenţele dintre actori sunt modelate prin legături ce indică acele
corelaţii specifice.
Dependenţele pot reprezenta:
 scopuri hard
 scopuri soft
 task-uri
 resurse
6. Studiu de caz – TROPOS (1)
Intrebari:
 Care sunt actorii principali?
 Care sunt scopurile lor?
 Cum le pot obţine?
 Un actor depinde de alt actor
pentru a-si indeplini scopurile?
 R: => Diagrama initiala a
actorilor

Sunt indentificaţi: Diagrama initiala a actorilor


- cinci actori (agenti): PC, PC Chair, Author, Reviewer şi Publisher.
- şase dependenţe sunt folosite ca şi dependenţe pentru scopuri: Publish proceedings, Peer review,
Manage conference, Fix deadline, Check availability şi Publication. In cadrul dependenţei pentru
scopuri un actor depinde de altul pentru a-si realiza socpurile;
- trei dependenţe pentru resurse: Submission, Review şi Assign Papers. In cadrul dependenţei pentru
resursă un actor depinde alt actor pentru a putea folosi o resursă.
6. Studiu de caz – TROPOS (2)
 Diagrama actorilor este extinsă ţinând cont de fiecare actor.
 Scopurile sunt descompuse în sub-scopuri.
 Diagramele pentru scopuri aferente actorilor PC şi PC Chair (scopurile de
tip soft sunt reprezentate sub fomă de nori)
6. Studiu de caz – TROPOS (3)
Etapa a 2- a:
 indentifică cerinţele
ulterioare
 metodologia introduce
sistemul de management al
conferinţei (SMC) ca fiind
un actor nou care
contribuie la atingerea
scopurilor stakeholderilor.
 scopurile principale sunt
descompuse în scopuri mai
concrete până când
acestea pot fi asemănate cu
nişte cerinţe.
 => o diagramă a actorilor
extinsă pentru SMC
(introduce dependenţa
pentru task get paper între
actorii CMS System şi
Author )
Diagrama actorilor extinsă pentru SMC
6. Studiu de caz – TROPOS (4)
 Diagrama scopurilor pentru actorul SMC introduce task-urile accept şi
reject necesare pentru atingerea scopului manage decision.

Diagrama scopurilor pentru actorul SMC


6. Studiu de caz – TROPOS (5)
Etapa a 3-a de proiectare achitecturală:
decompunerea şi rafinarea diagramei aferente actorului SMC ţinând cont de noii actori ca şi
rezultat al analizelor,
identificarea capabilităţilor;
se face trecerea de la actori la agenţi.
Un exemplu de model a etapei de proiectare arhitecturală (actorul SMC a fost transformat în
actorii Conference Manager, Paper Manager, Review Manager şi Proceedings Manager; Dependenţele
pentru scopuri, task-uri şi resurse sunt de asemenea incluse în model.
6. Studiu de caz – TROPOS (6)
 Această diagramă indică scopurile, task-urile, resursele ce vor fi folosite de
către actorii Conference Manager, Paper Manager, Review Manager şi Proceedings
Manager. Fiecarui actor la accest nivel i se poate asocia un agent inteligent..

Diagrama de scopuri rafinată pentru actorul SMC


6. Studiu de caz – TROPOS (7)
Etapa de proiectare detaliată implică:
 specificarea comportamentului intern al agenţilor ţinând
cont de platforma pe care va fi implementat sistemul
 definirea arhitecturilor agenţilor
 implementarea agentilor
Studiu de caz II –
Prometheus si ROADMAP
 Player de muzică inteligent (PMI)
CERINTE
 Obiectiv
 Proiectarea unui sistem multiagent pentru controlul unui
player de muzică inteligent.

 Se doreşte ca PMI:
 să îmbunătăţească experienţa celui care ascultă prin
automatizarea cât mai multor interacţiuni dintre persoana care
ascultă şi player,
 sa ofere un control flexibil al sistemului.
 se au în vedere funcţionalităţile de bază ale unui player
CERINTE
 Funcţii de bază:
 - manevrare PMI (handle user request) – persoana care ascultă (Listener) poate
închide sau deschide PMI prin intermediul telefonului sau PC-ului, printr-o comandă
vocală sau printr-o interfaţă a PMI.

 - setari (determine settings) – setari durate, playlist, volum maxim agreat de


utilizator, distanţă dintre PMI si utilizator. Dacă persoana nu este în apropiere, PMI
pregăteşte un playlist pe baza preferinţelor ascultătorului.

 - controlul volumului (monitor environment) - cand este redată muzica, PMI


ajustează automat volumul în raport cu nivelul de decibeli existent în mediu.

 - controlul melodiilor (play music) – ascultătorul poate controla melodiile prin


comandă vocală sau printr-o interfaţa a PMI.

 - managementul bibliotecii cu muzică (manage music library) – PMI poate descărca


şi şterge melodii, realiza back-up, poate transfera melodii între diverse dispozitive.
Melodiile sunt reprezentate sub formă de agenţi media.
PREMIZE
 un calculator este disponibil pentru realizarea back-up-ului;
 există un senzor care se presupune că poate citi şi interpreta starea
persoanei
 ascultătorul a informat PMI despre preferinţele sale muzicale;
 ascultătorul a antrenat PMI în ceea ce priveşte comenzile vocale;
 PMI se află într-un mediu dintr-o casă în care există comunicaţii de
tip wireless între telefoanele mobile, PMI şi calculator;
 au fost setate site-urile de pe care PMI poate descărca muzică.
ROADMAP
 Modelele specifice
 domeniului
 aplicatiei
 servicii refolosibile

Modele metodologie ROADMAP


Prometheus

 modelarea scopurilor
este urmată de realizarea
de scenarii prin care se
pot atinge scopurile.
 scenariile sunt apoi
elaborate pentru agenţi
individuali
 sursele de date sunt
identificate prin crearea
de scenarii pe baza
modelarii conceptuale de
comportament
Modelul domeniului – scopuri (ROADMAP)
 Scopul principal al sistemului de agenti “manage playing
music” este de a controla PMI.
 Rolul de Music Player este cerut pentru a se atinge acest
scop.

Fig. 1 Scopul general al sistemului PMI


Modelul domeniului – scopuri (ROADMAP)

Fig. 2 Rafinarea scopului “manage music library’’


Modelul domeniului – scopuri (ROADMAP)

Rafinarea scopurilor “determine settings’’,


‘‘monitor environment’’ şi “play music’’
Modelul domeniului – roluri (ROADMAP)
 Rol - Listener
Modelul domeniului – roluri (ROADMAP)
 Rol - Environment Monitor
Modelul domeniului – roluri (ROADMAP)
 Rol Play List Producer
Modelul domeniului – roluri (ROADMAP)
 Rol Library Manager
Modelul domeniului – roluri (ROADMAP)
 Rol Music Player
Scenarii (Prometheus) – comportament sistem
Scenariu: selectare muzica
goal –G
action -A
percept –P
subScenario – S
other –O

Date citite sau scrise


(R : read, W :write)
Scenarii (Prometheus)
Scenariu: redare muzica
goal –G
action -A
percept –P
subScenario – S
other –O

Date citite sau scrise


(R : read, W :write)
Scenarii (Prometheus)
Scenariu: control volum

goal –G
action -A
percept –P
subScenario – S
other –O

Date citite sau scrise


(R : read, W :write)
Scenarii (Prometheus)
Scenariu: sosire agent media

goal –G
action -A
percept –P
subScenario – S
other –O

Date citite sau scrise


(R : read, W :write)
Conceptul de rol
 Prometheus
 este definit la un nivel mic de abstractizare
 rolurile sunt funcţionalităţi
 in proiectare, guparea rolurilor în cadrul unui tip de agent este echivalent cu a
grupa funcţionalităţi similare pentru a forma un tip de agent.
 un agent în Prometheus trebuie să ofere un set de funcţionalităţi asemnănătoare,
un rol poate fi mapat pe diferite tipuri de agenţi.

 ROADMAP
 problema domeniului este analizata de sus în jos la un nivel de abstractizare
ridicat
 scopurile sunt primele definite şi apoi sunt identificate rolurile necesare pentru
atingerea scopurilor
 responsabilităţile fiecărui agent sunt definite folosind un model de roluri.
 pentru a completa responsabilitaţile, un rol poate avea nevoie de mai multe
funcţionalităţi deferite.
Modelarea dpdv interacţiunilor
computaţionale
 modelele create în etape de analiză a cerinţelor sunt folosite pentru
a determina ce agenţi trebuie să fie creaţi şi cum vor interacţiona?
 maparea rol-agent este necesară datorită conceptului de “rol” folosit
diferit în Prometheus faţă de ROADMAP
 metodologie hibridă => mai mulţi agenţi pot colabora pentru a
îndeplini responsabilităţile unui rol

Maparea rolurilor pe tipuri de agenţi pentru PMI


Descriere agenti (1)
Descriere agenti (2)
Descriere agenti (3)
Comunicarea dintre agenţi

Diagrama de colaborare între tipurile de agenţi


Diagrame de interactiune (1)
 Scenariu: Selectare muzică
« M » reprezintă un
mesaj trimis între doi
agenţi

« P » reprezintă o
percepţie de la mediul
extern

- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrame de interactiune (2)
 Scenariu: Control volum
« M » reprezintă un
mesaj trimis între doi
agenţi

« P » reprezintă o
percepţie de la mediul
extern

- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrame de interactiune (3)
« M » reprezintă un
Scenariu: Sosire agent media mesaj trimis între doi
agenţi

« P » reprezintă o
percepţie de la mediul
extern

- o săgeată cu « A »
indică o acţiune
realizată de agent în
mediu.
Diagrama generala (1)
Contine:
 - aptitudinile
 - fluxul dintre aceste aptitudini
 - datele deţinute de agent

Diagrama generală pentru


agentul Library Manager -
aptitudini:

-‘‘add music file’’


-‘‘backup music file’’
-‘‘space management’’
-‘‘process listener
settings’’
Diagrama generala (2)

Diagramă generală a sistemului multiagent PMI


Diagrama de aptitudini
 Diagramă pentru aptitudinea “space management” din cadrul agentului Library
Manager
Dictionare
 Se construiesc dicţionarele pentru a asigura consistenţa
numelor folosite
 Implementare…..
Inteligenta artificiala (4)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


Curs 4: Platforme pentru dezvoltarea de
aplicatii pe baza de agenti

2 Masterat Informatica economica, CSIE


Cuprins
 1. Limbaje de comunicare intre agenti
 2. Limbaje de programare pentru agenti
 3. Platforme pentru agenti
 4. Exemplu aplicatie Jade

3
1. Limbaje de comunicare intre agenti (1)
 Conceptul de “partajare”: efort de punere în comun a
informaţiilor - knowledge sharing effort (KSE)) (1990 de
către DARPA (US - Defense Advanced Research Projects
Agency )
 Programul “DARPA Agent Markup Language (DAML)”
(propus oficial in 2000)
 Obiectiv: dezvoltarea unui limbaj de comunicare şi a mai
multor instrumente pentru facilitarea conceptului de “web
semantic”.

4
1. Limbaje de comunicare intre agenti (2)
 KSE :
 punerea în comun a cunoştintelor,
 folosirea de mijloace de comunicaţie
 metode de comunicare.

 Necesitate: nevoia unui limbaj comun de comunicare ce


trebuia adoptat la nivel general.
 În modelul DAML, sistemele software sunt văzute ca
“baze virtuale de cunoştinţe” care fac schimb de propoziţii
folosind un limbaj prin intermediul căruia îşi exprimă
atitudini complexe şi variate.

5
1. Limbaje de comunicare intre agenti (3)
 Pentru definirea unui ACL între agenţi a fost nevoie de realizarea
următoarelor etape:

 convertirea tuturor limbajelor într-o familie de limbaje;

 asigurarea păstrării conţinutului semantic al semnelor în


aplicaţii - acelaşi concept, obiect sau entitate trebuia să aibă o formă
care să poată fi înţeleasă în tot cadrul aplicaţiei

 actualizarea comunicării dintre agenţi - schimbul de informaţii şi


mesaje dintre agenti. Agenţii au nevoie să:
 consulte alţi agenţi pentru a se informa,
 solicita asistenţă,
 afişeze valori şi obiecte,
6  să întrebe despre un anumit serviciu etc.
1. Limbaje de comunicare intre agenti (4)
 Un ACL (Agent communication language) - colecţie de
propoziţii prin intermediul cărora agentul indică ceea ce
doreşte să exprime.

 FIPA (Foundation of Intelligent Physical Agents) descrie un


ACL ca fiind limbajul:
 care defineşte mediul în care agentul acţionează şi
interacţionează cu ceilalţi agenţi;
 în care comunicarea dintre agenţi se realizează printr-un canal
bine definit;
 in care sistemul de management al agenţilor poate realiza:
 crearea de noi agenţi,
 ştergerea de agenţi deja existenţi,
 acordarea sau retragerea de drepturi de acces agenţilor.
7
1. Limbaje de comunicare intre agenti (5)
 Clasificari ale comunicarii:
 comunicarea planificată - poate acoperi participarea limitată
precum si participarea totală a părţilor interesate intr-un
anumit mediu:
 a) com. unidirecţională – o unitate centrala distribuie informaţii fără a
oferi ocazia pentru întrebări sau discuţii (ex. un raport)
 b) comunicarea bidirecţională - are loc cu un schimb de informaţii şi
idei între unitatea centrala şi părţile interesate;
 comunicarea bazată pe un ACL
 comunicarea bazata pe model (de ex. de tip blackboard)

8
1. Limbaje de comunicare intre agenti
 Comunicare de tip Blackboard pentru
agentii mobili – exemplu
 Reguli: Bază de date cu Bază de date cu Bază de date cu
mesaje mesaje mesaje
 agentul expeditor nu ştie numele agentului
destinatar (comunicare anonima); pentru agentul pentru agentul pentru agentul
 destinatarul poate sau nu să deţină o locaţie destinatar destinatar destinatar
de bază; Scrie mesaje pentru
 agentul destinatar este mobil. alţi agenţi
 lista cu locatii
Agentul îşi citeşte Agentul îşi citeşte
mesajele destinate mesajele destinate
 Com. “blackboard” implică o zonă de
memorie disponibilă în fiecare locaţie pe care
fiecare agent o poate folosi pentru a stoca
mesaje pentru alţi agenţi sau pentru a le citi. Mutare
Mutare
 un agent trimite un mesaj altuia prin scrierea agent
agent
acestuia într-o zonă de memorie alocată, apoi Agent Agent
îşi poate schimba locaţia şi tot aşa mai
departe
 pentru a citi sau a trimite un mesaj, agentul
destinatar trebuie să se deplaseze la locaţia
unde mesajele au fost stocate. În acest model
fiecare locaţie trebuie să deţină o bază de
date şi să fie capabilă să trimită şi să Locaţie vizitată Locaţie vizitată Locaţie vizitată
manevreze mesaje. de agentul destinatar de agentul destinatar de agentul destinatar
sau expeditor sau expeditor sau expeditor

9
1. Limbaje de comunicare intre agenti
 FIPA (Foundation of Intelligent Physical Agents)
 a maximizat interoperabilitatea dintre sistemele bazate pe agenti,
 ofera specificatii de baza pentru tehnologia orientata agent

FIPA-ACL - bazat pe categoria mesajelor care reprezintă acţiuni sau acte


comunicative. Fiecare act este descris:
 în mod narativ
 printr-o formă semantică.

FIPA este foarte asemănătoare cu Knowledge Query Manipulation Language


(KQML), singura diferenţă fiind numele unor primitive.

10
1. Limbaje de comunicare intre agenti
Message = "(" MessageType MessageParameter* ")".
MessageType =
"accept-proposal"
| "agree"
| "cancel"
| "cfp"
| "confirm"
| "disconfirm"
| "failure"
| "inform"
| "inform-if"
| "inform-ref"
| "not-understood"
| "propose"
| "query-if"
| "query-ref"
| "refuse"
| "reject-proposal"
| "request"
| "request-when"
| "request-whenever"
| "subscribe".
MessageParameter = ":sender" AgentName
| ":receiver" RecipientExpr
| ":content" ( Expression | MIMEEnhancedExpression ) Structura mesaj FIPA - ACL
| ":reply-with" Expression
| ":reply-by" DateTimeToken
| ":in-reply-to" Expression
| ":envelope" KeyValuePairList
| ":language" Expression
| ":ontology" Expression
| ":protocol" Word
| ":conversation-id" Expression.
Expression = Word
| String
| Number Exemplu de tipuri sintaxa mesaj FIPA - ACL
| "(" Expression * ")".
11
1. Limbaje de comunicare intre agenti
 FIPA-contract-net Protocol

 1.Un agent are rolul de manager (M) – M doreste realizarea unui task
 M optimizeaza o functie (ce descrie task-ul) - pret, momentul
de
timp cel mai apropiat la care trebuie terminat task-ul, etc.

 2. M solicita propunerile de la ceilalti agenti prin trimiterea unui cfp (call


for proposals) (task si conditii).
 3. Agentii primesc cfp-ul
 4. Propunerea contractorului (C) include preconditiile pe care acesta le
impune pentru realizarea task-ului. Alternativa, C poate refuza
propunerea venita de la manager.
 5. M primeste raspunsul de la toti C –rii (evalueaza si alege agent C)
6. M trimite C-ului castigator/necastigator mesaj favorabil/nefavorabil ca i-a fost
acceptata/respinsa propunerea.
 7. M trimite catre C si un angajament prin care contractorul poate incepe
realizarea task-ului.
 8. Dupa terminarea task-ului, contractorul trimite un mesaj managerului
prin care il anunta acest lucru.

 Protocolul presupune ca managerul stie cand a primit toate raspunsurile


de la ceilalti agenti. In cazul in care un C nu raspunde cu o propunere sau
cu un refuz, managerul poate fi lasat sa astepte la infinit. Pentru a evita
astfel de situatii, cfp-ul include un deadline pana la care raspunsurile
trebuie sa ajunga la manager. Propunerile primite dupa deadline sunt
respinse automat (propunerea a venit prea tarziu).

12
1. Limbaje de comunicare intre agenti
KQML - Knowledge Query Manipulation Language
 ACL de nivel înalt, protocol folosit pentru schimbul
de informaţii cu sintaxă, conţinut şi ontologie
independentă.
 independent de mecanismele de transport (ex. TCP,
SMPT etc.) si de conţinutul limbajului (ex: SQL,
etc.) Continut
 alcătuit din 3 nivele:
 Conţinut - poartă mesajul curent fără a ţine
seama de extensia sa, recunoscând de asemenea
şi limbajul în care a fost scris.
 Mesaj - reprezintă partea centrală şi este folosit Mesaj
pentru a decodifica un mesaj pe care o aplicaţie
ar dori să îl translateze spre o alta, determinând
în acelaşi timp şi diferitele tipuri de interacţiuni
dintre agenţi. Funcţia de bază a acestui strat este
să identifice protocolul folosit pentru a salva Comunicare
mesajul
 Al treilea strat deţine - un set de servicii pentru agenţi care
mesaje, descriind cel mai mic nivel al faciliează
parametrilor de comunicare. Sintaxa KQLM comunicarea
este bazată pe expresiile folosite în LISP.

Nivele limbaj KQLM

13
1. Limbaje de comunicare intre agenti
KQML - Knowledge Query Manipulation Language

 Structură mesaj KQLM:


 (ask-one) : arată conţinutul mesajului care în acest caz este o întrebare
 :sender...: conţine numele agentului care a trimis mesajul
 :content(...) : poartă expresia întrebării (...)
 :receiver... :conţine numele agentului care primeşte mesajul
 :reply... … : ne informează că mesajul este un răspuns
 :language… : ne informează să scriem mesajul pe limbajul folosit de agent
 :ontology(…) : ne informează despre ontologia mesajului

Continut

Mesaj

Comunicare

agenţi care
faciliează Nivele limbaj KQLM
comunicarea
14
1. Limbaje de comunicare intre agenti
Alte ACL:
 ORB (Object Request Broker) şi CORBA (Common
Object Request Broker Architecture)
 KIF (Knowledge Interchange Format)
 RMI (Remote Method Invocation)
 ADLMAS (Architecture Description Language fo Multi-
Agent Systems)

15
2. Limbaje de programare pentru agenti (LPA)
1. GOAL - este un LPA cu ajutorul căruia se pot programa agenţi
bazaţi pe scopuri.

 Permite si faciliteaza manipularea faptelor si scopurilor agentilor


pentru luare de decizii

 Ofera un cadru de lucru intuitiv

 Limbajul cuprinde:
 declararea faptelor si scopurilor
 strategia “blind commitment” (default strategy) – agentii renunta
la scopuri doar dupa ce le-au indeplinit
 selectia actiunilor bazata pe reguli
 permite comunicarea la nivel de cunostinte – agentii comunica
folosind un limbaj de reprezentare a cunostintelor

16
2. Limbaje de programare pentru agenti (LPA)
Un agent scris in GOAL include
sectiunile:
 cunostinte
 fapte
 scopuri
 reguli de actiune
 moduri de actiune

Sectiunile pot fi scrise in limbaje de


reprezentare a cunostintelor
precum: Prolog, Planning Domain
Definition Language, etc.

17
3. Platforme pentru agenti

3.1 Jade (Java Agent DEvelopment Framework )


 Cadrul de lucru software realizat în Java pentru realizarea sistemelor multiagent (2001)
 Permite coordonarea agenţilor dintr-un sistem folosind standardul FIPA prin intermediul
FIPA-ACL.
 Principiul de funcţionare : crearea mai multor containere pentru agenţi, fiecare dintre ele
putând rula pe acelaşi calculator sau pe calculatoare diferite.
 Platforma are un Main Container (locaţia principală a agenţilor) care conţine doi agenţi
dedicaţi:
 AMS (Agent Management System)
 DF (Directory Facilitator).

 AMS - cu cele mai multe drepturi pe platformă,


 - este singurul agent care poate opri definitiv activitatea altor agenţi, care poate
crea alţi agenţi sau care poate închide platforma.
 Agentul DF - implementează un serviciu de tip “pagini aurii” care face cunoscute
serviciile oferite de un agent, astfel încât dacă alţi agenţi au nevoie de serviciile acestuia,
să ştie în ce locaţie sau la ce adresă să îl găsească.

18
3. Platforme pentru agenti
 Alte facilitati platforma Jade:
 - agentul Sniffer care realizează o diagramă de secvenţe
pentru descrierea comunicării dintre agenţi. Diagrama de secvenţe
aferentă procesului de negociere propus în scenariul la care iau parte
3 clienţi şi 3 furnizori de servicii ilustrează modul în care agenţii de
pe platformă comunică între ei.
 - oferirea unui sistem distribuit pentru agenţi,
 - existenţa unui management simplu pentru agenţi
 - suport pentru mobilitatea agenţilor
 - compatibilitate cu specificaţiile FIPA
 - transport eficient al mesajelor asincrone
 - o bibliotecă a protocoalelor de interacţiune
 - integrează tehnologii web precum JSP (JavaServer Pages), servlets,
applets şi Web service.

19
3. Platforme pentru agenti
 Platforma si diagrama de secvenţe aferentă unui proces de
negociere (3 clienţi şi 3 furnizori de servicii)

20
3. Platforme pentru agenti
 3.2 Jack
 Cadru de lucru in Java pentru
dezvoltarea SMA
 A fost realizat de Agent Oriented
Software Pty.Ltd (AOS).

 Ofera:
 suport pentru agentii inteligenti
 propriul limbaj de planificare bazat
pe Java
 instrumente pentru planificare
grafica

Interfata platforma Jack

21
3. Platforme pentru agenti
 Jack – particularitati
 Rutina pentru agenti – nucleul patformei este o rutina extinsa multi-agent. Dupa
specificarea:
 agentilor,
 planurilor,
 faptelor,
 scopurilor,
 aptitudinilor,
nucleul Jack se ocupa de rularea sistemului

 Jack Plan Language – ofera un limbaj specific agentilor pentru planificare. Limbajul este:
 o extensie a limbajului Java
 ofera comenzi precum @send si @post pentru mesajele dintre agenti, managementul actiunilor, sub-task-
urilor, etc.

 Jack Development Environment (JDE) – SMA pot fi scrise in Java.


 Mai exista un agent central numit JDE. Acesta ofera intrumente grafice si planuri de
conectare intre agenti, management al comunicarii, compilare si rulare.

22
3. Platforme pentru agenti

Jack - Tab-ul Run Application


Fereastra Trace Design

23
3. Platforme pentru agenti
3.3 Jason
 Extensie a limbajului de programare orientat agent
AgentSpeak
 Folosit pentru a programa comportamentul individual al
agentilor
 Dezvoltat in Java
 Permite personalizarea aspectelor care vizeaza agentii
 Folosit ca un plug-in pentru jEdit sau Eclipse

24
3. Platforme pentru agenti
Jason ofera:
 Interpretarea limbajului AgentSpeak
 Negociere intr-un mediu inchis / deschis
 Suport pentru SMA si agentii care rationeaza in cadrul lor folosind
modelul Moise+ (agentii insisi tind sa se organizeze tinand cont
atat de scopurile lor cat si de schimbarile din mediu)
 Posibilitatea de a rula un SMA distribuit in cadrul unei retele
 Posibilitatea de a fi usor personalizat: functii, arhitecturi agenti
(perceptii, fapte (convingeri), comunciare inter-agent, etc)
 O biblioteca ce contine actiunile interne de baza ale
agentilor

25
3. Platforme pentru agenti

Jason – imagine platforma


26
4. Exemplu aplicatie Jade
Semnificaţie mesaj
Exemplu aplicatie (Jade)
Nume Trimitere mesaj
 agent către

 Obiectiv: analiza şi implementarea unei aplicaţii bazate Agent Agent client (2) Anunţ începere proces de
iniţiator negociere şi alte informaţii
pe un model C2B şi un SMA pentru oferirea de servicii
(AI)
de transport în condiţii cât mai avantajoase unui grup de
clienţi cu cerinţe asemănătoare pe baza preferinţelor Agent negociator (2) Anunţ începere proces de
acestora. negociere şi alte informaţii

Agent initiator Agent transportator (2) Anunţ începere proces de


(furnizor de negociere
servicii)

1
Baza de date Agent client Agent negociator (3) Criteriile cu cotaţii aferente
(AC)
2
2
Agent Agent negociator (4) Trimite oferta
2
transp (6) Trimite oferta îmbunătăţită
Grup de Agenti furnizori
ortator
clienti de servicii
(AT)
3 4
7 5 Agent Agent client (7) Anunţă furnizorul de servicii
6 negoci câştigător
7
ator
(AN) Agent transportator (7) Anunţă furnizorul de servicii
Agent negociator (furnizor de câşstigător
servicii)

27
4. Exemplu aplicatie Jade
Criterii folosite de cerere si oferta
Furnizor de Aspect Criteriu
servicii de
transport
Număr de accidente în ultimul an
Cunoaşte limbi străine
Şofer
Experienţă (număr de ani) sau kilometri
parcurşi
Agent Cost/km
transportator Servicii oferite
Număr curse
Vârstă medie parc auto
Companie Viteză medie
Număr mediu de incidente în ultimul an

Introducere date agent client şi alegere clasă aferentă Introducere date agent transportator şi alegere clasă aferentă

28
4. Exemplu aplicatie Jade

29
4. Exemplu aplicatie Jade

30
4. Exemplu aplicatie Jade

AT2 retrimite o oferta mai buna şi trece pe locul 1 în clasament

31
4. Exemplu aplicatie Jade

32
Inteligenta artificiala (5)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


Curs 5: Sisteme multiagent si procesul
de negociere. Licitatii

2 Masterat Informatica economica, CSIE


Cuprins
1. Introducere
2.Tipuri de licitații
 Licitația englezeasca (first price open cry)
 Licitația olandeza
 Licitația first-price sealed-bid
 Licitația Vickrey (second-price sealed-bid)
3. Aspecte de evitat in cadrul desfasurarii licitatiilor
4. Standardul FIPA-ACL pentru SMA
5. Exemplu aplicație (SMA si negociere)

3
Introducere

 Negocierea - apare in viața noastră de zi cu zi, nu


numai in cadrul pieței (clasice si electronice).

 Situațiile de competiție sau conflict pot fi soluționate


prin diverse mecanisme de coordonare, de exemplu
prin licitații.

4
Introducere
Procesul de negociere
 mecanismul care pune in legătura participanții,
cumpărătorii, vânzătorii si care facilitează activitățile
de schimb sau de vânzare - cumpărare.
 protocoalele de negociere ajuta părțile implicate sa
ajungă la un compromis, si, in unele cazuri, la o
înțelegere avantajoasa pentru ambele părți.
 această înțelegere este atinsa de cele mai multe ori
după mai multe runde de interacțiune.

5
Introducere
Tehnologia orientata agent poate fi utilizata pentru a
simula procesul de negociere.

Agenții de tranzacționare (Trading Agents) sunt acei


agenți care:
 exista, acționează si interacționează in cadrul unei
piețe electronice.
 reprezintă un utilizator căruia ii cunosc preferințele
 respecta bugetele setate
 acționează in cadrul pieței electronice negociind si
realizând tranzacții din partea utilizatorului
6
2.Tipuri de licitații

7
2. Tipuri de licitații
 Conceptul de licitație:
 cercetat si dezvoltat de economistul John Nash (matematician
american).
 licitațiile au loc între un agent numit licitator şi mai mulţi
agenţi numiţi cumpărători.

 Tipuri de evaluare din punct de vedere al bunului licitat:


 valori private: valoarea bunului depinde doar de preferinţele
personale ale cumpărătorului; acesta se presupune că ştie valoarea
bunului
 valori comune: valoarea unui produs pentru un cumpărător depinde
de valoarea acelui produs pentru alţi cumpărători
 valori corelate: valoarea unui produs pentru un cumpărător depinde
parțial de preferinţele sale personale şi parțial de valoarea
acelui produs pentru alţii.
8

2. Tipuri de licitații
 Strategia unui cumpărător în licitaţii
 constă în modul în care va licita şi în acţiunile pe care le
va întreprinde cu scopul de a obţine profit cât mai mare.
 strategia dominantă este cea care generează cele mai bune
rezultate din punctul de vedere al profitului.
 cumpărătorul va obţine profitul maxim folosind strategia
dominantă.

 In urma desfășurării licitației licitatorul va aloca un bun


unuia dintre cumpărători.
 obiectivul licitatorului este să obtina un pret cat mai mare
(maximizare preţ),
 obiectivul cumparatorului: sa obțină un preț cat mai mic
(minimizare pret).
9
2. Tipuri de licitații
 În practica, se utilizează mai multe tipuri de licitaţii, fiecare
având caracteristicile sale.

 englezeasca
 olandeza (dutch)
 first-price sealed bid
 Vickrey - second-price sealed bid
 suedeza
 japoneza
 etc.

10
2. Tipuri de licitații
Englezeasca (first price open cry)
 Principiu
 cel care licitează începe la preţul de rezervă al obiectului şi oferta
înaintează progresiv până când nici un participant nu emite o ofertă mai
mare.
 in această licitaţie, fiecare ofertă ţine cont de celelalte oferte citate.

11
2. Tipuri de licitatii
Englezeasca (first price open cry)
Premize:
licitaţia
porneşte de la un preţ stabilit (prețul de rezerva);
cumpărătorii pot anunţa deschis preţul pe care îl licitează, care trebuie să fie
mai mare decât preţul licitat până în acel moment;
câştigă cumpărătorul care a oferit cel mai mare preţ.

Observaţii:
Strategie dominantă: cumpărătorul oferă puţin mai mult decât ultimul preţ și
se oprește când ajunge la valoarea reală a bunului.
“Winner’s curse” (câștigătorul licitației obține bunul licitat la un preț
exagerat) în cazul incertitudinii referitoare la valoarea reală a bunului licitat
Licitatorul poate plasa cumpărători falşi pentru a creşte artificial preţul.

12
2. Tipuri de licitatii
Englezeasca (first price open cry)

13
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)

 Principiu
 licitatorul pornește de la un preţ ridicat şi solicită un set de oferte
descendente până când un cumpărător acceptă bunul la preţul
curent.
 o ofertă suficient de mică propusă chiar la începutul licitaţiei
asigură faptul că bunul va fi vândut în cele din urmă, dar există
posibilitatea ca licitatorul să nu obțină profit.
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)

Premize:
 licitaţia porneşte de la un preţ stabilit
 licitatorul scade preţul până când unul din participanţi
acceptă preţul.

Observaţii:
 Susceptibilă la “winner’s curse” (situație în care
câștigătorul ajunge să platească mai mult decât valorează
obiectul pe care l-a câștigat prin licitație)
 Nu există strategie dominantă.

15
2. Tipuri de licitatii –
Licitatie olandeza (Dutch)

16
2. Tipuri de licitatii –
First-price sealed-bid
 Principiu
 cumpărătorii emit oferte în mod secret. Nici un ofertant nu
cunoaşte cota unei alte oferte. Cel mai mare ofertant este
premiat cu obiectul corespunzător preţului ofertei sale.

17
2. Tipuri de licitatii –
First-price sealed-bid
Premize:
 o singură rundă de negociere;
 fiecare cumpărător anunţă preţul în plic închis;
 câştigă cel cu preţ maxim.

Observaţii:
 strategie dominantă: cumpărătorul face o ofertă egală cel mult
cu valoarea privată a bunului.
 nu există o soluţie generală pentru a determina cât de mică ar
trebui să fie această ofertă.

18
2. Tipuri de licitatii –
First-price sealed-bid

19
2. Tipuri de licitații –
Vickrey (second-price sealed-bid)
 Principiu
 Cumpărătorii fac oferte în mod secret.
 Câștigă autorul celei mai mari oferte, care va primi bunul
corespunzător la preţul dat de a doua ofertă.
 La această licitaţie, cel mai mare ofertant obține întotdeauna
profit dacă oferta acestuia este raţională.

20
2. Tipuri de licitatii –
Vickrey (second-price sealed-bid)
Premize:
 o singură rundă de negociere;
 ofertele sunt secrete față de ceilalți cumpărători
 câştigă cel care a făcut cea mai mare ofertă, dar plăteşte al doilea preţ.

 Observaţii:
 Strategia dominantă: se licitează valoarea reală a bunului.
 Avantajul - încurajează cumpărătorii să fie sinceri
 Câștigătorul licitației nu poate şti cât a licitat cel care a pierdut (locul
al doilea), deci nu ştie dacă preţul plătit (al doilea preţ) este corect. O
soluţie ar fi folosirea de semnături digitale sau a unei terţe părţi de
încredere.
 Se poate dezvolta un comportament „antisocial”: dacă un cumpărător știe
că va pierde, poate crește intenționat prețul pentru a-i face pe alții să
plătească mai mult.

21
3. Aspecte de evitat in
cadrul licitațiilor

22
3. Aspecte de evitat in cadrul licitatiilor

Coaliții (collution)
Ori de câte ori la o licitaţie ofertanţii cunosc identitatea
celorlaltor participanți, există riscul ca aceştia să se
asocieze în scopul manipulării rezultatului licitaţiei, o
practică cunoscută sub numele de collusion (înțelegere
secretă, coaliție).
Nici un tip de licitaţie nu este imun la coaliții
Se pot forma coaliţii care să menţină preţul scăzut
Câştigătorul obiectului (care trebuie să facă parte din
coaliţie) împarte profitul cu ceilalţi.

23
3. Aspecte de evitat in cadrul licitatiilor

 Licitarea fictiva. O altă practică ilegală prin care se


poate a creşte prețul unui bun licitat este următoarea:
proprietarul bunului participă la licitaţie, crescând astfel
concurenţa, licitând “fictiv” şi ieşind din licitaţie chiar
înainte de valoarea licitată finală.

În cazul licitaţiilor cu “plic închis” (oferte secrete):


 dacă un cumpărător reușește să afle ofertele celorlalți
participanţi la licitaţie, el poate:
 sa liciteze direct un preţ care îl va face să câştige;
 sa se retragă, ştiind de la început că nu poate câştiga.

24
4. Standardul FIPA-ACL pentru SMA

25
4. Standardul FIPA-ACL pentru SMA
 Protocolul contract-net

26
4. Standardul FIPA-ACL pentru SMA
 Protocol pentru
Licitatia englezeasca

27
4. Standardul FIPA-ACL pentru SMA
 Protocol pentru
Licitatia olandeza

28
5. Exemplu aplicatie
(SMA si negociere)

29
5. Exemplu aplicație (SMA si negociere)

 Proiectare aplicatie
 Implementare
 Rulare

30
Inteligenta artificiala (6-RO)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


 Introducere in calculul neuronal
 Fundamentarea biologica a calculului neuronal
 Notiuni de baza: neuron artificial, retea neuronala artificiala.
 Retele neuronale uni- si multi-nivel
 Retele neuronale recurente. Retele neuronale Hopfield
 Aplicatii ale retelelor neuronale Hopfield

2
Introducere in calculul neuronal

3
Fundamentarea biologica a calculului neuronal

corp
nucleu

sinapsa

axon

dendrita

4
Notiuni de baza: neuron artificial
Modelul simplificat:

Σ _Г

Primul neuron artificial: neuronul Mc Culloch – Pitts (1943)

5
Perceptronul simplu – LTU (Linear Threshold Unit)
Uj

Oi Σ _Г Oj

Wij
Tj

input total j wij Oi


i

1, input total j Tj
Oj
0, input total j Tj

6
Uj

Oi Wij Σ _Г Oj

WFj=-Tj
OF=1
input net j net j wij Oi T j wij Oi
i i,F

1, net j 0
Oj
0, net j 0

7
Generalizarea perceptronului simplu (a)
Uj

Oi Wij Σ fj Oj

WFj=-biasj=θj
OF=1

input net j net j wij Oi j wij Oi


i i,F

Oj f (net j ) ; f = functie de activare


8
Tipuri de functii de activare
 Liniare (saturate, nesaturate)
 Neliniare
 Sigmoide monotone saturate
 Sigmoide nemonotone saturate
 Cu baza radiala etc.

9
Generalizarea perceptronului simplu (b)
Uj

Oi Wij gj f Oj

WFj=-biasj=θj
OF=1

net j g j ( net j ); g = functie de combinare a inputurilor (lineara sau neliniara)

Oj f (net j ) ; f =f unctie de activare

10
Generalizarea perceptronului simplu (c)

Uj
Oi Wij gj fj Oj

11
Feedback local

Wij
Oi gj fj Oj

Uj
Wij
Oi gj fj Oj

12
Retea neuronala artificiala
O retea neuronala artificiala reprezinta o structura
distribuita de prelucrare compusa din elemente de prelucrare
(neuroni) interconecate prin conexiuni, ce prezinta directie si
intensitate.

Prima retea neuronala artificiala: perceptronul clasic,


Rosenblatt (1957).

13
Caracteristicile retelelor neuronale
 Functionale (model functional)
 Structurale (model structural)
 De dinamica (model de dinamica)

14
Modelul functional al unei retele neuronale

X1 O1
.
.

.
.
F .
.

Xn Om

n m
F:R R

F = functia retelei; fi = functiile de activare ale neuronilor

15
Teoria aproximarii functiilor
Reproducerea exacta sau aproximativa a unei functii pe baza
evaluarii unui ansamblu determinat de functii primitive.

16
Rezolvarea unei probleme cu ajutorul unei retele neuronale

H = functia de calcul a rezultatelor

Nu se cunoaste forma analitica a lui H, doar informatii partiale


despre H, precum, valorile lui H in anumite puncte, p:
(Xp, H(Xp))

Pe baza informatiilor cunoscute se construieste o retea


neuronala a carei functie, F aproximeaza cel mai bine H.

H este aproximata prin F.

17
F este implementata prin f, intr-un mod care depinde de
interconectarea unitatilor si intensitatile conexiunilor.

Considerand f si schema de interconectare date, F este o functie


de parametru W, adica:

O = F(W; X)
X1 O1
.
.

.
F(W; X) .
.
.
Xn Om

18
Determinarea parametrilor W. Instruirea retelelor
neuronale
Parametrii W se determina printr-un proces adaptiv,
cunoscut sub numele de instruirea (antrenarea, invatarea)
retelei.

19
Tipuri de instruire a retelelor neuronale

 Instruire supervizata
 Instruire nesupervizata
 Instruire semisupervizata (dirijata)

20
Instruire supervizata

X F(W;X)

dist [F(W;X), H(X)] H(X)

Se urmareste determinarea lui W* a.i:


dist [F(W*;X), H(X)] ≤ dist [F(W;X), H(X)]

W* ofera cea mai buna aproximare a lui H prin F.

21
Instruirea retelei reprezinta un proces de optimizare (minimizare)
a functiei distanta pentru toate instantele de instruire.

W1, W2, …, Wn, … W*

Convergenta procesului de instruire:


|wijn-wij*| < , i,j, n>n0, >0

lim wijn = wij*


n

22
Modelul structural al unei retele neuronale

Este definit prin caracteristicile topologice:


 Geometria retelei neuronale
 Schema de interconectare

23
Geometria retelei neuronale
Reprezinta perechea (G,g) unde:
G = set de puncte (grila) in spatiu n-dimensional
g = proiectie 1:1 a neuronilor in punctele grilei

Cu ajutorul geometriei se caracterizeaza:


 dimensiunea retelei
 Vecinatatea (gruparea) neuronilor

24
Schema de interconectare

Este caracterizata prin


 Tipul conexiunii (interstrat, intrastrat, suprastrat,
autoconexiune)
 Simetria/asimetria
 gradul de conectivitate

25
Tipuri de retele neuronale in raport de modelul structural

 Retele neuronale feedforward


 La nivel global si local
 La nivel global, cu reactie locala

 Retele neuronale recurente


 Partial recurente (cu reactie locala)
 Propriu-zis recurente (cu reactie globala)

26
Modelul de dinamica al unei retele neuronale
Functionarea unei retele poate fi caracterizata in timp.

Factorul timp este deosebit de important pentru retelele


recurente (reactia inversa reprezinta o intrare decalata,
defazata).

27
Modelul de dinamica al unei retele neuronale feedforward

X(t) f1(x(t)) f2(f1(x(t)))


f1 f2

X(t) O(t)=F(W;X(t))

Ecuatia de dinamica: O(t) = F(W;X(t))

28
Modelul de dinamica al unei retele neuronale recurente
X(t) f (x(t), f(x(t-1), f(x(t-2),..))))
f

X(t) O(t+ )

Ecuatiile de dinamica:
O(0)=X(0)
O(t+ ) = F(W;X(t))
29
Retele neuronale uni- si multi-nivel

30
Retele neuronale feedforward uni-nivel
Up Op
W1p

Uj Oj
U1

Uk Ok
Un
Wnk

Um
Om

31
Caracteristici

 Propagarea înainte a intrărilor, într-un singur pas.

 Unitătile de prelucrare:
 neuroni treaptă, cu domeniu real al valorilor de intrare şi cu
domeniu binar (0,1) sau bipolar (-1,1) al valorilor de output.
 Condiţia de activare a unei unităti de output Uj

 Valoarea de activare 1 poate primi semnificatia încadrării


vectorului de intrare într-o clasă, să spunem A, în timp ce valoarea
de activare -1/0 poate avea semnificatia clasificării vectorului de
intrare într-o altă clasă, să spunem B.

32
Ecuatia
w ij x i Tj
i

formează un hiperplan în spatiul n-dimensional, ce separă acest spatiu în două


regiuni. Cind spatiul este bidimensional, hiperplanul devine o linie.

X1

0
1

X2

Separabilitatea liniară = existenta unui hiperplan liniar, ce permite


izolarea instantelor unei clase de instantele celeilalte clase.
33
Exemplu
Se consideră o reţea cu două unităţi de intrare(U1 şi U2) şi o unitate
de output(U3), cu T3= -0.3423.

Exemplele de instruire sunt:

x1 -0.5 -0.5 0.3 0


x2 -0.5 0.5 -0.5 1
t3 1 1 0 0

Se consideră iniţializarea intensităţilor conexiunilor din reţea cuvalorile:

w13= - 0.8931 şi w23=0.0594.

34
w13= -0.8931
w23= 0.0594
wF3= 0.3423
x2

1 

0.5 w13x1+w23x2+WF3=0

0

- 0.5

x1
-0.5 0 0.3 1

35
w13= -2.1931
w23= -0.4406
wF3= 0.3423

x2

1
w13x1+w23x2+WF3=0
0.5

0

- 0.5

x1
-0.5 0 0.3 1

36
Algoritmi de instruire a reţelelor feedforward
uninivel
Algoritmul perceptronului:

1. Iniţializarea intensitătilor conexiunilor din retea (în general, ca numere


aleatoare mici)

2. Pentru fiecare exemplu de instruire sau epocă de instruire, pană la


scăderea sumei pătratelor erorilor sub o limită considerată ca acceptabilă:

2.1. Calculul activărilor pentru toate unităţile din reţea.

2.2. Ajustarea intensităţilor conexiunilor, conform relaţiei:


w ij (t 1) w ij (t) w ij

unde: t semnifică pasul de timp


w ij
se poate calcula după mai multe reguli şi anume:

37
Regula percepronului:
w ij d jx i

dj (termen eroare) = tj - Oj, tj reprezintând outputul dorit pentru unitatea Uj

Regula delta:
w ij d jx i
reprezintă o valoare pozitivă, subunitară, denumită rată de instruire.

38
Teorema de convergenţă a perceptronului
Dacă datele care trebuie clasificate sunt liniar separabile, regula
de instruire a perceptronului va converge la soluţie (valorile
parametrilor care asigură o clasificare corectă a datelor) într-
un număr finit de paşi, indiferent de alegerea iniţială a valorilor
parametrilor.

39
Retele neuronale feedforward multinivel
1. Arhitectura retelelor feedforward multinivel
2. Functionalitatea retelelor feedforward multinivel
3. Instruirea retelelor feedforward multinivel
4. Realizarea aplicatiilor

40
Arhitectura retelelor feedforward multinivel

Up
W1p

Uj
U1

Uk
Un
Wnk

41
Functionalitatea retelelor feedforward multinivel
Pot trata probleme de clasificare neliniare, prin formarea
unor regiuni de decizie complexe.
• Fiecare nod de pe primul nivel ascuns determină crearea unui hiperplan.
• Fiecare nod de pe al doilea nivel ascuns combină hiperplanele pentru a
crea regiuni de decizie convexe,
• Fiecare nod din al treilea nivel ascuns combină regiunile convexe pentru a
forma regiuni concave.

Prin utilizarea unui număr suficient de mare de niveluri şi de unităţi pe fiecare


nivel este posibil să se formeze orice regiune de decizie.

42
Retelele feedforward multinivel reprezinta modele neliniare
care realizeaza o aproximare universala, adica pot
aproxima orice relatie intrare-iesire continua.

43
Teoreme de existenta
Teorema lui Kolmogorov
Fiind data orice functie continua: H : [0,1]N → RM aceasta
functie poate fi implementata exact pe o retea feedforward cu 3
straturi
N : (2N+1) : M.

Teorema Kolmogorov-Sprecher
Orice functie reala continua poate fi implementata exact pe o
retea feedforward cu patru straturi, cu numar finit de unitati.

Teorema lui Cybenco


Orice functie reala poate fi implementata pe o retea
feedforward cu doua straturi ascunse.
44
Instruirea retelelor feedforward multinivel
Prin metode supervizate, care presupun utilizarea unor instante de
instruire de forma:
(Xp,tp),

unde: Xp (X 1p , X p2 ,..., X pN )

reprezinta vectorul intrarilor pentru instanta de instruire p;

si tp (t1p , t p2 ,..., t pM )

este vectorul outputurilor dorite pentru instanta p;

N este numarul unitatilor de intrare din cadrul retelei;


M este numarul unitatilor de iesire.

45
Considerand H(X) functia de prelucrare asociata
problemei,
p
atunci:
p
t H(X )
Op (O1p , Op2 ,..., OpM )
Outputul obtinut prin prelucrarea datelor de intrare cu
ajutorul retelei neuronale este notat cu:

46
Op este rezultatul prelucrarii datelor de intrare, Xp, cu ajutorul functiei
F(W;Xp).
Op F(W; X p )

Eroarea la prelucrarea vectorului de intrare


e pj Xp , eroare masurata la nivelul
unei unitati de output Uj si notata cu este diferenta intre outputul dorit
si cel efectiv obtinut:
e pj t pj O pj

Eroarea masurata la nivelul intregii retele se obtine prin combinarea


erorilor, pe baza unei relatii de forma:
M
p
E f(e pj )
j 1

Eroarea la nivelul unei epoci:


E Ep
p

47
Exemple de functii de combinare a erorilor
Norma-L1
f(epj ) | epj |

Norma-L2
f(epj ) (epj ) 2

Functia logistica,cu >0 f L (e pj ) β 2 ln(cosh


e pj
)
β

Functia Huber nesaturata (e pj ) 2 /2,pentru| e pj | β


p
f H (e )
j , cuβ 0
β| e pj | β 2 /2,pentru| e pj | β

Functia Huber saturata (epj ) 2 /2,pentru| e pj | β


(functia Talvar):
p
f T (e )
j , cuβ 0
β 2 /2,pentru| epj | β

Functia Hampel
β2 πe pj
(1 cos ),pentru| e pj | β
f Ha (e pj ) π β , cuβ 0
β 2
2 ,pentru| e pj | β
π

48
Minimizarea erorii - metode
Metode deterministe:

De ordinul intai: metoda coborarii gradientului functiei eroare

De ordinul doi: metoda gradientului conjugat, metoda Newton,


metoda cvasi-Newton, metoda pseudo-Newton

Metode nedeterministe

49
Metoda coborarii gradientului
O functie J(V) este minimizata in raport de V prin metoda coborarii
gradientului astfel:

• se initializeaza solutia (valoarea lui V care minimizeaza J) cu V0 (de


regula, V0 se stabileste arbitrar);

• se ajusteaza solutia, prin coborarea gradientului functiei J, conform


relatiei:
▲V= - η▼J(V), unde: ▼J reprezinta gradientul functiei J, iar η
reprezinta pasul de deplasare pe directia de gradient.

Altfel spus, considerand k drept iteratia curenta, ajustarea solutiei se


realizeaza dupa formula:
Vk+1 = Vk - ηk▼J(Vk)

50
Coborarea gradientului pentru minimizarea
functiei eroare. Algoritmul Backpropagation
standard
Fie:
1
Ep (t j O j ) 2
2 j

Atunci:
Ep
Δw ij η
w ij
Ep Ep O pj
w ij O pj w ij

51
Consideram Uj este unitate de output:
Ep 1 p2 p2 p p
p
( (t j + O j 2t j O j )) (t pj O pj )
Oj Oj 2
O pj O pj net pj
F (net pj ) w kjO pk F (net pj ) Oip
w ij net pj w ij w ij k

Deci:
Ep
(t pj O pj ) F (net pj ) O ip
w ij

52
Notand:

d pj (t pj O pj ) F' (net pj )

Atunci:

Ep
d pj O ip
w ij

Regula de ajustare a parametrilor wij determinata prin prelucrarea instantei


de instruire p poate fi exprimata sub forma:

w ijp d pj O ip

53
Consideram Uj unitate ascunsa, aflata imediat in fata stratului de output si
Uk unitate de output care primeste Oj.
Ep E p O pk
p
( p p
)
Oj k Ok O j
Ep
(t pk O pk )
O pk
O pk O pk net pk
F (net pk ) w jk
O pj net pk O pj

Deci:

Ep
(t pk O pk ) F (net pk ) w jk
O pj k

54
Notand:
d pk (t pk Opk ) F' (net pk )
Se obtine:

Ep
d pk w jk
O pj k

Totodata:
O pj O pj net pj
F' (net pj ) Oip
w ij net pj w ij
Rezulta:
Ep
( d pk w jk ) F' (net pj ) Oip
w ij k

55
Notand:
d pj ( d pk w jk ) F' (net pj )
k

Se obtine:

Ep
d pj O ip
w ij

Regula de ajustare a parametrilor wij determinata prin prelucrarea instantei


de instruire p poate fi exprimata si in acest caz sub forma:

w ijp d pj O ip

Se procedeaza similar si atunci cand Uj este unitate ascunsa, aflata pe un


strat de output care nu este plasat imediat in fata stratului de output !
56
Observatii
• Regula de ajustare a parametrilor wij din cadrul algoritmului
backpropagation standard este cunoscuta si sub numele de regula delta
generalizata.
• Consideram, de exemplu, pentru Uj o functie de activare logistica
sigmoida, de forma:
1
F(x)
1 e x
atunci:
F'(x) F(x) (1 F(x))

Deoarece x reprezinta inputul net, iar F(X) este nivelul de activare al unitatii,
se poate scrie in acest caz ca:
F' (net pj ) O pj (1 O pj )

57
Suprainstruirea retelelor feedforward

Algoritmii de instruire urmaresc minimizarea erorii in functionarea


retelei.

Inainte de expoatarea retelei trebuie sa se stabileasca cat de apta este


reteaua sa prelucreze corespunzator datele pe care nu le-a "vazut" la
instruire, deci cat a generalizat informatiile din datele utilizate la
instruire.

Validarea performantelor unei retele instruite - testarea retelei.

Testarea se realizeaza cu ajutorul unor instante de test. Daca eroarea


la prelucrarea instantelor de test este acceptabila se trece la
exploatarea retelei, daca nu se reia instruirea, eventual cu revizuirea
setului de instruire si/sau a algoritmului de instruire.

58
Generalizare
Abilitatea de estimare cantitativa a caracteristicilor unui fenomen ce nu a
fost intalnit anterior, pe baza similaritatii sale cu fenomene deja cunoscute.

O retea neuronala feedforward invata sa aproximeze o functie de


prelucrare, F(X), pe baza unui set de instruire de forma: (X, F(X)).

Prelucrarea valorilor de intrare, X, ce nu apartin setului de instruire, dar fac


parte din intervalul pe care reteaua l-a invatat in procesul de instruire se
realizeaza prin interpolare, in timp ce prelucrarea valorilor X ce sunt plasate
in afara respectivului interval se asigura prin extrapolare.

Generalizarea presupune deci abilitatea de a realiza interpolari si


extrapolari.

59
Performantele la instruire si testare in raport de
epoca de instruire
eroare

eroarea la testare

eroarea la instruire

1 2 ni numar epoca

Dupa epoca ni se produce suprainstruirea !

60
Cauzele suprainstruirii
• datele de instruire sunt nerelevante, in sensul ca datele contin
neregularitati ce nu sunt semnificative dar pe care reteaua tinde sa le
retina;

• datele de instruire sunt insuficiente, in raport de numarul gradelor de


libertate ale retelei, respectiv numarul parametrilor ajustabili. Acest lucru
face ca datele de instruire sa nu impuna suficiente constrangeri problemei
de instruire.

• functia F(W;X) este foarte plata.

• carateristicile topologice ale retelei sunt necorespunzatoare

Reteaua nu poate generaliza!!.

61
Evitarea suprainstruirii

Estimarea capacitatii de generalizare a retelei pe parcursul procesului de


instruire si oprirea instruirii de indata ce gradul de generalizare incepe sa
scada.

Evaluarea capacitatii de generalizare se realizeaza prin masurarea erorii in


prelucrarea setului de test - eroare de generalizare, Eg.

Putem redefini marimea erorii pentru o retea feedforward astfel:

E=Ei+Eg, unde: Ei reprezinta eroarea la instruire, iar Eg este eroarea la


testare.

62
• limitarea numarului de parametri ai retelei, fara a fi afectata capacitatea
de invatare a retelei. Proiectarea retele neuronale trebuie sa permita
determinarea arhitecturii minimale a retelei.

• asigurarea unor date de instruire corespunzatoare, ca volum si calitate.

63
Inteligenta artificiala (7)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


Invatarea automata (ML) in Natural
Language Processing (NLP). Aplicatii R

2
 Ce inseamna NLP?
 Legatura intre NLP, ML si R
 Word-sence disambiguation (WSD)
 Identificarea colocatiilor semantice (COL)
 Utilizarea retelelor neuronale in NLP

3
Ce inseamna NLP?
 Natural Language Processing (NLP) se refera la interactiunea om-
calculator, in limbaj natural scris/vorbit.
 NLP presupune realizarea a numeroase task-uri, precum:
 Asocierea sensului corect cuvintelor din cadrul textului (Word-Sence
Disambiguation - WSD)
 Identificarea colocatiilor cu semnificatie (semantic collocation
Identification - COL)
 Datele necesare efectuarii task-urilor NLP:
 texte (audio sau scrise/trascript-uri)
 informatii/cunostinte lingvistice
 Aplicatiile R (materiale anexate suportului de curs) sunt preluate de la
https://ufal.mff.cuni.cz/courses/npfl054

4
Legatura NLP, ML, si R

Multe task-uri NLP pot fi formulate ca probleme de clasificare:

5
Word-sence disambiguation (WSD)
Sa consideram, de exemplu, cuvantul line, cu urmatoarele posibile
sensuri: CORD, DIVISION, FORMATION, PHONE, PRODUCT,
TEXT.

6
Formularea WSD ca problema de clasificare
 Elementele definirii WSD:
 Obiectivul WSD : asocierea sensului curent la un cuvant target/tinta).
 Inputulul WSD = o propozitie care contine cuvantul tinta (“line”)
 Outputul WSD = una dintre valorile de lista de valori posibile pentru sensul
cuvantului target {CORD, DIVISION, FORMATION, PRODUCT, PHONE,
TEXT}
 Propozitiile de intrare reprezinta obiectele de clasificat, sensurile
posibile sunt clasele
 Taskul de clasificare presupune ca valoarea de output sa fie
discreta si sa reprezinte una din clasele posibile.
 Fisierele pentru aplicatii:
 Fisierele de date: wsd.development.csv si wsd.test.csv
 Scripturile R: (script-Decision Tree) DT-WSD.R si (Script-
7
Naive Bayes) NB-WSD.R
Datele de instruire
 Pentru invatarea modului de recunoastere a sensului corect
al unui cuvant intr-o anumita propozie sunt necesare mai
multe exemple (date de instruire).

8
Cunostinte necesare atribuirii sensului
 Pentru recunoasterea sensului corect al cuvantului tinta “line”
este necesar sa fie cunoscute anumite informatii despre
contextul in care este utilizat cuvantul tinta. Aceste
informatii sunt denumite atribute/caracteristici (features).

 Fiecare propozitie va fi caracterizata printr-o lista de atribute,


lista denumita vectorul atributelor/caracteristicilor.

 Vectorul caracteristicilor este construit pe baza exemplelor.


Caracteristicile pot avea valori numerice (valori discrete sau
continue), binare (0/1, True/False,Yes/No), categoriale (valori
discrete ne-numerice)
9
10
11
Exemple de vectori de caracteristici impreuna cu valoarea
clasei asociate (SENSE)

Exercitiu
Analizati datele incluse in fisierul Datele-WSD.xls

12
Atributele utilizate

13
Generarea arborilor de decizie

14
Analiza performantelor arborilor generati
Performanta modelelor generate, definita ca numarul exemplelor
din setul de test la care rezultatul obtinut prin model a fost corect,
raportat la numarul total al exemplelor din setul de test este
prezentata in urmatorul tabel:

15
Sa consideram propozitia: „Draw a line between the points P
and Q.”, cu urmatoarele valori ale caracteristicilor:

Se va utiliza modelul M2

16
Exercitiu
Asociati sensul corect la cuvantul line in urmatoarele propozitii:

17
Identificarea colocatiilor semantice (COL)
 Presupune sa se decida daca anumite grupuri de cuvinte
formeaza o colocatie cu anumita semnificatie , diferita de cea a
cuvintelor individuale(semantic collocation). De exemplu, green
card, grey market, etc.
 Colocatiile semnatice au proprietati care nu pot explicate
strict pe baza componentelor, prin urmare trebuie prezentate
explicit/listate in cadrul dictionarului.

18
19
Formularea COL ca problema de clasificare
Elementele definirii COL
 Obiectivul COL: sa se decida daca o pereche de cuvinte
formeaza sau nu o colocatie semantica
 Inputul COL = perechi de cuvinte
 Outputul COL = clasa {YES, NO}

20
Atributele utilizate

Fisierele pentru aplicatii:


Fisierele de date: col.development si col.test
Scripturile R: (script incarcare date) load-col-data.R
(script semantic collocation) SVM-COL.R
21
Utilizarea retelelor neuronale in NLP
 Se va consulta Fisier-asociat curs 6 (Neural-NLP).pdf

22
Inteligenta artificiala (8)

Prof. dr. Constanta Bodea


Lect. dr. Radu Mogos

1 Masterat Informatica economica, CSIE


Invatare automata: Arbori de decizie si
Analiza cluster

2
Clasificare. Arbori de decizie si clasificatori
bayesieni naïve (Naïve Bayes)
 Introducere in arborii de decizie
 Componentele unui arbore de decizie
 Tipuri de arbori de decizie
 Algoritmi de inductie automata a arborilor de decizie
 Probleme de implementare
 Clasificatori bayesieni naivi

3
Introducere in arborii de decizie
 Un arbore de decizie constituie o modalitate de reprezentare
grafică, sub formă arborescentă, a unor reguli de clasificare.

 Descrierea problemei de construire a unei clasificări folosind


algoritmi care generează arbori de decizie:

 Fie un set de date D ={t1, t2, ..., tn} unde fiecare înregistrare este are
forma ti = < t1i, ... , tih>, adică fiecare înregistrare este alcătuită dintr-un
set de atribute {A1, A2, ..., Ah}.

 Avem un set de clase C ={C1, C2, ..., Cm}.

 Arborele de decizie va fi o structură descriptivă asociată cu setul de date


astfel încât: fiecare nod a arborelui va reprezenta un atribut Ai, fiecare arc
reprezintă o valoare a atributului Ai şi fiecare frunză a arborelui
reprezintă o clasă Cj .

4
Elementele unui arbore de clasificare
 Noduri neterminale (atribute), arce (valori ale atributelor)
si noduri terminale (etichete ale claselor).
 Atributele pot fi binare, multivaloare sau continue.
 Numarul claselor este, de obicei redus.

5
Exemplu
Durere

=t =f

temp tuse

>38 <38 =t =f

R S R S

6
f1 atribute
0 1

Valori
f2 f3 de
atribute
0 1 0 1

0 1 0 1

Etichete de clase

7
Arbori de clasificare si expresii booleene

f3
0 1

f2 f1
0 1 0 1

f2
0 1 0 0 1

h=(~f3^f2) ν f3^f1^~f2
1 0

8
Nu exista legatura intre complexitatea expresiei si a
arborelui

F
0 1

H G
0 1 0 1

J K
1 0 1 0 1 1

0 1 0 1
(~F^~H)v(~F^H^J)v(F^~G^K)v(F^G)
9
Arbore complex si expresie simpla

F
0 1

H G
0 1 0 1

J H
0 0 1 0 1 1

J
0 1
0 1 0
(F^G)v(H^J)
10 0 1
Tipuri de arbori de decizie
 Arbori binari
T1
1
0

T2 0
1 T4
1 0
T3 0
I1
1 0 I4 I5

I2 I3

11
 Arbori multi-valoare
culo
are
roşu ¬ roşu

sex sex

F B c1
c2

I1 ... culoare culoare

verde
albastru verde albastru

... In

12
Arbore de clasificare real

13
Alt arbore de clasificare real

14
Algoritmi de inductie automata a arborilor de
decizie
 Sunt aplicate metode supervizate de invatare.
 Se utilizeaza instante de instruire.
 O instanta de instruire este constituita din valori ale atributelor
impreuna cu eticheta de clasa.

15
Cerinte
 Cerinta de inteligibilitate a arborelui
 Cerinta de rapiditate a invatarii
 Cu cat setul de instante de instruire este mai mare cu atat
dimensiunea arborelui creste.
 La seturi diferite de instante se obtin arbori diferiti.

16
Spatiul de cautare
 Toate secventele posibile a tuturor testelor posibile
 Spatiul de cautare este foarte mare De exemplu, pentru N
atribute binare:
 1 arbore nul

 N arbori cu 1 test

 N*(N-1) arbori cu 2 teste

 N*(N-1)*(N-1) arbori cu 3 teste

 ≈ N4 arbori cu 4 teste
 Dimensiunea spatiului de cautare creste exponential cu
numarul atributelor
 Nu se poate realiza o cautare exhaustiva
 Se folosesc algoritmi de inductie care nu realizeaza cautare exhaustiva
17
 Primul algoritm de inductie automata a arborilor de clasificare -
definit in 1984, simultan de catre Breiman, Friedman, Olsen,
Stone (statistica) si Quinlan (IA, machine learning).

 Reprezinta un algoritm de inductie top-down a arborilor de


clasificare.

 Este cunoscut sub numele ID3, ID4, ID5, …, ulterior C4.5, C5.0
[Quinlan] respectiv CART: Classification and Regression Trees
[Breiman].

18
Procedura : Inductie-arbore(Instante)

If toate instantele au aceeasi eticheta de clasa, y


then Include-nod-terminal(y)
else
Atribut = Cel-mai-bun-atribut(Instante)
Include-nod-neterminal(atribut,
Inductie-arbore(SelectFalse(Instante, atribut),
Inductie-arbore(SelectTrue(Instante, atribut)))
endif

19
Algoritm de partitionarea recursiva a instantelor
 Cel mai bun atribut este plasat ca radacina
 Instantele sunt partitionate dupa valoarea atributului radacina
 Pentru fiecare partitie se determina cel mai bun atribut
 Se partitioneaza in continuare instantele dupa noile atribute
 Se repeta pana cand:
 toate nodurile sunt “pure” (instante ale aceleiasi clase)
 Toate nodurile contin mai putin de k instante
 Arborele a atins o adancime maxima prederminata
 Nu mai exista atribute pentru a fi testate

20
Selectarea celui mai bun atribut
Se alege atributul cu cea mai mica valoare H:

H atribut p val H val


val

pval reprezinta frecventa de aparitie a valorii val, iar Hval reprezinta


functia de entropie asociata valorii val, definita astfel:

H val p i log p i
i clasa

21
Exemplu
Clasa Atribut C1 Atribut C2 Atribut C3

A V11 V21 V31


A V12 V22 V31
A V12 V22 V31
A V13 V22 V32
B V12 V21 V31
B V12 V21 V31

22
Se calculeaza valoarea H pentru fiecare atribut in parte.
 Atributul C1:

1 1 1 4 2 2 2 2 1 1 1
H ( log ) ( log log ) ( log ) 0.462
6 1 1 6 4 4 4 4 6 1 1

 Atributul C2:
3 2 2 1 1 3 3 3
H ( log log ) ( log ) 0.318
6 3 3 3 3 6 3 3
 Atributul C3:
5 3 3 2 2 1 1 1
H ( log log ) ( log ) 0.56
6 5 5 5 5 6 1 1

23
 Se selecteaza C2, care prezinta doua valori, deci arborele va avea
pentru inceput doua ramuri. Pe ramura V22 regasim numai instante
ale clasei A, deci nu mai este necesara o discriminare ulterioara a
acestor instante.
 Pe ramura V21 este nevoie de selectarea unui nou atribut, in raport
de care sa se realizeze clasificarea instantelor.
1 1 1 2 2 2
H ( log ) ( log ) 0
C1: 3 1 1 3 2 2

3 2 2 1 1
H ( log log ) 0.636
C3: 3 3 3 3 3

24
Arborele de clasificare rezultat

C2
V21 V22

C1 A

V11 V12

A B

25
Alegerea atributelor
 Se aleg atributele care conduc la formarea celui mai mic arbore.

Pentru a obtine un arbore de dimensiuni reduse trebuie selectate


atributele ce produc cele mai pure noduri. Nodurile pure sunt
nodurile care impart exact domeniul in subseturi (pentru
exemplul dat, instante din A, respectiv din B).

26
Castigul de informatie IG
 Castigul de informatie determina o crestere a puritatii medii a
subseturilor pe care un atribut la produce.

 Se alege atributul care determina cel mai mare castig de


informatie (reducerea entropiei).

 IG = informatia dupa divizare – informatia inainte de divizare =


entropia(n-1) - entropia(n).

27
Limitele utilizarii IG
IG determina rezultate slabe pentru atribute cu multe valori (caz
extrem: id-ul).

Subseturile sunt mult mai pure cand sunt impartite dupa un


numar mai mare de valori ale atributului, deci un atribut ce
imparte in extremis domeniul in subseturi de cate un element are
IG-ul cel mai mare.

Aceasta proprietate a functiei de a favoriza atribute cu un set


marit de valori poate duce la specializare si overfitting
(suprainvatare): puterea de generalizare scade si metoda se
specializeaza in rezolvarea cat mai exacta a unui caz particular.

28
Alt exemplu

29
Care atribut trebuie selectat?

30
 Obiectivul: generarea celui mai mic arbore
 Euristica aplicata:
 Se aleg nodurile care produc cele mai “pure” noduri, adica cele ce aduc cel mai mare castig de
informatie
 Teoria informatiei masoara informatia in biti
 Cel mai bun atribut:

 Castigul de informatie (Information gain)


 Cantitatea de informatie castigata prin cunoasterea valorii atributului
 (Entropia distributiei inainte de partitionare) – (Entropia distributiei dupa
partitionare)

31
Cel mai bun atribut: outlook

32
Continuarea partitionarii

33
Probleme de implementare
Inlaturarea supra-specializarii

Se inlocuieste castigul de informatie (IG) cu proportia castigului


(GR).
GR ia in calcul numarul de arce produse prin alegerea unui anumit
atribut si corecteaza IG-ul luand in calcul informatia intrinseca de
divizare:
GR=IG/II

unde: II = informatia intrinseca care este entropia distributiei


instantelor pe arce (cata informatie este necesara pentru a
afla de ce arc apartine o instanta).

34
Exemplu pentru atributul de identificare ID

Entropia(“ID”)=entropia([0,1])+entropia([0,1])…+ entropia([0,1])=0

IG =Entropia(N-1)- 0 =Entropia(N-1)=0.940 (de exemplu)

II= entropia([1,1,1..1])=n * (-1/n *log 1/n)=3.870 (pentru n=14)

GR=IG/II=0.940/3.870=0.246

Ca rezultat, valoarea IG a fost ponderata cu gradul de divizare al


atributului si a scazut de la 0.940 la 0.246.

35
Dezavantajul utilizarii GR

 Sunt favorizate atributele cu un numar redus de valori


posibile.

36
Metode euristice de optimizare a algoritmului
 Eliminarea atributelor ce impart domeniul in segmente de
dimensiuni foarte scazute (ex: id-ul)

 In cazul folosirii GR, sunt selectate doar atributele cu IG peste


medie.

37
Tratarea atributelor numerice
Metoda standard: impartirea binara.

Fiecare atribut ofera mai multe puncte posibie de taiere. Se poate


recurge la evaluarea IG sau GR pentru fiecare solutie de impartire
a atributului, alegandu-se cel mai bun punct de taiere. Castigul de
informatie al punctului ales este castigul atributului.

Se consuma resurse de calcul.

38
Exemplu de impartire

64 65 68 69 70 71 72 72 75 75 80 81 83 85
Yes No Yes Yes Yes No No Yes Yes Yes No Yes Yes No

Pentru punctul 71.5 avem:


4 yes si 2 no pentru t<71.5 si 5 yes si 3 no pentru t>71.5

IG([4,2],[5,3])=(6/14)IG([4,2])+(8/14)IG([5,3])=0.939

39
Impartirea pe intervale
 O cale eficienta de a genera punctele de taiere multipla: un
algoritm greedy.

 Fie IMP(k,i,j) cea mai buna taiere a valorilor x[1]…x[i] in k


sub-intervale.

Atunci IMP(k,i,j)=MIN (0<j<i) {IMP(k-1,1,j) + IMP(1,j+1,i)} .

IMP(k,1,N) va fi solutia optima.

40
Problema valorilor lipsa
 Algoritmul imparte instantele cu valori lipsa in subseturi.
 Un subset va avea o pondere proportionala cu importanta/
popularitatea arcului (numarul de instante).
 Castigul de informatie poate fi folosit cu ponderi ale instantelor in
loc de numar de instante pe arc.

41
Eliminarea perturbatiilor (zgomotului)
 Doua metode:
 ante-eliminarea zgomotului
 post-eliminarea zgomotului

 Uzual, post-eliminarea este preferata datorita dificultatilor


asociate celeilalte metode (riscul stoparii premature a
algoritmului).

 Ante-eliminarea zgomotului conduce la un volum mai scazut de


calcule.

42
Ante-eliminarea zgomotului
 Are la baza teste statistice ale importantei. Metoda opreste
cresterea arborelui atunci cand nu mai exista nici o asociere
semnificativa intre atributul castigator la nodul (nivelul) N si
clasele in care trebuie sa imparta instantele ramase.

 ID3-ul foloseste testul hi-patrat: doar atributele statistic


semnificative ajung sa imparta la un moment dat instantele.

43
Problema stoparii premature
Ante-eliminarea poate provoca oprirea dezvoltarii arborelui inainte
de a reprezenta intregului domeniu.

Exemplul clasic este cel al invatarii functiei XOR:


- nici un atribut nu prezinta o asociere semnificativa cu clasa
- structura nu este vizibila decat in arborele complet
- prin ante-eliminare nu trecem de nodul radacina.

In practica problemele de tip XOR nu sunt atat de frecvente.

44
Post-eliminarea
 Se incepe de la arborele complet construit si se elimina treptat
componente ale arborelui.

 Identificarea subarborilor si nodurilor produse de elemente


aleatoare.

 Doua mari operatii de eliminare:


 inlocuirea subarborilor
 ridicarea subarborilor

45
Ridicarea sub-arborilor
A A

B C

46
Clasificatorul bayesian naiv
 Baze teoretice si aplicabilitate
 Algoritmul de clasificare. Corectia Laplace
 Avantaje si dezavantaje
 Inferenta probabilista

47
Baze teoretice
 Teoria rationamentului probabilist definita de Thomas Bayes
(regula lui Bayes).

 Regula lui Bayes permite actualizarea probabilitatii ipotezelor


pe baza faptelor (evidentei), dupa care sunt alese ipotezele
cele mai probabile.

 Metodele de invatare bayesiana sunt utile pentru domeniile cu


multe caracteristici.

48
 Regula lui Bayes:
Pr( A)
Pr( A | B ) Pr( B | A)
Pr( B )

 Pentru problema de clasificare:


P(Y=1|f1, … ,fn)=P(f1, … ,fn|Y=1)P(Y=1)/P(f1, … ,fn)
Pr(f1, … , fn) este independenta de Y
P(Y=1) = probabilitatea apriori (o putem considera 0.5)
Trebuie sa ne concentram asupra: Pr(f1, … , fn|Y=1)

Pr( f1 ,..., f n | Y 1) Pr( f j | Y 1)


j

 Ipoteza algoritmului: Independenta variabilelor

49
Probabilitati conditionate
 Presupunem ca studentii de la Masterul de Informatica Economica sunt impartiti
astfel: 60% au media de licenta sub 9 si 40% au media de licenta peste 9.

 Statutul de angajat depinde de inclinatia pentru studiu dovedita de media de licenta.

 Toti masteranzii cu medie sub 9 sunt angajati cu norma intreaga, in timp ce numai
50% dintre masteranzii cu media peste 9 au acest statut.

 Este selectat un masterand dintre cei care lucreaza norma intreaga. Care este
probabilitatea ca acest student sa aiba media de licenta peste 9?

 θ1 = masterandul are medie peste 9


 θ2 = masterandul are medie sub 9
 D = masterandul selectat lucreaza norma intreaga

 P(θ1) = probabilitatea ca un masterand sa aiba media de licenta peste 9, neluand in


seama orice alta informatie = 0.4 sau 40%
50
 P(θ2) = probabilitatea ca un masterandul sa aiba media de licenta sub 9,
neluand in seama alte informatii = 0.6 sau 60%

 P(D | θ1) = probabilitatea ca un masterand sa lucreze cu norma intreaga, stiind


ca are media de licenta peste 9 = 0.5

 P(D | θ2) = probabilitatea ca un masterand sa lucreze cu norma intreaga, stiind


ca are media de licenta sub 9 = 1 sau 100%

 P(D) = probabilitatea ca un masterand sa lucreze cu norma intreaga:

P(D) = P(D | θ1)* P(θ1) + P(D | θ2)* P(θ2) = 0.5×0.4 + 1×0.6 = 0.8. sau 80%.

51
 Probabilitatea ca masterandul selectat sa aiba media peste 9:
P(θ1 | D) = P(D | θ1)* P(θ1) / P(D) = 0.5×0.4 / 0.8 = 0.25 sau 25%

 Si astfel putem construi si tabelul de probabilitati conditionate – putem


observa ca P(θ1|┐D)=100 -> evidenta puternica

52
“Spargerea” legaturii

 O distributie conditionata poate intotdeauna sa fie


“sparta”intr-un produs de probabilitati conditionate folosind
repetat regula produsului.

 Putem ordona variabilele:

53
Alegerea unei ordinii a variabilelor
 Presupunerea independentei conditionale exprimata de o retea Bayensiana
permite o reprezentare compacta a distribuitiei conditionate.

 In alegerea unei ordinii a variabilelor, reteaua ne impune ca Y sa ii urmeze


lui X daca X este descendent al lui Y.

 Putem intotdeauna “sparge” legatura astfel incat factorul de probabilitate


conditionata are numai non-descendenti:

54
Probabilitati consistente
Distributia unui set de variabile v1, … ,vn este definita drept
P(v1 … vn) pentru toate valorile
v1 … vn.

P(v1 … vn) = P(v1)*P(v2|v1) * … * P(vn|v1 … vn-1)

Aceasta relatie poate fi utilizat pentru a descompune in factori


(pentru a factoriza) distributia RB.

Factorizarea depinde de ordonarea variabilelor, asa numita


sortare topologica a variabilelor, conform careia fiecare variabila
trebuie plasata inaintea tuturor descendentilor sai din graf.

55
Clasificator - semnificatie

56
Clasificator Bayesian – un exemplu

Se calculeaza Rk(n,m), ponderea


f1 f2 f3 f4 y
instantelor din clasa m pentru care
0 1 1 0 1 caracteristica k are valoarea n.
0 0 1 1 1
R1(1,1) = 1/5; R1(0,1) = 4/5
1 0 1 0 1 R1(1,0) = 5/5; R1(0,0) = 0/5
0 0 1 1 1
R2(1,1) = 1/5; R2(0,1) = 4/5
0 0 0 0 1
R2(1,0) = 2/5; R2(0,0) = 3/5
1 0 0 1 0
1 1 0 1 0 R3(1,1) = 4/5; R3(0,1) = 1/5
R3(1,0) = 1/5; R3(0,0) = 4/5
1 0 0 0 0
1 1 0 1 0 R4(1,1) = 2/5; R4(0,1) = 3/5
R4(1,0) = 4/5; R4(0,0) = 1/5
1 0 1 1 0

57
Avand un vector X de caracteristici (vector de input), clasa
in care se repartizeaza X (valorea y care se asociaza lui X)
se determina cu ajutorul valorilor R.

Presupunem: X=<0,0,1,1>
 Scorul lui X, daca presupunem ca X apartine clasei 1:
S(1) = R1(0,1)*R2(0,1)*R3(1,1)*R4(1,1)
S(1) = 0.205

 Scorul lui X, daca presupunem ca X apartine clasei 0:


S(0) = R1(0,0)*R2(0,0)*R3(1,0)*R4(1,0)
S(0) = 0

S(1) > S(0) X se clasifica in clasa 1 (y=1).


58
Algoritmul de clasificare – faza de instruire
Pe baza instantelor de instruire se calculeaza:
count(xij 1 yi 1)
R j (1,1)
count(y i 1)
R j (0,1) 1 R j (1,1)

count(xij 1 yi 0)
R j (1,0)
count(y i 0)
R j (0,0) 1 R j (1,0)

59
Algoritmul de clasificare – faza de predictie

Fiind dat un vector X, se calculeaza scorul:


R j (1,1) daca x j 1
S (1)
j R j (0,1) altfel

R j (1,0) daca x j 1
S (0)
j R j (0,0) altfel

y=1, daca S(1) > S(0)

60
Corectia Laplace
 Instantele de instruire reflecta doar partial realitatea.

 Daca in cadrul instantelor nu exista valori de


caracteristici prezente la anumite clase, R va primi valoare
0.

 Se recomanda evitarea valorilor 0/1 pentru R.

61
Modificarea formulelor de calcul pentru R

count( xij 1 yi 1) 1
R j (1,1)
count( y i 1) 2
R j (0,1) 1 R j (1,1)

count( x ij 1 yi 0) 1
R j (1,0)
count( y i 0) 2
R j (0,0) 1 R j (1,0)

62
Exemplu revizuit

R1(1,1) = 2/7; R1(0,1) = 5/7


R1(1,0) = 6/7; R1(0,0) = 1/7
f1 f2 f3 f4 y
0 1 1 0 1 R2(1,1) = 2/7; R2(0,1) = 5/7
0 0 1 1 1 R2(1,0) = 3/7; R2(0,0) = 4/7
1 0 1 0 1
R3(1,1) = 5/7; R3(0,1) = 2/7
0 0 1 1 1 R3(1,0) = 2/7; R3(0,0) = 5/7
0 0 0 0 1
1 0 0 1 0 R4(1,1) = 3/7; R4(0,1) = 4/7
R4(1,0) = 5/7; R4(0,0) = 2/7
1 1 0 1 0
1 0 0 0 0 X = <0,0,1,1>
1 1 0 1 0 S(1) = 0.156
S(0) = 0.017
1 0 1 1 0
S(1) > S(0) X se clasifica in clasa 1(y=1).
63
Linearizarea algoritmului
 Precizia calculelor poate fi afectata de cresterea numarului de
probabilitati care se inmultesc.

 Se linearizeaza prin logaritmare:


log R j (1,1), daca x j 1
log S (1)
j log R j (0,1), altfel

log R j (1,0), daca x j 1


log S (0)
j log R j (0,0), altfel

Y=1, daca log S(1) > log S(0)

64
Clasificatorul bayesian naiv
y=1 daca:

j x j (1 j )(1 x j ) j x j (1 j )(1 x j )
j j

unde: α1,… αn, β1, … , βn sunt valorile R.

65
Avantaje si dezavantaje
 Determinarea parametrilor R nu urmareste minimizarea erorii
si utilizeaza o metoda rapida de calcul.

 Fiecare caracteristica joaca un anumit rol in clasificare


(voteaza pentru clasa 1 sau 0). Ponderea caracteristicii
(ponderea votului) este:
j j
log log
1 j 1 j

 Influenta fiecarei caracteristici asupra rezultatului clasificarii se


poate stabili in mod independent, fiind ulterior combinata cu
influenta celorlalte caracteristici (prin multiplicare).
66
Limitari: exemplul XOR

f1 f2 f3 f4 y R1(1,1) = 2/4; R1(0,1) = 2/4


R1(1,0) = 3/6; R1(0,0) = 3/6
0 1 1 0 0
1 0 1 0 0 R2(1,1) = 2/4; R2(0,1) = 2/4
1 0 0 1 0 R2(1,0) = 3/6; R2(0,0) = 3/6
0 1 0 1 0
R3(1,1) = 2/4; R3(0,1) = 2/4
1 1 1 0 1 R3(1,0) = 3/6; R3(0,0) = 3/6
0 0 0 1 1
R4(1,1) = 2/4; R4(0,1) = 2/4
R4(1,0) = 3/6; R4(0,0) = 3/6

Pentru orice X nou


S(1) = 0.625
S(0) = 0.625

67
Inferenta probabilista

 Se considera caracteristicile si rezultatul clasificarii ca


reprezentand variabile aleatoare.

 Algoritmul de clasificare – faza de invatare:


Pr(Y=1|f1, … , fn)

 Algoritmul de clasificare – faza de predictie:


Fiind data o instanta noua, se calculeaza Pr pentru output 1.
Daca Pr>0.5 se previzioneaza 1, altfel 0.

68
Algoritmul de clasificare – faza de instruire
count( xij 1 yi 1)
R( f1 1 | Y 1)
count( y i 1)
R( f j 0|Y 1) 1 R( f j 1| Y 1)
count( xij 1 yi 0)
R( f j 1| Y 0)
count( y i 0)
R( f j 0|Y 0) 1 R ( f j 1| Y 0)

69
Algoritmul de clasificare – faza de predictie
Fiind dat un vector x, se calculeaza scorul:
R( f j 1 | Y 1) daca x j 1
S ( x1...xn | Y 1)
j R( f j 0 | Y 1) altfel

R( f j 1 | Y 0) daca x j 1
S ( x1...xn | Y 0)
j R( f j 0 | Y 0) altfel

y=1, daca S(x1 … xn|Y=1) > S(x1 … xn|Y=0)

70
Studiu de caz
Clasificatorul Bayesian aplicat in identificarea spam-urilor
(filtrarea mesajelor)

Ce este spam-ul?
Modalităţi de combatere spam.
Avantajele filtrului Bayesian.

71
Clusterizarea in Machine Learning
1. Definitii. Aplicatii ale analizei cluster
2. Cerinte pentru analiza cluster
3. Masuri ale calitatii clusterizarii
4. Abordari in analiza cluster
5. Algoritmi de partitionare
6. Algoritmi ierarhici

72
Definitii
 Cluster: o colectie de obiecte
 Similare intre ele
 Nesimilare obiectelor din alte clustere
 Analiza cluster:
 Gruparea unei multimi de obiecte in clustere
 Se bazeaza pe instruire nesupervizata (nu exista clase predefinite)
 Valorificare:
 Metoda autonoma pentru caracterizare date
 Etapa de preprocesare pentru alte prelucrari

73
Aplicatii ale analizei cluster
 Recunoastere forme
 Analiza date spatiale
 Prelucrare imagini
 Cercetari economice (studii de piata)
 WWW
 Clasificare documente
 Descoperire comportamente de navigare

74
 Marketing (managerii de marketing descopera grupuri de
clienti si pot proiecta campanii de marketing diferentiate)
 Utilizare terenuri (identificarea zonelor cu utilizari similare)
 Asigurari (identificarea grupurilor de clienti)
 Urbanistica (identificarea ansamblurilor de locuinte)
 Seismologie (observarea epicentrelor si gruparea lor)

75
Cerinte pentru analiza cluster
 O buna metoda de analiza cluster produce clustere de calitate
ridicata:
 Similaritate intra-cluster ridicata
 Similaritate inter-cluster scazuta
 Calitatea clusterizarii depinde de masura de similaritate
utilizata precum si de metoda implementata.
 Calitatea clusterizarii este apreciata si in raport de abilitatea de
a descoperi unele sau toate dintre patternurile ascunse.

76
 Scalabilitatea
 Abilitatea de a trata diferite tipuri de caracteristici
 Capacitatea de a descoperi clustere de forme arbitrare
 Capacitatea de a trata zgomotul si outlierii
 Independenta fata de ordinea datelor de intrare
 Dimensionalitate ridicata
 Incorporarea unor restrictii precizate de utilizator
 Posibilitatea de interpretare si utilizare a rezultatelor

77
Masuri ale calitarii clusterizarii
 Metrica similaritatii/nesimilaritatii: uzual functie distanta: d(i, j)
 Se defineste separat o functie de calitate a clusterelor
 Modul de definire al distantei difera in raport de tipul de variabile
(bazate pe interval, booleene, categoriale)
 Se pot asocia ponderi diferitelor caracteristici
 Este dificil de definit “suficient de similar” (subiectivism ridicat).

78
Similaritatea/Nesimilaritatea dintre obiecte

 Distantele masoara uzual similaritatea sau nesimilaritatea intre


doua obiecte
 O masura foarte utilizata este distanta Minkowski
d (i, j) q (| x x |q | x x |q ... | x x |q )
i1 j1 i2 j2 ip jp

unde i = (xi1, xi2, …, xip) si j = (xj1, xj2, …, xjp) sunt doua obiecte p-
dimensionale, si q este un intreg pozitiv.
 Daca q = 1, d este distanta Manhattan

79
 Daca q = 2, d este distanta Euclideana
Proprietati:
 d(i,j) 0
 d(i,i) = 0
 d(i,j) = d(j,i)
 d(i,j) d(i,k) + d(k,j)

80
Caracteristici binare
 Tabela de contingenta
Object j
1 0 sum
1 a b a b
Object i 0 c d c d
sum a c b d p

 Coeficientul de concordanta simpla:


d (i, j) b c
a b c d
 Coeficientul Jaccard:
d (i, j) b c
a b c

81
Exemplu
Nume Febra Tuse Test-1 Test-2 Test-3 Test-4
Jack Y N P N N N
Mary Y N P N P N
Jim Y P N N N N
Valorile Y si P sunt 1, si valoarea N este 0.
Coeficientii Jaccard:
0 1
d ( jack , m ary) 0.33
2 0 1
1 1
d ( jack , jim ) 0.67
1 1 1
1 2
d ( jim, m ary) 0.75
1 1 2

82
Caracteristici nominale

 Caracteristicile nominale sunt o generalizare a celor binare (pot lua


mai mult de doua valori. De exemplu: rosu, galben, albastru).
 Metoda 1: Concordanta simpla
 m: numarul de concordante, p: numarul total de caracteristici
d (i, j) p pm
 Metoda 2: Utilizarea unui mare numar de variabile
 Crearea unei variabile binare pentru fiecare dintre dele M stari
nominale

83
Calitatea clusterelor
Indicatori ai imprastierii (in special indicatorii sintetici ai imprastierii)
 Diferenta medie Gini – DG: media diferentelor luate in valoare
absoluta si formate prin asocierea valorilor individuale ale
caracteristicii urmarite doua cate doua.
xi x j
i 1. .n j 1. .n
DG n 2

 Abaterea medie patratica si coeficientul de variatie:


n
( x i xmed ) 2
i 1
V xmed *100
n

84
 Indicatorii gradului de concentrare/diversificare
 Curba lui Lorentz
 Coeficientul (raportul) de concentrare Gini
 Lungimea vectorului de structura
 Energia informationala
 Entropia

85
Abordari in analiza cluster
 Algoritmi de partitionare: Construiesc diferite partitii si apoi le
evalueaza in raport de anumite criterii.
 Algoritmi ierarhici: Creaza o descompunere ierarhica a colectiei de
obiecte utilizand anumite criterii.
 Algoritmi pe baza functiei de densitate: Au la baza functii de
conectivitate si de densitate.
 Algoritmi grid: Au la baza o structura cu mai multe niveluri de
granularitate.
 Algoritmi de baza de model : Se fomuleaza ca ipoteza un model
pentru fiecare cluster.
86
Algoritmi de partitionare
Realizeaza o partitionare a bazei de date D cu n obiecte intr-un set de
K clustere.

Fiind dat k, se gaseste o partitionare in k clustere care sa optimizeze un


criteriu de partitionare dat.
algoritmi euristici : k-means si k-medoids
k-means: Fiecare cluster este reprezentat prin centrul clusterului
k-medoids sau PAM (Partitionare in jurul medoidurilor): Fiecare
cluster este reprezentat de unul dintre obiectele din cluster.

87
Algoritmul k-means
 Se partitioneaza obiectele in k subseturi nevide (clustere) astfel:
Se aleg aleator k obiecte care se considera centrele clusterelor,
celelalte obiecte fiind incluse in clusterul cu cel mai apropiat
centriod.
 Se calculeaza centroizii (centrul) clusterelor.
1
cl pl x
x Gl

pl reprezinta numarul obiectelor din clusterul Gl


 Fiecare obiect este asignat clusterului de al carui centroid este
cel mai apropiat.
 Se revine la pasul 2, pana cand nu mai sunt modificari ale
clusterelor.

88
Exemplu
10 10

9 9

8 8

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

10 10

9 9

8 8

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

89
Comentarii referitoare la algoritmul k-means

 Puncte tari:
 Relativ eficient
 Este identificat adesea un optim local

 Puncte slabe:
 Aplicabil numai atunci cand este definita media
 Este necesara specificarea prealabila a lui k
 Nu poate trata date cu zgomot si outliers
 Nu se recomada pentru descoperirea de clustere neconvexe.

90
Algoritmul K-medoids

 Sunt identificate obiecte reprezentative, denumite medoid-uri.


Aceste obiecte servesc la reprezentarea clusterelor.

 PAM (Partitioning Around Medoids)


 Se pleaca de la un set initial de medoid-uri si iterativ este inlocuit
unul dintre acestea daca astfel se imbunatateste distanta totala a
clusterului rezultat.
 Algoritmul lucreaza bine pe seturi de date de dimensiuni reduse.

91
 Sunt selectate in mod arbitrar k obiecte reprezentative
 Pentru fiecare pereche (obiect neselectat h , obiect selectat i),
se calculeaza costul total de inlocuire TCih
TCih= jCjih
 Pentru fiecare pereche i si h,
 Daca TCih < 0, i este inlocuit de h
 Se asigneaza fiecare obiect neselectat la cel mai similar obiect
reprezentativ.
 Se repeta pasii 2-3 pana cand nu se mai inregistreaza nici o
schimbare

92
10 10

9 9

8 8
t j
7 t 7

6 6

5 j 5

4 4

3 i h 3 h
2 2 i
1 1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

Cjih = d(j, h) - d(j, i) Cjih = 0

10
10

9
9
8
8

7 h 7

6 j 6

5
5
i
4
i 4

h j
3 t 3

2
2

1
1 t
0
0
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10

Cjih = d(j, t) - d(j, i) Cjih = d(j, h) - d(j, t)


93
Algoritmi ierarhici
 Drept criteriu de clusterizare este utilizata matricea
distantelor.
 Acesti algoritmi nu reclama precizarea prealabila a numarului k
de clustere, dar impun precizarea conditie de terminare.

94
Tipuri de algoritmi ierarhici

Pas 0 Pas 1 Pas 2 Pas 3 Pas 4 aglomerativi


(AGNES)
a ab
b abcde
c
cde
d
de
e
cu fragmentare
(DIANA)
Pas 4 Pas 3 Pas 2 Pas 1 Pas 0

95
Algoritmul AGNES (Agglomerative Nesting)
Introdus de Kaufmann si Rousseeuw (1990)
 Fiecare obiect este introdus intr-un cluster distinct.
 Se calculeaza distantele intre toate perechile de doua clustere
 Se grupeaza clusterele cele mai apropiate si se reia de la 2.
Se pot obtine oricate clustere, fiind posibil ca toate nodurile pot
sa apartina aceluiasi cluster.

10 10 10

9 9 9

8 8 8

7 7 7

6 6 6

5 5 5

4 4 4

3 3 3

2 2 2

1 1 1

0 0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

96
Dendrograme
Permit reprezentarea grafica ierarhica a clusterelor, sub forma unui
arbore, cu mai multe niveluri.

97
Algoritmul DIANA (Divisive Analysis)
 Introdus de Kaufmann si Rousseeuw (1990)
 Inverseaza ordinea din AGNES
 Fiecare nod poate forma un cluster

10 10
10

9 9
9

8 8
8

7 7
7

6 6
6

5 5
5

4 4
4

3 3
3

2 2
2

1 1
1

0 0
0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10

98
Cele mai apropiate clustere
 Cei mai apropiati centrii
 Cele mai apropiatie medoiduri
 Cei mai apropiati vecini
 Masuri specifice domeniului
 Frecventa cuvintelor

99
Distanta medie intre clustere

Dist(i, j)
i c1 j c 2
Mean _ Dist(C1 , C 2 )
1
i c1 j c 2

Distanta minima intre clustere

Min _ Dist(C1 , C2 ) MIN (Dist(i, j))


i c1 , j c 2

Distanta interna medie a unui cluster

Dist(i, j)
i c j c ,i j
Mean _ Internal_ Dist(C)
1
i c j c ,i j

100
Exemplu
Se consideră următoarea mulţime de patternuri:
A = {1, 2, 3, 6, 7, 8, 13, 15, 17}.

Sa se grupeze aceste patternuri in 3 clustere, utilizand algoritmul K-means.


Procesul va fi initializat considerand drept centre ale clusterelor
elementele 1, 2 si 3.
C1 = {1}, M1=1,
C2 = {2}, M2=2,
C3 = {3}si M3=3.
Prima iteratie
Fiecare element E este atasat clusterului cu media cea mai apropiata.
Elementul 6 este atasat la C3 pentru ca dist(M3, 6)<dist(M2, 6) si
dist(M3,6)<dist(M1, 6).

101
Urmand aceeasi logica cu toate elementele ramase in A vom obtine:
C1={1}, M1 =1,
C2={2}, M2 = 2,
C3={3, 6, 7, 8, 13, 15, 17}, M3 = 69/7=9.86

Iteratia 2
Se reia algoritmul de la pasul in care se face repartizarea elementelor pe
clustere, considerand noile medii ca centrele clusterelor.

Elementele 1 si 2 sunt deja repartizate fiind centre. Se incearca repartizarea lui 3.


dist(3,M2)<dist(3, M3). Elementul 3 trece in C2.

Toate celelalte elemente raman repartizate ca in pasul anterior.

102
Noile clustere sunt:
C1 = {1}, M1 = 1,
C2 = {2, 3}, M2 = 2.5,
C3 ={6, 7, 8, 13, 15, 17}, M3 =66/6 = 11.
Iteratia 3
Elementele 1, 2 si 3 raman in clusterele deja stabilite. Se incearca repartizarea
elementului 6.
dist(6, M2)<dist(6, M3). Elementul 6 trece in C2.

Toate celelalte elemente raman pe loc.


C1={1},M1 = 1,
C2={2, 3, 6}, M2 = 11/3 = 3.67,
C3 = {7, 8, 13, 15, 17}, M3 = 12.

103
Iteratia 4
Dist(2, M1)<dist(2, M2). Elementul 2 trece in C1.
dist(7, M2)<dist(7, M3). Elementul 7 trece in C2.
Celelalte elemente raman in clusterele in care au fost repartizate.
C1 = {1,2}, M1=1.5,
C2 ={3, 6, 7}, M2=5.34,
C3 = {8, 13, 15, 17},M3=13.25
Iteratia 5
Dist(3, M1)<dist(3, M2). Elementul 3 trece in C1.
dist(8, M2)<dist(8, M3). Elementul 8 trece in C2.
C1={1,2,3}, M1 = 2,
C2={6, 7, 8}, M2 = 7,
C3 = {13, 15, 17}, M3 = 15.
Din acest moment nici un element nu se mai deplaseaza inspre un alt cluster si
algoritmul se termina.
104

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