algoritmi per sistemi distribuiti strategici. two research traditions theoretical computer science:...

16
Algoritmi per Sistemi Distribuiti Strategici

Upload: stanley-shaw

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Algoritmi per Sistemi Distribuiti Strategici

Page 2: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Two Research Traditions

Theoretical Computer Science: computational complexity What can be feasibly computed? Centralized or distributed computational

models Game Theory: interaction between self-

interested individuals Which social goals are compatible with

selfishness? What is the outcome of the interaction?

Page 3: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Different Assumptions

Theoretical Computer Science: Processors are obedient, faulty, or

adversarial. Large systems, limited comp. resources

Game Theory: Players are strategic (selfish). Small systems, unlimited comp.

resources

Page 4: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

The Internet World

Agents often autonomous (users) They have their own individual goals

Often involve “Internet” scales Massive systems Limited communication/computational

resources

Both strategic and complexity matter!

Page 5: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Fundamental Questions

What are the computational aspects of a

game?

What does it mean to design an

algorithm for a strategic distributed

system (SDS)?Theoretical Computer Science

Game Theory

SDSDesign +=

Page 6: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Game Theory Given a game, predict the outcome

by analyzing the individual behavior of the players (agents)

Game: N players Rules of encounter: Who should act

when, and what are the possible actions

Outcomes of the game

Page 7: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Game Theory Normal Form Games

N players Si=Strategy set of player i The strategy combination (s1, s2, …, sN) gives

payoff (p1, p2, …, pN) to the N players All the above information is known to all the

players and it is common knowledge Simultaneous move: each player i chooses a

strategy siSi (nobody can observe others’ move)

Page 8: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Equilibrium An equilibrium s*= (s1

*, s2*, …, sN

*) is a strategy combination consisting of a best strategy for each of the N players in the game

What is a best strategy? depends on the game…informally, it is a strategy that a players selects in trying to maximize his individual payoff, knowing that other players are also doing the same

Page 9: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Dominant Strategy Equilibrium: Prisoner’s Dilemma

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

-1, -1 -10, 0

Implicate 0, -10 -9, -9

Strategy

Set

Strategy Set

Payoffs

Page 10: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Dominant Strategy Equilibrium: Prisoner’s Dilemma

Prisoner I’s Decision: If II chooses Don’t Implicate then it is best to Implicate If II chooses Implicate then it is best to Implicate It is best to Implicate for I, regardless of what II does:

Dominant Strategy

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

-1, -1 -10, 0

Implicate 0, -10 -9, -9

Page 11: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Dominant Strategy Equilibrium: Prisoner’s Dilemma

Prisoner II’s Decision: If I chooses Don’t Implicate then it is best to Implicate If I chooses Implicate then it is best to Implicate It is best to Implicate for II, regardless of what I does:

Dominant Strategy

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

-1, -1 -10, 0

Implicate 0, -10 -9, -9

Page 12: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Dominant Strategy Equilibrium: Prisoner’s Dilemma

It is best for both I and II to implicate regardless of what other one does

Implicate is a Dominant Strategy for both (Implicate, Implicate) becomes the Dominant Strategy

Equilibrium Note: It’s beneficial for both to Don’t Implicate, but it is not an

equilibrium as both have incentive to deviate

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

-1, -1 -10, 0

Implicate 0, -10 -9, -9

Page 13: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Dominant Strategy Equilibrium: Prisoner’s Dilemma

Dominant Strategy Equilibrium is a strategy combination s*= (s1

*, s2*, …, sN

*), such that si*

is a dominant strategy for each i, namely, for each s= (s1, s2, …, si , …, sN):

pi (s1, s2, …, si

*, …, sN) ≥ pi (s1, s2, …, si, …, sN)

Dominant Strategy is the best response to any strategy of other players

It is good for agent as it needs not to deliberate about other agents’ strategies

Not all games have a dominant strategy equilibrium

Page 14: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

A Beautiful Mind: Nash Equilibrium

Nash Equilibrium is a strategy combination s*= (s1

*, s2*, …, sN

*), such that si

* is a best response to (s1*, …,si-1

*,si+1*,…,

sN*), for each i, namely, for each si

pi (s*) ≥ pi

(s1*, s2

*, …, si, …, sN*)

Note: It is a simultaneous game, and so nobody knows a priori the choice of other agents

Page 15: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Nash Equilibrium: The Battle of the Sexes (coordination game)

(Stadium,Stadium) is a NE: Best responses to each other

(Cinema, Cinema) is a NE: Best responses to each other

Man

Woman

Stadium Cinema

Stadium 2, 1 0, 0

Cinema 0, 0 1, 2

Page 16: Algoritmi per Sistemi Distribuiti Strategici. Two Research Traditions Theoretical Computer Science: computational complexity What can be feasibly computed?

Nash Equilibrium In a NE no agent can unilaterally deviate from

its strategy given others’ strategies as fixed There may be no, one or many NE, depending

on the game Agent has to deliberate about the strategies

of the other agents If the game is played repeatedly and players

converge to a solution, then it has to be a NE Dominant Strategy Equilibrium Nash

Equilibrium (but the converse is not always true)