The number of edge-disjoint transitive triples in a tournament.

Slides:



Advertisements
Similar presentations
Problems and Their Classes
Advertisements

Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
1 Decomposing Hypergraphs with Hypertrees Raphael Yuster University of Haifa - Oranim.
On the Density of a Graph and its Blowup Raphael Yuster Joint work with Asaf Shapira.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
A Separator Theorem for Graphs with an Excluded Minor and its Applications Paul Seymour Noga Alon Robin Thomas Lecturer : Daniel Motil.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Presented by Yuval Shimron Course
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
Combinatorial Algorithms
Fast FAST By Noga Alon, Daniel Lokshtanov And Saket Saurabh Presentation by Gil Einziger.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Computational problems, algorithms, runtime, hardness
Approximation Algorithms
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Approximation Algorithms
NP-Complete Problems Problems in Computer Science are classified into
1 Packing directed cycles efficiently Zeev Nutov Raphael Yuster.
Analysis of Algorithms CS 477/677
1 Relations: The Second Time Around Chapter 7 Equivalence Classes.
How many non-isomorphic tournaments with 10 vertices are there? a). 5 b). 10 c). 362,880 d). Over nine million.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Chapter 11: Limitations of Algorithmic Power
Distributed Combinatorial Optimization
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Approximation Algorithms: Bristol Summer School 2008 Seffi Naor Computer Science Dept. Technion Haifa, Israel TexPoint fonts used in EMF. Read the TexPoint.
Dana Moshkovitz, MIT Joint work with Subhash Khot, NYU.
Fractional decompositions of dense hypergraphs Raphael Yuster University of Haifa.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 A fast algorithm for Maximum Subset Matching Noga Alon & Raphael Yuster.
MCS312: NP-completeness and Approximation Algorithms
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Lecture 22 More NPC problems
Chapter 1 Fundamental Concepts II Pao-Lien Lai 1.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
1 The number of orientations having no fixed tournament Noga Alon Raphael Yuster.
Maximum density of copies of a graph in the n-cube John Goldwasser Ryan Hansen West Virginia University.
1 Asymptotically optimal K k -packings of dense graphs via fractional K k -decompositions Raphael Yuster University of Haifa.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1/19 Minimizing weighted completion time with precedence constraints Nikhil Bansal (IBM) Subhash Khot (NYU)
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
Connectivity and Paths 報告人:林清池. Connectivity A separating set of a graph G is a set such that G-S has more than one component. The connectivity of G,
1 Decomposition into bipartite graphs with minimum degree 1. Raphael Yuster.
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
NP-Complete Problems Algorithm : Design & Analysis [23]
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Dense graphs with a large triangle cover have a large triangle packing Raphael Yuster SIAM DM’10.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
1 Covering Non-uniform Hypergraphs Endre Boros Yair Caro Zoltán Füredi Raphael Yuster.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms based on linear programming.
Theory of Computational Complexity M1 Takao Inoshita Iwama & Ito Lab Graduate School of Informatics, Kyoto University.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Chapter 10 NP-Complete Problems.
Computability and Complexity
ICS 353: Design and Analysis of Algorithms
Instructor: Shengyu Zhang
Integer and fractional packing of graph families
Presentation transcript:

The number of edge-disjoint transitive triples in a tournament

2 A directed graph G=(V,E) is an orientation if it does not contain loops, multiple edges or anti- parallel edges. A tournament is an orientation of the complete graph. Thus, for every two distinct vertices x and y, either (x,y) or (y,x) is an edge, but not both. Example: Tournament with 5 vertices: a c d e b

3 The unique transitive tournament on n vertices is obtained by labeling the vertices {1,..., n}, where (i, j) is an edge if and only if i < j. We denote the n-vertex transitive tournament by TT n. The tournament TT 3 is also called a transitive triple as it consists of some triple {(x, y), (x, z), (y, z)}. XZ Y

4 The TT k -packing number of D, denoted ν k (D) is the maximum cardinality of a TT k -packing of D. A TT k -packing of a directed graph D is a set of edge- disjoint subgraphs of D, each of them isomorphic to TT k.

5 Example: Let D to be the following digraph: f e c d b g aa aaa Hence: ν 3 (D) =3

6 Given an n-vertex tournament T, how small can ν k (T) be? We denote this parameter by ν k (n). Trivially: ν k (n) = min |T|=n ν k (T) Can we always get close to this bound?

7 Conjecture: ν 3 (n) =  n(n-1)/6 - n/3  Thus, about 100% of the edges can be packed. An upper bound: n/3 Orient inside the vertex class any way you want

8 What happens in the undirected case: Assume n is odd an n(n-1) divisible by 6 (n =1,3 mod 6) Then a Steiner triple system exists: K n can be decomposed into n(n-1)/6 triangles ! The 21 edges of K 7 can be partitioned to 7 triangles. The 36 edges of K 9 can be partitioned to 12 triangles. On the other hand: ν 3 (7) ≤ 5 ν 3 (9) ≤ 9 The conjecture has been verified for all n ≤ 8. ν 3 (7) = 5 ν 3 (9) = 9 ???

9 Theorem: Thus, about 82% of the edges can be packed.

10 Let d v be the out-degree of v. Vertex v is the source of d v (d v -1)/2 transitive triples. The number of transitive triples is therefore ∑ v  V d v (d v -1)/2 > 0.125n 3 (1-o(1)) What’s an easy lower bound: So, a random permutation over a steiner triple system gives 0.125n 2 (1-o(1)) edge-disjoint transitive triples. Consequently: ν 3 (n) > 0.125n 2 (1-o(1)) Thus, about 75% of the edges can be packed.

11 Fractional relaxation The value of a fractional TT k packing is: | ψ |=∑ X  F k ψ(X) A fractional TT k - packing of a digraph D is a function ψ from the set F k of copies of TT k in D to R + satisfying for each arc e  E(D)

12 The fractional TT k -packing number of D, denoted ν k * (D) is the maximum value of a fractional TT k -packing of D. Clearly: ν k (D) ≤ ν k * (D) But the two parameters may differ: ν 3 (TT 4 )=1 ν 3 * (TT 4 )=2

13 On the other hand, computing ν k * (D) (for k fixed) amounts to solving a linear programming problem of polynomial size, and hence can be done in polynomial time. It is well known that computing ν k (D) is an NP-Hard problem. Even the special case of deciding whether a digraph has a decomposition into transitive triples is NP-Complete. It is interesting to find out when ν k (D) and ν k * (D) are “close” as, in particular, for such instances this immediately yields an efficient approximation algorithm for this NP-Hard problem.

14 Theorem [Nutov+Y]: ν k * (D)- ν k (D) = o(n 2 ) Corollary: Let ν k * (n) be the minimum possible value of ν k * (T) ranging over all n-vertex tournaments T. ν k * (n) ≥ ν k (n) ≥ ν k * (n) - o(n 2 )

15 (possibly) easier conjecture: ν* 3 (n) =  n(n-1)/6 - n/3  Thus, about 100% of the edges can be fractionally packed. Possibly easier way to prove the theorem:

16 Approximation by the blowup technique Lemma 1: Let 2 < k < r < n be integers. Then, Proof: Fractionally TT k -pack each of the subtouranments with r vertices with a packing of value at least ν* k (r). Since an edge is on such copies, scale the weights appropriately.

17 Example: Suppose we can prove ν* 3 (9)=9. (already a nontrivial computational task!!) We would then get ν* 3 (n) ≥ 9n(n-1)/72 = n(n-1)/8. But this only gives a 75% packing, which, as we have seen, is trivial to get directly for the integral case…

18 A smarter blowup technique An idea of Keevash and Sudakov: “Combine factors with smaller fractional solutions”. We can use it in our case since the following lemma holds: Lemma 2: A Tournament with 3n vertices has n vertex-disjoint transitive triples.

19 Proof: Partition the 3r vertices of the tournaments into r parts of size 3, each inducing a transitive triple. This already gives r transitive triples. There are 3 r subtournaments on r vertices obtained by selecting a single vertex from each class. Fractionally pack each of them with a value of ν* 3 (r). Normalize the weights by dividing with 3 r-2. Lemma 3: ν* 3 (3r) ≥ 9ν* 3 (r) + r

20 Corollary: By repeated applications of lemma 3 we obtain: Revisiting the previous example: Suppose we can prove ν* 3 (9)=9 We would then get ν* 3 (n) ≥ 7n(n-1)/54 - o n (1) This already gives more than 77% !

21 We will prove that: ν* 3 (10)=12 And we would get our result since for r=10:

22 Proving ν* 3 (10) ≥12 is a nontrivial computational problem! There are 2 45 labeled tournaments so a naive brute force approach does not work. Moreover, a naive program must solve a large linear program for EACH candidate tournament: Up to 120 variables ! 45 constraints !

23 Generating all non-isomorphic 10-vertex tournaments For a tournament T, let T t be the transpose of T. ν* k (T)= ν* k (T t ) Let F k be the set of all non-isomorphic k-vertex tournaments. For example: F 3 = { TT 3, C 3 } The score or a tournament is the sorted out-degree sequence. The score of TT k is (k−1, k−2,..., 1, 0).

24 It is also not difficult to see that F 4 consists of four elements whose scores are (3, 2, 1, 0) (3, 1, 1, 1) (2, 2, 2, 0) (2, 2, 1, 1).

25 A more extensive case analysis is needed to determine F 5. In fact, it consists of 12 elements.

26 Generating all non-isomorphic 10-vertex tournaments Tournaments with a vertex having outdegree 5 are generated by taking |F 4 | * |F 5 | * 2 20 = possibilities. We also generate F 6 which has less than 32|F 5 | = 384 elements. Transitive tournaments having a vertex with outdegree 6 are generated by taking |F 3 | * |F 6 | * 2 18 = possibilities. Less than 10 million do not have a vertex with outdegree 4 or 5. Only one tournament with out-degree 7 and no out-degree 5 or 6. (take two regular tournaments with 5 vertices and let one of them rule the other).

27 Filtering the non-essential tournaments Overall less than tournaments for which we need to run a linear program. An average run of each such linear program using our linear programming package (lp_solve) requires 0.1 seconds on our computing equipment. It would take roughly 70 days to complete. Not so bad, but we can do better. In many cases (in fact, most cases), it is easy to determine that ν* 3 (T) ≥12 without actually running the linear program.

28 For an arc e, let  (e) denote the number of transitive triples containing e. Let  (T) be the maximum of  (e) ranging over edges of T. If T has 10 vertices, then, trivially,  (T) ≤ 8. Let  (T) be the number of transitive triples in T. If T has 10 vertices, then, trivially,  (T) ≤ 120 Lemma (  -filter): If  ≥ 12  (T) then ν* 3 (T) ≥12 Proof: Assign the weight 1/  (T) to each transitive triple.

29 Let  (T) be the number of arcs with  (e) = 8. Lemma (  filter): If  -  (T) ≥ 84 then ν* 3 (T) ≥ 12. Proof: For each arc with  (e) = 8 arbitrarily pick one transitive triple containing e. Let W be the set of triples picked, notice that |W| ≤  (T) Assign the weight 0 to the triples of W and assign the weight 1/7 to the other transitive triples. For each arc, the sum of the weights of the transitive triples containing it is at most 7/7 = 1. The total weight is (  (T) - |W|)/7 ≥ 12.

30 It turns out that the number of tournaments that pass the  filter and the  filter is less than four million. Indeed, our program completes its run in less than five days.

31 max: x012+x013+x014+x015+x019+x023+x024+x025+x028+x029+x034+x035+ x036+x037+x045+x049+x058+x067+x068+x069+x078+x079+x089+x123+ x124+x125+x126+x127+x128+x129+x134+x135+x136+x137+x138+x145+ x146+x147+x148+x149+x156+x157+x158+x167+x168+x178+x234+x235+ x236+x237+x245+x246+x247+x249+x256+x257+x258+x267+x289+x348+ x349+x356+x357+x359+x367+x368+x369+x378+x379+x389+x456+x457+ x458+x467+x468+x478+x567+x569+x579+x589+x678+x679+x689+x789 ; Example of an input file :

32 cl: x012+x013+x014+x015+x019<=1; x012+x023+x024+x025+x028+x029<=1; x013+x023+x034+x035+x036+x037<=1; x014+x024+x034+x045+x049<=1; x015+x025+x035+x045+x058<=1; x036+x067+x068+x069<=1; x037+x067+x078+x079<=1; x078+x178+x378+x478+x678+x789<=1; x079+x379+x579+x679+x789<=1; x089+x289+x389+x589+x689+x789<=1;

33 Example of an output file : Value of objective function: 15 x012 0 x013 0 x x x X x X678 0 X X689 0 x789 0