algorithms social graphs

34
Algorithms Social Graphs Algorithms

Upload: others

Post on 03-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms Social Graphs

Algorithms

Social Graphs

Algorithms

Page 2: Algorithms Social Graphs

Social Graphs

Definition I: A social graph contains all the friendship

relations (edges) among a group of n people (vertices).

The friendship relationship is symmetric. Two vertices with

no edge between them are enemies.

Definition II: In a social graph with n vertices, all the(

n2

)

edges are colored either by blue (friends) or by red

(enemies).

Algorithms 1

Page 3: Algorithms Social Graphs

Statement I

Theorem: There is no group of 7 people such that each

person in the group has exactly 3 friends in the group.

Proof:

⋆ The hand-shaking lemma: In any graph the sum of all

the degrees is even.

− Because each edge contributes exactly 2 to this sum.

⋆ The sum of all degrees in a graph with 7 vertices for

which all degrees are 3 is 21 which is odd.

− Therefore, such a graph is impossible.

Algorithms 2

Page 4: Algorithms Social Graphs

Statement II

Theorem: In any group of n ≥ 2 people, there are at least 2

people with the same number of friends in the group.

Proof:

⋆ In a graph with n vertices, 0, 1, . . . , n − 1 are the only

possible values for a degree of a vertex.

⋆ If each vertex has a distinct degree, then there must be

a vertex v with degree d(v) = n − 1 and a vertex u with

degree d(u) = 0.

⋆ But d(v) = n− 1 implies that d(u) ≥ 1; a contradiction.

Algorithms 3

Page 5: Algorithms Social Graphs

Statement III

Theorem: There exists a group of 5 people for which no 3

are mutual friends and no 3 are mutual enemies.

Proof: The following coloring of the edges of K5 with blue

or red is the only (up to a symmetry) coloring with no

uni-colored triangle.

Algorithms 4

Page 6: Algorithms Social Graphs

Statement IV

Theorem: Every group of 6 people contains either three

mutual friends or three mutual enemies.

Proof:

⋆ Consider vertex A. A has either 3 friends or 3 enemies.

Assume B,C,D are 3 friends of A.

⋆ If any of the 3 pairs BC,CD,BD are friends, then this

pair with A form a friendship triangle.

⋆ Otherwise, BCD is a triangle of enemies.

Algorithms 5

Page 7: Algorithms Social Graphs

Statement IV

Corollary I: If a vertex found a triangle that contains itself,

then the following is a sub-coloring of the graph:

Corollary II: If a vertex found a triangle that does not contain

itself, then the following is a sub-coloring of the graph:

Algorithms 6

Page 8: Algorithms Social Graphs

Statement V

Theorem: A social graph with 6 vertices contains at least 2

uni-colored triangles (not necessarily of the same color).

Remark: There are only 3 possible colorings (up to a

symmetry) for a graph with 6 vertices and only 2 uni-

colored triangles.

Algorithms 7

Page 9: Algorithms Social Graphs

Proof I: Case Analysis

⋆ Let ABC be a uni-colored triangle found by Statement IV

and let D, E, and F be the other 3 vertices.

⋆ If DEF is also a uni-colored triangle, then it is the second

uni-colored triangle. Otherwise, one of DE,DF,EF is not

colored as the uni-colored triangle.

⋆ Assume ABC is a blue triangle and the DE is a red edge.

Algorithms 8

Page 10: Algorithms Social Graphs

Proof I: Case Analysis

⋆ If either D or E is connected to ABC with 2 blue edges,

then a second blue triangle is found.

Algorithms 9

Page 11: Algorithms Social Graphs

Proof I: Case Analysis

⋆ Otherwise, D and E each is connected to ABC with at

least 2 red edges.

⋆ Therefore, at least 1 vertex from ABC is connected to both

D and E with red edges. Let this vertex be A.

⇒ ADE is a red triangle.

Algorithms 10

Page 12: Algorithms Social Graphs

Proof II: Based on Statement III

⋆ Assume that there exists only one uni-colored triangle.

⋆ Omit one of the vertices of this triangle. By Statement III,

the remaining 5 vertices are colored with a blue 5-ring and

a red 5-ring. Let the omitted vertex be A.

Algorithms 11

Page 13: Algorithms Social Graphs

Proof II: Based on Statement III

⋆ A has either at least 3 blue edges or at least 3 red edges.

Assume B,C,D are 3 blue neighbors of A.

⋆ If B,C,D are 3 consecutive vertices on the blue 5-ring,

then ABC and ACD are blue triangles.

Algorithms 12

Page 14: Algorithms Social Graphs

Proof II: Based on Statement III

⋆ If A has at least 4 blue neighbors, then at least 3 of them

are consecutive on the blue 5-ring.

⋆ In the remaining case, A has exactly 2 red neighbors, say

D and E that must be adjacent on the red 5-ring.

⇒ ADE is a red triangle.

Algorithms 13

Page 15: Algorithms Social Graphs

Proof III: Based on Statement IV

⋆ Assume towards contradiction that there exists only 1 uni-

colored triangle ABC. Assume ABC is a blue triangle.

⋆ Case I: There exists a blue edge connected to the triangle.

Assume that A has another blue neighbor D.

⋆ Corollaries I and II of Statement IV imply that D must find

another uni-colored triangle.

Algorithms 14

Page 16: Algorithms Social Graphs

Proof III: Based on Statement IV

⋆ Case II: Assume that the blue triangle ABC is connected to

the rest of the vertices D,E,F with red edges.

Algorithms 15

Page 17: Algorithms Social Graphs

Proof III: Based on Statement IV

⋆ If any of the pair DE,DF,EF is a red pair, then this pair

form 3 red triangles with A,B,C.

⋆ Otherwise, DEF is the second blue triangle.

Algorithms 16

Page 18: Algorithms Social Graphs

Proof IV: Counting

⋆ There are exactly 20 =(

63

)

distinct triangles in the complete

graph K6.

⋆ Assume a coloring of the edges of K6 with blue and red.

⋆ Let T be the number of non uni-colored triangles.

⋆ Let S be the number of pairs of edges that intersect such

that each edge is colored with a different color.

Algorithms 17

Page 19: Algorithms Social Graphs

Proof IV: Counting

⋆ Each uni-colored triangle contributes nothing to S wheras

a non uni-colored triangle contributes 2 to S.

⇒ S = 2T .

⋆ Each vertex contributes at most 2 · 3 = 6 to S in case it

has 2 edges of one color and 3 edges of the other color.

⇒ S ≤ 6 · 6 = 36.

⋆ It follows that 2T ≤ 36 implying that T ≤ 18.

⇒ There are at least 2 uni-colored triangles.

Algorithms 18

Page 20: Algorithms Social Graphs

Coloring Edges with 3-Colors

Theorem: 17 people discuss 3 topics among themselves where

each pair discusses only 1 topic. Then, there are at least 3

people who discuss among themselves the same topic.

Proof:⋆ Consider vertex A.

⋆ There is a topic that A discusses with at least 6 people.

⋆ If 2 of these 6 people, B and C, discuss this topic, then

A,B,C are 3 people that discuss the same topic.

⋆ Otherwise, these 6 people discuss among themselves only

2 topics.

⋆ By Statement IV, there are 3 people among these 6

people who discuss the same topic.

Algorithms 19

Page 21: Algorithms Social Graphs

Ramsey Numbers

⋆ R(h, ℓ) is the minimum integer n such that any graph with

n vertices contains either a clique with h vertices or an

independent set with ℓ vertices.

⋆ R(h, ℓ) is the minimum integer n such that any coloring of

the edges of the complete graph Kn with the colors blue

and red creates either a red clique of size h or a blue clique

of size ℓ.

⋆ Statements III and IV imply that R(3, 3) = 6.

Algorithms 20

Page 22: Algorithms Social Graphs

Ramsey Numbers: Observations and Known Bounds

⋆ R(h, ℓ) = R(ℓ, h).

⋆ R(2, ℓ) = ℓ

⋆ R(h, h) ≤ 4R(h − 2, h) + 2.

⋆ h2h/2

e√

2≤ R(h, h)

⋆ c1ℓ2

ln ℓ ≤ R(3, ℓ) ≤ c2ℓ2

ln ℓ for some constants c1 < c2.

Algorithms 21

Page 23: Algorithms Social Graphs

Generalized Ramsey Numbers

⋆ Let G be a family of graphs.

− Examples: Kn, Nn, Cn, trees, binary trees, . . .

⋆ R(G, k) is the minimum integer n such that any coloring

of the edges of the complete graph Kn with k colors has a

mono-chromatic sub-graph G from the family G.

⋆ R(G, 2) is the minimum integer n such that for any graph

with n vertices either the graph or its complement has a

sub-graph isomorphic to a graph G from the family G.

Algorithms 22

Page 24: Algorithms Social Graphs

Examples

⋆ R({K3} , 2) = 6.

− Statement III implies that R({K3} , 2) > 5.

− Statement IV implies that R({K3} , 2) ≤ 6.

⋆ R({K3, C5} , 2) = 5.

− Statement III implies that R({K3, C5} , 2) ≤ 5.

− Trivially R({K3} , 2) > 4.

⋆ R({K3} , 3) ≤ 17.

− From the 17 people who discuss 3 topics statement.

Algorithms 23

Page 25: Algorithms Social Graphs

Statement VI

Theorem: In any group of n ≥ 1 people, there exists a

committee of 1 ≤ k ≤ n members such that no 2 committee

members are friends and every person not included in the

committee is a friend of at least 1 committee member.

Proof: Construct the following committee. As long as there

exists a vertex v in the graph:

⋆ Add v to the committee.

⋆ Omit v and all of its neighbors from the graph.

Algorithms 24

Page 26: Algorithms Social Graphs

Statement VI

The algorithm is correct:

⋆ Let u and v be 2 members in the committee. Assume v

joined the committee first. Then u cannot be a neighbor

of v.

− The committee is an independent set.

⋆ Let w be a non-committee vertex. Then w has a neighbor

v that is a committee member that caused w not to be

a committee member.

− The committee is a dominating set.

Algorithms 25

Page 27: Algorithms Social Graphs

Statement VII

Theorem: Any group of n ≥ 2 people can be partitioned

into 2 subgroups such that at least half the friends of each

person belong to the subgroup of which that person is not

a member.

Notations: Let P be a partition of the set of all vertices V

into 2 disjoint sets:

⋆ Denote by ds(v) the degree of v in its own set.

⋆ Let

P

v∈V ds(v)

2 be the number of contained edges in P .

⋆ Denote by do(v) the degree of v in the other set.

⋆ Let

P

v∈V do(v)

2 be the number of crossed edges in P .

Algorithms 26

Page 28: Algorithms Social Graphs

Statement VII: A Constructive Proof

Algorithm:

⋆ Start with an arbitrary partition P .

⋆ As long as there exists a vertex v such that ds(v) > do(v),

transfer v to the other set.

Correctness: If the algorithm terminates, then in the final

partition ds(v) ≤ do(v) for any vertex v.

Algorithms 27

Page 29: Algorithms Social Graphs

Statement VII: Termination Proof

⋆ Define D(P ) to be the difference between the number of

cross edges and contained edges for the partition P .

⋆ D(P ) = 12

v∈V (do(v) − ds(v)).

⋆ Let Q be the partition after transferring v to the other set

in teh partition P .

⇒ D(Q) = D(P ) + 2(ds(v) − do(v)) > D(P ).

⋆ Since D(Q) ≤ n2

4 for any partition, the algorithm

terminates.

Algorithms 28

Page 30: Algorithms Social Graphs

Statement VIII

Theorem: Suppose everyone in a group of n ≥ 3 people is

a friend of at least half the people in the group. It is

possible to seat the group around a table in such a way

that everyone is seated between 2 of their friends.

Equivalent Theorem: Let G be a simple undirected graph

with n ≥ 3 vertices. Assume that d(v) ≥ n2 for any vertex

v. Then there exists a Hamilton Circuit in G.

Proof: A greedy algorithm finds the Hamilton circuit.

Algorithms 29

Page 31: Algorithms Social Graphs

Statement IX

Theorem: Suppose in a group of n ≥ 2 people, any pair has

precisely one common friend. Then there is always a person

(the “politician”) who is everybody’s friend.

Equivalent Theorem: Let G be a simple undirected graph

with n vertices. Assume that any 2 vertices have precisely

one common neighbor. Then there exists a vertex v that is

adjacent to all other vertices.

Algorithms 30

Page 32: Algorithms Social Graphs

Statement IX: The Windmill Graph

A stronger statement: The only possible graphs are the

windmill graphs for odd n ≥ 3.

Algorithms 31

Page 33: Algorithms Social Graphs

Statement IX: Proof Outline

⋆ Assume that there exists a graph G obeying the theorem’s

conditions that is not a windmill graph.

⋆ G must be a d-regular graph: d(v) = d for each vertex v.

⋆ d2 − d + 1 = n.

⋆ This is impossible.

Algorithms 32

Page 34: Algorithms Social Graphs

Statement IX: Infinite Graphs

⋆ There exists an infinite graph without a vertex that is

a neighbor to all other vertices such that every pair of

vertices has exactly one common neighbor.

⋆ Start with a 5-ring and add a new vertex when needed to

satisfy the condition for any pair of vertices.

Algorithms 33