Introduction to Algorithms
|
|
- Gabriel Goodwin
- 6 years ago
- Views:
Transcription
1 Introduction to Algorithms, Lecture 5 // Introduction to Algorithms 6.46J/.4J LECTURE Shortest Paths I Properties o shortest paths Dijkstra s Correctness Analysis Breadth-irst Pro. Manolis Kellis March, L. Deinitions: Paths in graphs Consider a digraph G = (V, E) with edge-weight unction w : E. The weight o path p = v v L v k is deined to be: Example: k i= w ( p) = w( v i, v i + ). v 4 v 5 v 5 v v 4 w(p) = March, L. Deinitions: Shortest paths A shortest path rom u to v is a path o minimum weight rom u to v. The shortest-path weight rom u to v is deined as δ(u, v) = min{w(p) : p is a path rom u to v}. Note: δ(u, v) = i no path rom u to v exists. March, L. Shortest path properties:. Well-deinedness I a graph G contains a negative-weight cycle, then some shortest paths do not exist. Example: < vv <: Shortest path does not exist >: Cycle can be removed =: Choose no cycle, same cost, ewer edges, wlog Only nd to consider paths o V - edges! March, L.4 Shortest path properties:. Triangle inequality Shortest path properties:. Optimal Substructure Theorem. For all s, u, v V, we have δ(s, v) δ(s, u) + w(u, v). Theorem. Any subpath i~j o a shortest path s~k is a shortest path. Proo. ss δ(s, v) vv Proo. Cut and paste: δ(s, u) w(u, v) s i j k I optimal path p uses (u,v), then δ(s, v) = δ(s, u)+w(u, v). Else: proo by contradiction. I w p (s~>v)>δ(s, u)+w(u, v), then can make shorter path p by going through u. I not, make shorter path by s~i~j~k March, L.5 March, L.6 Leiserson, Demaine, Kellis
2 Introduction to Algorithms, Lecture 5 // Today Thursday Shortest paths: Problem settings Setting All pairs Weights Grdy/DP Algorithm = Grdy BFS General General Grdy Dyn. Prog. Dyn. Prog. Dijkstra Bellman-Ford MX-mult, Floyd- Warshall, Johnson March, L. S Grdy choice property (only i all weights are ) ss ww 4 9 vv Maintain set S o nodes whose shortest path distances are minimal. At each step, include the vertex v whose current distance estimate rom S is minimum, through edge (u,v). Then edge (u,v) must be part o a shortest path, since any other indirect path to v must go through a longer-distance intermediate (because path costs never decrease, all w ). March, L. zz Note: Full proo also shows that our estimates are correct Weighted graphs (non-negative) Dijkstra s March, L.9 Single-source shortest paths (non-negative edge weights) Problem. Assume that w(u, v) or all (u, v) E. (Hence, all shortest-path weights must exist.) From a given source vertex s V, ind the shortest-path weights δ(s, v) or all v V. Algorithm: Grdy choice.. Maintain a set S o vertices whose shortestpath distances rom s are known.. At each step, a to S the vertex v V S whose distance estimate rom s is minimum.. Update the distance estimates o vertices adjacent to v. March, L. Dijkstra s d[s] or each v V {s} do d[v] S Q V Q is a priority queue maintaining V S, keyed on d[v] while Q do u EXTRACT-MIN(Q) S S {u} or each v Adj[u] do i d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) relaxation step Implicit DECREASE-KEY March, L. Example o Dijkstra s Graph with nonnegative edge weights: March, L. 4 9 EE Leiserson, Demaine, Kellis
3 Introduction to Algorithms, Lecture 5 // Initialize: Example o Dijkstra s S: {} 4 9 EE Example o Dijkstra s A EXTRACT-MIN(Q): S: { A } 4 9 EE March, L. March, L.4 Example o Dijkstra s Relax all edges leaving A: S: { A } 4 9 EE Example o Dijkstra s C EXTRACT-MIN(Q): 4 9 S: { A, C } EE March, L.5 March, L.6 Example o Dijkstra s Relax all edges leaving C: S: { A, C } EE 5 Example o Dijkstra s E EXTRACT-MIN(Q): EE 5 S: { A, C, E } March, L. March, L. Leiserson, Demaine, Kellis
4 Introduction to Algorithms, Lecture 5 // Example o Dijkstra s Relax all edges leaving E: EE 5 S: { A, C, E } Example o Dijkstra s B EXTRACT-MIN(Q): EE 5 S: { A, C, E, B } March, L.9 March, L. Example o Dijkstra s Relax all edges leaving B: EE 5 S: { A, C, E, B } Example o Dijkstra s D EXTRACT-MIN(Q): EE 5 S: { A, C, E, B, D } March, L. March, L. Dijkstra's: Proo o correctness March, L. Correctness proo: Part : Upper Bound (Th. 4.) Lemma. Initializing d[s] and d[v] or all v V {s} establishes d[v] δ(s, v) or all v V, and this invariant is maintained over any sequence o relaxation steps. (Katherine s Lemma) Proo. Prove invariant d[v] δ(s, v) or all vertices by induction over number o relaxation steps. Base case upon d[s]= and d[v]= otherwise. Inductive step upon relaxation o edge (u,v): by inductive hypothesis d[x] δ(s,x) or all x V. The only d value changing is d[v], and it becomes: d[v] = d[u] + w(u,v) δ(s,u)+w(u,v) by inductive hypothesis δ(s,v) by the triangle inequality. March, L.4 Leiserson, Demaine, Kellis 4
5 Introduction to Algorithms, Lecture 5 // Correctness proo: Part : Convergence (Th. 4.6) Lemma. Let u be v s predecessor on a shortest path rom s to v. Then, i d[u] = δ(s, u) and edge (u, v) is relaxed, we have d[v] =δ(s, v) ater the relaxation. Proo. Observe that δ(s, v) = δ(s, u) + w(u, v). Suppose that d[v] > δ(s, v) beore the relaxation. (Otherwise, we re done.) Then, the test d[v] > d[u] + w(u, v) succds, because d[v] > δ(s, v) = δ(s, u) + w(u, v) = d[u] + w(u, v), and the sets d[v] = d[u] + w(u, v) = δ(s, v). Correctness proo (Th. 4.6): Part : Correctness o Dijkstra Theorem. Dijkstra s terminates with d[v] = δ(s, v) or all v V. Proo. It suices to show that d[v] = δ(s, v) or every v V when v is aed to S. Suppose u is the irst vertex aed to S or which d[u] >δ(s, u). Let y be the irst vertex in V S along a shortest path rom s to u, and let x be its predecessor: S, just beore aing u. ss xx yy March, L.5 March, L.6 Correctness proo: Part : Correctness o Dijkstra ss S xx yy Dijkstra's Runtime analysis Since u is the irst vertex violating the claimed invariant, we have d[x] = δ(s, x). When x was aed to S, the edge (x, y) was relaxed, which implies that d[y]=δ(s, y) δ(s, u) < d[u]. But, d[u] d[y] by our choice o u. Contradiction. March, L. March, L. V times Analysis o Dijkstra degr(u) times while Q do u EXTRACT-MIN(Q) S S {u} or each v Adj[u] do i d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) Handshaking Lemma Θ(E) implicit DECREASE-KEY s. Time = Θ(V T EXTRACT-MIN + E T DECREASE-KEY ) Note: Same ormula as in the analysis o Prim s minimum spanning tr. March, L.9 Analysis o Dijkstra (continued) Time = Θ(V) T EXTRACT-MIN + Θ(E) T DECREASE-KEY Q T EXTRACT-MIN T DECREASE-KEY Total array O(V) O() O(V ) binary heap O(lg V) O(lg V) O(E lg V) Fibonacci heap O(lg V) amortized O() amortized O(E + V lg V) worst case March, L. Leiserson, Demaine, Kellis 5
6 Introduction to Algorithms, Lecture 5 // Unweighted graphs: BFS (all edges have positive, unit weights) w(u,v)= or all (u,v) March, L. Unweighted graphs Suppose that w(u, v) = or all (u, v) E. Can Dijkstra s be improved? Use a simple FIFO queue instead o a priority queue. Breadth-irst while Q do u DEQUEUE(Q) or each v Adj[u] do i d[v] = then d[v] d[u] + ENQUEUE(Q, v) Analysis: Time = O(V + E). March, L. Example o breadth-irst Example o breadth-irst cc cc a March, L. March, L.4 Example o breadth-irst Example o breadth-irst cc a b d cc a b d c e March, L.5 March, L.6 Leiserson, Demaine, Kellis 6
7 Introduction to Algorithms, Lecture 5 // Example o breadth-irst Example o breadth-irst cc a b d c e cc a b d c e March, L. March, L. Example o breadth-irst cc a b d c e g i Example o breadth-irst 4 cc 4 a b d c e g i March, L.9 March, L.4 Example o breadth-irst cc a b d c e g i h Example o breadth-irst cc 4 a b d c e g i h March, L.4 March, L.4 Leiserson, Demaine, Kellis
8 Introduction to Algorithms, Lecture 5 // Example o breadth-irst cc a b d c e g i h Example o breadth-irst cc a b d c e g i h March, L.4 March, L.44 Correctness o BFS while Q do u DEQUEUE(Q) or each v Adj[u] do i d[v] = then d[v] d[u] + ENQUEUE(Q, v) Key idea: The FIFO Q in breadth-irst mimics the priority queue Q in Dijkstra. Invariant: v comes ater u in Q implies that d[v] = d[u] or d[v] = d[u] +. Today Thursday Shortest paths: Summary Setting All pairs Weights Gr./DP Algorithm = Grdy BFS: O(V+E) General General Grdy DP DP Dijkstra: O(E+VlgV) Bellman-Ford MX-mult, Floyd- Warshall, Johnson March, L.45 March, L.46 Leiserson, Demaine, Kellis
Introduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 14 Shortest Paths I Properties of shortest paths Dijkstra s algorithm Correctness Analysis Breadth-first search Prof. Charles E. Leiserson Paths in graphs
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 17 Shortest Paths I Properties of shortest paths Dijkstra s algorithm Correctness Analysis Breadth-first search Prof. Erik Demaine November 14, 005 Copyright
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/8.40J/SMA550 Lecture 7 Prof. Erik Demaine Paths in graphs Consider a digraph G = (V, E) with edge-weight function w : E R. The weight of path p = v v L v k is defined
More informationCS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya
CS6000: Foundations of Algorithm Design and Machine Learning Sourangshu Bhattacharya Paths in graphs Consider a digraph G = (V, E) with edge-weight function w : E R. The weight of path p = v 1 v L v k
More informationCMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro.
CMPS 00 Fall 01 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with edge-weight function
More informationSingle Source Shortest Paths
CMPS 00 Fall 015 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with an edge-weight
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 informationSingle Source Shortest Paths
CMPS 00 Fall 017 Single Source 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
More informationCS 4407 Algorithms Lecture: Shortest Path Algorithms
CS 440 Algorithms Lecture: Shortest Path Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Outline Shortest Path Problem General Lemmas and Theorems. Algorithms Bellman-Ford
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 informationLecture 11. Single-Source Shortest Paths All-Pairs Shortest Paths
Lecture. Single-Source Shortest Paths All-Pairs Shortest Paths T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to, rd Edition, MIT Press, 009 Sungkyunkwan University Hyunseung Choo choo@skku.edu
More informationLecture Notes for Chapter 25: All-Pairs Shortest Paths
Lecture Notes for Chapter 25: All-Pairs Shortest Paths Chapter 25 overview Given a directed graph G (V, E), weight function w : E R, V n. Goal: create an n n matrix of shortest-path distances δ(u,v). Could
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J/SMA5503 Lecture 18 Prof. Erik Demaine Negative-weight cycles Recall: If a graph G = (V, E) contains a negativeweight cycle, then some shortest paths may not exist.
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 informationCS 253: Algorithms. Chapter 24. Shortest Paths. Credit: Dr. George Bebis
CS : Algorithms Chapter 4 Shortest Paths Credit: Dr. George Bebis Shortest Path Problems How can we find the shortest route between two points on a road map? Model the problem as a graph problem: Road
More informationShortest Path Algorithms
Shortest Path Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Single Source Shortest Path 2 Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node
More informationDiscrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees
, 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3
More informationData Structures and and Algorithm Xiaoqing Zheng
Data Structures and Algorithm Xiaoqing Zheng zhengxq@fudan.edu.cn Representations of undirected graph 1 2 1 2 5 / 5 4 3 2 3 4 5 1 3 4 / 2 4 / 2 5 3 / 4 1 / Adjacency-list representation of graph G = (V,
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Greedy Graph Algorithms Shortest paths Minimum Spanning Tree Sofya Raskhodnikova 9/14/016 S. Raskhodnikova; based on slides by E. Demaine, C. Leiserson, A. Smith,
More informationDijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker
Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:
More informationDiscrete Optimization 2010 Lecture 2 Matroids & Shortest Paths
Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids
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 informationShortest Paths. CS 320, Fall Dr. Geri Georg, Instructor 320 ShortestPaths 3
Shortest Paths CS 320, Fall 2017 Dr. Geri Georg, Instructor georg@colostate.edu 320 ShortestPaths 3 Preliminaries Weighted, directed graphs Weight function: maps edges to real numbers Shortest path weight:
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 informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright Pearson-Addison Wesley. All rights reserved. 4 4.1 Interval Scheduling Interval Scheduling Interval scheduling. Job j starts at s j and finishes
More informationDiscrete Optimization 2010 Lecture 3 Maximum Flows
Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline
More informationMyriad of applications
Shortet Path Myriad of application Finding hortet ditance between location (Google map, etc.) Internet router protocol: OSPF (Open Shortet Path Firt) i ued to find the hortet path to interchange package
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 8 Greedy Algorithms V Huffman Codes Adam Smith Review Questions Let G be a connected undirected graph with distinct edge weights. Answer true or false: Let e be the
More informationPartha Sarathi Mandal
MA 252: Data Structures and Algorithms Lecture 32 http://www.iitg.ernet.in/psm/indexing_ma252/y12/index.html Partha Sarathi Mandal Dept. of Mathematics, IIT Guwahati The All-Pairs Shortest Paths Problem
More informationBreadth First Search, Dijkstra s Algorithm for Shortest Paths
CS 374: Algorithms & Models of Computation, Spring 2017 Breadth First Search, Dijkstra s Algorithm for Shortest Paths Lecture 17 March 1, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 Part I Breadth
More informationAnalysis of Algorithms I: All-Pairs Shortest Paths
Analysis of Algorithms I: All-Pairs Shortest Paths Xi Chen Columbia University The All-Pairs Shortest Paths Problem. Input: A directed weighted graph G = (V, E) with an edge-weight function w : E R. Output:
More informationSlides credited from Hsueh-I Lu & Hsu-Chun Hsiao
Slides credited from Hsueh-I Lu & Hsu-Chun Hsiao Homework 3 released Due on 12/13 (Thur) 14:20 (one week only) Mini-HW 9 released Due on 12/13 (Thur) 14:20 Homework 4 released Due on 1/3 (Thur) 14:20 (four
More informationBFS Dijkstra. Oct abhi shelat
4102 BFS Dijkstra Oct 22 2009 abhi shelat breadth first search bfs(g, a) 1 2 a b 1 2 d c e f g 2 h bfs theorem Theorem 1 (CLRS, p. 599) Let G =(V, E) be a graph and suppose that BFS is run on G from vertex
More informationCOMP251: Bipartite graphs
COMP251: Bipartite graphs Jérôme Waldispühl School of Computer Science McGill University Based on slides fom M. Langer (McGill) & P. Beame (UofW) Recap: Dijkstra s algorithm DIJKSTRA(V, E,w,s) INIT-SINGLE-SOURCE(V,s)
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 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 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 informationAll-Pairs Shortest Paths
All-Pairs Shortest Paths Version of October 28, 2016 Version of October 28, 2016 All-Pairs Shortest Paths 1 / 26 Outline Another example of dynamic programming Will see two different dynamic programming
More informationAlgorithms Booklet. 1 Graph Searching. 1.1 Breadth First Search
Algorithms Booklet 2010 Note: in all algorithms, unless stated otherwise, the input graph G is represented by adjacency lists. 1 Graph Searching 1.1 Breadth First Search Algorithm 1: BFS(G, s) Input: G
More informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.1 Interval Scheduling Interval Scheduling Interval scheduling. Job j starts at s j and
More informationLecture 7: Shortest Paths in Graphs with Negative Arc Lengths. Reading: AM&O Chapter 5
Lecture 7: Shortest Paths in Graphs with Negative Arc Lengths Reading: AM&O Chapter Label Correcting Methods Assume the network G is allowed to have negative arc lengths but no directed negativelyweighted
More informationA faster algorithm for the single source shortest path problem with few distinct positive lengths
A faster algorithm for the single source shortest path problem with few distinct positive lengths J. B. Orlin, K. Madduri, K. Subramani, and M. Williamson Journal of Discrete Algorithms 8 (2010) 189 198.
More informationCOMP251: Bipartite graphs
COMP251: Bipartite graphs Jérôme Waldispühl School of Computer Science McGill University Based on slides fom M. Langer (McGill) & P. Beame (UofW) Recap: Dijkstra s algorithm DIJKSTRA(V, E,w,s) INIT-SINGLE-SOURCE(V,s)
More informationContents Lecture 4. Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression
Contents Lecture 4 Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression Jonas Skeppstedt (jonasskeppstedt.net) Lecture 4 2018
More information16.1 Min-Cut as an LP
600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: LPs as Metrics: Min Cut and Multiway Cut Date: 4//5 Scribe: Gabriel Kaptchuk 6. Min-Cut as an LP We recall the basic definition
More informationCS 6301 PROGRAMMING AND DATA STRUCTURE II Dept of CSE/IT UNIT V GRAPHS
UNIT V GRAPHS Representation of Graphs Breadth-first search Depth-first search Topological sort Minimum Spanning Trees Kruskal and Prim algorithm Shortest path algorithm Dijkstra s algorithm Bellman-Ford
More informationCS 241 Analysis of Algorithms
CS 241 Analysis of Algorithms Professor Eric Aaron Lecture T Th 9:00am Lecture Meeting Location: OLB 205 Business Grading updates: HW5 back today HW7 due Dec. 10 Reading: Ch. 22.1-22.3, Ch. 25.1-2, Ch.
More informationQuery Processing in Spatial Network Databases
Temporal and Spatial Data Management Fall 0 Query Processing in Spatial Network Databases SL06 Spatial network databases Shortest Path Incremental Euclidean Restriction Incremental Network Expansion Spatial
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 informationCS781 Lecture 3 January 27, 2011
CS781 Lecture 3 January 7, 011 Greedy Algorithms Topics: Interval Scheduling and Partitioning Dijkstra s Shortest Path Algorithm Minimum Spanning Trees Single-Link k-clustering Interval Scheduling Interval
More informationIntroduction to Algorithms
Introducton to Algorthms 6.046J/8.40J LECTURE 6 Shortest Paths III All-pars shortest paths Matrx-multplcaton algorthm Floyd-Warshall algorthm Johnson s algorthm Prof. Charles E. Leserson Shortest paths
More informationiretilp : An efficient incremental algorithm for min-period retiming under general delay model
iretilp : An efficient incremental algorithm for min-period retiming under general delay model Debasish Das, Jia Wang and Hai Zhou EECS, Northwestern University, Evanston, IL 60201 Place and Route Group,
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 informationBreadth-First Search of Graphs
Breadth-First Search of Graphs Analysis of Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Applications of Breadth-First Search of Graphs a) Single Source
More information8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm
8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements
More informationICS 252 Introduction to Computer Design
ICS 252 fall 2006 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred [Mic94] G. De Micheli Synthesis and Optimization of Digital Circuits McGraw-Hill, 1994. [CLR90]
More informationLecture Notes Discrete Optimization
Lecture Notes Discrete Optimization Bernd Gärtner ETH Zürich (Figures and Proofreading by Hiroyuki Miyazawa) 1 Contents 1 Introduction 4 1.1 The Warehouse Problem From an Ancient Competition..........
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 informationSupplementary material for Continuous-action planning for discounted infinite-horizon nonlinear optimal control with Lipschitz values
Supplementary material or Continuous-action planning or discounted ininite-horizon nonlinear optimal control with Lipschitz values List o main notations x, X, u, U state, state space, action, action space,
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 4
CS 0/58,, Biconnectivity Let G = (N,E) be a connected A node a N is an articulation point if there are v and w different from a such that every path from 0 9 8 3 5 7 6 David Maier Biconnected Component
More informationShortest paths with negative lengths
Chapter 8 Shortest paths with negative lengths In this chapter we give a linear-space, nearly linear-time algorithm that, given a directed planar graph G with real positive and negative lengths, but no
More informationCS 580: Algorithm Design and Analysis
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Announcement: Homework 1 due soon! Due: January 25 th at midnight (Blackboard) Recap: Graphs Bipartite Graphs Definition
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 informationImpossibility of Distributed Consensus with One Faulty Process
Impossibility of Distributed Consensus with One Faulty Process Journal of the ACM 32(2):374-382, April 1985. MJ Fischer, NA Lynch, MS Peterson. Won the 2002 Dijkstra Award (for influential paper in distributed
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 6 Greedy Algorithms Interval Scheduling Interval Partitioning Scheduling to Minimize Lateness Sofya Raskhodnikova S. Raskhodnikova; based on slides by E. Demaine,
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 informationne a priority queue for the nodes of G; ile (! PQ.is empty( )) select u PQ with d(u) minimal and remove it; I Informatik 1 Kurt Mehlhorn
n-negative Edge Costs: optimal choice: u U with d(u) minimal. e use a priority queue (de nition on next slide) PQ to maintain the set of pairs, d(u)) ; u U } and obtain Dijkstra s Algorithm: ne a priority
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 informationL feb abhi shelat
L10 661 feb 17 2009 abhi shelat General-MST-Strategy(G =(V, E)) 1 A 2 repeat V 1 times: 3 Pick a cut (S, V S) that respects A 4 Let e be min-weight edge over cut (S, V S) 5 A A {e} prim General-MST-Strategy(G
More information6.889 Lecture 4: Single-Source Shortest Paths
6.889 Lecture 4: Single-Source Shortest Paths Christian Sommer csom@mit.edu September 19 and 26, 2011 Single-Source Shortest Path SSSP) Problem: given a graph G = V, E) and a source vertex s V, compute
More informationScribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016
CS 267 Lecture 7 Graph Spanners Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016 1 Graph Spanners Our goal is to compress information about distances in a graph by looking
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 5 Greedy Algorithms Interval Scheduling Interval Partitioning Guest lecturer: Martin Furer Review In a DFS tree of an undirected graph, can there be an edge (u,v)
More informationGraph fundamentals. Matrices associated with a graph
Graph fundamentals Matrices associated with a graph Drawing a picture of a graph is one way to represent it. Another type of representation is via a matrix. Let G be a graph with V (G) ={v 1,v,...,v n
More informationfrom notes written mostly by Dr. Matt Stallmann: All Rights Reserved
CSC 505, Fall 000: Week 0 Objectives: understand problem complexity and classes defined by it understand relationships among decision, witness, evaluation, and optimization problems understand what it
More informationDynamic Programming. Data Structures and Algorithms Andrei Bulatov
Dynamic Programming Data Structures and Algorithms Andrei Bulatov Algorithms Dynamic Programming 18-2 Weighted Interval Scheduling Weighted interval scheduling problem. Instance A set of n jobs. Job j
More informationMA015: Graph Algorithms
MA015 3. Minimum cuts 1 MA015: Graph Algorithms 3. Minimum cuts (in undirected graphs) Jan Obdržálek obdrzalek@fi.muni.cz Faculty of Informatics, Masaryk University, Brno All pairs flows/cuts MA015 3.
More informationIntroduction to Algorithms
Introducton to Algorthms 6.046J/8.40J/SMA5503 Lecture 9 Prof. Erk Demane Shortest paths Sngle-source shortest paths Nonnegate edge weghts Djkstra s algorthm: OE + V lg V General Bellman-Ford: OVE DAG One
More informationMatching Residents to Hospitals
Midterm Review Matching Residents to Hospitals Goal. Given a set of preferences among hospitals and medical school students, design a self-reinforcing admissions process. Unstable pair: applicant x and
More informationSolutions to Exercises
1/13 Solutions to Exercises The exercises referred to as WS 1.1(a), and so forth, are from the course book: Williamson and Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011,
More informationCS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi
CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest
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 informationProblem Set. Problems on Unordered Summation. Math 5323, Fall Februray 15, 2001 ANSWERS
Problem Set Problems on Unordered Summation Math 5323, Fall 2001 Februray 15, 2001 ANSWERS i 1 Unordered Sums o Real Terms In calculus and real analysis, one deines the convergence o an ininite series
More informationIS 709/809: Computational Methods in IS Research Fall Exam Review
IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm
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 informationShortest paths: label setting
: label setting CE 377K February 19, 2015 REVIEW HW 2 posted, due in 2 weeks Review Basic search algorithm Prim s algorithm Review Algorithm (Assumes that the network is connected.) 1 Arbitrarily choose
More informationDefinition: Let f(x) be a function of one variable with continuous derivatives of all orders at a the point x 0, then the series.
2.4 Local properties o unctions o several variables In this section we will learn how to address three kinds o problems which are o great importance in the ield o applied mathematics: how to obtain the
More informationDiscrete Mathematics, Spring 2004 Homework 9 Sample Solutions
Discrete Mathematics, Spring 00 Homework 9 Sample Solutions. #3. A vertex v in a tree T is a center for T if the eccentricity of v is minimal; that is, if the maximum length of a simple path starting from
More informationTropical Arithmetic and Shortest Paths
Lecture 14 Tropical Arithmetic and Shortest Paths This lecture introduces tropical arithmetic 1 and explains how to use it to calculate the lengths of all the shortest paths in a graph. Reading: The material
More informationMathematical Notation Math Calculus & Analytic Geometry III
Mathematical Notation Math 221 - alculus & Analytic Geometry III Use Word or WordPerect to recreate the ollowing documents. Each article is worth 10 points and should be emailed to the instructor at james@richland.edu.
More informationFigure 1: Bayesian network for problem 1. P (A = t) = 0.3 (1) P (C = t) = 0.6 (2) Table 1: CPTs for problem 1. (c) P (E B) C P (D = t) f 0.9 t 0.
Probabilistic Artiicial Intelligence Problem Set 3 Oct 27, 2017 1. Variable elimination In this exercise you will use variable elimination to perorm inerence on a bayesian network. Consider the network
More informationCHOW S LEMMA. Matthew Emerton
CHOW LEMMA Matthew Emerton The aim o this note is to prove the ollowing orm o Chow s Lemma: uppose that : is a separated inite type morphism o Noetherian schemes. Then (or some suiciently large n) there
More informationBranch-and-Bound for the Travelling Salesman Problem
Branch-and-Bound for the Travelling Salesman Problem Leo Liberti LIX, École Polytechnique, F-91128 Palaiseau, France Email:liberti@lix.polytechnique.fr March 15, 2011 Contents 1 The setting 1 1.1 Graphs...............................................
More informationCS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi
CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source
More information6. DYNAMIC PROGRAMMING II. sequence alignment Hirschberg's algorithm Bellman-Ford distance vector protocols negative cycles in a digraph
6. DYNAMIC PROGRAMMING II sequence alignment Hirschberg's algorithm Bellman-Ford distance vector protocols negative cycles in a digraph Shortest paths Shortest path problem. Given a digraph G = (V, E),
More informationThe Matching Polytope: General graphs
8.433 Combinatorial Optimization The Matching Polytope: General graphs September 8 Lecturer: Santosh Vempala A matching M corresponds to a vector x M = (0, 0,,, 0...0) where x M e is iff e M and 0 if e
More informationComplexity Theory of Polynomial-Time Problems
Complexity Theory of Polynomial-Time Problems Lecture 5: Subcubic Equivalences Karl Bringmann Reminder: Relations = Reductions transfer hardness of one problem to another one by reductions problem P instance
More informationMathematical Notation Math Calculus & Analytic Geometry III
Name : Mathematical Notation Math 221 - alculus & Analytic Geometry III Use Word or WordPerect to recreate the ollowing documents. Each article is worth 10 points and can e printed and given to the instructor
More informationPart IA Algorithms Notes
Part IA Algorithms Notes 1 Sorting 1.1 Insertion Sort 1 d e f i n s e r t i o n S o r t ( a ) : 2 f o r i from 1 i n c l u d e d to l e n ( a ) excluded : 3 4 j = i 1 5 w h i l e j >= 0 and a [ i ] > a
More informationNgày 20 tháng 7 năm Discrete Optimization Graphs
Discrete Optimization Graphs Ngày 20 tháng 7 năm 2011 Lecture 6: Graphs In this class we shall prove some simple, useful theorems about graphs. We start with very simple obseravations. Lecture 6: Graphs
More informationLecture XIV MINIMUM COST PATHS
Lecture XIV Page 1 The shortest path between two truths in the real domain passes through the complex domain. Jacques Salomon Hadamard (1865 1963) For every complex problem there is a simple solution.
More information