Download presentation
Presentation is loading. Please wait.
Published byBartholomew Cummings Modified over 8 years ago
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
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=lbla=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.
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,
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.