Midterm Exam 2 Solutions
|
|
- Janis Webster
- 5 years ago
- Views:
Transcription
1 Algorithm Design and Analysis November 12, 2010 Pennsylvania State University CSE 565, Fall 2010 Professor Adam Smith Exam 2 Solutions Problem 1 (Miscellaneous). Midterm Exam 2 Solutions (a) Your friend has found a recursive algorithm for sorting an array of length n that uses only Θ(n log n) work at the top level plus three recursive calls on subarrays of length n/3. What is the running time of your friend s algorithm? Answer: O(n log 2 n) Justification: The running time satisfies T (n) = 3T ( n/3 ) + Θ(n 1 log 1 n). Master theorem: Here a = b = 3 and the work term has the from n log b a log k n for k = 1. So the solution has the from T (n) = n log b a log k+1 n = n log 2 n. (b) Suppose you are given a directed graph G = (V, E) with lengths l : E R for each edge, a source node s and a list of candidate distances d(v) (where d(v) is the claimed to be the length of the shortest path from s to v in G). What is the running time of the fastest algorithm which checks whether the distances d are correct? Answer: O( V + E ). Describe the algorithm briefly: Similar to one iteration of Bellman-Ford, except you have to check that one of the constraints is actually tight: For each vertex v, check two conditions: (a) For every incoming edge (u, v), check that d(v) d(u) + l(u, v). (b) There exists at least one incoming neighbor u such that d(v) = d(u) + l(u, v) (that is, one of the conditions has to be met with equality otherwise d(v) doesn t actually correspond to the length of a real path. (c) Suppose you are given a directed graph G = (V, E) with capacities c : E R for each edge, two vertices s and t and a s-t flow f : E R. What is the running time of the fastest algorithm which checks whether f is a maximum s-t flow? Answer: O( V + E ). Describe the algorithm briefly: 1
2 Construct the residual graph (this takes time O( E )) and then check, using BFS or DFS, that there is no path from s to t (this takes time O( V + E ). [You might also want to check that f is really a flow by verifying that 0 f(e) c(e) for each edge and that conservation is respected at all vertices (also O( V + E time).] (d) (Extra credit) Recall that in a directed graph G, a set of paths p 1,..., p k from vertex s to vertex t is edge-disjoint if each edge in the graph is used by at most one of the paths (it could be that the paths share some vertices, but they have to use different edges). The following fact is proved in the book: if we set the capacities of all edges to be 1, then the value of the maximum s t flow in G is exactly the size of the largest collection of edge-disjoint paths from s to t. We say that s is k-connected to t if there are k or more edge-disjoint paths from s to t. Prove that if u is k-connected to v and v is k-connected to w, then u is k-connected to w. Proof by contradiction. We ll make heavy use of the min-cut/max-flow theorem. Look at the minimum u-w cut (call it (A, B)), and suppose it has value strictly less than k. The vertex v must be on one side of the cut. That means that (A, B) is either a u-v cut, or a v-w cut. Either way, it means that the maximum flow from either u to v or v to w is less than k, which leads to a contradiction. Problem 2. (Oscillating sequences) A subsequence i 1 < i 2 < < i k of an array of numbers is oscillating if A[i j ] A[i j+1 ] when j is odd and A[i j ] A[i j+1 ] when j is even. Use dynamic programming to find a polynomial time algorithm which takes an array of numbers and finds the length of the longest oscillating subsequence. Faster (correct) algorithms are worth slightly more points than slower ones. Clearly label the different parts of your solution as follows: (a) Define the subproblems your algorithm will compute. For each i = 1,.., n, we compute two quantities odd(i) and even(i). (b) Explain, in English, what the subproblems mean. odd(i) = length of the longest odd-length oscillating sequence ending at i (and using only indices less than or equal to i). even(i) = length of the longest even-length oscillating sequence ending at i (and using only indices less than or equal to i). (c) Give a recursive algorithm (or formula, if it is easier) for computing the answer to a subproblem in terms of smaller subproblems. For i = 1, define odd(1) = 1 and even(1) = 0. For i = 2,...n, define: 2
3 even(i) = max{0} {odd(j) + 1 j < i such that A[j] A[i]}. odd(i) = max{1} {even(j) + 1 j < i such that A[j] A[i]}. (d) Explain why your recursive formulation is correct. First, the base cases are correct since any single element is a valid length-1 oscillating sequence (so odd(1) = 1) and since an even length subsequence has to have length at least 2. First, note that even-length oscillating subsequences end with an increase from the second last to the last element, while odd-length oscillating subsequences end with an decrease from the second last to the last element. Consider the longest even-length sequence ending at i. The previous index in the sequence must be a number j < i such that A[j] A[i] (if no such index exists, then even(i) = 0). Any odd-length sequence ending at such an index j can be extended by 1 by adding i to the sequence. So the longest sequence ending at i will the maximum over all j (with A[j] A[i]) of even(j) + 1. The analysis for OP T 0 is symmetric, except that the minimum possible value is 1. (e) Give pseudocode for your algorithm. We describe here the simplest algorithm. There is a more complicated O(n log n) time algorithm (very similar to the one for longest increasing subsequence). Algorithm 1: Oscillating subsequence Input: Array A[1..n] Initialize arrays even, odd of length n; even[1] 0; odd[1] 1; for i = 2 to n do newevenv al 0; newoddv al 1; for j = 1 to i 1 do if A[j] A[i] then newevenv al max{odd[i] + 1, newevenv al} if A[j] A[i] then newoddv al max{even[i] + 1, newoddv al} odd[i] newoddv al; even[i] newevenv al; return max{odd[n], even[n]}; (f) Analyze its space usage and running time. Space: 2n array entries. Time: O(n 2 ) for the two nested for loops. 3
4 Problem 3. (Dining Problem) Several families are having a dinner party. To increase their social interaction, they would like to sit at tables so that no two members of the same family are at the same table. Show how to find a seating arrangement that meets this objective (or prove that no such arrangement exists) by reducing this problem to Maximum Flow. Assume that the dinner contingent has p families, that the ith family has a i members, that q tables are available and up to b j people can be seated at table j. Use the following to organize your answer: (a) Explain how to construct a graph G from the inputs a 1,..., a p and b 1,..., b q. Create G as follows: Nodes: We create a node u i for each family i {1,...p} and a node v j for each table j {1,..., q}. In addition, we add a source s and sink t. Total: V = p + q + 2. Edges: add an edge (s, u i ) with capacity a i for every family i and a node (v j, t) with capacity b j for every table j. For every pair i, j, add an edge (u i, v j ) of capacity 1. Total: E = p + q + pq. (b) Explain how to use the answer to the maximum flow problem to construct a seating assignment. Let A = p i=1 a i. If the value of the maximum s t flow in G is strictly less than A, then there is no valid seating assignment. Otherwise (that is, if there is a flow of value A), given an integral flow, we seat one member of family i at table j for every edge (u i, v j ) that carries a unit of flow. (c) Explain why your algorithm is correct. First, note that there is never a flow of value more than A since the capacities leaving s add up to A. Suppose that some seating assignment exists. Then we can construct a valid flow of value A as follows: for every member of family i seated at table j, we add one unit of flow from u i to v j. If we send a i units of flow from s to each u i, then conservation is satisfied at teach u i. For each v j, we add as many units of flow from v j to t as there are people seated at table j. Again, conservation is satisfied at v j (and capacities are respected since each table fits at most b j people). All this means that if the max flow has value less than A, then no valid seating assignment exists. Now suppose some flow of value A exists. By the properties of Ford-Fulkerson, there is an integral flow of value A. We can construct a seating assignment as describe above. The edges out of s must all be saturated to get value A. Conservation of flow at u i indicates that every member of family i gets seated. Conservation at the v j s indicates that the flow coming in to v j is at most b j, so each table gets at most b j people. Thus, the seating assignment is valid. (d) Analyze the running time of the algorithm. 4
5 The time required to construct the graph G is O( V + E ) = O(pq). Running Ford- Fulkerson would take most A iterations of time O( V + E ) each, for a total of O(pqA). The capacity scaling algorithm runs in time O(pq log(a)). Problem 4. (Earthmover distance.) Currently, there are n piles of dirt scattered over a large construction site. Pile number i weighs w i tons and is at position p i in the plane. The dirt in these piles has to be moved into k new piles at positions q j (for j = 1,..., k) with weights v j (also in tons). The good news: You have a bulldozer. The bad news: You have to figure out the cheapest way to move the dirt. For any non-negative real number t, the cost of moving t tons of dirt from position p to positions q is t dist(p, q) where dist(p, q) is the distance from p to q. Note that t need not be an integer. Your goal is to minimize the total cost of moving the dirt from its current locations to the new ones. The input consists of the points p 1,..., p n, q 1,..., q k R 2 and weights w 1,..., w n, v 1,..., v k N. You may ignore the cost of driving around the construction site when not carrying dirt; you only need to account for the cost of moving dirt from pile to pile. Also, because no nuclear reactions will be involved, you may assume that mass is conserved, that is, n i=1 w i = k j=1 v j. Note: In what follows, the different parts of the problem are independent: you do not need to solve one to solve the others. (a) Give a linear program that captures this problem. Variables: For every pair i, j, variable x ij indicates the weight of the dirt moved from position p i to q j. Constraints: For each pair i, j, we have x ij 0. For each i, we have k j=1 x ij w j (since we can use at most w j tons from location p i ). For each j, we have n i=1 x ij = v j (since we need v j tons at location q j ). Objective function to be minimized: i,j x ij dist(p i, q j ) (b) Prove or disprove the following conjecture: In an optimal solution, the paths taken by the bulldozer when moving dirt will never cross. [Hint: Think of an exchange argument.] We will show that in any solutions with two crossed paths, we can improve the cost of the solution by rerouting some dirt. Suppose there are two pairs (p i, q j ) and (p l, q m ) such that the corresponding line segments cross, and such that some positive amount of dirt is currently planned to be pushed from p i to q j and p l to q m. Let x ij be the amount of dirt that will be moved directly from p i to q j, and let u = min(x ij < x lm. 5
6 Consider rerouting a little bit of dirt by uncrossing the two paths. That is, we decrease x ij and x lm by u, and we increase x im and x lj by u. The new plan still respects all the constraints. The change in cost is u (dist(p i, q m ) + dist(p l, q j ) dist(p i, q j ) dist(p l, q m ). Here is the key fact: uncrossing two line segments reduces the sum of the lengths of the segments. This follows by applying the triangle inequality to the two triangles in the following picture: p p l i c a b qj a < b + c q m (c) Consider the following greedy algorithm: Repeat the following basic step until all the dirt has been moved: find the closest pair (p i, q j ) such that p i still has dirt and q j still needs dirt, and move a ton of dirt from p i to q j. Is this greedy algorithm correct? Justify your answer. No. Suppose that p 1 = ( 2, 0), p 2 = (0, 1), q 1 = (0, 1) and q 2 = (2, 0) and suppose that all weights are 1. The greedy algorithm will move 1 ton from p 2 to q 1 (distance: 2) and from p 1 to q 2 (distance: 4). Total cost = 6. However, dist(p 1, q 1 ) = dist(p 2, q 2 ) = 5. So uncrossing the bulldozer paths improves total cost to 2 5 < 6. (d) (Extra credit) Prove or disprove: if the weights of the initial and final piles are integers, there exists an optimal solution to the problem in which the bulldozer only moves integer amounts of dirt. [not yet written.] 6
CMPSCI 311: Introduction to Algorithms Second Midterm Exam
CMPSCI 311: Introduction to Algorithms Second Midterm Exam April 11, 2018. Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more
More informationCSE 421 Introduction to Algorithms Final Exam Winter 2005
NAME: CSE 421 Introduction to Algorithms Final Exam Winter 2005 P. Beame 14 March 2005 DIRECTIONS: Answer the problems on the exam paper. Open book. Open notes. If you need extra space use the back of
More informationCPSC 320 (Intermediate Algorithm Design and Analysis). Summer Instructor: Dr. Lior Malka Final Examination, July 24th, 2009
CPSC 320 (Intermediate Algorithm Design and Analysis). Summer 2009. Instructor: Dr. Lior Malka Final Examination, July 24th, 2009 Student ID: INSTRUCTIONS: There are 6 questions printed on pages 1 7. Exam
More informationFINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)
FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except
More informationCOMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017
NAME: COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 A. McGregor 15 November 2017 DIRECTIONS: Do not turn over the page until you are told to do so. This is a closed book exam. No communicating
More information6.046 Recitation 11 Handout
6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints
More informationCMPSCI 611 Advanced Algorithms Midterm Exam Fall 2015
NAME: CMPSCI 611 Advanced Algorithms Midterm Exam Fall 015 A. McGregor 1 October 015 DIRECTIONS: Do not turn over the page until you are told to do so. This is a closed book exam. No communicating with
More informationCSI 4105 MIDTERM SOLUTION
University of Ottawa CSI 4105 MIDTERM SOLUTION Instructor: Lucia Moura Feb 6, 2010 10:00 am Duration: 1:50 hs Closed book Last name: First name: Student number: There are 4 questions and 100 marks total.
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016
University of Toronto Department of Electrical and Computer Engineering Final Examination ECE 345 Algorithms and Data Structures Fall 2016 Print your first name, last name, UTORid, and student number neatly
More informationCOMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017
NAME: COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 A. McGregor 15 November 2017 DIRECTIONS: Do not turn over the page until you are told to do so. This is a closed book exam. No communicating
More informationLecture 2: Divide and conquer and Dynamic programming
Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in
More informationProblem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?
CS261, Winter 2017. Instructor: Ashish Goel. Problem set 1 Electronic submission to Gradescope due 11:59pm Thursday 2/2. Form a group of 2-3 students that is, submit one homework with all of your names.
More informationAgenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming
Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Now Flow Networks, Max-flow Min-cut and Applications c Hung Q. Ngo (SUNY at Buffalo) CSE 531 Algorithm Analysis and Design 1 / 52
More informationdirected weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time
Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals
More informationLecture 21 November 11, 2014
CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17 12.1 Introduction Today we re going to do a couple more examples of dynamic programming. While
More informationDesign and Analysis of Algorithms April 16, 2015 Massachusetts Institute of Technology Profs. Erik Demaine, Srini Devadas, and Nancy Lynch Quiz 2
Design and Analysis of Algorithms April 16, 2015 Massachusetts Institute of Technology 6.046J/18.410J Profs. Erik Demaine, Srini Devadas, and Nancy Lynch Quiz 2 Quiz 2 Do not open this quiz booklet until
More informationAlgorithms: Lecture 12. Chalmers University of Technology
Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,
More informationAlgorithms Exam TIN093 /DIT602
Algorithms Exam TIN093 /DIT602 Course: Algorithms Course code: TIN 093, TIN 092 (CTH), DIT 602 (GU) Date, time: 21st October 2017, 14:00 18:00 Building: SBM Responsible teacher: Peter Damaschke, Tel. 5405
More informationAlgorithms and Theory of Computation. Lecture 11: Network Flow
Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a
More informationCSCE 750 Final Exam Answer Key Wednesday December 7, 2005
CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 Do all problems. Put your answers on blank paper or in a test booklet. There are 00 points total in the exam. You have 80 minutes. Please note
More informationClass Note #14. In this class, we studied an algorithm for integer multiplication, which. 2 ) to θ(n
Class Note #14 Date: 03/01/2006 [Overall Information] In this class, we studied an algorithm for integer multiplication, which improved the running time from θ(n 2 ) to θ(n 1.59 ). We then used some of
More informationAlgorithm Design CS 515 Fall 2015 Sample Final Exam Solutions
Algorithm Design CS 515 Fall 2015 Sample Final Exam Solutions Copyright c 2015 Andrew Klapper. All rights reserved. 1. For the functions satisfying the following three recurrences, determine which is the
More informationNATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours
NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: 2017 2018 Time Allowed 2 Hours INSTRUCTIONS TO STUDENTS 1. This assessment consists of Eight (8) questions and comprises
More informationUndirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11
Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E
More informationNP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationReview Questions, Final Exam
Review Questions, Final Exam A few general questions. What does the Representation Theorem say (in linear programming)? In words, the representation theorem says that any feasible point can be written
More informationMaximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27
Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the
More information- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs
LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs
More informationActivity selection. Goal: Select the largest possible set of nonoverlapping (mutually compatible) activities.
Greedy Algorithm 1 Introduction Similar to dynamic programming. Used for optimization problems. Not always yield an optimal solution. Make choice for the one looks best right now. Make a locally optimal
More informationEnergy minimization via graph-cuts
Energy minimization via graph-cuts Nikos Komodakis Ecole des Ponts ParisTech, LIGM Traitement de l information et vision artificielle Binary energy minimization We will first consider binary MRFs: Graph
More information2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.
CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#1 Due at the beginning of class Thursday 01/21/16 1. Prove that at least one of G and G is connected. Here, G
More informationACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms
1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge
More informationUniversity of New Mexico Department of Computer Science. Midterm Examination. CS 361 Data Structures and Algorithms Spring, 2003
University of New Mexico Department of Computer Science Midterm Examination CS 361 Data Structures and Algorithms Spring, 2003 Name: Email: Print your name and email, neatly in the space provided above;
More informationAlgorithms and Data Structures 2016 Week 5 solutions (Tues 9th - Fri 12th February)
Algorithms and Data Structures 016 Week 5 solutions (Tues 9th - Fri 1th February) 1. Draw the decision tree (under the assumption of all-distinct inputs) Quicksort for n = 3. answer: (of course you should
More informationPGSS Discrete Math Solutions to Problem Set #4. Note: signifies the end of a problem, and signifies the end of a proof.
PGSS Discrete Math Solutions to Problem Set #4 Note: signifies the end of a problem, and signifies the end of a proof. 1. Prove that for any k N, there are k consecutive composite numbers. (Hint: (k +
More informationDynamic Programming: Shortest Paths and DFA to Reg Exps
CS 374: Algorithms & Models of Computation, Spring 207 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 8 March 28, 207 Chandra Chekuri (UIUC) CS374 Spring 207 / 56 Part I Shortest Paths
More informationCMPSCI 611: Advanced Algorithms
CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and
More informationEcon 172A, Fall 2012: Final Examination Solutions (I) 1. The entries in the table below describe the costs associated with an assignment
Econ 172A, Fall 2012: Final Examination Solutions (I) 1. The entries in the table below describe the costs associated with an assignment problem. There are four people (1, 2, 3, 4) and four jobs (A, B,
More informationCSE 202 Homework 4 Matthias Springer, A
CSE 202 Homework 4 Matthias Springer, A99500782 1 Problem 2 Basic Idea PERFECT ASSEMBLY N P: a permutation P of s i S is a certificate that can be checked in polynomial time by ensuring that P = S, and
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 22 Maximum Flow Applications Image segmentation Project selection Extensions to Max Flow Sofya Raskhodnikova 11/07/2016 S. Raskhodnikova; based on slides by E. Demaine,
More informationDuality of LPs and Applications
Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will
More informationCS 170 Algorithms Spring 2009 David Wagner Final
CS 170 Algorithms Spring 2009 David Wagner Final PRINT your name:, (last) SIGN your name: (first) PRINT your Unix account login: Your TA s name: Name of the person sitting to your left: Name of the person
More informationMaximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai
Maximum Flow Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Flow Network A low network G ( V, E) is a directed graph with a source node sv, a sink node tv, a capacity unction c. Each edge ( u,
More informationUniversity of California Berkeley CS170: Efficient Algorithms and Intractable Problems November 19, 2001 Professor Luca Trevisan. Midterm 2 Solutions
University of California Berkeley Handout MS2 CS170: Efficient Algorithms and Intractable Problems November 19, 2001 Professor Luca Trevisan Midterm 2 Solutions Problem 1. Provide the following information:
More informationGrowth of Functions (CLRS 2.3,3)
Growth of Functions (CLRS 2.3,3) 1 Review Last time we discussed running time of algorithms and introduced the RAM model of computation. Best-case running time: the shortest running time for any input
More information7.5 Bipartite Matching
7. Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching if each node appears in at most edge in M. Max matching: find a max cardinality matching. Bipartite Matching
More informationDynamic Programming: Shortest Paths and DFA to Reg Exps
CS 374: Algorithms & Models of Computation, Fall 205 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 7 October 22, 205 Chandra & Manoj (UIUC) CS374 Fall 205 / 54 Part I Shortest Paths with
More informationMidterm Exam. CS 3110: Design and Analysis of Algorithms. June 20, Group 1 Group 2 Group 3
Banner ID: Name: Midterm Exam CS 3110: Design and Analysis of Algorithms June 20, 2006 Group 1 Group 2 Group 3 Question 1.1 Question 2.1 Question 3.1 Question 1.2 Question 2.2 Question 3.2 Question 3.3
More informationEcon 172A, Fall 2012: Final Examination Solutions (II) 1. The entries in the table below describe the costs associated with an assignment
Econ 172A, Fall 2012: Final Examination Solutions (II) 1. The entries in the table below describe the costs associated with an assignment problem. There are four people (1, 2, 3, 4) and four jobs (A, B,
More informationAlgebraic Methods in Combinatorics
Algebraic Methods in Combinatorics Po-Shen Loh June 2009 1 Linear independence These problems both appeared in a course of Benny Sudakov at Princeton, but the links to Olympiad problems are due to Yufei
More informationCSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo
CSE 431/531: Analysis of Algorithms Dynamic Programming Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Paradigms for Designing Algorithms Greedy algorithm Make a
More informationWeek 5: Quicksort, Lower bound, Greedy
Week 5: Quicksort, Lower bound, Greedy Agenda: Quicksort: Average case Lower bound for sorting Greedy method 1 Week 5: Quicksort Recall Quicksort: The ideas: Pick one key Compare to others: partition into
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage
More informationCS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Recap Network Flow Problems Max-Flow Min Cut Theorem Ford Fulkerson Augmenting Paths Residual Flow Graph Integral Solutions
More informationCS 170, Fall 1997 Second Midterm Professor Papadimitriou
CS 170, Fall 1997 Second Midterm Professor Papadimitriou Problem #1 (10 Points) Remember the change-maker problem: We are given k integers d 1,..., d k > 0 (the coin denominations) and an integer n. We
More informationCS173 Lecture B, November 3, 2015
CS173 Lecture B, November 3, 2015 Tandy Warnow November 3, 2015 CS 173, Lecture B November 3, 2015 Tandy Warnow Announcements Examlet 7 is a take-home exam, and is due November 10, 11:05 AM, in class.
More informationUniversity of Washington March 21, 2013 Department of Computer Science and Engineering CSEP 521, Winter Exam Solution, Monday, March 18, 2013
University of Washington March 21, 2013 Department of Computer Science and Engineering CSEP 521, Winter 2013 Exam Solution, Monday, March 18, 2013 Instructions: NAME: Closed book, closed notes, no calculators
More informationNAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt):
CS 170 First Midterm 26 Feb 2010 NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt): Instructions: This is a closed book, closed calculator,
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms CSE 5311 Lecture 21 Single-Source Shortest Paths Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 Single-Source
More informationDiscrete Optimization Lecture 5. M. Pawan Kumar
Discrete Optimization Lecture 5 M. Pawan Kumar pawan.kumar@ecp.fr Exam Question Type 1 v 1 s v 0 4 2 1 v 4 Q. Find the distance of the shortest path from s=v 0 to all vertices in the graph using Dijkstra
More informationTypes of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas
Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or
More informationQuiz 1 Solutions. Problem 2. Asymptotics & Recurrences [20 points] (3 parts)
Introduction to Algorithms October 13, 2010 Massachusetts Institute of Technology 6.006 Fall 2010 Professors Konstantinos Daskalakis and Patrick Jaillet Quiz 1 Solutions Quiz 1 Solutions Problem 1. We
More informationFlows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek
CS 787: Advanced Algorithms Flows and Cuts Instructor: Dieter van Melkebeek This lecture covers the construction of optimal flows and cuts in networks, their relationship, and some applications. It paves
More informationP, NP, NP-Complete, and NPhard
P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course
More informationMax Flow: Algorithms and Applications
Max Flow: Algorithms and Applications Outline for today Quick review of the Max Flow problem Applications of Max Flow The Ford-Fulkerson (FF) algorithm for Max Flow Analysis of FF, and the Max Flow Min
More informationCMPS 6610 Fall 2018 Shortest Paths Carola Wenk
CMPS 6610 Fall 018 Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight function w
More informationPreparing for the CS 173 (A) Fall 2018 Midterm 1
Preparing for the CS 173 (A) Fall 2018 Midterm 1 1 Basic information Midterm 1 is scheduled from 7:15-8:30 PM. We recommend you arrive early so that you can start exactly at 7:15. Exams will be collected
More informationGreedy Algorithms My T. UF
Introduction to Algorithms Greedy Algorithms @ UF Overview A greedy algorithm always makes the choice that looks best at the moment Make a locally optimal choice in hope of getting a globally optimal solution
More informationPRIMES Math Problem Set
PRIMES Math Problem Set PRIMES 017 Due December 1, 01 Dear PRIMES applicant: This is the PRIMES 017 Math Problem Set. Please send us your solutions as part of your PRIMES application by December 1, 01.
More informationTwo Applications of Maximum Flow
Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows
More informationMaximum flow problem (part I)
Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as
More informationCS 161 Summer 2009 Homework #2 Sample Solutions
CS 161 Summer 2009 Homework #2 Sample Solutions Regrade Policy: If you believe an error has been made in the grading of your homework, you may resubmit it for a regrade. If the error consists of more than
More informationPreliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}
Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)
More informationCSE613: Parallel Programming, Spring 2012 Date: May 11. Final Exam. ( 11:15 AM 1:45 PM : 150 Minutes )
CSE613: Parallel Programming, Spring 2012 Date: May 11 Final Exam ( 11:15 AM 1:45 PM : 150 Minutes ) This exam will account for either 10% or 20% of your overall grade depending on your relative performance
More informationCMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017
CMSC CMSC : Lecture Greedy Algorithms for Scheduling Tuesday, Sep 9, 0 Reading: Sects.. and. of KT. (Not covered in DPV.) Interval Scheduling: We continue our discussion of greedy algorithms with a number
More informationMidterm 1. Name: TA: U.C. Berkeley CS70 : Algorithms Midterm 1 Lecturers: Anant Sahai & Christos Papadimitriou October 15, 2008
U.C. Berkeley CS70 : Algorithms Midterm 1 Lecturers: Anant Sahai & Christos Papadimitriou October 15, 2008 Name: Midterm 1 TA: Answer all questions. Read them carefully first. Be precise and concise. The
More informationCSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD
Greedy s Greedy s Shortest path Claim 2: Let S be a subset of vertices containing s such that we know the shortest path length l(s, u) from s to any vertex in u S. Let e = (u, v) be an edge such that 1
More informationCSE 591 Homework 3 Sample Solutions. Problem 1
CSE 591 Homework 3 Sample Solutions Problem 1 (a) Let p = max{1, k d}, q = min{n, k + d}, it suffices to find the pth and qth largest element of L and output all elements in the range between these two
More informationWe are going to discuss what it means for a sequence to converge in three stages: First, we define what it means for a sequence to converge to zero
Chapter Limits of Sequences Calculus Student: lim s n = 0 means the s n are getting closer and closer to zero but never gets there. Instructor: ARGHHHHH! Exercise. Think of a better response for the instructor.
More informationQuivers of Period 2. Mariya Sardarli Max Wimberley Heyi Zhu. November 26, 2014
Quivers of Period 2 Mariya Sardarli Max Wimberley Heyi Zhu ovember 26, 2014 Abstract A quiver with vertices labeled from 1,..., n is said to have period 2 if the quiver obtained by mutating at 1 and then
More informationMA008/MIIZ01 Design and Analysis of Algorithms Lecture Notes 3
MA008 p.1/37 MA008/MIIZ01 Design and Analysis of Algorithms Lecture Notes 3 Dr. Markus Hagenbuchner markus@uow.edu.au. MA008 p.2/37 Exercise 1 (from LN 2) Asymptotic Notation When constants appear in exponents
More informationCS 70 Discrete Mathematics and Probability Theory Fall 2016 Seshia and Walrand Midterm 1 Solutions
CS 70 Discrete Mathematics and Probability Theory Fall 2016 Seshia and Walrand Midterm 1 Solutions PRINT Your Name: Answer: Oski Bear SIGN Your Name: PRINT Your Student ID: CIRCLE your exam room: Dwinelle
More informationCPSC 320 Sample Final Examination December 2013
CPSC 320 Sample Final Examination December 2013 [10] 1. Answer each of the following questions with true or false. Give a short justification for each of your answers. [5] a. 6 n O(5 n ) lim n + This is
More informationRunning Time. Assumption. All capacities are integers between 1 and C.
Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm
More informationCS103 Handout 12 Winter February 4, 2013 Practice Midterm Exam
CS103 Handout 12 Winter 2012-2013 February 4, 2013 Practice Midterm Exam This midterm exam is open-book, open-note, open-computer, but closed-network. This means that if you want to have your laptop with
More informationLecture 2: Network Flows 1
Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed
More informationGreedy Homework Problems
CS 1510 Greedy Homework Problems 1. Consider the following problem: INPUT: A set S = {(x i, y i ) 1 i n} of intervals over the real line. OUTPUT: A maximum cardinality subset S of S such that no pair of
More informationThe max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem
The max flow problem Ford-Fulkerson method 7 11 Ford-Fulkerson(G) f = 0 while( simple path p from s to t in G f ) 10-2 2 1 f := f + f p output f 4 9 1 2 A cut Lemma 26. + Corollary 26.6 Let f be a flow
More informationLecture 4: An FPTAS for Knapsack, and K-Center
Comp 260: Advanced Algorithms Tufts University, Spring 2016 Prof. Lenore Cowen Scribe: Eric Bailey Lecture 4: An FPTAS for Knapsack, and K-Center 1 Introduction Definition 1.0.1. The Knapsack problem (restated)
More informationAlgebraic Methods in Combinatorics
Algebraic Methods in Combinatorics Po-Shen Loh 27 June 2008 1 Warm-up 1. (A result of Bourbaki on finite geometries, from Răzvan) Let X be a finite set, and let F be a family of distinct proper subsets
More informationLecture 18: More NP-Complete Problems
6.045 Lecture 18: More NP-Complete Problems 1 The Clique Problem a d f c b e g Given a graph G and positive k, does G contain a complete subgraph on k nodes? CLIQUE = { (G,k) G is an undirected graph with
More informationSorting. Chapter 11. CSE 2011 Prof. J. Elder Last Updated: :11 AM
Sorting Chapter 11-1 - Sorting Ø We have seen the advantage of sorted data representations for a number of applications q Sparse vectors q Maps q Dictionaries Ø Here we consider the problem of how to efficiently
More informationCS2223 Algorithms D Term 2009 Exam 3 Solutions
CS2223 Algorithms D Term 2009 Exam 3 Solutions May 4, 2009 By Prof. Carolina Ruiz Dept. of Computer Science WPI PROBLEM 1: Asymptoptic Growth Rates (10 points) Let A and B be two algorithms with runtimes
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms CSE 5311 Lecture 22 All-Pairs Shortest Paths Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 All Pairs
More informationTime Analysis of Sorting and Searching Algorithms
Time Analysis of Sorting and Searching Algorithms CSE21 Winter 2017, Day 5 (B00), Day 3 (A00) January 20, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Big-O : How to determine? Is f(n) big-o of g(n)?
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Network Flow Application: Bipartite Matching Adam Smith 0//008 A. Smith; based on slides by S. Raskhodnikova and K. Wayne Recently: Ford-Fulkerson Find max s-t flow
More informationAnalysis of Algorithms. Outline. Single Source Shortest Path. Andres Mendez-Vazquez. November 9, Notes. Notes
Analysis of Algorithms Single Source Shortest Path Andres Mendez-Vazquez November 9, 01 1 / 108 Outline 1 Introduction Introduction and Similar Problems General Results Optimal Substructure Properties
More informationMathematics for Decision Making: An Introduction. Lecture 13
Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider
More informationMath 300: Final Exam Practice Solutions
Math 300: Final Exam Practice Solutions 1 Let A be the set of all real numbers which are zeros of polynomials with integer coefficients: A := {α R there exists p(x) = a n x n + + a 1 x + a 0 with all a
More information