Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:cs211:winter2011:journals:chen:chapter_4 [2011/02/16 12:11] zhongccourses:cs211:winter2011:journals:chen:chapter_4 [2011/03/02 03:13] (current) zhongc
Line 43: Line 43:
  
  
 +Readable/Interesting:  6/6
  
  
Line 75: Line 75:
  
  
 +Readable/Interesting:  6/6
 ===== 4.4 Shortest Paths in a Graph ===== ===== 4.4 Shortest Paths in a Graph =====
 problem: problem:
Line 94: Line 94:
 shorter than every other possible path to v (stay ahead proof) shorter than every other possible path to v (stay ahead proof)
  
 +proof of correctness:
 +**inductive proof**
 +Inductive hypothesis: Assume true for |S| = k, k ≥ 1 
 +Let v be the next node added to S by Greedy, and let uv be
 +the chosen edge.
 +The shortest s->u path plus u->v is an s->v path of length π(v)
 + Consider any s->v path P. It's no shorter than π(v).
 + Let x->y be the first edge in P that leaves S,and let P' be the subpath to x.
 + P is already too long as soon as it leaves S.
 +
 +
 +Question: Still cannot see why the order matter. If we do a BFS and visit all vertices and update all distance labels, wouldn't we get the same result?
 +
 +
 +
 +Readable/Interesting:  8/8
 +
 +===== 4.5 The Minimum Spanning Tree Proble =====
 +Section Summary
 +
 +**Motivation of the problem/applications:**
 +How to minimize cost of laying cables? 
 +How to find the minimum spanning tree for a connected weighed graph?
 +
 +**Definition: **
 +Min Spanning tree:
 +spanning: spans all nodes in graph
 +Tree:     contains no cycles
 +Minimum:  no cycle
 +
 +Claim: MST contains no cycle
 +Proof: Contradiction, sippose it contains cycle. Then we can remove the long route and keep it a spanning tree while reducing the cost.
 +Thus the tree is not minimum.
 +
 +**Two Properties:**
 +When is it safe to invclude an edge in the MST?
 +Cut property. Let S be any subset of nodes, and let e
 +be the min cost edge with exactly one endpoint in S.
 +Then MST contains e.
 +proof on P170
 +
 +When is it safe to remove an edge from the MST?
 +Cycle property. Let C be any cycle, and let f be the
 +max cost edge belonging to C. Then MST does not
 +contain f.
 +proof on P170
 +
 +cycle-cut intersection proof
 +
 +**Three algorithms**
 +
 +Prim:
 +Start with an arbitrary node s and add it to the tree T. Grow T outward by choosing the cheapest edge e with on endpoint in T and the other out of T.
 +Proof on P172
 +Cut property
 +
 +Kruskal:
 +Sort the edges in G in ascending orders. pick the smallest edge that does not creat a cycle.
 +
 +Reverse-delete:
 +It is the rever version of Kruskal
 +
 +**Implementations of the two algorithms**
 +
 +
 +
 +
 +
 +Questions: 
 +I had some trouble understanding the proof for Cayley's therom...
 +
 +
 +===== 4.6 Implementing Kruskal’s Algorithm: The Union-Find Data Structure =====
 +
 +Section Summary:
 +
 +Problem Motivation:
 +Try to implement the Kruskal's algorithm
 +
 +pointer based implementation
 +
 +Find Operations
 +Log(n)
 +
 +Union Operations
 +Log(n)
 +
 +
 +The Kruskal Algorithm in detail
 +
 +
 +Intereting/readible : 5/5
 +
 +
 +
 +===== 4.7 Clustering =====
 +
 +Section Summary
 +definition:
 +Divide objects into clusters so that points in
 +different clusters are far apart.
 +
 +Motivation/Application
 +Identify patterns in gene expression
 +
 +K-Clustering: try to minimize the distance functions so that the 
 +farthest two elements in one cluster are not farther apart than any 
 +elements outside of the cluster.
 +
 +It is basically Kruskal's algo except we stop when there are k connected components we seek for.
 +
 +proof on P184
 +
 +Interesting/readable: 7/7
 +
 +
 +===== 4.8 Huffman Codes and Data Compression =====
 +
 +summary
 +
 +Motivation:
 +How to encode data so that transmission could be more efficient?
 +Answer: use less bits on the data without much differentiation!(Low entropy data?)
 +
 +We use Huffman codes.
 +
 +If we use all letters in the same frequency, then there is nothing to encode or compress, but when we do not, which is often the case,
 +we can always represent the more frequently used words with less bits.
 +
 +Watch out for prefix ambiguity!
 +
 +**variable-length encoding**
 +
 +Goal: minimize Average number of Bits per Letter (ABL):
 +calculate abl using the expected value.
  
 +Algorithm
  
 +implemenation
  
 +  * Binary tree for the prefix codes
 +  * Priority queue (with heap) choosing the node with lowest frequency
  
 +Cost (nlogn) Why? logn inserting and dequeuing. do it n times.
  
 +Interesting/readable: 5/8
courses/cs211/winter2011/journals/chen/chapter_4.1297858285.txt.gz · Last modified: 2011/02/16 12:11 by zhongc
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0