CPS 296.2Computational Game Theory
and Mechanism Design
Instructor: Vincent Conitzer Assistant Professor of Computer Science
Assistant Professor of [email protected]
Course web page: http://www.cs.duke.edu/courses/fall06/cps296.2/
What is game theory?• Game theory studies settings where multiple parties
(agents) each have– different preferences (utility functions),– different actions that they can take
• Each agent’s utility (potentially) depends on all agents’ actions– What is optimal for one agent depends on what other
agents do• Very circular!
• Game theory studies how agents can rationally form beliefs over what other agents will do, and (hence) how agents should act– Useful for acting as well as predicting behavior of others
Penalty kick example
probability .7
probability .3
probability .6
probability .4
probability 1
Is this a “rational” outcome? If not, what
is?
action
action
Where is game theory used?• Economics (& business)
– Auctions, exchanges, price/quantity setting by firms, bargaining, funding public goods, …
• Political science– Voting, candidate positioning, …
• Biology– Stable proportions of species, sexes, behaviors, …
• Philosophy– Conventions, ethics, …
• And of course… Computer science!– Game playing programs, electronic marketplaces,
networked systems, …– Computing the solutions that game theory prescribes
A brief history of game theory• Some isolated early instances of what we would now
call game-theoretic reasoning– e.g. Haldegrave 1713, Cournot 1838
• von Neumann wrote a key paper in 1928• 1944: Theory of Games and Economic Behavior by
von Neumann and Morgenstern• 1950: Nash invents concept of Nash equilibrium• Game theory booms after this…• 1994: Harsanyi, Nash, and Selten win Nobel Prize in
economics for game theory work• 2005: Aumann and Schelling win Nobel Prize in
economics for game theory work
Game playing (& AI)perfect information
games: no uncertainty about the state of the game (e.g. chess, Go)
imperfect information games: uncertainty
about the state of the game (e.g. poker)
1 gets King 1 gets Queen
bet betstay stay
call fold call fold call fold call fold
“nature”
player 1player 1
player 2 player 2
white
black black
Qa1-a8 Qa1-f6
Kf8-f7 Kf8-g7 Kf8-g8 Kf8-e8
black wins white wins draw draw
2 1 1 1 -2 -11 1
• Optimal play: value of each node = value of optimal child for current player (backward induction, minimax)
• For chess and Go, tree is too large– Use other techniques (heuristics, limited-depth
search, alpha-beta, …)
• Top computer programs (arguably) better than humans in chess, not yet in Go
• Player 2 cannot distinguish nodes connected by dotted lines
– Backward induction fails; need more sophisticated game-theoretic techniques for optimal play
• Small poker variants can be solved optimally• Humans still better than top computer programs at
full-scale poker• AAAI-06 computer poker competition: top programs
all use game-theoretic techniques
Trading agents• Idea: given appropriate (e.g. web-based)
interfaces, software can automatically make buying and selling decisions, matching supply to demand– Note: optimal action depends on what other
(software, human) trading agents do → game theory
• Lot of automated trading in financial markets– Academic interest in financial markets too: e.g.
Penn-Lehman Automated Trading Project
• Academic competitions: TAC (Trading Agent Competition)
TAC Classic• Software travel agents put together travel packages
for clients– Agents compete in markets for flights, hotels,
entertainment – Goal is to maximize own clients’ utilities
TAC Supply Chain Management• Agents manage a computer assembly supply chain
– Compete for components from suppliers as well as customers
– Agents have limited-capacity assembly lines– Goal is to maximize amount of money in the bank
What is mechanism design?• In mechanism design, we get to design the game (or
mechanism)– e.g. the rules of the auction, marketplace, election, …
• Goal is to obtain good outcomes when agents behave strategically (game-theoretically)
• Mechanism design often considered part of game theory
• Sometimes called “inverse game theory” – In game theory the game is given and we have to figure
out how to act– In mechanism design we know how we would like the
agents to act and have to figure out the game• The mechanism-design part of this course will also
consider non-strategic aspects of mechanisms– E.g. computational feasibility
Example: (single-item) auctions• Sealed-bid auction: every bidder submits bid in a
sealed envelope• First-price sealed-bid auction: highest bid wins, pays
amount of own bid• Second-price sealed-bid auction: highest bid wins,
pays amount of second-highest bid
0
bid 1: $10
bid 2: $5
bid 3: $1
first-price: bid 1 wins, pays $10second-price: bid 1 wins, pays $5
Which auction generates more revenue?• Each bid depends on
– bidder’s true valuation for the item (utility = valuation - payment),– bidder’s beliefs over what others will bid (→ game theory),– and... the auction mechanism used
• In a first-price auction, it does not make sense to bid your true valuation– Even if you win, your utility will be 0…
• In a second-price auction, (we will see later that) it always makes sense to bid your true valuation
0
bid 1: $10
bid 2: $5
bid 3: $1
Are there other auctions that perform better? How do we know when we have found the best one?
0
bid 1: $5
bid 2: $4
bid 3: $1
a likely outcome for the first-price mechanism
a likely outcome for the second-
price mechanism
Combinatorial auctions
v( ) = $500
v( ) = $700
v( ) = $300
Simultaneously for sale: , , bid 1
bid 2
bid 3
used in truckload transportation, industrial procurement, radio spectrum allocation, …
Combinatorial auction problems• Winner determination problem
– Deciding which bids win is (in general) a hard computational problem (NP-hard)
• Preference elicitation (communication) problem– In general, each bidder may have a different value for each
bundle– But it may be impractical to bid on every bundle (there are
exponentially many bundles)
• Mechanism design problem– How do we get the bidders to behave so that we get good
outcomes?
• These problems interact in nontrivial ways– E.g. limited computational or communication capacity limits
mechanism design options
Voting over outcomes
> >
> >
voting rule (mechanism)
determines winner based on votes
• Can vote over other things too– Where to go for dinner tonight, other joint plans, …
• Many different rules exist for selecting the winner• Again, winner determination, elicitation, mechanism design problems
Routing & network design• Suppose that:
– Units of traffic are infinitesimal,– A traffic unit can choose any path from source S to destination D,– A traffic unit’s cost is the sum of the costs of the edges it travels on,– A traffic unit (selfishly) tries to minimize its own cost,– Each edge’s cost c is a nondecreasing function of the total amount of
traffic on it (congestion),– Total amount of traffic = 1 (by normalization)
S D
c(x) = x
c(x) = x
c(x) = 1
c(x) = 1
Game-theoretically optimal behavior: ½ goes through A, ½ goes through
B, everyone has cost 1.5
B
A
S D
c(x) = x
c(x) = x
c(x) = 1
c(x) = 1
Game-theoretically optimal behavior: everyone goes through BA, everyone
has cost 2!
B
A
c(x) = 0
Braess’ Paradox (carelessly adding capacity can actually be hurtful!)
Yet another TAC competition: CAT• Participants set rules for matching buyers and
sellers, and charging commissions– Trading agents (buyers, sellers) coded up by organizers– Commissions must be reasonable to attract traders
• First iteration of competition will be in 2007
• CAT =– 1. reverse of TAC– 2. catallactics = the science of exchanges