Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "The number of edge-disjoint transitive triples in a tournament."— Presentation transcript:

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

2 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 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 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 5 Example: Let D to be the following digraph: f e c d b g aa aaa Hence: ν 3 (D) =3

6 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 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 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 9 Theorem: Thus, about 82% of the edges can be packed.

10 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 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 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 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 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 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 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 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 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 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 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 21 We will prove that: ν* 3 (10)=12 And we would get our result since for r=10:

22 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 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 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 25 A more extensive case analysis is needed to determine F 5. In fact, it consists of 12 elements.

26 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 = 50331648 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 = 201326592 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 27 Filtering the non-essential tournaments Overall less than 61000000 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 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 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 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 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 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 33 Example of an output file : Value of objective function: 15 x012 0 x013 0 x014 0.29545 x015 0.068182 x019 0.63636 X023 0.20455 x589 0.022727 X678 0 X679 0.38636 X689 0 x789 0


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

Similar presentations


Ads by Google