We instantiated our approach as an entry in the second Trading Agent Competition (TAC), as described in this section. Building on the success of TAC-00 held in July 2000 [Wellman, Wurman, O'Malley, Bangera, Lin, Reeves, WalshWellman et al.2001], TAC-01 included 19 agents from 9 countries [Wellman, Greenwald, Stone, WurmanWellman et al.2003a]. A key feature of TAC is that it required autonomous bidding agents to buy and sell multiple interacting goods in auctions of different types. It is designed as a benchmark problem in the complex and rapidly advancing domain of e-marketplaces, motivating researchers to apply unique approaches to a common task. By providing a clear-cut objective function, TAC also allows the competitors to focus their attention on the computational and game-theoretic aspects of the problem and leave aside the modeling and model validation issues that invariably loom large in real applications of automated agents to auctions []<see>rothkopf94. Another feature of TAC is that it provides an academic forum for open comparison of agent bidding strategies in a complex scenario, as opposed to other complex scenarios, such as trading in real stock markets, in which practitioners are (understandably) reluctant to share their technologies.
A TAC game instance pits eight autonomous bidding agents against one another. Each TAC agent is a simulated travel agent with eight clients, each of whom would like to travel from TACtown to Tampa and back again during a 5-day period. Each client is characterized by a random set of preferences for the possible arrival and departure dates, hotel rooms, and entertainment tickets. To satisfy a client, an agent must construct a travel package for that client by purchasing airline tickets to and from TACtown and securing hotel reservations; it is possible to obtain additional bonuses by providing entertainment tickets as well. A TAC agent's score in a game instance is the difference between the sum of its clients' utilities for the packages they receive and the agent's total expenditure. We provide selected details about the game next; for full details on the design and mechanisms of the TAC server and TAC game, see http://www.sics.se/tac.
TAC agents buy flights, hotel rooms and entertainment tickets through auctions run from the TAC server at the University of Michigan. Each game instance lasts 12 minutes and includes a total of 28 auctions of 3 different types.
In addition to unpredictable market prices, other sources of
variability from game instance to game instance are the client
profiles assigned to the agents and the random initial allotment of
entertainment tickets. Each TAC agent has eight clients with randomly
assigned travel preferences. Clients have parameters for ideal
arrival day, IAD (-
); ideal departure day, IDD (
-
);
hotel premium, HP (
-
); and entertainment values,
EV (
-
) for each type of entertainment ticket.
The utility obtained by a client is determined by the travel package
that it is given in combination with its preferences. To obtain a
non-zero utility, the client must be assigned a feasible travel
package consisting of an inflight on some arrival day AD,
an outflight on a
departure day DD, and
hotel rooms of the same type (TT or SS) for the days in between
(days such that
).
At most one entertainment ticket of each type can be assigned, and no
more than one on each day.
Given a feasible
package, the client's utility is defined as
A TAC agent's score is the sum of its clients' utilities in the optimal allocation of its goods (computed by the TAC server) minus its expenditures. The client preferences, allocations, and resulting utilities from a sample game are shown in Tables 3 and 4.
The rules of TAC-01 are largely identical to those of TAC-00, with three important exceptions:
TAC-01 was organized as a series of four competition phases, culminating with the semifinals and finals on October 14, 2001 at the EC-01 conference in Tampa, Florida. First, the qualifying round, consisting of about 270 games per agent, served to select the 16 agents that would participate in the semifinals. Second, the seeding round, consisting of about 315 games per agent, was used to divide these agents into two groups of eight. After the semifinals, on the morning of the 14th consisting of 11 games in each group, four teams from each group were selected to compete in the finals during that same afternoon. The finals are summarized in Section 6.
TAC is not designed to be fully realistic in the sense that an agent from TAC is not immediately deployable in the real world. For one thing, it is unrealistic to assume that an agent would have complete, reliable access to all clients' utility functions (or even that the client would!); typically, some sort of preference elicitation procedure would be required []<e.g.>boutilier02. For another, the auction mechanisms are somewhat contrived for the purposes of creating an interesting, yet relatively simple game. However, each mechanism is representative of a class of auctions that is used in the real world. And it is not difficult to imagine a future in which agents do need to bid in decentralized, related, yet varying auctions for similarly complex packages of goods.