Localized Algorithms for Energy Efficient Topology in

Economics and Computer Science
CS595, SB 213
Xiang-Yang Li
Department of Computer Science
Illinois Institute of Technology
Course information

Instructor: XiangYang Li

[email protected], 312-567-5207, SB 237D

Homeworks?

Exams?

Projects?

Gradings?
What is this course about

Using economics concept to solve some
questions in computer science and vice versa
What 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.
Nowadays

Doing business, we have to




Listen to customers
Work with suppliers
Create teams
Establish strategic partnerships


Business is not war,


You do not have to blow out the other fellow’s light to let
your own shine!
but business is not peace either


Even with competitors
Battle with competitors over market share, fight suppliers
for cost,…
What it is then?
A 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
What is computer science?

Algorithms and protocols to solve questions
efficiently

Algorithms


Programming language


way to build the machines to solve the questions
Computer networking


tool to implement out ideas
Architecture


how to solve questions
way of exchange information
Etc.
What 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
Not 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
Example: Wireless networks







No wired structure
Self-organized
All nodes as
routers
Broadcasted signal
Powered by
battery
Scarce energy &
memory
Mobile
Selfish Users

How to model this?


How to achieve a global system gold when
selfish users are present?


Economics results
How to implement this?


Turn to game theory
Combine with cryptography and security
Is it efficient?

Combine with traditional computer science wisdoms
The game view of business

Five basic elements of a game (PARTS)





Players
Added values
Rules
Tactics
Scope
Value Net
customers
competitors
Company
suppliers
complementors
Value 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
Game 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
What happens if

Another example (Barry’s 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
Added 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
Barry’s game

Added value of Adam is $2300, each student is $0, so
total added value is $2300!
What 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: Barry’s card game
Rules

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?
Rationality 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, 
What 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.
Rationality as a Paradigm
for
Internet Computing
Noam Nisan
Hebrew University, Jerusalem
Contents




The Internet and the new face of
computing
Analyzing computing systems in
equilibrium
Designing computational mechanisms
A defining problem: Combinatorial
auctions
What is Computing?
20th Century
21st century
(second half)
(first decade)
von Neumann Machine
The Internet
The Internet
• Huge dynamic heterogeneous distributed system – “normal distributed CS”
• Not centrally owned – different parts owned by different people, firms, or
organizations with differing goals – “CS+economics+game-theory”’
TCP 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

TCP 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?
Internet Resource Sharing

The vision


Examples:







everyone connected to the Internet should have
access to all resources that are connected to the
Internet
CPU-time
Files
I/O devices
Data
Knowledge
Humans
Why share?
Electronic 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”
• “Here’s a complicated offer to you guys: @#$%^ ”
Internet 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
At 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)
The 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
Minimizing Packet Delay
Braess’s Paradox
delay proportional
to load
x
constant
delay
1
0
1
x
• Many “small”packets – total quantity = 1
• Each knows the delay situation
• Each chooses how to get to destination
Minimizing Packet Delay
Braess’s Paradox
1
0.5
1
x
1
1/2
Optimal routing
(delay = 1.5)
0
1
0.5
x
• Many “small”packets – total
quantity = 1
1
0
1
• Each knows the delay situation
• Each chooses how to get to
destination
Selfish routing
(delay = 2.0)
The Price of Anarchy is Low
Roughgarden&Tardos
Theorem: for all network topologies, for all
sets of routing requests, for all delay
functions on the links:
1.
2.
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
Algorithmic Mechanism Design
Nisan&Ronen

Design the protocols so that they will work well under
selfish behavior of participants



Use notions and techniques from the economic field of
Mechanism Design


“work well” – the usual computational optimization goals
“under selfish behavior” – the usual game-theoretic concepts
of equilibrium
“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
VCG-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
VCG-Mechanism in CS
Vickrey-Clarke-Groves
Pay 70
(=80-10)
Clarke tax
Shared
Cache
Caching XXX
will save me
100$
Caching XXX
will cost me 80$
Caching XXX
will save me 10$
Beyond Classical Mechanism

New domain of problems



New optimization goals


Not just sum-of-utilities: e.g. make-span in scheduling
New limitations




Parameter-complexity: e.g. structure of network
Brave-new-world: disregard human conventions and biases
Computational complexity
Distributed implementation
Interaction with usual mechanism design often problematic
New biases regarding solution concepts


Computer scientists don’t 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
Some Recent Results

Selling “digital goods” (unlimited supply)
Goldberg&Hartline&Wright
A randomized mechanism can approximate monopoly price revenue

Scheduling jobs on “unrelated machines”
Nisan&Ronen
No better than 2-approximation for the make-span is possible, but
randomized mechanisms can do better

Scheduling jobs on “related machines”
Archer&Tardos
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
Blumrosen&Nisan
An auction with 1-bit from each player can achieve 98% efficiency
Combinatorial 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: Vickrey’s 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
Combinatorial 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 (S1…Sk) of {1..N} that
maximizes the social welfare: j vj(Sj).
Means: protocol between bidders and auctioneer
Difficulties: communication, computation,
incentives
Complements and Substitutes

vj() may have complements: vj(ST) >
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) <
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
Routing 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
The 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
3.1-3.2GHz
3.1-3.2GHz
sold in a simultaneous
3.2-3.3GHz
3.2-3.3GHz
auction
3.3-3.4GHz
3.1-3.2GHz
USA Congress mandated
3.2-3.3GHz
that the next spectrum
3.1-3.2GHz
3.1-3.2GHz
auction be made
3.2-3.3GHz
combinatorial.
3.2-3.3GHz
3.3-3.4GHz
Basic 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
2 N numbers – impractical
Allocation: How can the auctioneer find an optimal
allocation? The problem is computationally intractable (even
to approximate well)
Bidding Languages

The auction must fix a “language” for representing
valuations. All bidders will use that language to
express their valuations



Proposed languages use: package bids, OR, XOR



Language must be expressive: express all reasonable
valuations succinctly
Language must be simple: computationally easy to manage
valuations (represent, determine allocation,…)
(left-sock & right-sock : 5$)
OR
( (Red-shirt : 10$) XOR (blue-shirt : 9$))
Different bidding languages have different power
What should the FCC allow?
Iterative 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 S1…Sm 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:
Demange&Gale&Sotomayor


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”
Kelso&Crawford
Theorem: In general, exponential communication (equivalently, an
exponential number of prices) is needed
Nisan&Segal
Allocation Algorithms


The allocation problem is computationally intractable
Approaches for overcoming computational difficulty

Solve (or approximate) special tractable cases




Lehmann&Lehmann&Nisan
Rothkopf&Pekec&Harstad
Practical for 100s of items
CABOB -- Sandholm et al.
Heuristics that run quickly and find “reasonably good” solutions


Kelso&Crawford
Heuristics that obtain optimal allocations and run “reasonable fast”


Gross substitutes
Sub-modular (2-approximation)
Linear order on items
A few % loss for 1000s of items
Use the usual tools of combinatorial optimization




LP relaxation
Branch-and-bound, cutting-planes
Local search
Dynamic programming
Zurel&Nisan
Incentives 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
Nisan&Ronen
The only known incentive compatible mechanisms are VCG; for
“complete spaces” with at least 3 possible outcomes only VCG
mechanisms exist.
Roberts, Green&Laffont
Special case: single minded bidders – have a single
valuation parameter and desire a single package

A Computationally efficient incentive compatible mechanism exists
Lehmann&Ocallaghan&Shoham

Open problem: Find any non-VCG mechanism for any
multi-dimensional valuation space