You are on page 1of 5

Proof complexity algorithm.

Pieter Kleer, pieter.kleer@tno.nl


November 10, 2014
Definition 1. A branching tree is a directed tree T = (V, E) with a root r V , so that every node
can be reached from r. We call {r} the node of level zero and for every other v V , we say that v lies
on level k if the (unique) path from r to v has length k. We denote all the nodes on level k with the
set LT,k . Furthermore, we say that a node v LT,k branches into b nodes of level k + 1, if v lies on
the unique path from r to w for precisely b nodes w LT,k+1 .
We say that a branching tree T has k levels if
V =

LT,i

i=0,...,k

where Lk 6= and we define LT = LT,k . Furthermore, the subtree with root r0 V is the induced
subgraph that contains r0 and all the nodes that can be reached from r0 . In Figure 1, an example of a
branching tree is given.
r

10

11

12

13

14

15

16

Figure 1: Example of a branching tree with LT = L3 = 7

Here we have L1 = {1, 2, 3}, L2 = {4, 5, 6, 7, 8, 9} and L3 = {10, 11, 12, 13, 14, 15} and we can say, for
example, that node 7 branches into three nodes of level three. The subtree with root 1 is the induced
subgraph that contains the nodes 1, 4, 5, 10, 11, 12.
Assumption 1. We assume that b(v) 1 for all v V \ LT . This implies that LT,i LT,j if i j.
Definition 2. For v LT,i , we define b(v) as the number of nodes that v branches into, on level
i + 1 (since v lies on precisely one level, b(v) does not depend on i). We denote the set of nodes that
v branches into with B(v). Then we define
X
Mv = 1 +
b(j)
jPv \{v}

where Pv is the (unique) path from r to v. Note that Mv is the number of nodes on the path from r to
v together with the total number of direct neighbors of the nodes on the path (except for v)

We have the following theorem.


Theorem 1. Fix some M N and let T be a branching tree of 1 k M levels so that
MT = max{Mv : v LT } M
Then we have

 1 M
|LT | e e
1.447M

(1)

Proof. First consider the case where we have a branching tree of two levels, where b(r) = b0 and
b(v) = b1 for every v LT,1 , so that Mv = 1 + b0 + b1 for all v LT,2 (see Figure 2 for example).
r

Figure 2: Branching tree T , where Mv = 1 + b0 + b1 = 1 + 2 + 4 = 7 for all nodes on level two.

If b1 b0 + 1, then we can define the branching tree T 0 by letting r branch into b0 + 1 nodes of LT 0 ,1
and let every v LT 0 ,1 branch into b1 1 nodes (see Figure 3, where T is taken from Figure 2).
r

Figure 3: Branching tree T 0 , where Mv = 1 + 3 + 3 = 7 for all nodes on level two.

Then we have that Mv = 1 + (b0 + 1) + (b1 1) = 1 + b0 + b1 , implying that MT = MT 0 . However, we


now have
|LT 0 | = (b0 + 1)(b1 1) b0 b1 = |LT |
since b1 b0 + 1. This means that if (1) holds for T 0 , it will certainly hold for T since then
 1 M
|LT | |LT 0 | e e

Furthermore, it is clear that if we interchange b0 and b1 then the resulting branching tree T 00 has the
properties that
LT = b0 b1 = b1 b0 = LT 00

and MT = 1 + b0 + b1 = 1 + b1 + b0 = MT 00

For the branching tree T from Figure 2, we get


r

Figure 4: Branching tree T 00 , where Mv = 1 + b1 + b0 = 1 + 4 + 2 = 7 for all nodes on level two.

If we have an arbitrary branching tree T , satisfying b(v1 ) = b(v2 ) = bi whenever v1 , v2 LT,i for
i = 1, . . . , k 1, then we also can interchange bi , bi+1 for an i {0, . . . , k 2} in order to end up with
T 00 that satisfies LT = LT 00 and MT = MT 00 . This follows from the fact that
LT =

k1
Y

bi

and MT = 1 +

i=0

k1
X

bi

i=0

and the fact that multiplication and addition are commutative (generalization of the argument above).
(more details?)
We can use the two techniques explained above (to get T 0 and T 00 ) to show that for every branching
tree T of k levels, satisfying b(v1 ) = b(v2 ) = bi whenever v1 , v2 LT,i for i = 1, . . . , k 1, there exists
a tree S = S(T ) such that |LS | |LT |, MS = MT and (where the b0i are the numbers in S)
|b0i b0j | 1 for all 0 i, j k 1
i.e. there exists a s such that b0i = s or b0i = s + 1 for every i = 1, . . . , k 1. This can be done as
follows. If |bi bj | 2 for some i, j, then we can interchange so that bi , bj occur on the last two levels.
Then we apply the first technique for all the subtrees with roots on level k 2 (perhaps elaborate on
this). Furthermore, we can even take S such that b0j b0i if j i, i.e. S first has some levels where
every node branches into s + 1 nodes and then some levels where every node branches into s nodes.
Note that this s is unique, namely


b0 + b1 + + bk1
s=
k
Note that if we have two of these trees T1 , T2 with resp. numbers a1 , . . . , ak1 and b1 , . . . , bk1 satisfying
k1
X

ai =

i=0

k1
X

bi

i=0

then S(T1 ) = S(T2 ), which follows from the uniqueness of s (explained above) and the fact that T1 , T2
have the same number of levels.

We will now show that for an arbitrary branching tree T with k levels, there exists a tree T 0 , satisfying
b(v1 ) = b(v2 ) = bi whenever v1 , v2 LT 0 ,i for i = 1, . . . , k 1, with |LT | |LT 0 | and MT = MT 0 .
First, note that w.l.o.g. we can assume that Mv = MT for all v LT . If this is not the case, then
we can replace b(w) by b0 (w) = b(w) + MT Mv , where w is such that v B(w). Then we have
Mv0 = MT for every v 0 B(w). Doing this for all w LT,k1 where Mw + b(w) 6= MT , we end up
with a tree T 0 where |LT 0 | |LT | and MT = MT 0 and it is then sufficient to show the result for T 0 .
r

Figure 5: We let b0 (1) = b(1) + 2 and b0 (2) = b(2) + 1 to get Figure 3 (where the claim holds).

We will now use (backwards) induction on the levels of the branching tree. Suppose that we have a
tree with some level i so that every subtree with root t LT,i is of the form S = St described above,
with the corresponding s = st depending on the root t of level i (so every subtree is of that form, with
the same number of levels, but with different st ). Then there exists a tree T 0 with |LT 0 | |LT | and
MT 0 = MT so that every subtree with root t LT 0 ,i1 is of the form S = St .
Suppose that such a tree exists for some level i. We claim that for a fixed w LT,i1 , we must have
St1 = St2 if t1 , t2 B(w). This follows from Mt1 = Mw + b(w) = Mt2 and the fact that Mv = MT for
all v LT (assumption made w.l.o.g.). If, for example, st1 < st2 then we would have Mv1 < Mv2 (for
v1 , v2 LT where v1 is reachable from t1 and v2 from t2 ). This would give a contradiction (note that
this is a generalization of the argument at the end of the previous page). This means that the subtree
Tw with root w LT,i1 satisfies b(v1 ) = b(v2 ) = bj whenever v1 , v2 LTw ,j for j = 0, . . . , k i. Then
we can apply the techniques above to create the subtree Sw which has more nodes on LT (nodes that
reachable from w) than the original subtree with root w. We can then repeat this procedure for every
w LT,i1 to find the tree T 0 with the desired properties.
The condition there is a tree with some level i so that every subtree with root t LT,i is of the form
S = St is satisfied by our original T with i = k 1. This shows the claim made at the beginning of
this page.
Now, the tree T 0 , satisfying b(v1 ) = b(v2 ) = bi whenever v1 , v2 LT 0 ,i for i = 1, . . . , k 1, with
|LT | |LT 0 | and MT = MT 0 has the properties
|LT 0 | = b1 b2 bk2 bk1
and
MT 0 = 1 +

k1
X

bi M

i=0

This means that the program


p =

max
s.t.

b1 b2 bk2 bk1
Pk1
i=0 bi M 1
bi 0

forms an upperbound for |LT 0 |. Using convex optimation methods or the arithmetic-geometric inequality (to be continued), we find the optimal solution
bi =

M 1
k
4

for i = 0, . . . , k 1 so that the objective function is



f (k) =

M 1
k

k

Optimizing this over 1 k M , gives the value


k =
so that

M 1
e

 1 M 1
f (k ) = e e

You might also like