Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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