... and run as part of the competition: the Classic Travel Agent Scenario game [21] and ..... the current state of the auction in terms of the submitted buy and sell bids. .... may be encountered as part of everyday life (holiday planning, buying .... The service provider owns a server farm and offers computation slots, where slots ...
Simulated Electronic Markets: Design and Implementation Maria Fasli & Michael Michalakopoulos University of Essex, Wivenhoe Park, Colchester, CO4 3SQ, UK {mfasli;mmichag}@essex.ac.uk
Abstract Trading in electronic markets has been the focus of intense research over the last few years within the areas of Economics and Articial Intelligence. Software agents can be particularly useful in automating commercial transactions, negotiating for goods and services on behalf of their users reecting their preferences and perhaps negotiation strategies. Despite their increased popularity however, the huge potential of agents and multi-agent systems in e-commerce hasn’t been fully realised. One of the difculties is in testing trading agents and strategies in real life complex marketplaces. This is impractical and carries high risks. One approach to this problem is to create simulated electronic markets and test one’s strategies. Moreover, designing and implementing electronic markets to be used in real life problems is a complex and intricate process. Again simulated electronic markets may offer the only means to approach this in a systematic way. Guided by theory and following a detailed analysis of a given domain one can proceed to choose appropriate negotiation protocols and design and implement a market simulation game. Finally one can experiment to verify the appropriateness of the protocols used. This paper discusses the need for tools to support the design and implementation of simulated electronic markets. Such simulations can be treated as market games emulating real life problems and can be used to conduct research on mechanism design, markets and strategic behaviour. However, platforms or tools that would allow researchers and developers to design and implement their own marketplaces are currently lacking. To this end we discuss such a platform that provides the facilities for electronic market games to be developed that involve a variety of auction protocols. How the design and implementation of simulated electronic markets is aided is described and demonstrated with example games.
1 Introduction With the advent of the internet there has been a mounting interest in deploying agent-based and multi-agent systems to fully automate commercial transactions. Semi-autonomous software agents are continuously running entities that can negotiate for goods and services on behalf of their users reecting their preferences and perhaps negotiation strategies. Commercial transactions involve broadly speaking three main phases: rstly potential buyers and sellers must nd each other or meet in a marketplace, secondly they need to negotiate the terms of the transaction and nally they execute the transaction and the goods/monetary resources change hands. One of the most popular ways of negotiating for goods and services is via auctions [4, 9]. Auctions constitute a general class of negotiation protocols in which price is determined dynamically by the auction participants. The task of determining the value of a commodity is transferred from the vendor to the market, thus leading to a fairer allocation of resources based on who values them most. Auctions are perhaps better known as a means of selling works of art or antiques but with the growth of the internet electronic auctions have been used extensively to trade products and services ranging from holidays to computer spare parts [1]. Constructing trading agents to take part in auctions for a single good is relatively simple. However, in reality individual customers or businesses may have to negotiate for a bundle of perhaps interrelated goods being auctioned in different auctions following different rules. Developing agents that can compete in complex markets and participate in simultaneous auctions offering complementary and substitutable goods is a complex task. The successful performance of a trading agent does not only depend on its strategy but on the strategy of the other agents as well. Designing efcient and effective bidding strategies is difcult since real world data about trading agents is difcult to obtain.
One approach to this problem is to run simulated market scenarios and test one’s bidding strategies. However, the results of such experiments conducted by a single person may lack the touch of realism, since the bidding strategies explored may not necessarily reect diversity in reality. This is the central idea and major motivation behind the International Trading Agent Competition (TAC) [3] which features articial trading agents competing against each other in market-based scenarios. Currently two scenarios are available and run as part of the competition: the Classic Travel Agent Scenario game [21] and the more recent Supply Chain Management game [17]. Ideally, we would like open-source platforms where market-based scenarios could be implemented and researchers have the opportunity to build and test their trading agents against those of others. To this end, this paper describes a software platform that supports the design and implementation of electronic market simulations involving auctions. The rest of the paper is organised as follows. First we briey discuss the motivation behind our work. Next we discuss negotiation protocols in general and auctions in particular. The architecture and the most signicant features of the platform are described then. The following section discusses game development and the facilities provided by the e-Game platform to aid this. A simple game and its development process is also presented. Finally, the paper ends with the conclusions and pointers to future work.
2 Motivation The deployment of agent-based and multi-agent systems for trading in electronic markets has been the focus of intense research over the last few years. Unlike “traditional” software, agents are personalised, semi-autonomous and continuously running entities. Software agents can be particularly useful in automating commercial transactions, negotiating for goods and services on behalf of their users reecting their preferences and perhaps negotiation strategies. However, despite their increased popularity, the huge potential of agents and multi-agent systems in e-commerce hasn’t been fully realised [20]. There are two main reasons. Firstly, testing articial trading agents and strategies in real life complex marketplaces is difcult, and secondly there is a lack of trust, as it is usually the case with all new technologies. This lack of trust is of course related to the fact that trading agents and strategies are difcult to test. One approach to alleviate these problems is to run simulated market scenarios and test one’s bidding strategies. However, the results of such experiments conducted by a single person may lack the touch of realism, since the bidding strategies explored may not necessarily reect diversity in reality. This is the central idea and major motivation behind the International Trading Agent Competition (TAC) [3] which features articial trading agents competing against each other in market-based scenarios. Currently two scenarios are available and run as part of the competition: the Classic Travel Agent Scenario game and the latest Supply Chain Management game. Ideally, we would like open-source platforms where market-based scenarios could be implemented and researchers have the opportunity to build and test their trading agents against those of others. The need to build simulated market places is two-fold. Firstly, testing trading agents and strategies in real life complex marketplaces is difcult, impractical and carries high risks. Secondly, designing and implementing electronic markets is a complex and intricate process [11]. Not all negotiation protocols may be appropriate for a given situation. Simulated markets may offer the only way to actually approach these problems in a systematic way. Guided rst by theory and following a detailed analysis of a given domain one can proceed to choose appropriate negotiation protocols and then design and implement a marketplace, and nally verify the appropriateness of the protocols used through experimentation. Nevertheless, platforms or tools that would allow researchers and developers to design and implement their own marketplaces are currently lacking. Such market simulations or games that emulate real life problems can be used to conduct research on mechanism design, markets and strategic behaviour.
3 Negotiation protocols When agents are in competition or conict situations they do not interact randomly, but their interaction is governed by a set of rules, or otherwise a protocol. A negotiation or market protocol provides a set of rules and behaviours to be followed by agents that will interact in it. Mechanism design is the design of protocols governing strategic interaction among self-interested agents. A negotiation situation is characterised by four different elements: 1. A negotiation set which represents the space of possible offers or proposals that agents can make. 2. A protocol which denes the rules that the agents need to follow in order arrive at an outcome and also rules on what constitutes a legal offer or proposal.
3. A collection of strategies that agents can use to participate in the negotiation. The agents’ strategies are private, they are not dictated by the protocol itself and may take into consideration the possible strategies of other agents. 4. A rule that determines when an agreement has been reached or a solution has been found. There are a number of factors that determine the type of mechanism or negotiation protocol that can be designed for or employed in a particular situation: ² Number of attributes. Negotiation can take place over one attribute or many. Negotiating for a good with regards to price is single-attribute negotiation, but when more attributes are taken into consideration is multiple-attribute negotiation. Buying a car may involve negotiating only the price (single-attribute) or additional aspects such as the warranty, extras such as a CD player, leather seats etc. The number of attributes to be considered inherently complicates the negotiation process. ² Number of agents. The number of agents involved in the negotiation process also affects mechanism design. There are three distinct cases: 1. one-to-one. An agent negotiates with just one other. 2. one-to-many. An agent negotiates with a number of other agents. 3. many-to-many. Many agents negotiate with many other agents. If there are n agents, there are potentially n(n ¡ 1)=2 negotiation threads among them taking place simultaneously. ² Number of units. The number of items that are available also play a role in determining the best protocol to use as negotiation may be over one unit or multiple units. The price determination of multiple units may differ from protocol to protocol. ² Interrelated goods. In certain cases, negotiation is not taking place over one good, but a number of goods that are interrelated. The goods are only worth to agents when they are in combinations. So agents negotiate over packages rather than individual goods. The complexity of mechanisms for dealing with such negotiations is an open problem.
4 Auctions One of the most popular ways of negotiating for goods and services is via auctions [4, 9]. Auctions are a method of allocating goods based upon competition among the interested parties. They constitute one of the oldest forms of markets as some pinpoint their origin to Babylon in 500 BC. The term auction comes from the Latin root “auctio” which means “increase”. Nowadays all sorts of goods and services are being traded in auctions ranging from paintings to mobile phone licences. With the advent of the world wide web, auctions have become extremely popular as the negotiation protocol of choice for conducting consumer-to-consumer negotiations. Auction sites such as eBay [1] and onSale [15] have been reporting millions of dollars in transactions from auction sales. Governments have used auctions to auction mobile phone licences, rights to drill for oil and for privatising government owned companies. There are two main self-interested parties in an auction: ² The auctioneer. The auctioneer can be a seller who wants to sell goods at the highest possible price (or subcontract out tasks at the lowest possible price) who may be the owner of the good or service, or a representative of the actual seller. An auctioneer can also be a buyer who is looking to buy a good from a number of sellers at the lowest possible price. ² The bidders. The bidders can be buyers who want to buy goods at the lowest possible price (or get contracts at the highest possible price), or sellers who compete for sales. Agents that participate in auctions are self-interested rational agents that seek to maximise their own prot and they can have different attitudes towards risk. They can be risk prone, these are agents who are likely to raise their bids so that they are more likely to win, or risk neutral who are agents who bid more conservatively and will never exceed their true valuations. The steps involved in a typical auction process are as follows: ² Buyers and sellers register with an auction house.
Term Bid Buy bid Sell bid Process bid Price quote generation Bid quote Ask quote Clearance Clearing Price
Description Bids are offered by the bidder to buy or sell the auctioned good. A bid indicates a bound on the bidders’ willingness to buy or sell a good. The maximum price that a bidder is willing to pay to own a good The minimum price a bidder is willing to accept for selling a good. The auctioneer checks the validity of a bid according to the rules of the auction used and updates its database (manual or electronic). The auction house via the auctioneer or by other means may provide information about the status of the bids. The amount a seller would have to offer in order to sell a good. The amount a buyer would have to offer to buy a good. Through clearance buyers and sellers are matched and the transaction price is set. The nal transaction price that the buyer pays and the seller receives. Table 1. Common auction terminology.
² The auction event is set up. ² The auction is scheduled and advertised in the local press or via other means (internet, mailing lists etc.). ² The actual bidding then takes place, that is the bidders offer their bids according to the rules of the particular auction protocol used. ² The bids are evaluated and the auction closes with a winner being determined if any of the bids is successful. ² The transaction actually takes place: the buyer bidder pays for the goods and the seller ships them. Some common terminology used in auctions is described in Table 1. In auctions goods of undetermined quality can be sold and the price is set by the bidders not the auctioneer. Auctions can be used in one-to-many or many-to-many negotiations. They are very versatile as protocols and a number of mechanisms have been designed to deal with a variety of different requirements. Due to their variety and exibility auction protocols deserve special attention and therefore this entire chapter which constitutes the rst part of the discussion on negotiation will be devoted to them.
4.1 Classication of auctions There are a number of different auction formats used in marketplaces. Auctions can be distinguished into private value, common value and correlated value auctions according to the bidders’ valuation of the commodity. In private value auctions, the value of the good depends only on the bidders’ own preferences and usually the bidder wants to acquire a good for his/her own use and consumption. For instance a bidder may wish to acquire a painting for his own home. How much the painting is worth in this case depends on the bidder’s own valuation of the painting and his/her personal taste. In common value auctions, a bidder’s value of an item depends entirely on the others’ value of it, which in turn by symmetry is identical to the bidder’s, i.e. the good is worth essentially the same to every bidder, but the bidders may have different estimations of this value. In such auctions the bidders want to acquire the commodities for resale or commercial use. For instance in commercial auctions of works of art when bidders participate in an auction in order to acquire items for resale, as for sale in a gallery, the items are worth the same to every bidder, but each may have a different estimation of this value. In essence, the bidders have to think of how much their potential clients would be willing to pay for a particular item. In correlated value auctions, a bidder’s value depends partly on his/her own preferences and partly on what s/he thinks the other agents’ valuations are. For instance, an art collector may decide to acquire a painting partly because s/he likes it personally, but also as a potential investment with the view to sell it later for a higher price. In this case, the bidder’s valuation depends on his/her own tastes as well as on his/her beliefs and expectations about the likely increase in value of the item in the coming years. The bidding rules used further divide auctions into a number of categories as follows:
od go le ng Si
Co bi
S a t in g l tr e ib ut e
m na
M
ri
at ti-
to
ul
al
tr ut
si d
e
ib e
es
Si
bl
ng
ou
le
D id e
ou tc r
SB
in g nd
ry
in
sc e
tc
nd g
de
ou
ce
Dutch
as
SB
y
FPSB, Vickrey
English Call Market
CDA
Figure 1. Auction typology. ² Single good or combinatorial. In single commodity auctions bidders bid on one commodity only, whereas in combinatorial auctions bidders are allowed to submit bids in packages of commodities. In such auctions, it is often the case that goods are only worth to bidders in combination and not when sold separately. ² Single attribute or multi-attribute. In single attribute auctions the negotiation takes place over one dimension or attribute of the good, namely price. In multi-attribute auctions more than one attribute of the good are being negotiated upon, i.e. not only price, but warranty, or delivery day, colour etc. ² Single or double. In single sided auctions there is a single seller (or buyer) who negotiates with multiple buyers (or sellers), whereas in double auctions there are multiple buyers who negotiate with multiple sellers. ² Open (outcry) or sealed-bid (SB) auctions. In open auctions the bidders bid openly and thus the other bidders know theirs bids, whereas in sealed-bid auctions the bidders offer their bids in secret (in a piece of paper, via handshake, or electronically) and therefore the other bidders cannot know their bids. ² Ascending or descending price auctions. In ascending price auctions the commodities start at a low price and then the bids progressively increase. The highest bid gets the item. In descending price auctions the commodities start at a very high price which is then lowered by the auctioneer until a bidder decides to bid and obtain the item. ² First price or second price auctions. In rst price auctions the highest bidder wins and pays the value of his/her bid, whereas in second-price auctions the highest bidder wins but s/he only pays the amount designated by the second highest bid. A typology of auctions based on the above distinctions is illustrated in Figure 1.Nevertheless, this typology is not an exhaustive representation of all different varieties of auction formats. In particular, although multi-dimensional auctions such as combinatorial and multi-attribute auctions are included, more complicated formats such as multi-attribute combinatorial auctions have been left out. Multi-dimensional auctions are in general highly complicated auction formats and are currently the subject of research with somewhat restricted applications.
4.2 Auction formats In single side (single good, single attribute) auctions, agents are negotiating over one good which is available on its own (not in combinations), the negotiation has one dimension - usually price and there is one seller (or one buyer) and multiple buyers (or sellers). In double auctions there are multiple buyers and sellers. The following sections review the basic singleside auction formats as well as double auctions.
4.2.1 English auction The English auction is an open-outcry and ascending-price auction. It has been used for selling works of art, antiques, cars and other commodities. The general process is as follows: ² The auction begins with the auctioneer announcing the lowest possible price which often constitutes the reservation price. ² Bidders are then invited to submit bids. They are free to raise their bid and the auction proceeds to successively higher bids. ² When there are no more raises, the winner of the auction is the bidder of the highest bid and s/he pays the amount of the bid. The distinct characteristic of the English auction is that the bidders gain information by observing what the other bidders bid. This may be invaluable in forming their own strategy and in some cases even revising their valuation of the auctioned item. There are several variations on the English auction basic format. The bidder’s strategy in the English auction is a series of bids as a function of his private value, his prior estimates of the other bidders’ valuations, and the past bids of others. The bidder’s best strategy (dominant) is to bid a small amount more than the previous high bid until he reaches his private value and then stop. In this way a bidder may acquire an object for considerably less than his maximum valuation, simply because he need only increase each bid by a small increment. This on the other hand, means that the seller does not necessarily receive the maximum value for the auctioned good. 4.2.2 Dutch auction The Dutch auction is an open and descending-price auction. The general process is as follows: ² The auctioneer announces a very high opening price. ² Then the auctioneer keeps lowering the price until a bidder accepts it. ² The winner pays the price of his bid. The Dutch auction is very efcient in real time since the auctioneer can decrease the price at a brisk pace. As such it has been used for selling produce, sh and fresh owers. Each bidder needs to decide in advance the maximum amount that s/he will bid. The bidder must decide when to stop the auction, i.e. submit a bid, based upon its own valuation of the commodity and her/his prior beliefs about the valuations of the other bidders. No relevant information on the valuation of the other bidders is disclosed during the process of the auction until it is too late. Generally speaking, there is no dominant strategy in the Dutch auction. 4.2.3 First price sealed-bid auction In the rst-price sealed bid auction the bid that each bidder bids is sealed. Each bidder submits his own bid (usually in writing) without knowledge of the bids of others. The name rst price stems from the fact that the highest bidder wins and pays the amount of its bid. There are two distinctive phases: ² the bidding phase in which participants submit their bids; ² the resolution phase in which the bids are opened and the winner is determined. An agent’s strategy is his bid as a function of his own private value and prior beliefs about the other bidders’ valuations. There is no dominant strategy in the rst price sealed-bid auction. A high bid raises the probability of winning, but lowers the prot if the bidder is actually awarded the item. Assume that an agent bids his true valuation and this turns out that it is the highest bid, bh , and wins the auction. Now consider the second highest bid offered bh¡1 . The winner could have offered just a small increment on that price and still be the winner. Thus the difference between bh and bh¡1 represents a loss for the winner. Therefore, agents are better off not bidding their true valuations, but a small amount below it.
4.2.4 Vickrey auction The Vickrey auction is also known as the uniform second price sealed-bid or the philatelist auction. This form of auction was originally used by collectors to buy and sell stamps. William Vickrey who won the Nobel prize in 1996 for his work on analysing auctions, was the rst who studied and analysed the formal properties of this type of auction. As in its counterpart the rst price sealed-bid auction, there are two phases, the bidding and the resolution: ² Each bidder submits his bid without knowledge of the others’ bids. ² The bids are opened and the winner is determined - the highest bid wins. ² The winner pays the amount specied by the second-highest bid. The Vickrey auction sounds a bit peculiar at best or counterintuitive at worst. At rst sight one may think that no auctioneer would be willing to use it as he gets a lower prot. But in reality it works very well. Why does it work? Although it seems that the auctioneer would make more money out of a rst price sealed-bid auction, this is not the case. In the rst price sealed-bid auction the bidders do not have an incentive to bid their true valuations. In fact, quite the opposite, they will tend to underbid in order to cut their losses in case they are awarded the item. In contrast, in the Vickrey auction, bidders adjust their bids upwards since they are not deterred by fear that they will have to pay too much. Even if a bidder bids exactly his true valuation and wins the auction, one thing is certain, he will pay less than his bid. Even aggressive bidders pay a price closer to the market consensus. The price that the winning bidder pays depends on the others’ bids alone and not on any action that the bidder himself undertakes. The agent’s strategy is a function of his private value and his prior beliefs of the others’ valuations, but the best strategy for a bidder, which constitutes a dominant one, is to bid his true valuation. He then accepts all offers that are below its valuation and none that are above. Truth-telling in the Vickrey auction ensures that globally efcient decisions are being made; bidders do not waste time in counterspeculating what the other bidders will do. 4.2.5 Double auctions In double or two side auctions there are multiple sellers and multiple buyers that participate in an auction in order to trade a commodity. These types of auctions are more often used in exchanges and nancial markets for trading stocks, bonds, securities, etc. The general process is as follows: ² Both sellers and bidders submit their bids. ² The bids are then ranked highest to lowest to generate demand and supply proles. ² From the proles the maximum quantity exchanged can be determined by matching selling offers with demand bids. ² The transaction price is set and the market clears. Double auctions may clear either continuously or periodically. In continuous double auctions the buyers and sellers are matched immediately on detection of compatible bids, while in periodic double auctions also known as call markets or clearing houses, bids are collected over specied intervals of time and then the market clears at the expiration of the bidding interval. One of the issues in double auctions is determining the transaction or clearing price. Consider a set of single unit bids L. M of these bids are sell offers and the remaining N = L ¡ M are buy offers. The M th price rule sets the clearing price at the M th highest price among all L bids [23]. The (M + 1)st price rule sets the clearing price at the (M + 1)st highest price among all L bids. Determining the bids that are going to transact then, the transaction set, proceeds as follows: while the highest remaining buy bid is greater than or equal to the lowest sell bid, remove these from the set of outstanding bids (breaking the ties arbitrarily) and add them to the set of matched bids (transaction set). In the example of Figure 2 the M th price is 8 and the (M + 1)st price is 7. The transaction set consists of the bids {(12,3), (9,4), (8,5)}. For instance, take the rst set of bids in the transaction set (12, 3). If the M th price is used, then the buyer will pay 8 and the seller will receive 8. It turns out that the M th and (M + 1)st price rules are generic rules that apply not only in double auctions, but in single auctions as well. In the English auction there is a one seller and multiple buyers. The seller (auctioneer) may submit a reservation price and according to the rules of the auction the bidders will start submitting successively higher bids. The M th price in the English auction is going to be the highest bid submitted which determines the winner. In the Dutch auction the
L=13 Sell bids M =7
14 13 11
12
B uy bids N=6
10 9 8 7 6 5 4 3
2 price
L={14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2} M th (M + 1)st
Figure 2. Determining the Mth and (M + 1)st clearing prices. seller (auctioneer) starts by announcing a high price (bid) and then successively lowers it until a bidder accepts to pay that price. In this respect, as the auctioneer successively lowers the price, he essentially withdraws the previous bid and submits a new one. M is 1, and this is the Mth price which is the clearing price that the bidder is willing to pay when he announces that he accepts the auctioneer’s bid, it is as if the bidder submits a buy bid which is equal to that of the auctioneer. In the rst sealed bid auction the Mth price works in exactly the same way as the English auction, the auctioneer has a reservation price and the M th price is the highest bid in the auction. In the Vickrey auction, the clearing price is dened as the (M + 1)st bid among all bids. Again the auctioneer can be perceived as having a bid which is the reservation price, and the bidders submit bids. The winner is the bidder with the highest bid (Mth bid) but he only pays the (M + 1)st highest bid among all bids. The M th price is undened if there are no sellers and the (M + 1)st price is undened if there are no buyers. In double auctions and as there are multiple buyers and sellers there are mechanisms that allow the agents to obtain information about the current state of the auction in terms of the submitted buy and sell bids. The price quote reveals information to the agents as to whether their bids would be in the transaction set. The bid quote is the price that a seller must offer in order to trade, that is the (M + 1)st price. The ask quote is the price that the buyer must offer in order to trade, that is the M th price. 4.2.6 Multi-dimensional auctions Buyers and sellers are often interested in other attributes of a good apart from its price. For instance, when one negotiates the purchase of a car with a dealer, s/he can negotiate not only on the price, but other attributes too, such as for instance the warranty, or the extras such a CD player and leather seats or free insurance cover for a year. Auctions that allow bidders to submit bids on more than one attributes or dimensions of a good are called multi-attribute auctions [6]. Such auctions are common in procurement situations [18]. The attributes under negotiation are usually dened in advance, and bidders can compete either in an open-cry or sealed-bid auction on multiple attributes. Mechanism designers for multi-attribute auctions are faced with a number of problems in determining the winner for such auctions, also known as the winner determination problem. Multi-attribute auctions have been envisioned to extend the scope of auctions beyond the dimension of price to take into account additional qualitative attributes. This process allows more degrees of freedom for bidders in specifying their bids, while at the same time it allows for an efcient information exchange among the market participants. Such auction formats are currently the subject of extended research and experimentation.
A gent Interface
W eb Interface
e-G ame package
Events info
U pdate R etrieve
G ame A PI G ame D ata
G ame M anagers
G ame D ata
E-gam e database
A uction D ata
A uctioneer processes A uction Events
U pdate Events G ame Param eters
Scheduler
Figure 3. The architecture of e-Game. The auction formats described so far allow bidders to bid on individual goods. However, in reality there are situations in which one is not interested in a single good, but in a variety of distinct, but complementary and interrelated or substitutable commodities. It is thus often the case that goods are only worth to bidders in combination and not when sold separately. So buyers and sellers may have preferences not only for a particular commodity, but for sets or bundles of commodities. By allowing bidders to bid on combinations of different commodities, the efciency of the auction can be enhanced. Auctions in which bidders are allowed to bid on bundles of goods are called combinatorial or combinational auctions [8]. Combinatorial auctions are the focus of intense research [8],[13],[12], [14], [16], however, they are currently rare in practice. This has partly to do with the problems regarding efcient and computationally tractable mechanism design for such auctions and partly with the fact that such auctions are cognitively complex and therefore difcult to comprehend by participants.
5 e-Game e-Game (electronic Generic auction marketplace) is a congurable auction server in which participants may be humans or software agents. It is a generic platform that can be extended to support many types of auctions. Additionally, e-Game is designed to support auction games analogous to those found in the Trading Agent Competition [3] which can be designed and developed by third parties. e-Game is based on a modular architecture separating the interface layer from the data processing modules and the database (Figure 3). The database is used to model the auction space (auction type, startup,closing time, clearing rules), as well as the user data (registration, user bids, auctions the user created). It also stores information regarding the market simulations (which game started which auctions, ids of players, scores). It provides fault tolerance, in that the events queue can be reconstructed if there is a problem with the auctioneers or the scheduler. Its modularity and expandability are further strengthened by adopting the object-oriented paradigm for its components. The platform has been developed in JAVA in order to gain the benets of platform independence and transparency in networking communication and object handling. 5.0.7 Interfaces e-Game is designed to allow for both web users and software agents to participate and as such has two interfaces to the outer world: the Web and the Agent interfaces similarly to [22]. The Web interface provides a series of functions such as registration, creation of new auctions using a variety of parameters (auction type, information revealing, clearing and closing mechanism), bid submission, search facilities according to a series of attributes (auctioned item, status of auction, user’s participation in an auction) and viewing the user’s prole (change personal information, view previous auction information). The Agent interface provides agent developers the same functionality with the Web interface with respect to auctions plus an additional set of commands for participating in market games. Agents connect to the Agent Interface using the
Auction Type English Vickrey FPSB Dutch Continuous Single Double Auction
Sellers 1 1 1 1 1 Many
Units 1 1 1 1 Many Many
Buyers Many Many Many Many Many Many
Table 2. Auctions supported by e-Game. TCP protocol and submit their commands using a simple string format which complies with the syntax of the HTTP query string: (command: parameter1=value1n&..parameterN=valueN). This facilitates participation in individual auctions as well as auction-based market exercises. Such commands allow agents for instance, to retrieve information about an auction such as start up and closing time, submit bids to auctions or obtain information about the state of a submitted bid. The full set of commands is available for agent developers. For every command an agent submits, the e-Game platform returns an appropriate result together with a command status value that indicates the outcome of the command. The majority of the functions that the web users and the agents perform are identical and are implemented in a single package which is shared between the two interfaces. The advantage of such an approach is that both components can be easily extended in the future with the minimum effort in terms of implementation and testing. 5.0.8 Scheduler The Scheduler runs in parallel with the Web and the Agent interfaces and is responsible for starting up auctions, games and passing bids to the appropriate Auctioneer processes. The auctions can be scheduled by web users or by a specic GameManager handler according to a market scenario’s rules, whereas games are scheduled by web users. The Scheduler provides a fault-tolerant behaviour, since if it is brought off-line for some reason, when it is restarted it can reconstruct its lists of events by looking into the database for pending events. 5.0.9 Auction support Currently e-Game supports a wide range of auction types (Table 2). These basic types of auctions can be further rened by allowing the user to dene additional parameters that include [23]: ² Price quote calculation: Upon arrival of new bids, at xed periods or after a certain period of buy/sell inactivity. ² Auction closure: At a designated date and time or after a period of buy/sell inactivity. ² Intermediate clearing: Upon arrival of new bids, at xed periods or after a certain period of buy/sell inactivity. ² Information revelation: Whether the price quotes and the closing time are revealed or not. Such a parameterization can have an effect on the users’ or agents’ behaviour, since they modify the basic functionality of an auction as well as change the amount of information revealed regarding bids and closing time. The actual auctions are carried out by the Auctioneer classes. Each Auctioneer is started by the Scheduler and implements a specic auction protocol. Therefore, there are as many Auctioneer classes, as the number of auction protocols supported by e-Game. Since all the Auctioneers perform alike actions, they inherit the basic behaviour and state from a BasicAuctioneer class. Once an auction starts, the BasicAuctioneer class is responsible for generating the auction’s events based on the choices the user made during the setup. At a given moment in time there may be a number of similar or different classes of active Auctioneers within the e-Game platform, each one handling a different auction. The implementation of all auctions is based on the Mth and M+1st price clearing rules. The clearing rules for the auctions are just special cases of the application of the Mth and (M + 1)st clearing rules. However, much depends on the initial set up performed by the user. For instance to achieve a chronological order clearing in an auction one can set the intermediate clearing periods to be as soon as a bid is received and thus the parameterized auctioneer will attempt to perform intermediate clearings upon the arrival of a new bid. As in classical chronological matching, if a portion of the bid cannot transact, then it remains as a standing offer to buy (or sell). The implementation of the Mth and (M + 1)st clearing rules uses ordered lists.
6 Developing market simulations Apart from the support for agents and web users regarding auction operations, e-Game’s main feature is that it supports the design, development and execution of different market scenarios or games that involve auctions analogous to those of the Trading Agent Competition. The need to build simulated market places is two-fold. Firstly, testing trading agents and strategies in real life complex marketplaces is difcult, impractical and carries high risks. One approach to this problem is to run simulated market scenarios and test one’s bidding strategies. Secondly, designing and implementing electronic markets is a complex and intricate process [11]. Not all negotiation protocols may be appropriate for a given situation. Again simulated market games may offer the only way to actually approach this problem in a systematic way. Guided rst by theory and following a detailed analysis of a given domain one can proceed to choose appropriate negotiation protocols and then design and implement a marketplace game and nally experiment to verify the appropriateness of the protocols used. Since the e-Game platform allows for web users as well as agents to participate in auctions, it is feasible for everyone to participate in a market game as well. This may sometimes be desirable when comparisons between humans and software agents need to be drawn with respect to laying out a strategy to maximize utility. When designing a new market simulation, one should have in mind the following key points: ² Realism: The more realistic the auction scenario is, the more comprehensible it will be to the people who wish to develop agents to participate in it. Ideally, the auction-based market scenario should describe a realistic situation, which may be encountered as part of everyday life (holiday planning, buying interrelated goods, scheduling of resources). ² Strategic challenge: the game should present difcult strategic challenges that articial trading agents may have to face. ² Efcient use of e-Game: Ideally, the game should not be based on a single type of auction: there is range of auctions to choose from which can be further parameterised. The usage of different types of auctions raises more challenges for the participants, who will have to lay out different strategies depending on the auction type and the amount of information that is revealed at run time. ² Fairness with regards to specications: In an auction game different agents with most probably different strategies will try to accomplish a certain goal. Though the goal will be similar in concept for every agent (for example, assemble one computer by combining different resources), the achievement of individual goals will give different utilities for each agent. One should consider specications that give everyone the opportunity to come up with the maximum utility. ² Fairness with regards to agent design: Agents with a more appropriate bidding strategy should manage to achieve a better outcome, than agents with “naive” and “simplistic” strategies. When “naive” strategies actually represent corresponding actions in real life (for which people can actually reason), this prerequisite does not hold. However, the purpose of introducing this key point is that there should not be any aws in the market game that would allow non-realistic strategies to outperform rational ones. ² Computational efciency: The handler of an auction game should have the ability to operate in a real-time manner. Normally, there should not be any algorithms that take a long time to run, especially in critical time points. It is acceptable to have such algorithms at the end of the game when an optimal allocation may be required and scores have to be calculated. It is the developer’s responsibility to ensure that a game is realistic, fair and non-trivial. Transparency in e-Game is enforced by publishing the logles and outcome of auctions. In terms of implementation, game development is simplied by extending the GenericGame class as provided by eGame. Developers need to be familiar with the Java programming language and provide the implementation for a number of processes in the form of methods that are part of a game. In general a game involves the following phases: ² Set up. In this initial phase of the game the instructor sets up the game environment and species the auctions that are to be run and their parameters. ² Generation of parameters. These may include client preferences, initial endowments, other information regarding the state of the market, scheduled auctions, availability of goods and other resources and any other data the developer wants
Agents Clients
a
Auctions
b c d e f
Figure 4. The CMG market simulation. to communicate to each agent in the beginning of the game. The agents are responsible for retrieving this information and using it. ² Execution. e-Game runs the actual auctions that are part of the game and agents are allowed to submit bids according to the rules. Information is revealed according to the parameters specied in the setup. The agents are responsible for retrieving information on the status of their bids and making decisions accordingly. ² Score calculation. Success is usually measured in terms of a utility function. This obviously depends on the strategy that someone is using, but the utility function itself needs to be provided by the developer. The developer can also provide a sample agent that the participants can use as the basis to build on. This can also act as a “dummy” to ll in one or more of the available player slots when a game runs and not enough players have registered for playing. Finally, the developer may also provide an applet to be loaded at runtime which graphically represents progress during the game, so that participants and also others can observe it. In order to integrate a new game into the e-Game platform one needs to provide the class le, together with an XML le that describes general properties of the game such as the name of the game, the name of the implemented classes (game, applet), a short description for the game, its duration in seconds, the number of allowed participants and the resources (items) that this game uses. This information is then parsed by the GameImporter application and is stored in the database. Web users can then browse the web site and following the link Agent Games they can view all the installed types of games, together with appropriate links to schedule new instances, watch a current game and view previous scores. At the end of a game, participants can view scores and resources obtained by each agent. When a new game is scheduled, the Scheduler receives the corresponding event and at the appropriate time loads the user dened GameManager class. Since the name of the user dened class is not known until runtime, the Scheduler uses Java’s Reection mechanism to dynamically load it.
6.1 The Computer Market game To provide the reader with an idea of the type of market simulations that can be created using e-Game we will briey discuss two such simple market simulations1 . In the Computer Market Game (CMG), which lasts nine minutes, each of the six agents participating is a supplier whose task is to assemble PCs for its ve clients (Figure 4). For simplicity, there are only three types of parts that are necessary to make up a properly working PC: a motherboard, a case and a monitor. There are three types of motherboards, each one bundled with CPUs of 1.0 GHz (MB1), 1.5 GHz (MB2) and 2.0 GHz (MB3). There are two types of cases, one with a DVD player (C1) and the other with a DVD/RW drive (C2). There is only one monitor type. In the beginning of the game the agents receive their clients’ preferences in terms of a bonus value for upgrading to a better motherboard (MB2 or MB3) and a better case (C2). An example of preferences for an agent a is given in Table 3. Hence, client 2 of agent a offers 115 for motherboard MB2 and 180 for the MB3 one. For obtaining the better case (C2) the client offers 290. e-Game generates values in the following ranges: MB2 = [100..150], MB3=[150..200], C2=[200..300]. 1 Note:
both of these market simulations have been developed for teaching and not research purposes.
Agent a a a a a
Client 1 2 3 4 5
MB2 120 115 140 145 135
MB3 160 180 200 190 175
C2 245 290 220 285 250
Table 3. Example of client preferences. Component MB1 MB2 MB3 C1 C2 M
Quantity 17 8 5 20 10 30
Auction Mth Price Mth Price Mth Price Mth Price Mth Price Continuous single seller
Table 4. Component availability and auctions. Components are available in certain quantities and are traded in different auctions (Table 4). Figure 5 illustrates how the auctions for the various items are scheduled during the 9-minute period of the game. The dotted part of the lines indicate that the auctions may close anytime during that period, but the exact closing time is not revealed to the agents. An agent’s success in this game depends on the satisfaction of its clients. An individual client’s utility (CU) is: CU = 1000 + M otherboardBonus + CaseBonus For each client that has been allocated a completed PC the agent gets 1000 monetary units plus any bonus for upgrading to a better motherboard or case. If no completed PC is allocated to a client, then this utility is 0. For every extra component purchased which exceeds the quantity needed to satisfy its clients the agent has to pay a penalty which is perceived as a storage cost and is determined at the beginning of the game as a random amount between 150 and 300 units. This has been added as a disincentive to buy additional items surplus to requirements. An agent’s utility function is the sum of all the individual client utilities minus the expenses (E) and the penalties (P ) incurred: AU = (CU 1 + CU 2 + CU 3 + CU 4 + CU 5) ¡ E ¡ P The agent’s strategy should be focused on providing a PC to each one of its clients or to as many as possible, while at the same time trying to minimize costs. There are obvious interdependencies between goods, as a fully assembled PC requires three components. In creating a strategy for this game, one has to take into account that the availability of goods is limited, prices in auctions may vary, auctions close at different times and therefore one may have to switch to a different auction if they fail to acquire a certain good, and customers give different bonuses for upgrading to a better specication. Moreover, an agent’s success, does not only depend on its own strategy, but that of the other agents too. However, an agent does not have any means of knowing the identity of the other players or monitoring their bids. In order to implement the above scenario the developer would simply provide an XML le describing the general properties of the game (names of game and applet classes, number of players, duration of the game, auctioned resources), together with
Figure 5. Auction schedule in CMG.
Figure 6. The CMG applet. the appropriate classes. The specic GameManager would simply schedule the auctions at the beginning of the game by implementing the method startupGame and using the scheduleAuction methods. The next step would be to generate the parameters that each agent receives by implementing the method generateParameters. The utility of each agent would be calculated at the end of the game by examining the winning bids of each auction. Finally, any language resources that the developer used would be freed-up in the closeGame method. In addition, the developer may choose to write an applet so that web users can view the progress of their agent. Such an applet for this simple game is illustrated in Figure 6.
6.2 The Super Computer Farm Grid game Another simple game is based on the idea of having computer or server “farms”, that is, a large number of powerful computers or clusters of servers capable of executing computationally demanding jobs, is not new. Grids are clusters of interconnected computers that can collectively tackle large computational problems or provide quicker access to very large bodies of data. It is highly likely that services based on computer farms will be provided in the near future by big companies like IBM and Hewlett-Packard. Individuals and organizations would then be able to get slots of computation time to execute their jobs. This is the scenario explored in the Super Computer Farm Grid (SCFG) game. Each of the six participants in the game is a middle agent acting on behalf of 5 clients and each of these clients has a job or task that requires intensive computation. A job has a duration expressed as whole hours, and the client may like to have the results back by a certain time in the day. The service provider owns a server farm and offers computation slots, where slots are essentially hours of computation for a particular day. For simplicity, we assume that the jobs can be scheduled from 8:00 until 16:00. Each hourly slot can accommodate a number of jobs in parallel as there is a large number of machines. The number of jobs that can run in parallel during a slot is the same for all slots and set to 20. When the game starts each agent receives its clients’ preferences as shown in Table 5. Each agent has one client with a big job (4-5 hours), two with a medium job (2-3 hours) and 2 with smaller jobs (1-2) hours. Every job needs to be scheduled over consecutive hour slots. This means that the job of client 1 which has a duration of 5 hours needs to be scheduled over consecutive hour slots, i.e. if the job starts at 10:00 then it needs to be allocated 5 consecutive hours and nish by 15:00. The service provider acts as an auctioneer running 8 auctions in parallel one for each slot and offers hours in each slot at a price which is determined by a random walk in the interval [40-180]. Price quotes are issued every 30 seconds. The price can go up as well as down. An auction closes when there are no more hours available for a particular slot, though this can be
Agent a a a a a
Client 1 2 3 4 5
Job Duration (hours) 5 2 1 3 2
Deadline 16:00 15:00 12:00 14:00 11:00
Table 5. Client preferences in the CFG game.
Figure 7. The SCFG game aplet. changed so that auctions close randomly throughout the game to increase competition. The agent’s objective is to construct packages of hours so that the client requests can be satised. In the beginning of the game the agent needs to decide the hours that it needs to buy that will allow it to schedule all its clients’ jobs with the minimum penalty. To this end, it has to take into account the deadline by which the client has requested the results. Although this is not a hard deadline, nevertheless the agent is better off by adhering to it, as it will obtain the full utility. As conditions in the game change, i.e. slots are sold out, the agent has to consider alternative packages for its clients. The utility for a client i whose job can be satised is: CUi = 1000 ¡ (100 ¤ (ActualEndT ime ¡ Deadline)) For every hour that the computation results are delayed the agent looses 100 monetary units, while if the client cannot be satised itsPutility is 0. The agent’s utility is the sum of all the client utilities: AU = CUi ¡ Expenses ¡ P enalties For every extra slot purchased surplus to requirements the agent has to pay a cost which is considered to be a negative interest rate. At the end of the game and agent needs to decide which clients can be satised and report back the results of the allocation to the service provider (e-Game) which calculates the scores. This can be seen as sending the schedule of the jobs to be performed back to the vendor. As in the CMG game the results of the simulation can be viewed online through an applet as shown in Figure 7. The objective of this game is to allow participants to experiment with different search algorithms in attempting to schedule
their clients’ jobs as conditions change. Thus, using the facilities of e-Game one can design and develop simulations that do not concentrate on negotiation protocols themselves, but in other aspects, such as for instance efcient search and scheduling algorithms which may be important in certain areas such as supply chain management.
7 Conclusions The deployment of intelligent agents in commerce would bring about signicant advantages: it would eliminate the need for continuous user involvement, reduce the negotiation time and transaction costs and potentially provide for more efcient allocation of goods and resources for all parties involved. This paper discussed the need for tools to support the design and development of market simulation that could be used to conduct research on mechanism design, negotiation protocols and strategies. To this end, we described a tool that facilitates this. e-Game is a generic auction platform that allows web users as well as agents to participate in auctions and auction-based market games. The aim of the e-Game project is to offer the infrastructure for running complex market-based scenarios and conducting experiments with different bidding strategies. As such, this paper serves as an invitation to agent researchers and developers to use the e-Game platform to develop and test their ideas. The most important feature of e-Game and what distinguishes it as a platform from other efforts such as [19, 7, 22, 3, 2] is that it provides independent developers the facilities to design, implement and run auction-based market scenarios. Unlike [2] for instance, e-Game does not simply provide the facilities for scheduling, running or conducting experiments on the use of strategies in standalone auctions. Individual users/developers can write their own GameManager and dene complete market scenarios together with accompanying applets and sample agents that can be inserted and run on top of the e-Game infrastructure. The development of these modules is completely separate from the rest of the system. By making use of existing classes and documentation, users can develop new games quickly. The process of integrating user-developed scenarios is fully automated. This is feasible by introducing appropriate built-in classes for each module separately. By making use of Java’s Reection it is then possible to look into a newly introduced class and access its methods and data members. How game development is aided through e-Game is illustrated in the simple games discussed in the previous section. Moreover, e-Game provides the facility of having humans participate in complex market simulations as well as humans play against software agents. This may be useful in designing strategies and examining strategy efciency and complexity. One could study the benets from using agents in complex markets in a systematic way. For example, in a simple gamescenario, a human may do better than an agent, but it would be interesting to pit humans against software agents and study what happens when the scenario gets more complicated (penalty points, allocation problems etc.). A version suitable for human users for the CMG game has already been developed and some initial experiments have been run. Apart from using the platform for designing and running complex market experiments, it can also be used in teaching issues in negotiation protocols, auctions and strategies. Students can have a hands-on experience with a number of negotiation protocols and put into practice the principles taught. Currently e-Game is used in a graduate course on agent technology for e-commerce and forms the basis of an assignment in which students have to implement agents for the CMG game. e-Game has been extensively tested by individual users scheduling and bidding in a variety of auctions simultaneously. Two servers are currently in operation and so far more than 2000 instances of the CMG game in which six agents are connected have been scheduled and run without any problems. The individual auctions that e-Game can run do not have limits to the number of bids or bidders that they can accept. The TCPServer could practically support many agents, which could be participating in different games at the same time. Possible future extensions include the introduction of more complicated auction formats such as multi-attribute and combinatorial auctions [5]. Another possible future extension includes replacing the communication and bidding languages with a standard ACL language (FIPA ACL) similarly to [24]. We believe that such an action contributes to agents’ standardization and establishment of automated electronic markets. Finally, we are considering the possibility of introducing a rule-based specication such as [10] in order to describe complex market-based scenarios.
References [1] Ebay. http://www.ebay.com/. [2] JASA: Java Auction Simulator API. http://www.csc.liv.ac.uk/»sphelps/jasa/. [3] Trading Agent Competition. http://www.sics.se/tac/.
[4] Y. Bakos. The emerging role of electronic marketplaces on the internet. Communications of the ACM, 41(8):35–42, 1998. [5] M. Bichler. A roadmap to auction-based negotiation protocols for electronic commerce. In Hawaii International Conference on Systems Sciences (HICSS-33), 2000. [6] M. Bichler and J. Kalagnanam. Congurable offers and winner determination in multi-attribute auctions. European Journal of Operational Research, 160(2):380–394, 2005. [7] A. Chavez and P. Maes. Kasbah: An agent marketplace for buying and selling goods. In First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology (PAAM’96), pages 75–90, 1996. [8] S. de Vries and R. Vohra. Combinatorial auctions: A survey. Technical report, MEDS, Kellogg School of Management, Northwestern, 2000. [9] M. Kumar and S. Feldman. Internet auctions. In Proceedings of the 3rd USENIX Workshop on Electronic Commerce, pages 49–60, 1998. [10] K.M. Lochner and M.P. Wellman. Rule-based specications of auction mechanisms. In Third International Joint Conference on Autonomous Agents and Multi-agent Systems Conference (AAMAS), pages 818–825, 2004. [11] D. Neumann and C. Weinhardt. Domain-independent enegotiation design: Prospects, methods, and challenges. In 13th International Workshop on Database and Expert Systems Applications (DEXA’02), pages 680–686, 2002. [12] N. Nisan. Algorithms for selsh agents. In Proceedings of the 16th Annual Symposium on Theoretical Aspects of Computer Science (STACS’99), pages 1–15, 1999. [13] N. Nisan. Bidding and allocation in combinatorial auctions. In Proceedings of the 2nd ACM Conference on Electronic Commerce, pages 1–12, 2000. [14] N. Nisan and A. Ronen. Algorithmic mechanism design. Games and Economic Behavior, 35:166–196, 2001. [15] onSale. http://www.onsale.com/, 2005. [16] A. Pekec and M. H. Rothkopf. Combinatorial auction design. Management Science, 49(11):1485–1503, 2003. [17] N.M. Sadeh, R. Arunachalam, J. Eriksson, N. Finne, and S. Janson. TacŠ03: A supply chain trading competition. AI Magazine, 21(1), 2003. [18] J. Sun and N. M. Sadeh. Coordinating multi-attribute procurement auctions subject to nite capacity considerations. Technical Report CMU-ISRI-03-105, e-Supply Chain Management Laboratory, Institute for Software Research International, School of Computer Science, Carnegie Mellon University, 2004. [19] M. Tsvetovatyy, M. Gini, B. Mobasher, and Z. Wieckowski. Magma: An agent-based virtual market for electronic commerce. Journal of Applied Articial Intelligence, 6, 1997. [20] N. Vulkan. Economic implications of agent technology and e-commerce. The Economic Journal, 453:67–90, 1999. [21] M.P. Wellman, P.R. Wurman, K. O’Malley, R. Bangera, S.-D. Lin, D.M. Reeves, and W.E. Walsh. Designing the market game for a trading agent competition. IEEE Internet Computing, 5(2):43–51, 2001. [22] P. Wurman, M. Wellman, and W. Walsh. The Michigan Internet AuctionBot: A congurable auction server for human and software agents. In Proceedings of the Autonomous Agents Conference, pages 301–308, 1998. [23] P. R. Wurman, M. P. Wellman, and W. E. Walsh. A parameterization of the auction design space. Games and Economic Behavior, 35(1):304–338, 2001. [24] Y. Zou, T. Finin, L. Ding, H. Chen, and Pan R. Taga: Trading agent competition in agentcities. In Workshop on Trading Agent Design and Analysis held in conjunction with the Eighteenth International Joint Conference on Articial Intelligence (IJCAI), 2003.