Presentation is loading. Please wait.

Presentation is loading. Please wait.

5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.

Similar presentations


Presentation on theme: "5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string."— Presentation transcript:

1 5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string for another letter are called prefix codes. Theorem 5.21: We can construct a prefix code from any binary tree, and we can construct a binary tree from the prefix codes. Proof: (1) We can construct a prefix code from any binary tree where the left edge at each internal vertex is labeled by 0 and the right edge by a 1 and where the leaves are labeled by characters (2)We can construct a binary tree from the prefix codes

2

3

4

5  Huffman algorithm:  Let a 1,a 2, ,a n be n vertex with weight w 1,w 2, ,w n and w 1  w 2  w n 。  F:=forest of n rooted tree each consisting of the single vertex a i with weight w i for i=1,2,...n.  While F is not a tree  Begin  Replace the rooted trees T and T’ of least weights from F with w(T)≥ w(T’) with a tree having a new root that has T as its left subtree and T’ as its right subtree. Assign w(T)+w(T’) as the weight of the new tree.  end

6 w(T)=2*4+4*4+7*3+ 12*2+8*2+10*2=105

7  Theorem 5.22: Let T be built according to Huffman algorithm and leaves of T with weight w 1,w 2, ,w n. Then T is an optimal tree (Where w 1  w 2  w 3  w k ).  Proof: Let us apply induction on the number n of vertices.  n=2, The results holds Suppose that result holds for n=k-1 For n=k , By the inductive hypothesis, Suppose that nodes in an optimal tree T have weights w 1 +w 2,w 3, ,w k. Then This is an optimal tree with weight w 1,w 2,w 3, ,w k if T’s leaf with weight w 1 +w 2 is replaced by subtree

8  Lemma 5.1 Let T 1 be an optimal tree with weights w 1  w 2  w 3  w k. Then there is an optimal tree T 2 so that T 2 ’s two vertices with weights w 1 and w 2 are brother nodes.  Proof: Let T 1 be an optimal tree with weights w 1  w 2  w 3  w k  The two weights w a,w b are on lowest level and they are brothers. We denoted by v a and v b. Let v 0 be the father of v a, v b.  w a  w 1, w b  w 2.  Let l a be the length of the path from root to v a, and l b be the length of the path from root to v b. la=lbla=lb  We obtain a new tree T 2 by exchanging from leaf v 1 to v a and from leaf v 2 to v b.  w(T 1 )-w(T 2 )=(w a -w 1 )(l a -l 1 )+ (w b -w 2 )(l a -l 2 )  0

9  Lemma 5.2: Suppose that nodes of an optimal tree T have weights w 1 +w 2,w 3, ,w k. Then this is an optimal tree with weight w 1,w 2,w 3, ,w k if T*’s leaf with weight w 1 +w 2 is replaced by subtree Proof: By the Lemma 5.1,there is an optimal tree T 2 with weight w 1,w 2,w 3, ,w k so that T 2 ’s two vertices with weights w 1 and w 2 are brother nodes. Let l 1 be the length of the path from root to v 1 with weight w 1. Let T 2 * be a same tree as T 2 without leaf with weight w 1 and leaf with weight w 2, but with a having leaf of weight w 1 +w 2. w(T 2 *)=w(T 2 )-w 1 l 1 - w 2 l 1 +(w 1 +w 2 )(l 1 -1) Thus w(T 2 )=w(T 2 *)+w 1 +w 2 Let T* be a same tree as T without leaf with w 1 +w 2 but with subtree Suppose that T* is not an optimal tree.

10  Theorem 5.22:Proof: Let us apply induction on the number n of vertices.  n=2, The results holds Suppose that result holds for n=k-1 For n=k , By the inductive hypothesis, the tree with weight w 1 +w 2,w 3, ,w k by according to Huffman algorithm is an optimal tree. By lemma 5.2, this is an optimal tree with weight w 1,w 2,w 3, ,w k if T’s leaf with weight w 1 +w 2 is replaced by subtree

11 5.7 Transport Networks  5.7.1 Transport Networks  Definition 33: A transport network or a network, is a connected digraph N(V,E,C) with the following properties:  (1)N has no loop.  (2)There is a unique node s, the source, that has in- degree 0. And there is a unique node t, the sink, that has out-degree 0.  (3)The graph is labeled. The label, c ij on edge (i,j) is a nonnegative number called the capacity of the edge. Let C={c ij |(i,j)  E}.

12  Definition 34: A flow in a network N(V,E,C) is a function that assigns to each edge (i,j) of N a nonnegative number f ij that does not exceed c ij. A conservation flow is a flow with the properties:  for each vertex other than the source and sink. The sum  is called the value of the conservation flow. A conservation flow f is called maximum flow, if v f ≥v f’ for any conservation flow f ’ of N.

13

14  Definition 35: Let N be a network with the source node and the sink node. If P is a subset of V containing source s but not sink t then E(P,V-P)is called a cut separating s from t.  In effect, a cut does “cut” a digraph into two pieces, one containing the source and one containing the sink. If the edges of a cut were removed, it has not any paths from source to sink.

15 The capacity of a cut E(P,V-P)is, we denote by C(P,V-P). i.e.

16  A cut E(P,V-P) of N is called minimum cut, if C(P,V-P)≤C(P',V-P') for any cut E(P',V-P') of N.  Theorem 5.23: For every conservation flow f and any cut E(P,V-P), the result holds: V f  C(P,V-P).  V f  C(P,V-P) ,  V f max  C min (P,V-P)

17  NEXT:Transport Networks, 8.4 P307, Graph Matching 8.5 P329 (Sixth) OR P315(Fifth)

18  Exercise:  1. (1)Find a optimal binary tree with weight 1,3,8,9,12, 15,16  (2)Construct a algorithms for optimal 3- ary tree  (3)Find a optimal 3-ary tree with weight 1,2,3,4,5,6,7,8,9  (4)Find a optimal 3-ary tree with weight 1,2,3,4,5,6,7,8,


Download ppt "5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string."

Similar presentations


Ads by Google