Top Banner
Economics and Computer Science CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology
50

Economics and Computer Science

Jan 14, 2016

Download

Documents

Tan Tan

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Economics and Computer Science

Economics and Computer Science

CS595, SB 213

Xiang-Yang Li Department of Computer Science

Illinois Institute of Technology

Page 2: Economics and Computer Science

Course information

Instructor: XiangYang Li [email protected], 312-567-5207, SB 237D

Homeworks?

Exams?

Projects?

Gradings?

Page 3: Economics and Computer Science

What is this course about

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

Page 4: Economics and Computer Science

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.

Page 5: Economics and Computer Science

Nowadays

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?

Page 6: Economics and Computer Science

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

Page 7: Economics and 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.

Page 8: Economics and Computer Science

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

Page 9: Economics and Computer Science

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

Page 10: Economics and Computer Science

Example: Wireless networks

No wired structure

Self-organized All nodes as

routers Broadcasted

signal Powered by

battery Scarce energy &

memory Mobile

Page 11: Economics and Computer Science

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

Page 12: Economics and Computer Science

The game view of business

Five basic elements of a game (PARTS) Players Added values Rules Tactics Scope

Page 13: Economics and Computer Science

Value Net

Company

customers

complementorscompetitors

suppliers

Page 14: Economics and Computer Science

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

Page 15: Economics and Computer Science

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

Page 16: Economics and Computer Science

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

Page 17: Economics and Computer Science

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!

Page 18: Economics and Computer Science

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

Page 19: Economics and Computer Science

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?

Page 20: Economics and Computer Science

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,

Page 21: Economics and Computer Science

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.

Page 22: Economics and Computer Science

Rationality as a Paradigm for

Internet Computing

Noam NisanHebrew University, Jerusalem

Page 23: Economics and Computer Science

Contents

The Internet and the new face of computing

Analyzing computing systems in equilibrium

Designing computational mechanisms

A defining problem: Combinatorial auctions

Page 24: Economics and Computer Science

What is Computing?

20th Century(second half)

21st century(first decade)

von Neumann Machine The Internet

Page 25: Economics and Computer Science

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

Page 26: Economics and Computer Science

TCP Retransmission Rule

Transmission Control ProtocolUsed for most Internet communicationBreaks messages into packets, and

assembles the packets back into messagesHandles packet delay/loss

TCP Retransmission RuleWhen a packet is lost, decrease transmission rate (by a factor of 2)Rational: Network is congested – fix it by reducing demand down to capacity

Page 27: Economics and Computer Science

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?

Page 28: Economics and Computer Science

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?

Page 29: Economics and Computer Science

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: @#$%^ ”

Page 30: Economics and Computer Science

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

Page 31: Economics and Computer Science

At All Protocol Levels …

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)

High level (traditional business domain)

Page 32: Economics and Computer Science

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

Page 33: Economics and Computer Science

Minimizing Packet Delay Braess’s Paradox

1

1

x

x

0

delay proportionalto load

constant delay

• Many “small”packets – total quantity = 1

• Each knows the delay situation

• Each chooses how to get to destination

Page 34: Economics and Computer Science

Minimizing Packet Delay Braess’s Paradox

1

1

x

x

0

• Many “small”packets – total quantity = 1

• Each knows the delay situation

• Each chooses how to get to destination

Optimal routing (delay = 1.5)

1/2

0.5

0.5

1

1

1

10

Selfish routing (delay = 2.0)

Page 35: Economics and Computer Science

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

2. For general delay functions, doubling the edge capacities compensates for selfishness – the price of anarchy is at most a factor of 2 in infrastructure

Page 36: Economics and Computer Science

Algorithmic Mechanism Design Nisan&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

Page 37: Economics and Computer Science

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

Page 38: Economics and Computer Science

VCG-Mechanism in CS Vickrey-Clarke-Groves

Shared Cache

Caching XXX will save me

100$

Caching XXX will save me 10$

Caching XXX will cost me 80$

Pay 70 (=80-10)Clarke tax

Page 39: Economics and Computer Science

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

Page 40: Economics and Computer Science

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

Page 41: Economics and Computer Science

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

Page 42: Economics and Computer Science

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

Page 43: Economics and Computer Science

Complements and Substitutes

vj() may have complements: vj(ST) > 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(ST) < 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

Page 44: Economics and Computer Science

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

Destination

Page 45: Economics and Computer Science

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 auction USA Congress mandated that the next spectrum auction be made combinatorial.

3.1-3.2GHz

3.2-3.3GHz

3.3-3.4GHz

3.1-3.2GHz

3.2-3.3GHz

3.1-3.2GHz

3.2-3.3GHz

3.1-3.2GHz

3.2-3.3GHz

3.1-3.2GHz

3.2-3.3GHz

3.3-3.4GHz

Page 46: Economics and Computer Science

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

numbers – impractical Allocation: How can the auctioneer find an optimal

allocation? The problem is computationally intractable (even to approximate well)

N2

Page 47: Economics and Computer Science

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$) OR ( (Red-shirt : 10$) XOR (blue-shirt : 9$))

Different bidding languages have different power What should the FCC allow?

Page 48: Economics and Computer Science

Iterative AuctionsDefinition:

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

Page 49: Economics and Computer Science

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

Page 50: Economics and Computer Science

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