33
Project funded by the Future and Emerging Technologies arm of the IST Programme Altruism “for free” using Tags David Hales www. davidhales .com Department of Computer Science University of Bologna Italy

Altruism “for free” using Tags

  • Upload
    hoai

  • View
    13

  • Download
    2

Embed Size (px)

DESCRIPTION

Altruism “for free” using Tags. David Hales www.davidhales.com Department of Computer Science University of Bologna Italy. Talk Overview. My background and motivation The problem A solution: Tags and how they work Applying in a P2P using re-wiring rules. Background and Motivation. - PowerPoint PPT Presentation

Citation preview

Page 1: Altruism “for free” using Tags

Project funded by the Future and Emerging Technologies arm of the IST Programme

Altruism “for free” using Tags

David Haleswww.davidhales.com

Department of Computer ScienceUniversity of BolognaItaly

Page 2: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 2

Talk Overview

My background and motivation The problem A solution: Tags and how they work Applying in a P2P using re-wiring rules

Page 3: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 3

Background and Motivation

Computer Science and A.I Agent-Based Social Simulation (ABSS) Interest: Emergence of Cooperation (PD) Sociologists and engineers - same questions! Now: Apply ideas from ABSS to some

engineering problems (back to CS!) e.g. open P2P

Page 4: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 4

The Problem Consider a system composed of agents that are:

Autonomous (not externally controllable) Selfish (maximise their own utility) Greedy (local hill-climb) Adaptive (copy other nodes and self-adapt)

How do we get the nodes to cooperative for the good of the network rather than simply

free-ride?

Page 5: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 5

The Prisoner’s Dilemma

D

C

DC

D

C

DCPlayer 1

Player 2

R

R

P

P

T

S

T

S

Given: T > R > P > S and 2R > T + S

Page 6: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 6

Ways to get Cooperation

3’rd party enforcement – expensive, tends to centralisation (Thomas Hobbes 1660)

Repeated interactions – need repeated interactions & some altruism (Axelrod 1984)

Fixed lattice interaction – not good for dynamic networks (Nowak & May 1992)

Tags – scalable, single round, simple (Holland 1993, Riolo 1997, Hales 2000)

Page 7: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 7

What are “tags”

Tags are observable labels, markings, social cues They are attached to agents Agents interact preferentially with those sharing the

same tag – no other function John Holland (1992) => tags powerful “symmetry

breaking” function in “social-like” processes In GA-type interpretation, tags = parts of the

genotype reflected directly in the phenotype

Page 8: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 8

An Evolutionary Scenario

Agents are selfish and greedy Copy the behaviors of more successful Randomly mutate strategies No population structure but…. Agents preferentially interact with those

sharing the same tag

Page 9: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 9

Agents - a Tag and a PD strategy

Tag = 5 Tag = 10

Cooperate Defect

Tag = (say) Some Integer

Game interaction between those with same tag (if possible)

Page 10: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 10

Shared tags

How Tags Work

Mut

atio

n of

tag

Copy tag and strategy

Game Interactions

Page 11: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 11

Visualising the Process (Hales 2000)

0 250 500

Coop Defect Mixed Empty

Uni

que

tag

stri

ngs

CyclesTime

Un

iqu

e T

ag V

alu

esCoop Defect Mixed Empty

Page 12: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 12

Visualising the ProcessU

niq

ue

tag

str

ing

s

250 350

Cycles

450

Coop Defect Mixed Empty

Time

Un

iqu

e T

ag V

alu

esCoop Defect Mixed Empty

Page 13: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 13

A P2P Scenario

Consider a P2P: Assume nodes maintain some max. degree Node neighbours can be thought of as a group Nodes may be good guys, share resources

with neighbours, or free-ride, using neighbours resources but not sharing theirs (PD)

Sharing / free-riding is a Strategy The neighbour links (as a whole) a kind of “tag”

(if clustering high enough)

Page 14: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 14

A P2P Scenario

Represent the P2P as a undirected graph Assume nodes are selfish and periodically:

Play PD with randomly selected neighbour Compare performance to some randomly

selected other node If other node is doing better copy its

neighbourhood and strategy Mutate strategies and neighbourhood.

Page 15: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 15

Design Decisions

Mutation of view => replace all with single randomly chosen node

Mutation of strategy = flip the strategy Node j copying a more successful node i =>

replace i view with j’s plus j itself When maximum degree of a node is exceeded

throw away a randomly chosen link

Page 16: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 16

Copying a more successful node

B

F

G

A

E

D

C B

A

F

G

E

D

C

Fu > Au

Before After

Where Au = average utility of node A

A copies F neighbours & strategy

In his case mutation has not changed anything

Page 17: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 17

Random movement in the net

B

A

F

G

E

D

C

E

D

C

A

G

B

F

Before After

Mutation applied to F’s neighbourhood

F is wired to a randomly selected node (B)

Page 18: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 18

The Simulation Cycle

LOOP some number of generationsLOOP for each node (i) in the population N

Select a game partner node (j) randomly from viewIf view empty, link to random node i (mutate view)Agent (i) and (j) invoke their strategies and get

appropriate payoffEND LOOPSelect (N / 2) random pairs of nodes (i, j) lower

scoring node copies higher scoring nodeApply mutation to view and strategy of each

reproduced node with probability mEND LOOP

Page 19: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 19

Parameters

Vary N between 4,000..120,000 Maximum degree 20 Initial topology random graph (not important) Initial strategies all defection (not random) Mutation rate m = 0.001 (small) PD payoffs: T=1.9, R=1, P=d, S=d

(where d is a small value)

Page 20: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 20

Results

Tag MF = 10

0

100

200

300

400

4000 8000 12000 16000 20000

Nodes

Cyc

les

to 9

9% C

oo

p

Page 21: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 21

A few more nodes

Tag MF = 10

50

100

150

200

1000 10000 100000 1000000

Nodes

Cyc

les

to 9

9% C

oo

p

Page 22: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 22

A typical run (10,000 nodes)

Neighbour MF = 10

0102030405060708090

100

0 100 200 300 400 500

Cycles

Co

op

erat

ive

no

des

%

Page 23: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 23

A 100 node example – after 500 generations

Page 24: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 24

Page 25: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 25

Topology Evolution – so far it seems….

From ANY initial starting topology / strategy mix same outcome (tried random, lattice, small world, all nodes disconnected, all defect, random, all coop)

Typically a set of unstable components exist - highly internally connected (L not much more than 1 and C very high)

Constantly reforming and changing due to mutation and replication

Rough characterisation of disconnectedness = prob. that two random nodes are connected

Page 26: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 26

Typical run, 200 nodes

0.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

0 20 40 60 80 100

Generations

Val

ue

coop C L K cm cp

C=clustering coeff, L = path length, K = degree, cm = no of components, cp = connection prob, coop = prop of cooperators

L / 5, K / 20, CM / 20

Page 27: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 27

Next steps

So far robustness tested as effect of mutation – static pop size – try various “churn rates”

Treats node links as “one chunk” rather than selectively removing links

Modified form might enhance BitTorrent?

Page 28: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 28

File Sharing Scenario

Simplified form of that given by Q. Sun & H. Garcia-Molina 2004

Each node has variable giving proportion of capacity (100 units) devoted to generating queries against answering them [0..1] 1=selfish, 0=altruism

Each node has an answering power (prob. Of making a hit given any query =0.4 fixed)

Flood fill query method, TTL’s etc

Page 29: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 29

Results

0

10

20

30

40

50

60

0 20 40 60 80 100

cycles

aver

age

per

no

de

queries (nq) hits (nh)

A typical run for a 104 node network

Page 30: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 30

Results

0

5

10

15

20

25

30

35

40

1 10 100 1000

nodes

av

era

ge

pe

r n

od

equeries (nq) hits (nh)

100 1000 10000 100000

Results showing number of queries (nq) and number of hits (nh) (averaged over cycle 40..50) for different network sizes (10

individual runs for each network size)

Page 31: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 31

Results

0

10

20

30

40

50

60

1 10 100 1000

nodes

cycl

es

100 1000 10000 100000

Cycles to high hit values (number of hits nh > 30) for different network sizes (10 runs each)

Page 32: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 32

What’s going on?

A “Socially emergent incentive system” ? Selfish myopic behaviour causes nodes to

migrate to more cooperative clusters and adopt cooperative strategies.

Bad guys end-up alone or surrounded by other bad guys.

being a bad guy is not a sustainable strategy However, at any given point in time a small

number of bad guys are doing “better” than any good guys

Page 33: Altruism “for free” using Tags

ECCS 2005, Paris – www.davidhales.com 33

Conclusion

Tag-like dynamics using simple rewiring rules Free-riding low even though nodes are selfish No knowledge of past interaction required Scales well in tested domains But: produces many (dynamic) components What about whitewashers? Different churn

rates? Hyper-rational or irrational behaviour? Copying links and strategies?