29
Nash Equilibria in Distributed Systems Mohamed G. Gouda & H. B. Acharya Presenter Aly Farahat Ph.D. Student Automatic Software Design Lab Computer Science Department Michigan Technological University

10/14/2009Automatic Software Design Lab1 Nash Equilibria in Distributed Systems Mohamed G. Gouda & H. B. Acharya Presenter Aly Farahat Ph.D. Student Automatic

Embed Size (px)

Citation preview

Nash Equilibria in Distributed Systems

Mohamed G. Gouda & H. B. Acharya

Presenter

Aly FarahatPh.D. Student

Automatic Software Design Lab Computer Science Department

Michigan Technological University

10/14/2009 Automatic Software Design Lab 2

A Nash-Equilibrium is a property of stable states in a game. It means that no player should try to

perturb this state (make a move) from this point as it may decrease its gain

10/14/2009 Automatic Software Design Lab 3

Contents

• Definitions

• Characterization

• Taxonomy

10/14/2009 Automatic Software Design Lab 4

Definitions

10/14/2009 Automatic Software Design Lab 5

Nash Equilibrium

• OriginsConcepts from Game Theory

• GoalCharacterizing a state from which local actions

might eventually lead to no gain

10/14/2009 Automatic Software Design Lab 6

Terminology

• Stabilization: All distributed system computations are finite

• Fixed-Point: Termination state in a distributed computation (no processes are enabled)

• Equilibrium Point: Fixed-Point!

• Local Perturbation: Transitions on a process local states while in a Fixed-Point

10/14/2009 Automatic Software Design Lab 7

Gain Function

• A set G of local functions, one per process i

G={ g.i }

• g.i is defined only at equilibrium states and undefined elsewhere

10/14/2009 Automatic Software Design Lab 8

Nash Equilibrium

A Fixed-Point s is a Nash Equilibrium wrt {g.i} iff

For every process i, for every local perturbation, there exists a fixed-point s’

such that

g.i(s’)<= g.i(s)

10/14/2009 Automatic Software Design Lab 9

Intuitively

• In a Nash-Equilibrium s, no process i has the incentive to perturb its equilibrium as it might decrease its gain function.

• In a non Nash-Equilibrium ns, there exists a process j that would necessarily increase its local gain g.j by perturbing ( by a specific perturbation) its equilibrium.

10/14/2009 Automatic Software Design Lab 10

Illustration

g.1=0g.2=1g.3=2

g.1=1g.2=2g.3=1

g.1=1g.2=3g.3=2

g.1=2g.2=1g.3=0

p1

p2

State Space

p3

10/14/2009 Automatic Software Design Lab 11

Characterization of Nash Equilibria

10/14/2009 Automatic Software Design Lab 12

Sufficient Conditions

Theorem 1: s is a Nash Equilibrium wrt {g.i} if any of the

following is true:1- g.i has its maximum at s, for all i.

2- For every local perturbation pi from s there exists a stable state s’ reachable by the actions of i such that g.i(s’)<=g.i(s)

Why are these conditions unnecessary?

10/14/2009 Automatic Software Design Lab 13

Sufficient Conditions (Cont’d)

Theorem 2:

ns is not a Nash Equilibrium wrt { g.i } if:

There exists i with a second fixed point s’ directly reachable from s by a local perturbation of i.

Why this is not necessary?

10/14/2009 Automatic Software Design Lab 14

Absolute Nash Equilibrium(Sufficient Conditions)

Theorem 3:

s is a Nash Equilibrium w.r.t. any set of gain functions if:

For every i, for every perturbation pi the system has a local action that returns it to state s.

10/14/2009 Automatic Software Design Lab 15

Construction of Gain Functions

Theorem 4:

For any stabilizing distributed system:

a) A set of constant gain functions

{ g.i | g.i=ci } makes every fixed-point a Nash-Equilibrium

10/14/2009 Automatic Software Design Lab 16

Construction of Gain Functions (Cont’d)

Theorem 4(b):

For any stabilizing distributed system:

If there are two fixed points, s and s’, different only in one local variable of process j. We can make s’ a non-Nash Equilibrium by forcing a local perturbation from s’ to s with g.j(s’)<g.j(s)

10/14/2009 Automatic Software Design Lab 17

Taxonomy based on Nash Equilibira

10/14/2009 Automatic Software Design Lab 18

• Relatively Perturbation-Proof Systems

• Relatively Perturbation-Prone Systems

• Absolutely Perturbation-Proof Systems

• Absolutely Perturbation-Prone Systems (empty)

10/14/2009 Automatic Software Design Lab 19

• A stabilizing system is relatively perturbation-proof iff:

– There exists S={ g.i } such that every fixed-point is a Nash Equilibrium w.r.t S

Relatively Perturbation-Proof

10/14/2009 Automatic Software Design Lab 20

Maximal Matching Bidirectional Ring

m.i==i-1 && m.(i-1)==i-2 m.i:=im.i==i+1 && m.(i+1)==i+2 m.i:=im.i==i && m.(i-1)!=i-2 m.i:=i-1m.i==i && m.(i+1)!=i+2 m.i:=i+1

g.i=0 if m.i==i g.i=1 otherwise

Process i should match with one of its neighbors, otherwise it should keep its value to i.

10/14/2009 Automatic Software Design Lab 21

Nash Equilibrium of Matching

• If m.i !=i, and m.i is a fixed-point, then g.i=1. This is a maximum! From theorem 1(a), it is a Nash-Equilibrium

• If m.i==i, g.i=0. But no perturbation will break a match, hence, m.i == i is restablished.

• “Bidirectional Matching” is relatively perturbation proof

10/14/2009 Automatic Software Design Lab 22

Relatively-Perturbation Prone

• A stabilizing system is relatively perturbation-prone iff:

– There exists S={ g.i } such that some fixed-point is a non-Nash Equilibrium w.r.t S

– Use Theorem 4(b) to design such systems

10/14/2009 Automatic Software Design Lab 23

Absolutely Perturbation-Proof

• A stabilizing system is absolutely perturbation-proof iff:

– For every S={ g.i }, every fixed-point is a Nash Equilibrium w.r.t S

– Use Theorem 3 to design such systems

10/14/2009 Automatic Software Design Lab 24

A subclass of absolutely perturbation proof systems

Theorem 5:

If a stabilizing system has only one fixed-point, it is absolutely-perturbation proof

Why?

10/14/2009 Automatic Software Design Lab 25

Absolutely Perturbation-Prone

• A stabilizing system is absolutely perturbation-prone iff:

– For every S={ g.i }, there exists a non-Nash Equilibrium fixed-point w.r.t S

– Use Theorem 4(a) to show that no such system exists: we can always construct a set of gain functions to make every fixed-point a Nash-Equilibrium

10/14/2009 Automatic Software Design Lab 26

Partial Order among Classes

Why??

Stabilizing Systems

Relatively Perturbation-Proof

Absolutely Perturbation-Proof

Relatively Perturbation-Prone

10/14/2009 Automatic Software Design Lab 27

Further Investigations

• Given a set of gain functions, automatically transforming a perturbation-prone to a perturbation-proof system– Identify the perturbations leading to other equilibria

with higher gains

• Applicability of this concept to set of states rather than states (consider the notion of invariant)

• How to come up with gain-functions representing the system progress properties

10/14/2009 Automatic Software Design Lab 28

Further Readings

- John F Nash, “Equilibrium point in n-person games,” Proceedings of the National Academy of Sciences of the United States of America, 36(1):48-49, 1950.

- A. Arora & M. G. Gouda, “Closure and convergence: a foundation of fault-tolerant computing.” In Proceedings of the 22nd International Conference On Fault-Tolerant Computing Systems

10/14/2009 Automatic Software Design Lab 29

Thank you!