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

The number of edge-disjoint transitive triples in a tournament

  • Upload
    chinue

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

The number of edge-disjoint transitive triples in a tournament. 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. - PowerPoint PPT Presentation

Citation preview

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

The number of edge-disjoint transitive triples in a tournament

Page 2: 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

Page 3: The number of edge-disjoint transitive triples in a tournament

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 TTn .

The tournament TT3 is also called a transitive triple as

it consists of some triple {(x, y), (x, z), (y, z)}.

X Z

Y

Page 4: The number of edge-disjoint transitive triples in a tournament

4

The TTk-packing number of D, denoted νk(D) is the maximum cardinality of a TTk-packing of D.

A TTk-packing of a directed graph D is a set of edge-disjoint subgraphs of D, each of them isomorphic to TTk .

Page 5: The number of edge-disjoint transitive triples in a tournament

5

Example: Let D to be the following digraph:

fe

c

d

b

g aaa aa

Hence: ν3(D) =3

Page 6: The number of edge-disjoint transitive triples in a tournament

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?

Page 7: The number of edge-disjoint transitive triples in a tournament

7

Conjecture:

ν3(n) = n(n-1)/6 - n/3

Thus, about 100% of the edges can be packed.

An upper bound:

n/3

n/3

n/3

Orient inside the vertex

class any way you want

Page 8: The number of edge-disjoint transitive triples in a tournament

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:

Kn can be decomposed into n(n-1)/6 triangles !

The 21 edges of K7 can be partitioned to 7 triangles.The 36 edges of K9 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 ???

Page 9: The number of edge-disjoint transitive triples in a tournament

9

Theorem:

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

Page 10: The number of edge-disjoint transitive triples in a tournament

10

Let dv be the out-degree of v.Vertex v is the source of dv(dv-1)/2 transitive triples.The number of transitive triples is therefore

∑vV dv(dv-1)/2 > 0.125n3(1-o(1))

What’s an easy lower bound:

So, a random permutation over a steiner triple system gives 0.125n2(1-o(1)) edge-disjoint transitive triples.

Consequently: ν3(n) > 0.125n2(1-o(1))

Thus, about 75% of the edges can be packed.

Page 11: The number of edge-disjoint transitive triples in a tournament

11

Fractional relaxation

The value of a fractional TTk packing is:

| ψ |=∑X Fk ψ(X)

A fractional TTk - packing of a digraph D is a function ψ from the set Fk of copies of TTk in D to R+ satisfying for each arc e E(D)

Page 12: The number of edge-disjoint transitive triples in a tournament

12

The fractional TTk-packing number of D, denoted νk*(D)

is the maximum value of a fractional TTk-packing of D.

Clearly:

νk(D) ≤ νk*(D)

But the two parameters may differ:

ν3(TT4)=1 ν3*(TT4)=2

Page 13: The number of edge-disjoint transitive triples in a tournament

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 isNP-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.

Page 14: The number of edge-disjoint transitive triples in a tournament

14

Theorem [Nutov+Y]:

νk*(D)- νk

(D) = o(n2)

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(n2)

Page 15: The number of edge-disjoint transitive triples in a tournament

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:

Page 16: The number of edge-disjoint transitive triples in a tournament

16

Approximation by the blowup technique

Lemma 1: Let 2 < k < r < n be integers. Then,

Proof:Fractionally TTk-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.

Page 17: The number of edge-disjoint transitive triples in a tournament

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…

Page 18: The number of edge-disjoint transitive triples in a tournament

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.

Page 19: The number of edge-disjoint transitive triples in a tournament

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 3r 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 3r-2.

Lemma 3: ν*3(3r) ≥ 9ν*3(r) + r

Page 20: The number of edge-disjoint transitive triples in a tournament

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 - on(1)

This already gives more than 77% !

Page 21: The number of edge-disjoint transitive triples in a tournament

21

We will prove that:

ν*3(10)=12

And we would get our result since for r=10:

Page 22: The number of edge-disjoint transitive triples in a tournament

22

Proving ν*3(10) ≥12 is a nontrivial computational problem!

There are 245 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 !

Page 23: The number of edge-disjoint transitive triples in a tournament

23

Generating all non-isomorphic 10-vertex tournaments

• For a tournament T, let Tt be the transpose of T.

ν*k(T)= ν*k(Tt)

• Let Fk be the set of all non-isomorphic k-vertex tournaments.

For example: F3= { TT3 , C3 }

• The score or a tournament is the sorted out-degree sequence.

The score of TTk is (k−1, k−2, . . . , 1, 0).

Page 24: The number of edge-disjoint transitive triples in a tournament

24

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

Page 25: The number of edge-disjoint transitive triples in a tournament

25

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

Page 26: The number of edge-disjoint transitive triples in a tournament

26

Generating all non-isomorphic 10-vertex tournaments

• Tournaments with a vertex having outdegree 5 are generated by taking |F4| * |F5| * 220 = 50331648 possibilities.

• We also generate F6 which has less than 32|F5| = 384 elements.

• Transitive tournaments having a vertex with outdegree 6 are generated by taking |F3| * |F6| * 218 = 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).

Page 27: The number of edge-disjoint transitive triples in a tournament

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.

Page 28: The number of edge-disjoint transitive triples in a tournament

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.

Page 29: The number of edge-disjoint transitive triples in a tournament

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.

Page 30: The number of edge-disjoint transitive triples in a tournament

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.

Page 31: The number of edge-disjoint transitive triples in a tournament

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:

Page 32: The number of edge-disjoint transitive triples in a tournament

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;

Page 33: The number of edge-disjoint transitive triples in a tournament

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