* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Algorithms Social Graphs
Survey
Document related concepts
Transcript
Algorithms Social Graphs Algorithms 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 n 2 edges are colored either by blue (friends) or by red (enemies). Algorithms 1 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 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 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 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 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 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 unicolored triangles. Algorithms 7 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 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 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 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 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 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 Proof III: Based on Statement IV ⋆ Assume towards contradiction that there exists only 1 unicolored 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 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 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 Proof IV: Counting ⋆ There are exactly 20 = graph K6. 6 3 distinct triangles in the complete ⋆ 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 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 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 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 Ramsey Numbers: Observations and Known Bounds ⋆ R(h, ℓ) = R(ℓ, h). ⋆ R(2, ℓ) = ℓ ⋆ R(h, h) ≤ 4R(h − 2, h) + 2. ⋆ h/2 h2√ e 2 ⋆ ℓ2 c1 ln ℓ Algorithms ≤ R(h, h) ≤ R(3, ℓ) ≤ ℓ2 c2 ln ℓ for some constants c1 < c2. 21 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 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 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 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 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. P d (v) ⋆ Let v∈V2 s be the number of contained edges in P . ⋆ Denote by do(v) the degree of v in the other set. ⋆ Let Algorithms P v∈V do (v) 2 be the number of crossed edges in P . 26 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 Statement VII: Termination Proof ⋆ Define D(P ) to be the difference between the number of cross edges and contained edges for the partition P . P 1 ⋆ D(P ) = 2 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) ≤ terminates. Algorithms n2 4 for any partition, the algorithm 28 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 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 Statement IX: The Windmill Graph A stronger statement: The only possible graphs are the windmill graphs for odd n ≥ 3. Algorithms 31 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 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