CPS 296.2 Computational Game Theory and Mechanism Design

advertisement
CPS 296.2
Computational Game Theory
and Mechanism Design
Instructor: Vincent Conitzer
Assistant Professor of Computer Science
Assistant Professor of Economics
conitzer@cs.duke.edu
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
action
probability 1
action
probability .6
probability .4
Is this a
“rational”
outcome?
If not, what
is?
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)
“nature”
white
Qa1-a8
1 gets King
Qa1-f6
black
Kf8-f7
player 1
black
Kf8-g7 Kf8-g8
1 gets Queen
player 1
bet
stay
bet
stay
Kf8-e8
player 2
black wins white wins
•
•
•
draw
draw
Optimal play: value of each node =
value of optimal child for current
player (backward induction,
minimax)
For chess and Go, tree is too large
•
•
•
Top computer programs (arguably)
better than humans in chess, not yet
in Go
•
call
fold
2
1
call
1
fold call
fold call
fold
1
1
1
-2
-1
Player 2 cannot distinguish nodes connected by
dotted lines
–
– Use other techniques (heuristics,
limited-depth search, alpha-beta, …)
player 2
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
bid 1: $10
bid 2: $5
bid 3: $1
0
first-price: bid 1 wins, pays $10
second-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
bid 1: $10
a likely
outcome for
the first-price
mechanism
bid 1: $5
a likely outcome
for the secondprice mechanism
bid 2: $4
bid 3: $1
0
bid 2: $5
bid 3: $1
0
Are there other auctions that perform better? How do we know when we have found the best one?
Combinatorial auctions
Simultaneously for sale:
,
,
bid 1
v(
) = $500
bid 2
v(
) = $700
bid 3
v(
) = $300
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)
Braess’ Paradox (carelessly adding capacity can actually be hurtful!)
A
c(x) = 1
S
c(x) = x
A
c(x) = x
D
c(x) = 1
B
Game-theoretically optimal behavior:
½ goes through A, ½ goes through
B, everyone has cost 1.5
c(x) = 1
S
c(x) = 0
c(x) = x
c(x) = x
D
c(x) = 1
B
Game-theoretically optimal behavior:
everyone goes through BA, everyone
has cost 2!
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
Download