Title: Economics and Computer Science
1Economics and Computer Science
- CS595, SB 213
- Xiang-Yang Li
- Department of Computer Science
- Illinois Institute of Technology
2Course information
- Instructor XiangYang Li
- Xli_at_cs.iit.edu, 312-567-5207, SB 237D
- Homeworks?
- Exams?
- Projects?
- Gradings?
3What is this course about
- Using economics concept to solve some questions
in computer science and vice versa
4What is economics?
- What does economics study typically?
- Traditionally, business is follows
- Business is war
- Outsmart the competition
- Capture the market share
- Make a killing brand
- Beating up supplies
- Locking up customers
- It is not enough to succeed. Others must fall.
5Nowadays
- Doing business, we have to
- Listen to customers
- Work with suppliers
- Create teams
- Establish strategic partnerships
- Even with competitors
- Business is not war,
- You do not have to blow out the other fellows
light to let your own shine! - but business is not peace either
- Battle with competitors over market share, fight
suppliers for cost, - What it is then?
6A new mindset
- Business is
- Cooperation when it comes to creating a big pie
- And competition when it comes to divide it up!
- Have to compete and cooperate at the same time
- To find a way bring together competition and
cooperation, we use - Game theory
7What is computer science?
- Algorithms and protocols to solve questions
efficiently - Algorithms
- how to solve questions
- Programming language
- tool to implement out ideas
- Architecture
- way to build the machines to solve the questions
- Computer networking
- way of exchange information
- Etc.
8What are assumptions of CS?
- Traditionally
- Single computer, single user
- So concentrate on efficiency, and cost
- Assume that the computing devices will follow our
protocols - Computer networking
- Still efficiency, and cost
- May consider fault tolerance, malicious devices
- Thus, security is a issue
9Not always true
- The network devices could be neither cooperative
nor malicious - Example wireless networking
- Peer-to-peer computing
- grid computing
- Computing devices and terminals belong to
different users, and organizations - Individual users are selfish
- Want to maximize its own benefit if possible
10Example Wireless networks
- No wired structure
- Self-organized
- All nodes as routers
- Broadcasted signal
- Powered by battery
- Scarce energy memory
- Mobile
11Selfish Users
- How to model this?
- Turn to game theory
- How to achieve a global system gold when selfish
users are present? - Economics results
- How to implement this?
- Combine with cryptography and security
- Is it efficient?
- Combine with traditional computer science wisdoms
12The game view of business
- Five basic elements of a game (PARTS)
- Players
- Added values
- Rules
- Tactics
- Scope
13Value Net
customers
Company
complementors
competitors
suppliers
14Value Net
- Complementor
- A player is your complementor if customers value
your product more when they have the other
players product than they have your product
alone. - Inter vs. Microsoft
- Competitor
- A player is your complementor if customers value
your product less when they have the other
players product than they have your product
alone. - Coca-cola vs. Pepsi-cola
15Game Theory
- An example
- Prof. Adam and 26 students
- Adam keeps 26 black cards and distributes 26 red
cards one to each student - Dean offer 100 for a pair of red and black cards
- Restriction students cannot gather together and
bargain as a group with Adam. - What will each negotiation end up?
50/50 split
16What happens if
- Another example (Barrys card game)
- Prof. Adam and 26 students
- Adam keeps 23 black cards and distributes 26 red
cards one to each student - Dean offer 100 for a pair of red and black cards
- Restriction students cannot gather together and
bargain as a group with Adam. - What will each negotiation end up?
Likely 90/10 split
17Added Value
- Your added value
- Size of the pie when you are in the game minus
the size of the pie when you are out of the game - Example
- Card game one
- Added value of Adam is 2600, each student is
100, so total added value is 5200 - Barrys game
- Added value of Adam is 2300, each student is 0,
so total added value is 2300!
18What does it tell?
- Instead of focusing on the minimum payoff you are
willing to accept, be sure to consider how much
the other players are willing to pay to have you
in the game! - Do not confuse your individual added value with
the larger added value of a group of people in
the same position of the game as you - Example Barrys card game
19Rules
- Rules can change the game
- Card game example
- Rule take-it-or-leave-it negotiation a student
can either accept or reject the offer by Adam,
but not counter-offer, nor second offer from
Adam. - What will the negotiation turn out to be?
- A 50/50 split or 90/10 split or something else
- Who is more powerful now?
20Rationality and Irrationality
- Game theory assumes rational player
- Maximize its profits
- Understand the game
- No misperceptions
- No feelings of pride
- No fairness
- No jealousy, spite, vengefulness, altruism
- But the world is not like this
- So much for game theory, ?
21What is rationality
- Rationality means
- A player is rational if he does the best he can,
given how he perceives the game, including his
perceptions of perceptions, and how he evaluates
the various possible outcomes of the game - A player can percept wrong and still be rational
he is doing the best he can given what he knows.
22Rationality as a Paradigm forInternet Computing
- Noam Nisan
- Hebrew University, Jerusalem
23Contents
- The Internet and the new face of computing
- Analyzing computing systems in equilibrium
- Designing computational mechanisms
- A defining problem Combinatorial auctions
24What is Computing?
- 20th Century
- (second half)
- 21st century
- (first decade)
The Internet
von Neumann Machine
25The Internet
- Huge dynamic heterogeneous distributed system
normal distributed CS - Not centrally owned different parts owned by
different people, firms, or organizations with
differing goals CSeconomicsgame-theory
26TCP Retransmission Rule
- Transmission Control Protocol
- Used for most Internet communication
- Breaks messages into packets, and
- assembles the packets back into messages
- Handles packet delay/loss
- TCP Retransmission Rule
- When a packet is lost, decrease transmission rate
(by a factor of 2) - Rational Network is congested fix it by
reducing demand down to capacity
27TCP Retransmission Rule
- Improved Rule
- When a packet is lost, start sending each packet
twice - Rational Packets are lost fix it by increasing
the probability that at least one copy of each
packet arrives - Why not?
28Internet Resource Sharing
- The vision
- everyone connected to the Internet should have
access to all resources that are connected to the
Internet - Examples
- CPU-time
- Files
- I/O devices
- Data
- Knowledge
- Humans
- Why share?
29Electronic Commerce
- How will computers talk business?
- Using communication, security software, agents,
- Using standards XML, .NET, J2EE, and other
TLAs - What will they say to each other?
- Book X costs Y
- Bid X for Y units of stock Z
- Heres a complicated offer to you guys _at_
30Internet Computing Protocols
- Should take into account
- Computational issues
- CPU time, communication, robustness, memory,
languages, - Incentive issues
- Selfishness, strategies, payments, coalitions,
risk, - Should combine the points of view of Computer
Science and of economics - Should apply game theory in a computational
context - Rational behavior is more easily assumed from
computers than from humans - The strategy is in the software
31At All Protocol Levels
High level (traditional business domain)
- eCommerce eStores, auctions, exchanges, supply
chains - Online Services games, web-hosting, ASPs
- Information Resources music, databases
- Computational resources CPU, disk space,
proxies, caching, - Network Infrastructure routing, admission
control, QoS
Low level (traditional CS domain)
32The Price of Anarchy
- Take a normal CS protocol that works well if
everyone does what they should. - Say Oh my god the participating computers may
do whatever they want - Analyze what happens when they do whatever they
want - Radical departure from CS want ? utility ?
rationality ? game-theory ? equilibrium - Aim to prove that things are still not too bad
- Or else argue against using on the Internet
33Minimizing Packet Delay
Braesss Paradox
constant delay
delay proportional to load
x
1
0
1
x
- Many smallpackets total quantity 1
- Each knows the delay situation
- Each chooses how to get to destination
34Minimizing Packet Delay
Braesss Paradox
1
0.5
0.5
1
1/2
x
1
Optimal routing (delay 1.5)
0
1
x
1
- Many smallpackets total quantity 1
- Each knows the delay situation
- Each chooses how to get to destination
0
1
Selfish routing (delay 2.0)
35The Price of Anarchy is Low
RoughgardenTardos
- Theorem for all network topologies, for all sets
of routing requests, for all delay functions on
the links - If all delays are linear functions, then the
previous example is as bad as it gets the price
of anarchy is at most a factor of 4/3 in delay - For general delay functions, doubling the edge
capacities compensates for selfishness the
price of anarchy is at most a factor of 2 in
infrastructure
36Algorithmic Mechanism Design
NisanRonen
- Design the protocols so that they will work well
under selfish behavior of participants - work well the usual computational
optimization goals - under selfish behavior the usual
game-theoretic concepts of equilibrium - Use notions and techniques from the economic
field of Mechanism Design - Inverse game-theory
- Concentrate on incentive compatibility
(truthfulness) - Equilibrium is reached when all players report
their private information truthfully - The revelation principle shows that this is
without loss of generality
37VCG-Mechanism in CS
Vickrey-Clarke-Groves
- Basic positive result in mechanism design
- Allow monetary transfers to/from participants
- Basic idea internalize externalities
- Each player pays/gets the total loss/benefit in
utility he causes to all others ? All players see
the same goal optimizing the total sum of
players utilities
38VCG-Mechanism in CS
Vickrey-Clarke-Groves
Pay 70 (80-10) Clarke tax
Caching XXX will save me 100
Shared Cache
Caching XXX will cost me 80
Caching XXX will save me 10
39Beyond Classical Mechanism
- New domain of problems
- Parameter-complexity e.g. structure of network
- Brave-new-world disregard human conventions and
biases - New optimization goals
- Not just sum-of-utilities e.g. make-span in
scheduling - New limitations
- Computational complexity
- Distributed implementation
- Interaction with usual mechanism design often
problematic - New biases regarding solution concepts
- Computer scientists dont like Bayesian analysis
real-world distributions are too different from
those in our analysis worst-case will happen - Computer scientists are happy with
approximations optimality is often too hard
40Some Recent Results
- Selling digital goods (unlimited supply)
GoldbergHartlineWright - A randomized mechanism can approximate monopoly
price revenue - Scheduling jobs on unrelated machines
NisanRonen - No better than 2-approximation for the make-span
is possible, but randomized mechanisms can do
better - Scheduling jobs on related machines
ArcherTardos - A polynomial time 3-approximation mechanism for
the make-span - Cost-sharing for multicast transmissions
FPS - VCG mechanism can be implemented in linear
communication - Auctions using a few bits
BlumrosenNisan - An auction with 1-bit from each player can
achieve 98 efficiency
41Combinatorial Auctions
- Most mechanism design problems involve resource
allocation - The central problem in classical mechanism design
is an auction how to allocate a single
indivisible good? - Abstracts many resource allocation problems
- English auction, Dutch auction, first price
sealed-bid auction, - Gold standard Vickreys 2nd price auction
- The emerging central problem in algorithmic
mechanism design is a combinatorial auction how
to allocate a collection of goods, with complex
dependencies between them? - Abstracts many complex resource allocation
problems - Involves a wide spectrum of computational and
game-theoretic issues
42Combinatorial Auction Problem
- N indivisible non-identical items are sold
concurrently - k bidders compete for subsets of these items
- Each bidder j has a valuation for each set of
items vj(S) value that j assigns to acquiring
the set S - vj is monotonic non-decreasing (free disposal)
- Objective Find a partition (S1Sk) of 1..N
that maximizes the social welfare ?j vj(Sj). - Means protocol between bidders and auctioneer
- Difficulties communication, computation,
incentives
43Complements and Substitutes
- vj() may have complements vj(S?T) gt vj(S)vj(T)
for some S and T. - Extreme case single-minded bid -- will only
pay for a complete package -- pay p for the set S
but pay nothing for anything else - vj() may have substitutes vj(S?T) lt vj(S)vj(T)
for some disjoint S and T. - Extreme case unit demand bid -- will pay for
at most a single item the price may depend on
the item
44Routing as Combinatorial Auction
Bidder A
Destination
Bidder B
Bidder C
- Each bidder wants to buy some path to the
destination - Each link is an item
45The FCC Spectrum Auctions
- The FCC auctions spectrum licenses for many
geographic regions and various frequency bands - These auctions have raised billions of dollars
- The value of a license to a bidder depends on the
other licenses it holds - Currently licenses are
- sold in a simultaneous
- auction
- USA Congress mandated
- that the next spectrum
- auction be made
- combinatorial.
3.1-3.2GHz
3.1-3.2GHz
3.2-3.3GHz
3.2-3.3GHz
3.3-3.4GHz
3.1-3.2GHz
3.2-3.3GHz
3.1-3.2GHz
3.1-3.2GHz
3.2-3.3GHz
3.2-3.3GHz
3.3-3.4GHz
46Basic Mechanism Approach
- Basic Solution
- Each bidder sends vj() to auctioneer.
- Auctioneer finds the partition that maximizes ?j
vj(Sj). - Auctioneer allocates Sj to each bidder j
- Auctioneer charges VCG payments ensures
incentive compatibility - Computational difficulties
- Bidding How to send vj()? Requires
communication of - numbers impractical
- Allocation How can the auctioneer find an
optimal allocation? The problem is
computationally intractable (even to approximate
well)
47Bidding Languages
- The auction must fix a language for
representing valuations. All bidders will use
that language to express their valuations - Language must be expressive express all
reasonable valuations succinctly - Language must be simple computationally easy to
manage valuations (represent, determine
allocation,) - Proposed languages use package bids, OR, XOR
- (left-sock right-sock 5)
- OR
- ( (Red-shirt 10) XOR (blue-shirt 9))
- Different bidding languages have different power
- What should the FCC allow?
48Iterative Auctions
- Definition
- The demand of valuation v at item prices p1 pn
is the set S that maximizes the benefit v(S)-?i?
S pi - A Walrasian equilibrium is an allocation S1Sm
and item prices p1 pn such that each Sj is
the demand of vj at these prices - Fact Any Walrasian equilibrium gives an optimal
allocation - Algorithm
DemangeGaleSotomayor - initialize prices of all items to 0
- repeat if an item is demanded by more than one
bidder, increase the price a little until a
Walrasian equilibrium is reached - Theorem This works if valuations are gross
substitutes KelsoCrawford - Theorem In general, exponential communication
(equivalently, an exponential number of prices)
is needed
NisanSegal
49Allocation Algorithms
- The allocation problem is computationally
intractable - Approaches for overcoming computational
difficulty - Solve (or approximate) special tractable cases
- Gross substitutes
KelsoCrawford - Sub-modular (2-approximation)
LehmannLehmannNisan - Linear order on items
RothkopfPekecHarstad - Heuristics that obtain optimal allocations and
run reasonable fast - Practical for 100s of items
CABOB -- Sandholm et al. - Heuristics that run quickly and find reasonably
good solutions - A few loss for 1000s of items
ZurelNisan - Use the usual tools of combinatorial optimization
- LP relaxation
- Branch-and-bound, cutting-planes
- Local search
- Dynamic programming
50Incentives vs. Allocation
- Challenge find a mechanism that obtains
reasonably good allocations and is
computationally efficient. - Key problem Algorithms that find sub-optimal
allocations do not yield incentive compatible
mechanisms - Attaching VCG payments to sub-optimal algorithms
essentially never yields incentive compatibility
NisanRonen - The only known incentive compatible mechanisms
are VCG for complete spaces with at least 3
possible outcomes only VCG mechanisms exist.
Roberts,
GreenLaffont - Special case single minded bidders have a
single valuation parameter and desire a single
package - A Computationally efficient incentive compatible
mechanism exists
LehmannOcallaghanShoham
- Open problem Find any non-VCG mechanism for any
multi-dimensional valuation space