Sisteme multiagent. Licitatii
-
Upload
enrollinfo -
Category
Documents
-
view
217 -
download
0
Transcript of Sisteme multiagent. Licitatii
-
8/13/2019 Sisteme multiagent. Licitatii
1/6
1
Modelarea i analiza sistemelor multiagentLaboratorul 6
Licitaii
1. Aspecte generale .......................................................................................................................... 1
2. Descrierea licitaiilor.................................................................................................................... 12.1. Tipuri de evaluare a bunului licitat ...................................................................................... 1
2.2. Strategii in licitaii ................................................................................................................ 12.3. Tipuri de licitaie .................................................................................................................. 22.4. Coaliii .................................................................................................................................. 33. Exemplificare printr-o aplicaie....................................................................................................34. Aplicaii .......................................................................................................................................6
1. Aspecte generale
Licitaiile au loc ntre un agent numit licitatori mai muli ageni numii cumprtori. Scopulunei licitaii este ca licitatorul s aloce un bun unuia dintre cumprtori. De obicei interesullicitatorului este s maximizezepreul, n timp ce al licitatorului este s-l minimizeze.
n practic, exist mai multe tipuri de licitaii. Printre cele mai frecvent ntalnite se numr:licitaia englezeasc, licitaia olandez i tipul de licitare nchis.
2. Descrierea licitaiilor
2.1. Tipuri de evaluare a bunului licitat
- valori private: valoarea bunului depinde doar depreferinele personale ale cumprtorului; acestase presupune c tie valoarea bunului;- valori comune: valoarea unui produs pentru un cumprtor depinde de valoarea acelui produs
pentru alicumprtori;- valori corelate: valoarea unui produs pentru un cumprtor depinde parial de preferinele sale
personale i parialde valoarea acelui produs pentru alii.
2.2. Strategii in licitaii
Strategia unui cumprtorn licitaii const n modul n care va licita i naciunile pe care le vantreprinde cu scopul de a obine profit ct mai mare. Strategia dominanteste cea care genereazcele mai bune rezultate din punctul de vedere al profitului. Cumprtorulva obine profitul maximfolosind strategia dominant.
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab_masma.htm
-
8/13/2019 Sisteme multiagent. Licitatii
2/6
2
2.3. Tipuri de licitaie
English (first-price open cry)
Aceasta este un tip de licitaiefrecvent ntlnit, n cadrul cruia cel care liciteazncepe la preulde rezerv al obiectului i oferta nainteazprogresiv pn cnd nici unparticipant nu emite o ofert
mai mare. n aceast licitaie, fiecare ofert ine cont decelelalte oferte citate.
- licitaia pornete de la un pre stabilit;- cumprtorii pot anuna deschis preul pe care l liciteaz, care trebuie sfie mai mare dect
preul licitat pn n acel moment;- ctigcumprtorul care a oferit cel mai mare pre.
Observaii:
- Strategie dominant:cumprtorul oferpuin mai mult dect ultimul prei se oprete cndajunge la valoarea real abunului.
- Winners curse (ctigtorul licitaiei obine bunul licitat la unpre exagerat) n cazulincertitudinii referitoare la valoarea reala bunului licitat
- Licitatorul poate plasa cumprtorifalipentru a crete artificial preul.
First-price sealed-bid
La acest tip de licitaie, cumprtorii emit oferte n mod secret. Nici un ofertant nu cunoatecota unei alte oferte. Cel mai mare ofertat este premiat cu obiectul corespunztor preului oferteisale.
- o singur rundde negociere;- fiecare cumprtoranun preul n plic nchis;- ctigcel cu premaxim.
Observaii:
- Strategie dominant: cumprtorul face o ofert egal cel mult cuvaloarea privata bunului.Nu exist o soluie general pentru a determina ct demic ar trebui s fie aceast ofert.
Dutch (descending)
n acest caz, licitatorul pornete de la un pre ridicat i solicit un set deoferte descendente pncnd un cumprtor accept bunul la preul curent. O ofert suficient de mic propus chiar lanceputul licitaiei asigur faptul c bunul va fi vndut n cele din urm, dar exist posibi litatea calicitatorul s nu obin profit.
- licitaia pornete de la un pre stabilit- licitatorul scade preul pn cnd unul din participani accept preul.
Observaii:
- Susceptibil la winners curse (situaie n care ctigtorul ajunge s plateasc mai mult
dect valoreaz obiectul pe care l-a ctigat prin licitaie)-Nu exist strategie dominant.
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab_masma.htm
-
8/13/2019 Sisteme multiagent. Licitatii
3/6
3
Vickrey (second-price sealed-bid)auction
Cumprtorii fac oferte n mod secret. Ctig autorul celei mai mari oferte, care va primi bunulcorespunztor la preul dat de a doua ofert. La aceast licitaie, cel mai mare ofertant obinentotdeauna profit dac oferta acestuia este raional.
- o singur rundde negociere;- ofertele sunt secrete fa de ceilali cumprtori- ctig cel care a fcut cea mai mare ofert, dar pltete al doilea pre.
Observaii:
- Strategia dominant: se liciteazvaloarea reala bunului.- Avantajul acestui tip de licitaie este faptul c ncurajeaz cumprtoriisfie sinceri- Ctigtorul licitaieinu poate ti ct a licitat cel care a pierdut (locul al doilea), deci nu tie
dacpreul pltit (al doilea pre) este corect. O soluie ar fi folosirea de semnturi digitale sau a unei
tere pri de ncredere.- Se poate dezvolta un comportament antisocial: dacun cumprtor tie c va pierde, poate
crete intenionat preul pentru a-i face pe alii s plteasc mai mult.
2.4. Coaliii (col lusion )
Ori de cte ori la o licitaie ofertanii cunosc identitatea celorlaltor participani, exist riscul caacetia s se asocieze n scopul manipulrii rezultatului licitaiei, o practic cunoscut sub numelede collusion(ntelegere secret, coaliie).
- Nici un tip de licitaie nu este imun la coaliii- Se pot forma coaliii care s meninpreul sczut- Ctigtorul obiectului (care trebuie s facparte din coaliie) mparte profitul cu ceilali.
O alt practic ilegal prin care se poate a crete pretul unui bun licitat este urmtoarea:proprietarul bunului particip la licitaie, crescnd astfel concurena, licitnd fictiv i ieind dinlicitaie chiar nainte devaloarea licitat final.
n cazul licitaiilor cu plic nchis(oferte secrete), dacun cumprtor reuete s afle ofertelecelorlaltorparticipani la licitaie, el poate s:
- liciteze direct un pre care l va face s ctige;
- se retrag, tiind de la nceput c nu poate ctiga.
3. Exemplificare printr-o aplicaie
Aplicaia AgentAuction implementeaz o variant simplificat de licitaie English. Sepresupune c exist un singur bun licitat, nespecificat. Licitaia este gestionat de unmanagerAgent. Acesta nregistreaz serviciul AuctionService corespunztor licitaiei, apoiateapt solicitri de nregistrare i oferte de pre de la agenii cumprtori, n cadrulcomportamentului de tip ciclic ManagerReceive.
n sistem apar trei ageni cumprtori, care se solicit managerAgent-ului nregistrarea lalicitaie, prin comportamentul BuyerRegisterde tip oneshot:
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab_masma.htm
-
8/13/2019 Sisteme multiagent. Licitatii
4/6
4
publicoverridevoidaction(){
//inform managerAgent that I want to register for the auction
ACLMessagem= newACLMessage(ACLMessage.INFORM);
AIDreceiverAID= newAID("managerAgent", AID.ISLOCALNAME);m.addReceiver(receiverAID);m.setContent("registering");myAgent.send(m);
myAgent.windowsForm.AddTextLine("Registering for auction ...");}
managerAgent-ul adaug ntr-o structur de date proprie AID-urile agenilor cumprtori caresolicit nregistrarea, i le confirm faptul c au fost nregistrai cu succes (n comportamentulManagerReceive):
if(received.Contains("registering")){//sender wants to register for auctionmyAgent.participantList.Add(sender);
//reply to sender that registration was successfulACLMessagereply= newACLMessage(ACLMessage.INFORM);reply.setContent("registered");reply.addReceiver(sender);myAgent.send(reply);
myAgent.windowsForm.AddTextLine("New participant: "+sender.getLocalName());
}
Licitaia se desfoar pe runde. Acestea sunt iniiate i ncheiate periodic de ctremanagerAgent n comportamentul ManagerSend de tip TickerBehavior. O rund const n
primirea i evaluarea ofertelor de pre de la agenii cumprtori. La nceput, managerAgent-ultrimite cumprtorilorun pre iniial al produsului, pentru ca apoi, n fiecare rund, s le trimit celmai marepreprimitpn n acel moment:
publicoverridevoidonTick(){
intnParticipants= myAgent.participantList.Count;
if(nParticipants> 1) // still more than 1 agent making offers{/* New auction round:* send calls to the participantsinform them on current auction priceask them to send new offers*/ACLMessagetoSend= newACLMessage(ACLMessage.INFORM);toSend.setContent("current_price"+ myAgent.currentPrice);
foreach(AIDainmyAgent.participantList)toSend.addReceiver(a);
myAgent.send(toSend);
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab_masma.htm
-
8/13/2019 Sisteme multiagent. Licitatii
5/6
5
myAgent.windowsForm.AddTextLine(Environment.NewLine+ "New Round:current price is "+ myAgent.currentPrice);
}elseif(nParticipants== 1) //only one agent left, the winner{
AIDwinner= myAgent.currentWinner;myAgent.windowsForm.AddTextLine(Environment.NewLine+ "Auction over.
Winner is "+ winner.getLocalName() + " with price: "+myAgent.currentPrice);
this.stop();}else// no participants left{
myAgent.windowsForm.AddTextLine(Environment.NewLine+ "Auction over.All participants retreated.");
this.stop();}
}
La primirea informaiilor legate de preul maxim din licitaie (n cadrul comportamentului
BuyerReceive), agenii cumprtori decid, cu o anumit probabilitate, dacfac o ofert de pre maimare, sau dac se retrag din licitaie. Ei trimit managerAgent-ului rspunul corespunztor:
if(received.Contains("current_price")){
// received new call from managerAgent
//the highest current price is:intcurrentPrice= Convert.ToInt32(received.Remove(0, 13));myAgent.windowsForm.AddTextLine("Received current price: "+
currentPrice);
// probability to make offer decreases with each price increase
myAgent.probabilityToBid*= myAgent.probabilityDecreaseFactor;
ACLMessagetoSend= newACLMessage(ACLMessage.INFORM);toSend.addReceiver(m.getSender());//use agent name to generate unique seed for random numbersintseed= 1234 * Convert.ToInt32(myAgent.getLocalName().Remove(0, 5));//decide if to send new offer or retreatif(myAgent.probabilityToBid> newRandom(seed).NextDouble()){
//make an offer which is higher than the current priceseed= 4321 * Convert.ToInt32(myAgent.getLocalName().Remove(0, 5));intnewPrice= currentPrice+ newRandom(seed).Next(1,
myAgent.maxOfferIncrease);
toSend.setContent("offer"+ newPrice);myAgent.windowsForm.AddTextLine("Sent new offer: "+ newPrice);
}else{
//price is too high, retreat from auctiontoSend.setContent("retreat");myAgent.windowsForm.AddTextLine("Retreated from auction.");
}myAgent.send(toSend);
}
Licitaia se ncheie cnd fie rmne un singur cumprtor (care va fi si ctigtorul), fie se
retrag toi cumprtorii(comportamentul ManagerSend).
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab_masma.htm
-
8/13/2019 Sisteme multiagent. Licitatii
6/6
6
4. Aplicaie
4.1.Sse implementeze protocolul de licitaie Vickreyprezentat mai sus. Caracteristici:
Licitatorul va avea o listde produse; Cumprtorii vor avea un pre (valoare privat) care va varia +/- 10% de la un agent la altul
pentru fiecare produs;
Cumprtorii se vor nregistra ca participani la licitaie; Licitatorul va comunica startul, informnd asupra obiectului scos la licitaie: produs,
caracteristici, perioada de ateptare a ofertelor; Cumprtorii vor trimitecte o ofertde pre; Dup ce perioada de ateptarea ofertelor a expirat, licitatorul va analiza ofertele primite i
va trimite:
o mesaje celor care vor pierde licitaia, ce vor conine informaii despre preul dat dectigtorul licitaiei i preul care l va plti acesta pentru produs;
o un mesaj ctigtorului licitaiei, ce va conine informaii despre preul oferit de
acesta i preul ce va trebui pltit (al doilea pre).
Modelarea si analiza sistemelor multi-agent - Laborator
http://florinleon.byethost24.com/lab masma.htm