This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS 473 (ug): Combinatorial Algorithms, Fall 2005 Homework 1 Solutions This homework was due on Sep 9, with an automatic extension to Sep 12. CS 473 (ug) Homework 1 Solutions Fall 2005 1. Problem 4.12: a) The statement is false. As a counterexample, consider the streams ( b 1 ,t 1 ) = (1000 , 1) and ( b 2 ,t 2 ) = (100 , 100) with r = 500. The streams can be scheduled (do stream 2 first), but b 1 > rt 1 . b) Notice that the question does not ask for an algorithm that produces a schedule if one exists; you only need an algorithm that outputs whether a schedule exists or not. A simple lineartime solution is to calculate B = n i =1 b i and T = n i =1 t i . If B > rT , no schedule exists. (This follows because after all streams have been scheduled, the total bandwidth used will be B and the time elapsed will be T , and since B > rT , the constraint is violated.) If B rT , we claim that a valid schedule exists. Proof: Consider the schedule in which streams are sorted in increasing order of b/t . After stream i has completed, the total number of bits sent so far is i j =1 b j (call this B i ), and the total time elapsed is i j =1 t j (call this T i ). We can see that B 1 T 1 B 2 T 2 ... B n T n = B T r , because B i T i is simply the average bitrate of the first i streams, and since the streams are sorted in increasing order of bitrates, the average of the first i + 1 streams must be greater than that of the first i streams. But the average after all the streams is r , and so for all i , B i T i r . We show that B i +1 T i +1 B i T i more formally below: B i +1 T i +1 = B i + b i +1 T i + t i +1 B i + t i +1 B i T i T i + t i +1 Because b i +1 t i +1 B i T i = B i T i + t i +1 T i T i + t i +1 = B i T i We have shown that if B rT (we do not violate the constraint at the end), then there is a schedule such that the constraint is not violated after each stream is completed. What about the time while a stream is being sent? If the average bitrate is r at the beginning and end of the stream, then can it exceed r in the middle of the stream? Its easy to show that it cannot; heres an interesting idea that can be converted into a proof with very little effort. Suppose stream i runs from t 1 to t 2 , and at both times t 1 and t 2 , the average bitrate is r . To show that the bitrate is r at any time t , t 1 < t < t 2 , simply break stream i into two streams, one called i 1 of length t t 1 and the other, i 2 , of length t 2 t . Now we have a new schedule with 1 extra stream; by the argument above we know that the average bitrate is r after the end of every stream. In particular, at time t , after stream i 1 has been sent, the average bitrate is r ....
View Full
Document
 Spring '08
 Pearly

Click to edit the document details