Economics and computer science
This presentation is the property of its rightful owner.
Sponsored Links
1 / 50

Economics and Computer Science PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Economics and Computer Science

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Economics and computer science

Economics and Computer Science

CS595, SB 213

Xiang-Yang Li

Department of Computer Science

Illinois Institute of Technology

Course information

Course information

  • Instructor: XiangYang Li

    • [email protected], 312-567-5207, SB 237D

  • Homeworks?

  • Exams?

  • Projects?

  • Gradings?

What is this course about

What is this course about

  • Using economics concept to solve some questions in computer science and vice versa

What is economics

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.



  • 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 fellow’s 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?

A new mindset

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

What 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.

What are assumptions of cs

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

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

Example: Wireless networks

  • No wired structure

  • Self-organized

  • All nodes as routers

  • Broadcasted signal

  • Powered by battery

  • Scarce energy & memory

  • Mobile

Selfish users

Selfish 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

The game view of business

The game view of business

  • Five basic elements of a game (PARTS)

    • Players

    • Added values

    • Rules

    • Tactics

    • Scope

Value net

Value Net






Value net1

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

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

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

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

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 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

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

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

Rationality as a Paradigm forInternet Computing

Noam Nisan

Hebrew University, Jerusalem



  • 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

(second half)

21st century

(first decade)

What is Computing?

The Internet

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

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 rule1

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

Internet 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?

Electronic commerce

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

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

  • Rational behavior is more easily assumed from computers than from humans

    • The strategy is in the software

At all protocol levels

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

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

Minimizing Packet DelayBraess’s Paradox



delay proportional

to load






  • Many “small”packets – total quantity = 1

  • Each knows the delay situation

  • Each chooses how to get to destination

Minimizing packet delay braess s paradox1

Minimizing Packet DelayBraess’s Paradox








Optimal routing (delay = 1.5)





  • Many “small”packets – total quantity = 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

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:

  • 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

Algorithmic Mechanism DesignNisan&Ronen

  • 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

Vcg mechanism in cs vickrey clarke groves

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 groves1

VCG-Mechanism in CS Vickrey-Clarke-Groves

Pay 70 (=80-10)

Clarke tax

Caching XXX will save me 100$



Caching XXX will cost me 80$

Caching XXX will save me 10$

Beyond classical mechanism

Beyond 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 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

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 bitsBlumrosen&Nisan

    An auction with 1-bit from each player can achieve 98% efficiency

Combinatorial auctions

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

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

    • vjis monotonic non-decreasing (“free disposal”)

  • Objective: Find a partition (S1…Sk) of {1..N} that maximizes the social welfare: jvj(Sj).

  • Means: protocol between bidders and auctioneer

  • Difficulties: communication, computation, incentives

Complements and substitutes

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

Routing as Combinatorial Auction

Bidder A


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 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


  • USA Congress mandated

    that the next spectrum

    auction be made














Basic mechanism approach

Basic Mechanism Approach

  • Basic Solution

    • Each bidder sendsvj() to auctioneer.

    • Auctioneer finds the partition that maximizes jvj(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)

Bidding languages

Bidding 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$)


      ( (Red-shirt : 10$) XOR (blue-shirt : 9$))

  • Different bidding languages have different power

  • What should the FCC allow?

Iterative auctions

Iterative Auctions


  • The demand of valuation v at item prices p1 … pnis the set S that maximizes the benefit: v(S)-iSpi

  • A Walrasian equilibrium is an allocation S1…Sm and item prices p1 … pnsuch that each Sj is the demand of vj at these prices

    Fact:Any Walrasian equilibrium gives an optimal allocation


  • 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

Allocation Algorithms

  • The allocation problem is computationally intractable

  • Approaches for overcoming computational difficulty

    • Solve (or approximate) special tractable cases

      • Gross substitutes Kelso&Crawford

      • Sub-modular (2-approximation) Lehmann&Lehmann&Nisan

      • Linear order on items Rothkopf&Pekec&Harstad

    • 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 Zurel&Nisan

  • Use the usual tools of combinatorial optimization

    • LP relaxation

    • Branch-and-bound, cutting-planes

    • Local search

    • Dynamic programming

Incentives vs allocation

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

  • Login