Online Social Networks - SBSeg'08sbseg2008.inf.ufrgs.br/resources/slides/tutoriais/apr_01... ·...

85
1 1 Online Social Networks a short tutorial S. Felix Wu Computer Science Department University of California, Davis [email protected] http://www.cs.ucdavis.edu/~wu/ 2 Online Social Network What is an online social network? Realize and represent the human social networks “explicitly” (from “somewhat vague, fuzzy and implicit”) Promote “OSN ApplicationsUtilizing the “online” perspective to further develop the human social network Representation, Application, Development

Transcript of Online Social Networks - SBSeg'08sbseg2008.inf.ufrgs.br/resources/slides/tutoriais/apr_01... ·...

1

1

Online Social Networksa short tutorial

S. Felix WuComputer Science DepartmentUniversity of California, Davis

[email protected]://www.cs.ucdavis.edu/~wu/

2

Online Social Network

• What is an online social network?– Realize and represent the human social networks “explicitly” (from “somewhat vague, fuzzy and implicit”)

– Promote “OSN Applications”

– Utilizing the “online” perspective to further develop the human social network

• Representation, Application, Development

2

3

4

OSN Interface

• Core– Profile/Activities/Sharing– Friendship/Relationship– Communications– Network/Community/Group

• Extension/Overlay– Various Applications

3

5

Development Platform

6

4

7

def _getAppFriends(session_key):"""Retrieve friends of the logged in user who have

installed this app """usersInfo = minifb.call("facebook.friends.getAppUsers",

_FbApiKey, _FbSecret,session_key=session_key)

return usersInfo

def _getUsersInfo(session_key, uidList, fieldsList):# Lookup username and detailsusersInfo = minifb.call("facebook.users.getInfo",

_FbApiKey, _FbSecret,session_key=session_key,fields=",".join(["%s" % k for k

in fieldsList]), # fields can be comma separated listuids=",".join(["%s" % j for j in

uidList])) # uids can be comma separated listreturn usersInfo

8

Smart Proxy

• Overlay Social Graph

• User-defined keywords and attributes

• DSL server

• Trust Routing ProtocolDSL

Facebook

5

9

Sub-communities

• Social Graph

• User-defined keywords and attributes

• DSL server

• Trust Routing ProtocolDSL

Facebook

10

Social Network Development

• Social Graph

• User-defined keywords and attributes

• DSL server

• Trust Routing ProtocolDSL

Facebook

6

11

“Bypassing” Facebook

• When you send a message…– Via Facebook

– Via DSL

• Activity and Intensity hiding via Decentralization!

DSL

Facebook

Social Network Analysis

“Structural relationships” as explanations:

• Network

• Formation

• Influence and collective actions

7

13

Social Network Analysis

1. Degree Centrality: The number of direct connections a node has. What really matters is where those connections lead to and how they connect the otherwise unconnected.

2. Betweenness Centrality: A node with high betweenness has great influence over what flows in the network indicating important links and single point of failure.

3. Closeness Centrality: The measure of closeness of a node which are close to everyone else. The pattern of the direct and indirect ties allows the nodes any other node in the network more quickly than anyone else. They have the shortest paths to all others.

4. Eigenvector Centrality: It assigns relative scores to all nodes in the network based on the principle that connections to high-scoring nodes contribute more to the score of the node in question than equal connections to low-scoring nodes.

14

Random Graphs

• G(n, p): n nodes and each edge with prob p

8

15

Random Graphs

• G(n, p): n nodes and each edge with prob p

• When p < 1/n, disconnected components

• When p is sufficiently large, 1 giant component

• How about diameter?– The maximum distance (in hops) between any two nodes.

16

Random Graph (Erdos/Renyi)

• Probabilistically, each node has (N-1)p direct neighbors ~ Z

• ZD = N (D is the diameter)• D = logN / logZ

• In two hops, each node will have Z2

neighbors in (equal) probability?

9

17

Small World Model

• Low Diameter– Logarithmic or poly-logarithmic to N

• “High” Cluster Coefficient– cluster coefficient: the portion of X’s neighbors directly connecting to one of X’s other neighbors

18

Cluster Coefficient

• Mesh network: Ccluster = 1

• Lattice Network (with degree K): Ccluster = 0– E.g., a linear line

• How about Ccluster for Random Graph?

10

19

Re-wiring (Watts/Strogatz)

Trade off between D and Ccluster!

Structured/Clustered

62

35

20

The model of Chung/Lu

• Weight wi for vertex i is the expected value of the number of edges connected toi

• The probability, for each pair of vertices iand j, to have an edge is

P(Lij =1) =wiw j

wk

k=1

n

11

21

Open Issues

• Lots of analytical models, but which ones are better to model what?

• For instance, SN and OSN are quite different:– SN: expected D remains constant as graphs grow.

– OSN: expected D might grow as the cost to new links might be almost zero.

• Real-world Data Validation is very much needed.

22

Two Issues about Low Diameters

• Why should there exist short chains of acquaintances linking together arbitrary pairs of strangers?

• Why should arbitrary pairs of strangers be able to find the short chains of acquaintances that link them together?

12

23

Routing in a Small World

• Common question: do short paths exist?

• Algorithmic question: assuming short paths exist. How do people find them?

24

Kleinberg’s Basic setting

13

25

p, q, r

• p: lattice distance between one node and allits local neighbors

• q: number of long range contacts

• r: inverse probability [d(u,v)]-r

– What is the intuition about r?

– What about r = 0

26

Kleinberg’s results

A decentralized routing problem

– For nodes s,t with known lattice coordinates, find a short path from s to t.

– At any step, can only use local information,

– Kleinberg suggests a simple greedy algorithm and analyzes it:

14

27

Local Information

• Local contacts

• Coordinate for the target

• The locations and long-range contacts of all nodes that have come in contact with the message.

28

Results

• If r = 0, expected delivery time is at least a0n2/3.– Lower bound

• If r = 2, p = q = 1, a2(log n)2

– Martel/Nguyen’s newer results

• 0 <= r < 2 ~ arn(2-r)/3

• r > 2 ~ arn(r-2)(r-1)

15

29

Kleinberg’s Model

• Kleinberg’s model:– People �� points on a two dimensional grid.

– “P” Grid edges (short range).– “Q” long range contacts chosen with the inverse rth-power distribution.

– How to search?• [S, T]• Find the neighbor closest to T

– Work well only when r=2, p=q=1

30

Kleinberg’s Model

• Use only Local information, except the distance to the target.– However, what is the “global distance” in cyber space? Yet, the assumption behind is that the“edges” depend on the “relative distance”.

16

31

• How will we tell whether the relative distance between X&Y is closer than X&Z?– X, Y, Z (assuming they are all direct friends to each other)

• One simple idea: “Keyword intersection”– KW(X), KW(Y), KW(Z)

– 1/(#[KW(a) KW(b)] + 1)

– Will this work? How about global distance?

I

X, Y, and Z

32

Similarity

17

33

Similarity

34

Kleinberg’s Lattice Model

• Graph embedded in a metric space (e.g., 2D lattice)• “Search efficiently” using only Local information + long range contact(s)– ~ inverse probability [d(u,v)]-r

– r = 2, a special case

18

35

Some Extensions

• Hierarchical Network Models

• Group Structure Models

• Constant Number of Out-Links

“Small World Phenomena and the Dynamics of Information” by J. Kleinberg, NIPS, 2001

36

Generation & Search

• There is a data structure behind and among all the social peers– Lattice, Tree, Group/Community

• The link probability depends on this “social data structure”– And, using it to generate the social network

• Searching may use “direct contacts” plus the knowledge about the social data structure

19

37

Hierarchical Network Models

• Representation– a complete b-ary tree, T

– All social nodes are “leaves”

• Distance and Link Probability– = the height of the least common ancestor of v and w in T

– probability proportional

– normalization in probability

– out-degree in graph

f (h(v,w))

f (h(v,x))x≠v

f (h(v,w))

h(v,w)

k = c log2 n

38

the Critical Value

h →∞lim

f (h)

b− ′ α h = 0,∀ ′ α < α

h →∞lim

b− ′ ′ α h

f (h)= 0,∀ ′ ′ α > α

f (h(v,w)) ~ b−αh(v,w )

20

39

Interpretation (1)

• /Science/Computer_Science/Algorithms

• /Arts/Music/Opera

• /Science/Computer_Science/Machine_Learning

40

Interpretation (2)

• Target: “stock broker @ Boston, MA”

• Next hop:– “bishop @ Cambridge, MA”

– “banker @ New York City, NY”

21

41

Results

• Otherwise, no polylogarithmic search

α =1⇒ Ο(logn)

42

How to Search in HNM??

f (h(v,w)) ~ b−h(v,w )

f (h(v,w))

f (h(v,x))x≠v

h(v,w)

k = c log2 n

22

43

Useful Neighbor

v → t

v,t ∈ T

commonAncestor(v,t) = u

Height( ′ T ) = i,u ∈ ′ T ,root( ′ T ) = u

Height( ′ ′ T ) = (i −1),t ∈ ′ ′ T ∧ t ∉ ′ ′ T

Is “v” useful to reach “t”?

v t

T

44

Useful Neighbor

v → t

v,t ∈ T

commonAncestor(v,t) = u

Height( ′ T ) = i,u ∈ ′ T ,root( ′ T ) = u

Height( ′ ′ T ) = (i −1),t ∈ ′ ′ T ∧ t ∉ ′ ′ T

Is “v” useful to reach “t”?

v

u

t

T

′ T

23

45

Useful Neighbor

v → t

v,t ∈ T

commonAncestor(v,t) = u

Height( ′ T ) = i,u ∈ ′ T ,root( ′ T ) = u

Height( ′ ′ T ) = (i −1),t ∈ ′ ′ T ∧ t ∉ ′ ′ T

Is “v” useful to reach “t”?

v

u

t

T

′ T ′ ′ T

w

46

Useful Neighbor

v → t

v,t ∈ T

commonAncestor(v,t) = u

Height( ′ T ) = i,u ∈ ′ T ,root( ′ T ) = u

Height( ′ ′ T ) = (i −1),t ∈ ′ ′ T ∧ t ∉ ′ ′ T

Is “v” useful to reach “t”?

v

u

t

T

′ T ′ ′ T

w

24

47

Useful Neighbor Recursively

v → t

v,t ∈ T

commonAncestor(v,t) = u

Height( ′ T ) = i,u ∈ ′ T ,root( ′ T ) = u

Height( ′ ′ T ) = (i −1),t ∈ ′ ′ T ∧ t ∉ ′ ′ T

Is “v” useful to reach “t”?

v

u

T

′ T ′ ′ T

w t

48

Search

• Find one “useful” neighbor in G as the next step

• What happens if NO useful neighbor?

• Expected steps to reach “t”.

25

49

Probability to have 1 U.N.

Z = b−h(v,x )

x≠v

∑ = (b −1)b j−1

j=1

logn

∑ b− j ≤ logn

bi−1leaves ∈ ′ ′ T

b− i

logn

bi−1 × b− i

logn= 1

b logn

(1− 1

b logn)c log2 n ≤ n−θ

One leave

All out-links

50

HNM

• High probability to be useful

• How about “constant links”?

26

51

Group Structures

• R is a group; R’ is a strict smaller subgroup

• R1, R2,R3,… all contain v, then

• q(v,w): minimum size of a group containing both v and w

q = R ≥ 2,v ∈ R ⇒ (v ∈ ′ R ⊆ R)∧ (q = R > ′ R > λq)

∀i,(Ri ≤ q)∧ (v ∈ Ri)⇒iURi ≤ βq

52

How to Search in Group Structure??

f (q(v,w)) ~ q(v,w)−α

f (q(v,w))

f (q(v,x))x≠v

q(v,w)

k = c log2 n

27

53

Idea

• (v, t)

• R is the minimum-sized group containing both v and t.

• With property (1)

• Then:q = R ≥ 2,v ∈ R ⇒ (v ∈ ′ R ⊆ R)∧ (q = R > ′ R > λq)

∃ ′ R ⇒ (t ∈ ′ R )∧ (λ2 R < ′ R < λ R )

How to define “usefulness” of v?

54

Usefulness of v

• (v, t)

• R is the minimum-sized group containing both v and t.

• With property (1)

• Then:q = R ≥ 2,v ∈ R ⇒ (v ∈ ′ R ⊆ R)∧ (q = R > ′ R > λq)

∃ ′ R ⇒ (t ∈ ′ R )∧ (λ2 R < ′ R < λ R )

∃x,(l(v,x) =1)∧ (x ∈ ′ R )

28

55

Probability to have 1 U.N.

Z = b−h(v,x )

x≠v

∑ = (b −1)b j−1

j=1

logn

∑ b− j ≤ logn

bi−1leaves ∈ ′ ′ T

b− i

logn

bi−1 × b− i

logn= 1

b logn

(1− 1

b logn)c log2 n ≤ n−θ

One leave

All out-links

56

Probability to have 1 U.N.

Z = 1q(v,x)x≠v

∑ ≤ β j +1

j=1

logn

∑ β−( j−1) = β 2 logβ n

(1− λ2

β 2 logβ n)c log2 n ≤ n−θ

29

57

Results

• Otherwise, no polylogarithmic search

α =1⇒ Ο(logn)

58

Fixed Number of Out-Links

• Relax “t” to “a cluster of t”

v t

T

Cl Cl

T

tx

vw

m = L

r = Cluster

n = m × r

r: Resolution

30

59

Question #1

• Why can’t we just treat “Cluster” as “Super Node” and we go home (by applying the HNM results)?

Cl Cl

T

tx

vw

m = L

r = Cluster

n = m × r

60

Not necessarily

Cl Cl

tx

vw

Cl

pq

31

61

Probability

f (h(v,w)) ~ (h(v,w) +1)−2b−h(v,w )

Z ≤ 2r

62

Question #2

• For any out-link of v, what is the probability that the end point of the out-link is in the same cluster of v?

32

63

Answer

(0+1)−2b−0 =1

1× r

Z≥ r

2r= 1

2

64

Results

• If the resolution is polylogarithmic, the the search is polylogarithmic if alpha = 1.

33

65

A “Similar” Process

v

u

T

′ T ′ ′ T

w t

Coloring the Links

66

Random Graphs and Search/Routing

• Multiple Analytical models– Capture certain perspectives with social interpretation.– But, depending on WHAT we want to capture.– For example, simple social topology, weighted topology,

content correlation

• Efficient Routing– Theoretically good following a given analytical model,

especially the statistical graph generation.– Heuristics/Greedy not always clear.– Need real-world data validation

34

67

• How will we tell whether the relative distance between X&Y is closer than X&Z?– X, Y, Z (assuming they are all direct friends to each other)

• One simple idea: “Keyword intersection”– KW(X), KW(Y), KW(Z)

– 1/(#[KW(a) KW(b)] + 1)

– Will this work? How about global distance?

I

X, Y, and Z

68

Similarity

35

69

Similarity

70

The challenges of DSL

• The generator model is a lot more complicated.

• How to validate the model is going to be fairly human-oriented ~ we can only try our best to do “semantic” interpretation.– For instance, how to model the “profiling key words” analytically?

36

71

Social Network Formation

• “Bit torrent”– Tic-for-Tac ~ incentive to form the download and upload networks over time

• Game-theoretical Analysis– “Understanding and re-discover” the incentive mechanisms under existing systems

– “Engineering new Incentive mechanisms” to form the “right/best” networks we prefer!

72

3-player coalition game

(N = {1,2,3}, v)

S ≥ 2⇒ v(S) =1

S ≤1⇒ v(S) = 0

Super-additive?Efficient allocation?

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

The value must be given by the interpretation

37

73

Coalition Game

• Game

• Characteristic Function

• Super-Additive

• Payoff Allocation

(S,T ⊆ N)∧ (S ∩ T = ∅)⇒ v(S) + v(T) ≤ v(S ∪ T)

(N = {1,2,...,n}, v)

v(S) ~ ∀S ⊆ N

x = (x i)i∈N ∈ ℜN

74

Payoff Allocation

• Efficient

• Individually Rational

• Imputation Set

{ x ∈ ℜN | x i

i∈N

∑ = v(N)}

x i ≥ v({ i}), ∀i ∈ N

{ x ∈ ℜN | x i

i∈N

∑ = v(N)∧ x i ≥ v({ i}), ∀i ∈ N}

I(N,v) =

38

75

Core

• Imputation Set

• Core

{ x ∈ ℜN | x i

i∈N

∑ = v(N)∧ x i ≥ v({ i}), ∀i ∈ N}

{ x ∈ ℜN | x i

i∈N

∑ = v(N)∧ x i

i∈S

∑ ≥ v(S),∀S ⊆ N}

I(N,v) =

C(N,v) =

76

Interpretation of “Core”

• No incentive for splitting from the “Grand Coalition”

• No subgroup coalition adds more value than the “Grand Coalition”

39

77

Does “Core” always exist?

• Imputation Set

• Core?

{ x ∈ ℜN | x i

i∈N

∑ = v(N)∧ x i ≥ v({ i}), ∀i ∈ N}

{ x ∈ ℜN | x i

i∈N

∑ = v(N)∧ x i

i∈S

∑ ≥ v(S),∀S ⊆ N}

78

3-player game

(N = {1,2,3}, v)

S ≥ 2⇒ v(S) =1

S ≤1⇒ v(S) = 0

Super-additive?Efficient allocation?

v(S) + v(T) ≤ v(S ∪ T)

[0,0] → 0+ 0 ≤ 0

[0,1] → 0+ 0 ≤ 0

[1,1] → 0+ 0 ≤1

[0,2] → 0+1≤1

[1,2] → 0+1≤1

[1,1,1]→ 0+ 0+ 0 ≤1

40

79

3-player game

(N = {1,2,3}, v)

S ≥ 2⇒ v(S) =1

S ≤1⇒ v(S) = 0

Super-additive?Efficient allocation?{( x1,x2,x3) ∈ ℜ3 | x1 + x2 + x3 =1}

I(N,v) =

{( x1,x2,x3) ∈ ℜ3 | x1 + x2 + x3 =1∧ x i ≥ 0,∀i}

80

Imputation and Core

(N = {1,2,3}, v)

S ≥ 2⇒ v(S) =1

S ≤1⇒ v(S) = 0

C(N,v) = {( x1,x2,x3) ∈ ℜ3 |

x1 + x2 + x3 =1∧ x i ≥ 0,∀i ∧ x i + x j ≥1,∀i, j,i ≠ j}

I(N,v) =

{( x1,x2,x3) ∈ ℜ3 | x1 + x2 + x3 =1∧ x i ≥ 0,∀i}

41

81

Examples of

(1

2,3

4,− 1

4)

(1,0,0)

(12

,14

,14

)

(1

3,1

3,1

3)

(x1,x2,x3)

82

Examples of

(1

2,3

4,− 1

4)

(1,0,0)

(12

,14

,14

)

(1

3,1

3,1

3)

(x1,x2,x3)

Efficient but Irrational

Rational, Imputation, not Core

Rational, Imputation, not Core

Rational, Imputation, not Core

42

83

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v(S) = 60

S ≤1⇒ v(S) = 0

Super-additive?Efficient allocation?Imputation and Core?

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

84

Examples of

(0,0,0)

(30,30,0),(30,0,30),(0,30,30)

(44,14,14),(14,44,14),(14,14,44)

(24,24,24)

(x1,x2,x3)

Rational, Imputation, Core?

1

2 3

1

2 3

43

85

Examples of

(0,0,0)

(30,30,0),(30,0,30),(0,30,30)

(44,14,14),(14,44,14),(14,14,44)

(24,24,24)

(x1,x2,x3)

C(N,v) = {( x1,x2,x3) ∈ ℜ3 | x1 + x2 + x3 = v(N)∧x i ≥ 0,∀i ∧ x i + x j ≥ v({ i, j}), ∀i, j,i ≠ j}

86

The Class of Balanced Game

∀S ⊆ N

eS ∋ eiS =1,∀i ∈ S,ei

S = 0,∀i ∈ N \ S

κ : 2N \ {∅} → [0,1]

κ(S)eS

S ∈2N \{ ∅}

∑ = eN

is called a balanced map, if

A vector!

44

87

The Class of Balanced Game

∀S ⊆ N

eS ∋ eiS =1,∀i ∈ S,ei

S = 0,∀i ∈ N \ S

κ : 2N \ {∅} → [0,1]

κ(S)eS

S ∈2N \{ ∅}

∑ = eN

(N,v)

∀κ, κ(S)v(S)S ∈2N \{ ∅}

∑ ≤ v(N)

is called a balanced map, if

is called a balanced game, if

“balanced maps”

88

Bondareva (1963) Shapley (1967)

C(N,v) ≠ ∅ ⇔ (N,v) is balanced

45

89

Bondareva (1963) Shapley (1967)

C(N,v) ≠ ∅ ⇔ (N,v) is balanced

The first paper is in Russian, while the second one was written in French!

90

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v(S) = 60

S ≤1⇒ v(S) = 0

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

46

91

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v({1,2}) = 60

S = 2⇒ v({1,3}) = 48

S = 2⇒ v({2,3}) = 30

S ≤1⇒ v(S) = 0

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

92

Balanced Map

κ : 2N \ {∅} → [0,1]

κ(S)eS

S ∈2N \{ ∅}

∑ = eN

∀κ, κ(S)v(S)S ∈2N \{ ∅}

∑ ≤ v(N)

47

93

Balanced Map

κ : 2N \ {∅} → [0,1] κ(S)eS

S ∈2N \{ ∅}

∑ = eN

∀κ, κ(S)v(S)S ∈2N \{ ∅}

∑ ≤ v(N)

κ(i) = 0,∀i ∈ {1,2,3}

κ(1)+ κ(1,2)+ κ(1,3)+ κ(1,2,3)=1

κ(2)+ κ(1,2)+ κ(2,3)+ κ(1,2,3)=1

κ(3)+ κ(1,3)+ κ(2,3)+ κ(1,2,3)=1

94

Solving the Equations?

κ(1,2) + κ(1,3) + κ(1,2,3) =1

κ(1,2)+ κ(2,3)+ κ(1,2,3)=1

κ(1,3)+ κ(2,3)+ κ(1,2,3)=1

48

95

Solving the Equations?

κ(1,2) + κ(1,3) + κ(1,2,3) =1

κ(1,2)+ κ(2,3)+ κ(1,2,3)=1

κ(1,3)+ κ(2,3)+ κ(1,2,3)=1

κ(1,2)= κ(1,3)= κ(2,3)= 1−κ(1,2,3)2

96

Check Balance

κ(S)v(S)S ∈2N \{ ∅}

∑ ≤ v(N)

= κ(1,2)× 60+ κ(1,3)× 48+ κ(2,3)× 30+ κ(1,2,3)× 72

= 1−κ(1,2,3)2

× (60+ 48+ 30)+ κ(1,2,3)× 72

= 1−κ(1,2,3)

2× (138)+ κ(1,2,3)× 72

= 69+ 3×κ(1,2,3)

≤ 72= v(N) κ(1,2,3) ∈ [0,1]

49

97

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v({1,2}) = 60

S = 2⇒ v({1,3}) = 48

S = 2⇒ v({2,3}) = 30

S ≤1⇒ v(S) = 0

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

98

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v({1,2}) = 60

S = 2⇒ v({1,3}) = 48

S = 2⇒ v({2,3}) = 30

S ≤1⇒ v(S) = 0

x1 ≥ 0,x2 ≥ 0,x3 ≥ 0,

x1 + x2 ≥ 60

x1 + x3 ≥ 48

x2 + x3 ≥ 30

x1 + x2 + x3 = 72

50

99

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v({1,2}) = 60

S = 2⇒ v({1,3}) = 48

S = 2⇒ v({2,3}) = 30

S ≤1⇒ v(S) = 0

x1 ≥ 0,x2 ≥ 0,x3 ≥ 0,

x1 + x2 ≥ 60

x1 + x3 ≥ 48

x2 + x3 ≥ 30

x1 + x2 + x3 = 72

(x1,x2,x3) = (40,22,10)

100

3-player game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v({1,2}) = 60

S = 2⇒ v({1,3}) = 48

S = 2⇒ v({2,3}) = 30

S ≤1⇒ v(S) = 0

x1 ≥ 0,x2 ≥ 0,x3 ≥ 0,

x1 + x2 ≥ 60

x1 + x3 ≥ 48

x2 + x3 ≥ 30

x1 + x2 + x3 = 72

(x1,x2,x3) = (40,22,10)

(42,24,6)(42,18,12)(36,24,12)

51

101

Two Issues

• Non-existence of Core

• Too many possible cores ~ select ONE

102

Shapley Value

• If you are in the coalition, you equally share the value with others.

• If you are not, you get nothing.

52

103

Unanimity Coefficients

v = 60u1,2 + 48u1,3 + 30u2,3 − 66u1,2,3

v(1,2)= 60+ 0+ 0− 0 = 60

v(1,2,3)= 60+ 48+ 30− 66= 72

104

Unanimity Coefficients

v = 60u1,2 + 48u1,3 + 30u2,3 − 66u1,2,3

v(1,2)= 60+ 0+ 0− 0 = 60

v(1,2,3)= 60+ 48+ 30− 66= 72

Φ(N,v)

= (30,30,0)+ (24,0,24)+ (0,15,15)− (22,22,22)

= (32,23,17)

53

105

Network Restricted Games

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v(S) = 60

S ≤1⇒ v(S) = 0(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = {1,2} ∨ S = {2,3} ⇒ v(S) = 60

S ≤1⇒ v(S) = 0

106

Network Formation Game

54

107

A simplified game

• Aumann/Myerson 1988– “Endogenous Formation of Links between Players and Coalitions: an Application of the Shapley value”, pp. 175-191, The Shapley Value, Cambridge University Press.

• Each link will get a chance, in some particular round-robin sequential order, to form a link, which can never be broken.

• The game ends when no pairs want to form any new link.

108

The Given Order

(N,v,γ,σ){ i, j}

σ : LN → {1,2,...,n

2

}

σ(ij) = k

55

109

The Game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

S = 2⇒ v(S) = 60

S ≤1⇒ v(S) = 0

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

110

Unanimity Coefficients

v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

v(1,2)= 60+ 0+ 0− 0 = 60

v(1,2,3)= 60+ 60+ 60−108= 72

Φ(N,v)

= (30,30,0)+ (30,0,30)+ (0,30,30)− (36,36,36)

= (24,24,24)

56

111

The Network Restricted Game

(N = {1,2,3}, v)

S = 3⇒ v(S) = 72

{12,23} ⇒ v(S) = 60

S ≤1⇒ v(S) = 0 1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

1

2 3

112

Interpretation

• {1,2,3} are in the same coalition, but…

• “1” can not directly talk to “3”

• In order to form a friend link between “1” and “3”, they must go through “2”

• “2” is more valuable, but how much?

1

2 3

1

2 3

57

113

Unanimity Coefficients

v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

v(1,2)= 60+ 0+ 0− 0 = 60

v(1,2,3)= 60+ 60+ 60−108= 72

Φ(N,v)

= (30,30,0)+ (30,0,30)+ (0,30,30)− (36,36,36)

= (24,24,24)

114

Unanimity Coefficients

v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

v(1,3)= 0+ 60+ 0− 0 = 60→ 0

v L = 60u1,2 + 0u1,3 + 60u2,3 − 48u1,2,3

Φ(N,v)

= (30,30,0)+ (0,0,0)+ (0,30,30)− (16,16,16)

= (14,44,14)

58

115

Unanimity Coefficients

v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

v(1,3)= 0+ 60+ 0− 0 = 60→ 0

v L = 60u1,2 + 0u1,3 + 60u2,3 − 48u1,2,3

Φ(N,v)

= (30,30,0)+ (0,0,0)+ (0,30,30)− (16,16,16)

= (14,44,14)

Shapley

Myerson

116

The Network Restricted Game

S =1 ~ µi(N,v,∅) = 0,∀i

S = 2 ~ µk (N,v,{ ij}) =k ∉ { i, j} → 0

k ∈ { i, j} → 30

∀k

S = 3 ~ µr(N,v,{ ij, jk}) =r = j → 44

r ∈ { i,k} →14

∀r

S = 3 ~ µi(N,v,LN ) = 24,∀i

59

117

Nash Equilibrium?

S =1 ~ µi(N,v,∅) = 0,∀i

S = 2 ~ µk (N,v,{ ij}) =k ∉ { i, j} → 0

k ∈ { i, j} → 30

∀k

S = 3 ~ µr(N,v,{ ij, jk}) =r = j → 44

r ∈ { i,k} →14

∀r

S = 3 ~ µi(N,v,LN ) = 24,∀i

118

Link Probe Order ~ {12,13,23}

• Should {12} agree or not?– Yes, should {13} agree?

• Yes, should {23} agree?– Yes, the game ends– No, should {12} agree?…

• No, should {23} agree?– Yes, should {12} agree?…– No, should {12} agree?…

– No, should {13} agree?• Yes, should {23} agree?

– Yes, should {12} agree?– No, should {12} agree?

60

119

Link Probe Order ~ {12,13,23}

• Should {12} agree or not?– Yes, should {13} agree?

• Yes, should {23} agree?– Yes, the game ends– No, the game ends

• No, should {23} agree?– Yes, should {13} agree?…– No, should {13} agree?…

– No, should {13} agree?• Yes, should {23} agree?

– Yes, should {12} agree?– No, should {12} agree?

120

The Extensive Form

{12} ?

y{13} ? n{13} ?

yy{23} ? yn{23} ? ny{23} ? nn{23} ?

yyy yny{13} ?yyn ynn

ynyy ynyn

nnn

61

121

Nash Equilibrium

• Only one link will be formed!– {12}, {13}, or {23}

122

Network Formation

• Theorem: For any super-additive coalitional game with an allocation rule on communication situations satisfying component efficiency, weak link symmetry, and the improvement property, then any network can be supported by a Nash Equilibrium of the network formation game.

• NE has no power in predicting the network formation in strategic form

62

123

How about SNE, UnNE, CPNE?

124

Strong Nash Equilibrium

• Nash Equilibrium (NE)– No Coalition allowed

• Strong Nash Equilibrium (SNE)– Works for ALL possible coalitions

63

125

(u1,s2,s3) (s1,u2,t3) (t1,t2,u3) (u1,u2,u3)

3,3,0 0,0,0 3,3,0

3,0,3 3,0,3 3,0,3

4,1,1 3,0,3 4,1,1

s2 t2 u2

s1

t1u1

3,3,0 0,3,3 1,4,1

0,0,0 0,3,3 0,3,3

3,3,0 0,3,3 1,4,1

s2 t2 u2

s1

t1u1

3,3,0 0,3,3 1,4,1

3,0,3 1,1,4 1,1,4

4,1,1 1,1,4 2,2,2

s2 t2 u2

s1

t1u1

s3 t3

u3

Is any of them “Strong”? No!!

126

NE versus SNE

Alice

Bob

No Link

No link

Link

Link

0, 0

1, 1

0, 0

0, 0

Strategic Form of Coalition

64

127

NE versus SNE

Alice

Bob

No Link

No link

Link

Link

0, 0

1, 1

0, 0

0, 0

Strategic Form of Coalition

128

Three Person Coalition Game

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

1

2 3

1

2 3

1

2 3

1

2 3

65

129

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Each one of them will get 24!

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

130

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Each one of them will get 24!

But, say {2,3} deviate by breaking 12 and 13, they both can get 30!

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

66

131

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Player 2 get “44”!

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

132

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Player 2 get “44”!

Again, players 1 and 3 can collaborate and break their links with 2 to get “30” each from merely “14”!

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

67

133

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Players 2 and 3 get “30”!

134

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Players 2 and 3 get “30”!

Again, players 1 and 2 can collaborate such that 2 will get “44”, while 1 will get “14”!

68

135

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

No Strong NE!

How about CPNE?

136

Coalition-Proof Nash Equilibrium

• NE is too loose & SNE is too restrictive, and CPNE is somewhere in between…

• Under SNE, a coalition can move from a NE to any other cell, but that cell might not be stable…

• Under CPNE, a coalition can be only allowed to move a “self-enforcing” cell (I.e., no further deviation from that cell).

69

137

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

138

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Is it NE itself?

70

139

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Is it NE itself?

Each individual player can NOT add a link.But they can break the link!

The answer is YES!

140

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Is it NE itself?

No!

71

141

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Two NE’s!

142

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Which one is CPNE?

72

143

Three Person Coalition Game

1

2 3

1

2 3

1

2 3

1

2 3

Γnf (N,v,µ),v = 60u1,2 + 60u1,3 + 60u2,3 −108u1,2,3

Only ONE CPNE!

144

Open Issues

• What is the “value” of this social network?• How would this “value” be distributed and allocated to each individual peers?

• DSL, Facebook, LinkedIn didn’t define the “game” for network formation and value allocation.– But, it is important to design the game such that the OSN will eventually converge to a state to best support the communities.

73

145

Social Network Games

146

74

147

MessageReaper

• A Feedback Control Trust/Reputation system

• Trust needs to be maintained along the route path!

148

Reputation on Feed-back

A

B

C

D

“D” is the one to decide whether the message from A/B/C is good or bad!

??

75

149

Trust Structure

150

Three Trust Values

• Ainit: a neighbor sending a message as the first hop.

• Afwd: a neighbor sending a message without being the first hop

• Art: a neighbor forwarding a message from me which reaches the destination

76

151

Example

152

77

153

154

78

155

1000 nodes, 20% bad

156

1000 nodes, 10%/40% bad

79

157

Increasing the Spammers

158

Orkut (15329 nodes)

80

159

Collusive Attacks

A

B

C

D

160

Robustness as OSN “Value”

A

B

C

D

A

B

C

D

81

161

Community-Oriented Networking

• DSL offers a way to dynamically identify and establish social communities– But, we still have a lot of open issues

• Facebook:– Networks: email address dependent

– Groups: you have to use your existing social network to invite.

162

DSL vs. Google

82

163

“Google”

• It’s about the “content”– Data-centric networking.

• Input to the Engine– A set of key words characterizing the target document.

• Output– A set of documents/links matching the keywords

164

“DSL”

• It’s also about the “content”– Application will decide the mechanism to further the communication.

• Input to the Decentralized Engine– A set of key words characterizing the target document (plus the aggregation keywords).

• Output– A set of DSL entities with the DSP (Davis Social Path pointer) matching the keywords

83

165

DSL Search Engine

DSL Social World

Receiver orContent

Sender orReader

We are not just connecting the IP addresses!We are connecting all the contents that can be interpreted!

166

Google vs. DSL

• Google is essentially a “routing” framework between the contents and their potential consumers.

• Google decides how to extract the “key words” from your (the owner) web page or document.

84

167

Google vs. DSL

• Google is essentially a “routing” framework between the contents and their potential consumers.

• Google decides how to extract the “key words” from your (the owner) web page or document.

• A DSL “owner/receiver to be” has the complete control over that. A balance between:– How I would like others to know about me?

• And, I might want different folks to know me in different ways!

– How I can differentiate myself from other Felix Wu?

168

LinkedIn: Get Introduced

85

169

Another one