1 / 42

Aplicatii Web bazate pe semantica, agenti si servicii

http://turing.cs.pub.ro/webs_07. Aplicatii Web bazate pe semantica, agenti si servicii. Universitatea Politehnica Bucuresti Anul universitar 2007-2008, Master Adina Magda Florea. Curs 6. Negociere in SMA Negociere bazata pe teoria jocurilor Negociere pentru alocarea taskurilor

Download Presentation

Aplicatii Web bazate pe semantica, agenti si servicii

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://turing.cs.pub.ro/webs_07 Aplicatii Web bazate pe semantica, agenti si servicii Universitatea Politehnica BucurestiAnul universitar 2007-2008, MasterAdina Magda Florea

  2. Curs 6 • Negociere in SMA • Negociere bazata pe teoria jocurilor • Negociere pentru alocarea taskurilor • Negociere euristica

  3. 1. Despre negociere Agenti motivati colectiv = cooperare Agenti motivati individual = competitie Negociere = interactiune -> contract • Negocierea include: • un limbaj de comunicare • un protocol de negociere • un proces de decizie: concesii, criterii de acceptare/refuz • Single party or multi-party negotiation: one to many or many to many (eBay http://www.ebay.com) • Tehnici de negociere • Negociere bazata pe teoria jocurilor • Negociere euristica • Negociere bazata pe argumentare 3

  4. 2. Negociere bazata pe teoria jocurilor • Criterii de evaluare protocol negociere • Agentii se comporta rational • Comportare rationala = un agent prefera o utilitate / plata (utility / payoff) mai mare fata de una mai mica • Functa de utilitate • ui:  R •  = {s1, s2, …} • ui(s)  ui(s’) (s  s’)– ordonarea preferintelor asupra rezultatelor 4

  5. Doi agenti au 2 actiuni posibile: D si C ( Ac={C,D} ) • Mediul se comporta astfel: t: Ac x Ac   t(D,D)=s1 t(D,C)=s2 t(C,D)=s3 t(C,C)=s4 sau t(D,D)=s1 t(D,C)=s1 t(C,D)=s1 t(C,C)=s1 u1(s1)=4, u1(s2)=4, u1(s3)=1, u1(s4)=1 u2(s1)=4, u2(s2)=1, u2(s3)=4, u2(s4)=1 u1(D,D)=4, u1(D,C)=4, u1(C,D)=1, u1(C,C)=1 u2(D,D)=4, u2(D,C)=1, u2(C,D)=4, u2(C,C)=1 Agent1 D,D  D,C  C,D  C,C 5

  6. u1(D,D)=4, u1(D,C)=4, u1(C,D)=1, u1(C,C)=1 u2(D,D)=4, u2(D,C)=1, u2(C,D)=4, u2(C,C)=1 Agent1 D,D  D,C  C,D  C,C Matricea de plata (utilitate) 6

  7. 2.1 Criterii in negociere • Comportare rationala = utilitate (payoff) mai mare preferata fata de una mai mica • Maximizarea platii: plata individuala, plata de grup, sau bunastare sociala • Bunastare sociala • Suma utilitatii agentilor pentru o anumita situatie/solutie • Masoara binele general • Problema: cum compar utilitatile 7

  8. Eficienta Pareto • Eficienta Pareto • O solutie x, i.e., un vector de plata p(x1, …, xn), este eficientPareto (Pareto optimal) daca nu exista alta solutie x' a.i. cel putin un agent are o utilitate mai mare in x' decat in x si nici un agent nu are o utilitate mai mica in x' decat in x. • Masoara bunastarea globala dar nu necesita compararea utilitatilor • Bunastarea sociala  eficienta Pareto • Rationalitate individuala (IR) • IR a participarii unui agent = Plata agentului in urma participarii la negociere nu este mai mica decat plata lui daca nu ar participa la negociere • O negociere este IR daca este IR pentru toti agentii 8

  9. Strategie dominanta • Stabilitate • un protocol este stabil daca o data ce agentii au ajuns la o solutie ei nu deviaza de la aceasta • Strategie dominanta = agentul are o utilitate mai mare folosind aceasta strategie indiferent de ce strategii folosesc ceilati agenti t: Ac x Ac   s = t(ActA, ActB) rezultatul (starea) actiunilor ActAa agentului A si ActBa agentului B. O strategie S1 = {s11, s12, …, s1n} dominao alta strategie S2 = {s21, s22, …, s2n} daca orice rezultatsS1este preferat (este mai bun) oricarui rezultat s'S2. 9

  10. Echilibru Nash Echilibru Nash • Doua strategii, S1 a agentului A si S2a agentului B sunt in echilibruNash: • daca agentul A urmeaza S1 atunci agentul B nu poate obtine un castig mai mare decat acela obtinut daca urmeaza S2si • daca agent B urmeaza S2 atunci agentul A nu poate obtine un castig mai mare decat acela obtinut daca urmeaza S1. • Multime de strategii {S1, …, Sk} folosite de agentii A1, ..., Aksunt inechilibru Nashdaca, penru orice agent Ai, strategia Sieste cea mai buna strategie a lui Aidaca ceilalti agenti folosesc { S1, S2, …, Si-1, Si+1,…, Sk.}. Probleme: • nici un echilibru Nash • multiple echilibre Nash 10

  11. Dilema prizonierului Alt exemplu 11

  12. Strategii in jocuri repetate Turneul Axelrod Strategii • ALL-D – D tot timpul • RANDOM –C sau D cu probabilitate egala • TIT-FOR-TAT - C in primul tur - In turul t>1 ce a ales oponentul in t-1 • TESTER - D in primul tur - Daca oponentul a ales D atunci TIT-FOR-TAT - Altfel joaca 2 tururi C si 1 tur D • JOSS - TIT-FOR-TAT – dar cu 10% D 12

  13. 2.2 Vot – regula de alegere sociala • Ordoneaza iesirile posibile (rezultatele posibile) pe baza preferintelor individuale ale agentilor • A - set de n agenti •  - set de m rezultate posibile • Fiecare agent i A are o relatie de preferinat stricta <i :  x , asimetrica si tranzitiva Regula alegerii sociale • Intrare: relatiile de preferinta ale agentilor (<1, …, <n) • Iesire: elementele din  ordonate in functie de intrare – relatia de preferinta sociala <* 13

  14. Proprietati de dorit pentru o regula de preferinta sociala: • Ordonarea <* trebuie sa existe pentru orice intrare posibila (preferinta individuala) • <* trebuie sa fie definita pentru orice pereche (o, o')  • <* trebuie sa fie asimetrica si tranzitiva peste  • Iesirile trebuie sa fie Pareto optimale: dacai A, o <i o' atunci o <* o' • Nici un agent nu trebuie sa fie dictator dictator = o <i o' implica o <* o' pentru toate preferintele celorlalti agenti Arrow's impossibility theorem Nici o regula sociala nu poate satisface toate conditiile 14

  15. Protocoale de votare • Protocol pluralist – protocol de votare majoritara – toate alternativele sunt comparate simultan; castiga cea care are cel mai mare numar de voturi Problema – alternative irelevante • Protocolbinar – alternativele votate in perechi, cea care pierde este eliminata, cea care castiga intra in competitie cu restul Problema – agende diferite 15

  16. - 35% agenti c>d>b>a - 33% agenti a>c>d>b - 32% agenti b>a>c>d • Agenda 1: (b,d), d, (d,a) a, (c,a) a • Agenda 2: (c,a) a, (d,a) a, (a,b) b • Agenda 3: (a,b) b, (b,c) c (c,d) c • Agenda 4: (c,a) a (a,b) b, (b,d) d 16

  17. Protocolul Borda Multe alternative – protocolul binar este lent Borda – Contoare atribuite alternativelor = |  | puncte pentru cea mai mare preferinta, |  |-1 puncte pt urmatoarea, etc. • Contoarele se insumeaza pt fiecare alternativa si castiga cea cu punctaj maxim • Problema: nu acelasi castigator daca cea mai proasta alternativa este eliminata 17

  18. Protocol Borda - exemplu Agent Preferinta Agent Preferinta 1 a>b>c>d 1 a>b>c 2 b>c>d>a 2 b>c>a 3 c>d>a>b 3 c>a>b 4 a>b>c>d 4 a>b>c 5 b>c>d>a 5 b>c>a 6 c>d>a>b 6 c>a>b 7 a>b>c>d 7 a>b>c • c obtine 20, b 19, a 18, d 13 • elimin d – a 15, b 14, c 13 18

  19. 2.3 Licitatii • Protocoale simple • Centralizate • Licitatii cu valoare privata • Liciatii cu valoare comuna • Licitatii cu valoare corelata 19

  20. Protocoale de licitatii • English (first-price open cry) auction– fiecare participant anunta deschis pretul pe care il liciteaza. Cel mai mare pret castiga • Strategie dominanta: putin mai mult decat ultimul pret, ma opresc cand ajung la valoarea privata – in licitatii cu valoare privata • In licitatii cu valoare corelata; creste constant pretul pana decizie stop • First-price sealed-bid auction– fiecare participant anunta pretul in plic inchis. Castiga cel cu pret maxim • Nu exista stragie dominanta; ofera cel mult pana la valoare lui privata 20

  21. Dutch (descending) auction - the auctioneer continuously lowers the price until one of the bidders takes the item at the current price. • Echivalenta cu licitatia first-price sealed-bid • Vickrey (second-price sealed-bid) auction – trimite oferta in plic inchis. Castiga cel care a facut cea mai mare oferta dar plateste al doilea pret • Strategia dominanta: valoarea lui privata Probleme in licitatii 21

  22. 2.4 Echilibrul pietei • n bunuri g, g = 1,n, in cantitati nelimitate • preturi p=[p1, …, pn], unde pg R este pretul bunului g 2 tipuri de agenti: producatori si consumatori Consumatori: • vector de consumxi=[xi1,…,xin], xig R+ este cantitatea de bunuri g alocata consumatorului i. • functie de utilitate – ui(xi) – preferinta consumatorului i asupra vectorului de consum • repartitia initiala de bunuriei=[ei1,…,ein], eig este cantitatea din g repartiazata initial consumatorului i Producatori: • vector de productieyj=[yj1,…,yjn], yjg este cantitatea din bunul g pe care producatorul j o produce • Multime de productii posibileYj – vectori cu cantitatile posibil de produs 22

  23. Profitul producatorului j = p .yj, cu yj Yj. • ij procentul din productia lui j detinuta de consmatorul i • Profitul producatorilor este impartit intre consumatori in functie de aceste procente • Piata evolueaza • Preturile se schimba • Planurile de productie si de consum se schimba (tentativ) pana: • se ajunge la echilibru – are loc productia si consumul efectiv 23

  24. (p*, x*, y*) este in echilibru Walras daca: • se consuma cat se produce • fiecare consumator i isi maximimizeaza preferintele cu preturile stabilite • fiecare producator j isi maximizeaza profitul cu preturile stabilite 24

  25. Algoritmul "Distributed price tatonnement" Algoritm pentru facilitator: - pg=1 pentru orice g[1..n] - g un numar pozitiv pentru g [1..n] repeat - anunta p consumatorilor si producatorilor - primeste un plan de productie yj de la fiecare producator j - anunta planurile yj consumatorilor - primeste un plan de consum xi de la fiecare consumator i - for g=1 to n do pg = pg + g(i(xig - eig) - jyjg) until |i(xig-eig)- jyjg| <  pt oricare g [1..n] - Anunta producatorii si consumatorii ca s-a ajuns la echilibru 25

  26. Algoritm pentru consumatorul i: - repeat - primeste p de la facilitator - primeste un plan de productie yj pt fiecare j de la facilitator - anunta facilitatorului un plan de consum xi Rn+ care maximizeaza ui(xi) tinand cont de constrangerile de buget p.xi  p.ei + jijp.yj until facilitatorul anunta echilibrul - schimba si consuma Algoritm pentru producatorul j: repeat - primeste p de la facilitator - anunta facilitatorului un plan de productie yj  Yj care maximizeaza p.yj until facilitatorul anunta echilibrul - schimba si consuma 26

  27. 3. Alocarea taskurilor prin negociere • Alocare prin redistribuirea taskurilor • Alocare prin retea de contracte - Contract Net - Iterated Contract Net Se afla intre negociere teoretica si euristica 27

  28. 3.1 Redistribuirea taskurilor Domeniu orientat task = un triplet <T, Ag, c> unde • T– o multime de taskuri; • Ag = {1, . . . ,n} – multimea de agenti care participa la negociere; • c:P(T)  R+- functie de cost definita pentru orice submultime de taskuri din T • Functia de cost trebuie sa satisfaca 2 restrictii: • monotona • costul unui task trebuie sa fie diferit de 0 • O intalnire intr-un domeniu orientat task <T, Ag, c> are loc atunci cand agentilor din Ag li se atribuie taskuri de executat din T • Atribuire taskuri R = {E1, . . ., En}, Ei  T, i Ag 28

  29. Intrebare: intr-o intalnire, poate un agent sa obtina o utilitate mai mare prin redistribuirea taskurilor? • Fie: Ag = {a1, a2, a3} T = {t1, t2, t3, t4, t5} Intalnire R = {E1, E2, E3} cu E1 = {t1, t3}, E2 = {t2}, E3 = {t4, t5} Afacere (redistribuire)  = {D1, D2, D3} cu D1 = {t1, t2}, D2 = {t3, t4}, D3 = {t5} • Costul unei afaceri  • costul pt a1 c(D1) • costul pt a2 c(D2) • costul pt a3 c(D3) • Utilitatea unei afaceri= cat castiga agentul din afacere utilityi() = c(Ei) – c(Di), i = 1, 2, 3 29

  30. O afacere 1domina o afacere 2daca si numai daca: (1) Afacerea1este cel putin la fel de buna ca 2 pentru orice agent  i  {1,2} utilityi(1 )  utilityi( 2 ) (2) 1este mai buna decat 2 pentru cel putin un agent  i  {1,2} utilityi(1 ) > utilityi( 2 ) • O afacere domina slab o alta afacere daca (1) este adevarata • O afacere este individual rationala (IR) daca domina afacerea conflictuala • O afacere care nu este dominata de nici o alta afacere este Pareto optimala • Redistribuirea taskurilor = gasirea unei afaceri Pareto optimala 30

  31. Protocolul de concesiune monotona Negociere in mai multe runde 1. In prima runda (u=1), a1 si a2 propun afaceri din multimea de negociere: 1 si 2 2. daca a1 propune 1 si a2 propune 2 a.i: (i) utility1(2 )  utility1( 1 ) sau (ii) utility2(1 )  utility2( 2 ) atunci s-a realizat contractul si stop 3. altfel u  u+1 4. daca a1 propune 1 si a2 propune 2 a.i.: utility1(2u )  utility1( 2u-1 ) si utility2(1u )  utility1( 1u-1 ) 5. atunci executa pasul 2 6. altfel negocierea se termina cu conflict stop garantat sa se termine 31

  32. Problema: alocarea taskurilor ajunge intr-un maxim local Agenti nesinceri • Agentii pot minti despre taskurile pe care le au: • taskuri fantoma • ascund taskuri Diferente fata de negocierea bazata pe teoria jocurilor • Un agent poate refuza un contract IR • Un agent poate accepta un contract care nu este IR 32

  33. 3.2 Contract Net Initiator si licitatori/contractori 33

  34. FIPA - Contract net • Initiatorul solicita propuneri – • cfp: specifica taskul si conditii asupra lui, • de la n participanti (contractori) • Cei n participanti genereaza raspunsuri: • - i refuza (refuse) • - j=n-i propun (propose), inclusiv conditii • cfp include un deadline pt raspunsuri • (apoi sunt automat excluse) • Initiatorul evalueaza propunerile si • selecteaza l (intre 1 si j) agenti – • li se trimite mesaj de accept-proposal • si mesaj de reject-proposal la k=j-l agenti • Propunerile angajeaza participantii • Un participant trebuie sa raspunda cu: • - inform-done sau • inform-result (daca a executat taskul) sau • failure. • Interactiunea este identificata printr-un • unic parametru conversation-id 34

  35. Exemplu Agentul j ii cere lui i propuneri de vanzare a 50 cutii de prune si conditii de pret (cfp   :sender (agent-identifier :name j)   :receiver (set (agent-identifier :name i))   :content "((action (agent-identifier :name i)       (sell plum 50))      (any ?x (and (= (price plum) ?x) (< ?x 10))))"   :ontology fruit-market   :language fipa-sl)

  36. Exemplu Agentul j propune lui i sa-i vanda 50 cutii prune la pret de 5 (propose   :sender (agent-identifier :name j)   :receiver (set (agent-identifier :name i))   :content "((action j (sell plum 50))      (= (any ?x (and (= (price plum) ?x) (< ?x 10))) 5)"   :ontology fruit-market   :in-reply-to proposal2   :language fipa-sl)

  37. Exemplu Agentul i accepta pe j (accept-proposal   :sender (agent-identifier :name i)   :receiver (set (agent-identifier :name j))   :in-reply-to bid089   :content "   ((action (agent-identifier :name j) (sell plum 50))      (= (price plum) 5))) "   :language fipa-sl)

  38. Exemplu Agentul i il refuza pe k (reject-proposal   :sender (agent-identifier :name i)   :receiver (set (agent-identifier :name k))   :content "((action (agent-identifier :name k)        (sell plum 50))       (= (price plum) 20)       (price-too-high 20))"   :in-reply-to bid080)

  39. FIPA – Iterated Contract net 39

  40. 4. Negociere euristica • Produce o solutie buna dar nu optima (de obicei) • Modele de negociere informale • Nu exista un mediator central • Protocolul trebuie sa fie cunoscut de agenti (nu exista protocoale predefinite) • Nu exista un curs optim de urmat prescris • Accent pe procesul de decizie al agentului 40

  41. Obiectul negocierii (NO): aspectele asupra carora trebuie ajuns la un contract • NO: obiect, actiune, serviciu NO03: NO • Name: Paint_House • Cost: Value:100, Type: integer, Modif=Yes; • Deadline: Value: May_12, Type: date, Modif=No; • Quality: Value: high, Type: one of (low, average, high), Modif=Yes • (Request NO) – cere un obiect de negociere • (Accept name(NO)) – accepta cererea pentru NO • (Reject name(NO)) – refuza cererea pentru NO • (ModReq name(NO) value(NO,X,V1)) – modifica cererea prin modificarea atributului X al NO la o valoare V1 • Necesita definirea unui limbaj si a unui protocol 41

  42. Initiator Participant Request NO Reject NO Accept NO ModReq NO' val Reject NO' ModReq NO'' val Accept NO'' val Failure Inform done Protocol pentru primitivele definite 42

More Related