• Keine Ergebnisse gefunden

ˆ internal nodes are labeled by a variablexi and have exactly two outgoing edges, a 0-edge and a 1-edge.

A branching program represents a Boolean function f ∈ Bn in the following way.

Each assignment to the input variables xi defines a uniquely determined path from the root to one of the sinks of the graph. The label of the reached sink is set to be the function’s value on the input.

x1

x2 x2

x3 x3 x3

0 1

x1

x2 x2

x3 x3

0 1

Figure 2.5: Ordered Binary Decision Diagrams of addition modulo two.

There is a certain agreement on the graphical representation of the branching pro-grams. The nodes are usually shown as circles with the corresponding variables within. The 0-edges are drawn as dashed lines, while the 1-edges are represented by solid lines. The sinks are usually shown as squares with corresponding values in them. TheFigure 2.5demonstrates branching programs that represent the function g(x1, x2, x3) :=x1⊕x2⊕x3.

Definition 2.3.3. We define BP to be the class of all branching programs.

The size of a given branching program is a relevant complexity measure on the class of the branching programs.

2.3. BRANCHING PROGRAMS 29

Definition 2.3.4. The size of a branching program is number of its internal nodes.

Our first example of the branching program complexity class is given next.

Example 8. The class of functions represented by polynomial size branching pro-grams is called P-BP.

However, the size can be decomposed into more elementary complexity measures.

We achieve that by introducing the notions of thelevel and the width of a branching program. Imposing restrictions on the width or the length of a branching program, we may arrive at interesting restricted classes of branching programs. In fact, nontrivial restricted computational models are one of the most attractive features that branching programs offer.

Definition 2.3.5 ([MT98]). LetP be a branching program.

1. The kth level of P denotes the set of all nodes which can be reached from the root by a path of length k−1.

2. The width of P is the maximal cardinalitywidth(P) over all levels of P. The most general kind of branching programs are hard to prove nontrivial statements about. It was imposing restrictions that made the interesting proofs possible.

Definition 2.3.6 ([MT98]). LetP be a branching program.

1. P is calledbounded-widthkif each level ofP is of cardinality at mostk: w(P)≤ k.

2. P is calledsynchronous if for each nodev ofP, all paths from the root tov are of the same length.

3. P is called oblivious if it is synchronous and all non-sink nodes within a level are labeled with the same variable.

4. P isread-k-times-only branching program if each variable occurs on every path at mostk times.

The definition above can be used to introduce several subclasses of the class of all branching programs BP.

Definition 2.3.7. 1. BPwidth−k ={P|P ∈BP, w(P)≤k};

2. sBP ={P|P ∈BP, P is synchronous};

3. oBP ={P|P ∈BP, P is oblivious};

4. BP k ={P|P ∈BP, P is read-k-times-only}.

Let us also introduce several well-known types of branching programs, that have their own names.

Definition 2.3.8. 1. A Free BDD (FBDD) is a read-once branching program.

2. An ordered BDD (OBDD) is a FBDD, where on all paths variables are read according to the same ordering.

3. A k-OBDD consists of k layers of OBDDs respecting the same ordering of variables.

4. A k-IBDD (Indexed BDD) consists of k layers of OBDDs respecting perhaps different orderings.

Consider an OBDD P. Each internal node of the graph can be treated as an OBDD of certain subfunction of the function g represented byP.

Definition 2.3.9. For an OBDD P, we say that a function f is represented by the node labeled xi if the subgraph rooted in this node is an OBDD that represents f. In fact, for a given OBDD P, for any internal node xi that represents a Boolean function f ∈Bn the Shannon’s decomposition rule holds:

f =xif1+xif0 with the cofactors

f0 =f(x1, . . . , xi−1,0, xi+1, . . . xn)andf1 =f(x1, . . . , xi−1,1, xi+1, . . . xn).

2.3. BRANCHING PROGRAMS 31

Consequently, it is clear that the OBDD model is based on the Shannon’s decompo-sition of Boolean functions. Is it not possible to define a branching program based on a different decomposition type? The answer is ”Possible!”. Below we define Reed-Muller and Davio decompositions.

Theorem 4 ([MT98]). Let f ∈ Bn be a switching function in n variables. For the functions f0, f1, f2 defined by

f0(x1, . . . , xn) = f(x1, . . . , xn−1,0), f1(x1, . . . , xn) = f(x1, . . . , xn−1,1),

f2(x1, . . . , xn) = f0(x1, . . . , xn)⊕f1(x1, . . . , xn) the following holds true:

Reed-Muller decomposition or positive Davio decomposition:

f =f0⊕xnf2; Negative Davio decomposition:

f =f1⊕xnf2.

This decomposition holds, in analogous manner, for each variable xi,1≤i≤n.

Proof. Due to Shannon’s decomposition, with respect to the addition modulo two operation⊕, we have for x∈Bn

f(x) = xnf0(x)⊕xnf1(x) (xn = 1⊕xn)

=f0(x)⊕(xnf0(x)⊕xnf1(x))

=f0(x)⊕xnf2(x).

Analogously,

f(x) = xnf1(x)⊕xnf0(x) (xn = 1⊕xn)

=f1(x)⊕(xnf1(x)⊕xnf0(x))

=f1(x)⊕xnf2(x).

A new kind of branching programs was introduced by Kebschull, Schubert and Rosen-tiel in 1992 [KSR92]. They defined a ordered functional decision diagram based on the Reed-Muller decompositon.

Definition 2.3.10 ([MT98]). An ordered functional decision diagram (OFDD) is defined like an OBDD with one difference: the function fv which is computed in a nodev of the graph is now defined by the following inductive rules:

1. If v is a sink with label 1 (0), then fv = 1 (fv = 0);

2. If v is a node with label xi whose 1- and 0- successor nodes represent the functions h and g, respectively, then

fv =g⊕xih.

Analogously to the construction of FBDD, a free functional decision diagrams can be defined.

Definition 2.3.11. A free functional decision diagram is a read-once functional de-cision diagram.

In all their varieties, decision diagrams can be well represented by graphs. In turn, the graphs remind us networks of communications. Indeed, we shall later see an interesting connection between ordered binary decision diagrams andcommunication complexity that is presented next.