Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. Greedy Algorithms and Graph Optimization Problems
|
|
- Aubrie Richards
- 6 years ago
- Views:
Transcription
1 CSCE J Data Strctres & Algorithms Greedy Algorithms and Graph Optimization Problems Dr. Steve Goddard goddard@cse.nl.ed CSCE J Data Strctres & Algorithms Giving credit where credit is de:» Most of slides for this lectre are based on slides created by Dr. David Lebke, University of Virginia.» Some examples and slides are based on lectre notes created by Dr. Chck Csack, UNL, Dr. Jim Cohoon, University of Virginia, and Dr. Ben Choi, Loisiana Technical University.» I have modified them and added new slides Greedy Algorithms Main Concept: Make the best or greedy choice at any given step.» This is what yo did before yo learned to not to think ahead and plan Choices are made in seqence sch that» Each individal choice is best according to some limited shortterm criterion, that is not too expensive to evalate» Once a choice is made, it cannot be ndone! Even if it becomes evident later that it was a poor choice Sometimes life is like that The goal is to make progress by choosing an action that» Incrs the minimm short-term cost,» With the hope that a lot of small short-term costs add p to small overall cost. When to be Greedy Greedy algorithms apply to problems with» The greedy choice property: an optimal soltion can be obtained by making the greedy choice at each step.» Optimal sbstrctres: optimal soltions contain optimal sbsoltions.» Many optimal soltions, bt we only need one sch soltion. Unlike dynamic programming, we do not need to know the soltions to the sb-problems to make choices.» Hence, greedy algorithms are often more efficient than dynamic programming. Possible drawback:» Actions with a small short-term cost may lead to a sitation, where frther large costs are navoidable. 4 The Fractional Knapsack Problem A thief breaks into a cookie store. She has a bag that can hold p to C ponds of cookies. There are n cookies in the store. The i th cookie weighs w i ponds and is worth v i dollars. She can break the cookies and sell fractions of them. The thief wants to maximize the vale of the cookies she steals, of corse. How mch of each cookie shold she steal? Some Greedy Observations The i th cookie is worth p i = v i /w i dollars per pond. The item with the largest p i has the most bang for the bck, so the thief shold take as mch as she can of this item. If the thief takes x ponds of a cookie with p j < p i instead of cookie i, her profit will be smaller for the same weight. 6 Page
2 Fractional Knapsack Problem Problem» Given a set of n objects where object i has vale v i per cookie and weight w i and a knapsack capacity C, determine the fractional amont f i of each object i to be inclded in the knapsack sch that the profit is maximized while the weight of the inclded objects does not exceed the knapsack capacity n maximize v i f i sch that i= n i= w f C i i Strategy: Pick by Density Strategy» Sort objects in non-increasing order of profit p i = v i /w i That is, p =v /w p =v /w... p n =v n /w n» Consider objects by increasing order of sbscript.» When an object is considered choose a maximal amont sch that the knapsack capacity is not violated. where 0 f i 7 A Greedy Soltion fractionalknapsack(v, W, capacity, n, KnapSack) sortbydescendingprofit(v,w,n) KnapSack = 0; capacityleft = C; for (i = ; (i <= n) && (capacityleft > 0); ++i) if (W[i] < capacityleft) KnapSack[i] = ; capacityleft -= W[i]; else KnapSack[i] = capacityleft/w[i]; capacityleft = 0; What is the complexity of this algorithm? Knapsack Example The thief s knapsack holds ponds The cookie inventory has the following properties: i v i 4 w i p i Same properties sorted by profit i v i 4 w i 4 4 p i Knapsack Example Soltion The thief takes pond of cookie, 4 ponds of cookie, 4 ponds of cookie 6, ponds of cookie, and ponds of cookie 7: i v i 4 w i 4 4 / p i Ths, the profit is = $.6 Soltion property for non-trivial instances» knapsack = (,,..., f j, 0, 0,... 0) with 0 < f j Is it Optimal? 0/ Knapsack f i is restricted to be either 0 or Does pick by vale work? Does pick by weight work? Does pick by density work? Page
3 Minimm Spanning Tree (MST) A spanning tree for a connected, ndirected graph, G=(V,E) is. a connected sbgraph of G that forms an. ndirected tree incident with each vertex. In a weighted graph G=(V,E,W),» the weight of a sbgraph is the sm of the weights of the edges in the sbgraph. A minimm spanning tree (MST) for a weighted graph is» a spanning tree with the minimm weight. Minimm Spanning Tree Problem: given a connected, ndirected, weighted graph: find a spanning tree sing edges that minimize the total weight Minimm Spanning Tree Which edges form the minimm spanning tree (MST) of the below graph? Minimm Spanning Tree Answer: A H B C G E D F A H B C G E D F 6 Another Example Given a weighted graph G=(V, E,W), find a MST of G 7 MST Uniqeness Is a MST niqe? What if the weights are (or are not) niqe? Prove or disprove the niqeness of a MST for a given graph G. 7 Page
4 Minimm Spanning Tree MSTs satisfy the optimal sbstrctre property: an optimal tree is composed of optimal sbtrees» Let T be an MST of G with an edge (,v) in the middle» Removing (,v) partitions T into two trees T and T» Claim: T is an MST of G = (V,E ), and T is an MST of G = (V,E ) (Do V and V share vertices? Why?)» Proof: w(t) = w(,v) + w(t ) + w(t ) (There can t be a better tree than T or T, or T wold be sboptimal) Minimm Spanning Tree Thm:» Let T be MST of G, and let A T be sbtree of T» Let (,v) be min-weight edge connecting A to V-A» Then (,v) T Proof: left as an exercise 0 Finding a MST Principal greedy methods: algorithms by Prim and Krskal Prim» Grow a single tree by repeatedly adding the least cost edge that connects a vertex in the existing tree to a vertex not in the existing tree Intermediary soltion is a sbtree Krskal» Grow a tree by repeatedly adding the least cost edge that does not introdce a cycle among the edges inclded so far Intermediary soltion is a spanning forest Grow a single tree by repeatedly adding the least cost edge that connects a vertex in the existing tree to a vertex not in the existing tree Intermediary soltion is a sbtree Rn on example graph Rn on example graph 4 Page 4
5 r 0 Pick a start vertex r 0 Red vertices have been removed from Q 6 0 Red arrows indicate parent pointers Page
6 Page 6
7 Page 7
8 Review: What is the hidden cost in this code? Review: DecreaseKey(v, w(,v)); 4 44 Review: How often is ExtractMin() called? How often is DecreaseKey() called? DecreaseKey(v, w(,v)); 4 Review: What will be the rnning time? There are n= V ExtractMin calls and m= E DecreaseKey calls. Ths, the worst case is O(n +m). The priority Q implementation has a large impact on performance. E.g., O((n+m)lg n) = O(m lg n) sing binary heap for Q Can achieve O(n lg n + m) with Two-pass pairing or Fibonacci heaps 46 Grow a tree by repeatedly adding the least cost edge that does not introdce a cycle among the edges inclded so far Intermediary soltion is a spanning forest T = T,v; 7 T = T,v; 47 4 Page
9 7 T = T,v; 7 T = T,v; T = T,v;? 7 T = T,v;? 7 T = T,v; 7 T = T,v; 4 Page
10 7? T = T,v; 7 T = T,v; 6 7? T = T,v; 7 T = T,v; 7 7 T = T,v;? 7 T = T,v; 60 Page
11 7? T = T,v; 7 T = T,v; 6 6? 7 T = T,v; 7 T = T,v; ? T = T,v;? 7 T = T,v; 6 66 Page
12 7? T = T,v; 7? T = T,v; T = T,v; 7 T = T,v; 6 70 Correctness Of Krskal s Algorithm Sketch of a proof that this algorithm prodces an MST for T:» Assme algorithm is wrong: reslt is not an MST» Then algorithm adds a wrong edge at some point» If it adds a wrong edge, there mst be a lower weight edge (ct and paste argment)» Bt algorithm chooses lowest weight edge at each step. Contradiction Again, important to be comfortable with ct and paste argments What will affect the rnning time? T = T U,v; 7 7 Page
13 What will affect the rnning time? Let n= V and m= E Sort O(n) MakeSet() calls O(m) FindSet() calls O(n) Union() calls T = T U,v; : Rnning Time To smmarize:» Sort edges: O(m lg m)» O(n) MakeSet() s» O(m) FindSet() s» O(n) Union() s Upshot:» Best disjoint-set nion algorithm makes above operations take O(m α(m,n)), α almost constant» Overall ths O(m lg m), almost linear w/o sorting 7 74 Single-Sorce Shortest Path Problem: given a weighted directed graph G, find the minimm-weight path from a given sorce vertex s to another vertex v» Shortest-path = minimm weight» Weight of path is sm of edges» E.g., a road map: what is the shortest path from Minneapolis to Lincoln? Shortest Path Properties Again, we have optimal sbstrctre: the shortest path consists of shortest sbpaths:» Proof: sppose some sbpath is not a shortest path There mst then exist a shorter sbpath Cold sbstitte the shorter sbpath for a shorter path Bt then overall path is not shortest path. Contradiction 7 76 Shortest Path Properties Define δ(,v) to be the weight of the shortest path from to v Shortest paths satisfy the triangle ineqality: δ(,v) δ(,x) + δ(x,v) Proof : x Shortest Path Properties In graphs with negative weight cycles, some shortest paths will not exist (Why?): < 0 v This path is no longer than any other path 77 7 Page
14 Relaxation d[] A key techniqe in shortest path algorithms is relaxation» Idea: for all v, maintain pper bond d[v] on δ(s,v) Relax(,v,w) if (d[v] > d[]+w) then d[v]=d[]+w; Estimated d[v] v v 6 Dijkstra s Algorithm If no negative edge weights, we can beat BFS Similar to breadth-first search» Grow a tree gradally, advancing from vertices taken from a qee Also similar to Prim s algorithm for MST» Use a priority qee keyed on d[v] Relax v 7 New d[v] Relax v Dijkstra s Algorithm Dijkstra(G,s) B d[v] = ; A 4 D d[s] = 0; S = ; Q = V; C while (Q ) Ex: rn the algorithm S = S ; if (d[v] > d[]+w(,v)) Note: this d[v] = d[]+w(,v); is really a call to Q->DecreaseKey() Relaxation Step Dijkstra s Algorithm Dijkstra(G,s) d[v] = ; d[s] = 0; S = ; Q = V; while (Q ) S = S ; if (d[v] > d[]+w(,v)) d[v] = d[]+w(,v); How many times is ExtractMin() called? How many times is DecraseKey() called? What will be the total rnning time? Analysis of Dijkstra s Algorithm Dijkstra s Algorithm Dijkstra(G,s) d[v] = ; There are n= V ExtractMin calls and m= E DecreaseKey calls. Ths, the worst case is O(n +m). d[s] = 0; S = ; Q = V; while (Q ) The priority Q implementation has a large impact on S = S ; performance. if (d[v] > d[]+w(,v)) d[v] = d[]+w(,v); E.g., O((n+m)lg n) = O(m lg n) sing binary heap for Q Can achieve O(n lg n + m) with Fibonacci heaps Dijkstra(G,s) d[v] = ; d[s] = 0; S = ; Q = V; while (Q ) S = S ; if (d[v] > d[]+w(,v)) d[v] = d[]+w(,v); Correctness: we mst show that when is removed from Q, it has already converged 4 Page
15 Correctness Of Dijkstra's Algorithm Correctness Of Dijkstra's Algorithm s p x y p s p x y p Note that d[v] δ(s,v) v Let be first vertex picked s.t. shorter path than d[] d[] > δ(s,) Let y be first vertex V-S on actal shortest path from s d[y] = δ(s,y)» Becase d[x] is set correctly for y's predecessor x S on the shortest path, and» When we pt x into S, we relaxed (x,y), giving d[y] the correct vale Note that d[v] δ(s,v) v Let be first vertex picked s.t. shorter path than d[] d[] > δ(s,) Let y be first vertex V-S on actal shortest path from s d[y] = δ(s,y) d[] > δ(s,) = δ(s,y) + δ(y,) (Why?) = d[y] + δ(y,) d[y] Bt if d[] > d[y], woldn't have chosen. Contradiction. 6 Page
Minimum Spanning Trees Outline: MST
Minimm Spanning Trees Otline: MST Minimm Spanning Tree Generic MST Algorithm Krskal s Algorithm (Edge Based) Prim s Algorithm (Vertex Based) Spanning Tree A spanning tree of G is a sbgraph which is tree
More informationPartha Sarathi Mandal
MA 5: Data Strctres and Algorithms Lectre http://www.iitg.ernet.in/psm/indexing_ma5/y1/index.html Partha Sarathi Mandal Dept. of Mathematics, IIT Gwahati Idea of Prim s Algorithm Instead of growing the
More informationIntroduction to Algorithms. Minimum Spanning Tree. Chapter 23: Minimum Spanning Trees
Introdction to lgorithms oncrete example Imagine: Yo wish to connect all the compters in an office bilding sing the least amont of cable - ach vertex in a graph G represents a compter - ach edge represents
More informationPartha Sarathi Manal
MA 515: Introduction to Algorithms & MA5 : Design and Analysis of Algorithms [-0-0-6] Lecture 20 & 21 http://www.iitg.ernet.in/psm/indexing_ma5/y09/index.html Partha Sarathi Manal psm@iitg.ernet.in Dept.
More informationECE250: Algorithms and Data Structures Single Source Shortest Paths Dijkstra s Algorithm
ECE0: Algorithms and Data Strctres Single Sorce Shortest Paths Dijkstra s Algorithm Ladan Tahildari, PEng, SMIEEE Associate Professor Software Technologies Applied Research (STAR) Grop Dept. of Elect.
More informationCOMP251: Single source shortest paths
COMP51: Single source shortest paths Jérôme Waldispühl School of Computer Science McGill University Based on (Cormen et al., 00) Problem What is the shortest road to go from one city to another? Eample:
More information5.4 Shortest Paths. Jacobs University Visualization and Computer Graphics Lab. CH : Algorithms and Data Structures 456
5.4 Shortest Paths CH08-320201: Algorithms and Data Structures 456 Definitions: Path Consider a directed graph G=(V,E), where each edge e є E is assigned a non-negative weight w: E -> R +. A path is a
More informationCIS 121 Data Structures and Algorithms Minimum Spanning Trees
CIS 121 Data Structures and Algorithms Minimum Spanning Trees March 19, 2019 Introduction and Background Consider a very natural problem: we are given a set of locations V = {v 1, v 2,..., v n }. We want
More informationShortest path problems
Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths
More informationCS 557 Lecture IX. Drexel University Dept. of Computer Science
CS 7 Lectre IX Dreel Uniersity Dept. of Compter Science Fall 00 Shortest Paths Finding the Shortest Paths in a graph arises in many different application: Transportation Problems: Finding the cheapest
More informationAlgorithms on Graphs: Part III. Shortest Path Problems. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..
.. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. Shortest Path Problems Algorithms on Graphs: Part III Path in a graph. Let G = V,E be a graph. A path p = e 1,...,e k, e i E,
More informationCS583 Lecture 09. Jana Kosecka. Graph Algorithms Topological Sort Strongly Connected Component Minimum Spanning Tree
CS3 Lecture 0 Jana Kosecka Graph Algorithms Topological Sort Strongly Connected Component Minimum Spanning Tree Many slides here are based on E. Demaine, D. Luebke, Kleinberg-Tardos slides Graph Algs.
More informationGraphs. Part II: SP and MST. Laura Toma Algorithms (csci2200), Bowdoin College
Laura Toma Algorithms (csci2200), Bowdoin College Topics Weighted graphs each edge (u, v) has a weight denoted w(u, v) or w uv stored in the adjacency list or adjacency matrix The weight of a path p =
More informationCSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo
CSE 431/531: Analysis of Algorithms Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast algorithms to solve
More informationMinimum Spanning Trees
Minimum Spanning Trees Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and no
More informationCS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019
CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction
More informationCOT 6405 Introduction to Theory of Algorithms
COT 6405 Introduction to Theory of Algorithms Topic 16. Single source shortest path 11/18/2015 1 Problem definition Problem: given a weighted directed graph G, find the minimum-weight path from a given
More informationMinimum Spanning Trees
Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office
More informationMinimum Spanning Trees My T. UF
Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication
More informationChapter 24. Shortest path problems. Chapter 24. Shortest path problems. 24. Various shortest path problems. Chapter 24. Shortest path problems
Chapter 24. Shortest path problems We are given a directed graph G = (V,E) with each directed edge (u,v) E having a weight, also called a length, w(u,v) that may or may not be negative. A shortest path
More informationIntroduction to Algorithms. Lecture 11
Introduction to Algorithms Lecture 11 Last Time Optimization Problems Greedy Algorithms Graph Representation & Algorithms Minimum Spanning Tree Prim s Algorithm Kruskal s Algorithm 2 Today s Topics Shortest
More informationCSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li
CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationFinite Domain Cuts for Minimum Bandwidth
Finite Domain Cts for Minimm Bandwidth J. N. Hooker Carnegie Mellon University, USA Joint work with Alexandre Friere, Cid de Soza State University of Campinas, Brazil INFORMS 2013 Two Related Problems
More informationCSE 421 Greedy Alg: Union Find/Dijkstra s Alg
CSE 1 Greedy Alg: Union Find/Dijkstra s Alg Shayan Oveis Gharan 1 Dijkstra s Algorithm Dijkstra(G, c, s) { d s 0 foreach (v V) d[v] //This is the key of node v foreach (v V) insert v onto a priority queue
More informationCOMPOSITION OF STABLE SET POLYHEDRA
COMPOSITION OF STABLE SET POLYHEDRA Benjamin McClosky and Illya V. Hicks Department of Comptational and Applied Mathematics Rice University November 30, 2007 Abstract Barahona and Mahjob fond a defining
More informationMinimum Spanning Trees
Minimum Spanning Trees Overview Problem A town has a set of houses and a set of roads. A road connects and only houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationData Structures and Algorithms. Werner Nutt
Data Structures and Algorithms Werner Nutt nutt@inf.unibz.it http://www.inf.unibz/it/~nutt Chapter 10 Academic Year 2012-2013 1 Acknowledgements & Copyright Notice These slides are built on top of slides
More informationDijkstra s Shortest Path Algorithm
Dijkstra s Shortest Path Algorithm DPV 4.4, CLRS 24.3 Revised, October 23, 2014 Outline of this Lecture Recalling the BFS solution of the shortest path problem for unweighted (di)graphs. The shortest path
More informationFundamental Algorithms CSCI-GA /Summer Solution to Homework 8
Fundamental Algorithms CSCI-GA.70-00/Summer 206 Solution to Homework 8 Problem (CLRS 23.-6). ( point) Show that a graph has a unique minimum spanning tree if, for every cut of the graph, there is a unique
More informationComputer Science & Engineering 423/823 Design and Analysis of Algorithms
Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 07 Single-Source Shortest Paths (Chapter 24) Stephen Scott and Vinodchandran N. Variyam sscott@cse.unl.edu 1/36 Introduction
More informationMinimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem
Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are
More information6.1 Minimum Spanning Trees
CS124 Lecture 6 Fall 2018 6.1 Minimum Spanning Trees A tree is an undirected graph which is connected and acyclic. It is easy to show that if graph G(V,E) that satisfies any two of the following properties
More informationSingle Source Shortest Path
Single Source Shortest Path A directed graph G = (V, E) and a pair of nodes s, d is given. The edges have a real-valued weight W i. This time we are looking for the weight and the shortest path from s
More informationGreedy Algorithms. At each step in the algorithm, one of several choices can be made.
Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Greedy Graph Algorithms Topological sort Shortest paths Adam Smith The (Algorithm) Design Process 1. Work out the answer for some examples. Look for a general principle
More informationLecture 11: Analysis of Algorithms (CS ) 1
Lecture 11: Analysis of Algorithms (CS583-002) 1 Amarda Shehu November 12, 2014 1 Some material adapted from Kevin Wayne s Algorithm Class @ Princeton 1 2 Dynamic Programming Approach Floyd-Warshall Shortest
More informationObject-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018
Object-oriented programming and data-structures CS/ENGRD 20 SUMMER 208 Lecture 3: Shortest Path http://courses.cs.cornell.edu/cs20/208su Graph Algorithms Search Depth-first search Breadth-first search
More informationTheory of Computing. Lecture 7 MAS 714 Hartmut Klauck
Theory of Computing Lecture 7 MAS 714 Hartmut Klauck Shortest paths in weighted graphs We are given a graph G (adjacency list with weights W(u,v)) No edge means W(u,v)=1 We look for shortest paths from
More informationfrom notes written mostly by Dr. Carla Savage: All Rights Reserved
CSC 505, Fall 2000: Week 9 Objectives: learn about various issues related to finding shortest paths in graphs learn algorithms for the single-source shortest-path problem observe the relationship among
More informationDecreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )
Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.
More informationName: Lirong TAN 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G.
1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G. A shortest s-t path is a path from vertex to vertex, whose sum of edge weights is minimized. (b) Give the pseudocode
More informationCOP 4531 Complexity & Analysis of Data Structures & Algorithms
COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 9 Minimum Spanning Trees Thanks to the text authors who contributed to these slides Why Minimum Spanning Trees (MST)? Example 1 A
More informationOutline. (single-source) shortest path. (all-pairs) shortest path. minimum spanning tree. Dijkstra (Section 4.4) Bellman-Ford (Section 4.
Weighted Graphs 1 Outline (single-source) shortest path Dijkstra (Section 4.4) Bellman-Ford (Section 4.6) (all-pairs) shortest path Floyd-Warshall (Section 6.6) minimum spanning tree Kruskal (Section 5.1.3)
More informationRepresentations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs
Representations of Weighted Graphs (as Matrices) A B Algorithms and Data Structures: Minimum Spanning Trees 9.0 F 1.0 6.0 5.0 6.0 G 5.0 I H 3.0 1.0 C 5.0 E 1.0 D 28th Oct, 1st & 4th Nov, 2011 ADS: lects
More informationCS 561, Lecture 10. Jared Saia University of New Mexico
CS 561, Lecture 10 Jared Saia University of New Mexico Today s Outline The path that can be trodden is not the enduring and unchanging Path. The name that can be named is not the enduring and unchanging
More information(2, 4) Tree Example (2, 4) Tree: Insertion
Presentation for se with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 B-Trees and External Memory (2, 4) Trees Each internal node has 2 to 4 children:
More informationLecture 5: Graph algorithms 1
DD2458, Problem Solving and Programming Under Pressure Lecture 5: Graph algorithms 1 Date: 2008-10-01 Scribe(s): Mikael Auno and Magnus Andermo Lecturer: Douglas Wikström This lecture presents some common
More informationmanaging an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm
Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms Instructor: SharmaThankachan Lecture 10: Greedy Algorithm Slides modified from Dr. Hon, with permission 1 About this lecture Introduce Greedy Algorithm Look at some problems
More informationLecture I: Shortest Path Algorithms
Lecture I: Shortest Path Algorithms Dr Kieran T. Herley Department of Computer Science University College Cork October 201 KH (21/10/1) Lecture I: Shortest Path Algorithms October 201 1 / 28 Background
More informationWeek 12: Minimum Spanning trees and Shortest Paths
Agenda: Week 12: Minimum Spanning trees and Shortest Paths Kruskal s Algorithm Single-source shortest paths Dijkstra s algorithm for non-negatively weighted case Reading: Textbook : 61-7, 80-87, 9-601
More informationLecture Notes for Chapter 23: Minimum Spanning Trees
Lecture Notes for Chapter 23: Minimum Spanning Trees Chapter 23 overview Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has
More informationAnnouncements Problem Set 5 is out (today)!
CSC263 Week 10 Announcements Problem Set is out (today)! Due Tuesday (Dec 1) Minimum Spanning Trees The Graph of interest today A connected undirected weighted graph G = (V, E) with weights w(e) for each
More informationDijkstra s algorithm for shortest paths when no edges have negative weight.
Lecture 14 Graph Algorithms II 14.1 Overview In this lecture we begin with one more algorithm for the shortest path problem, Dijkstra s algorithm. We then will see how the basic approach of this algorithm
More informationSingle Source Shortest Path: The Bellman-Ford Algorithm. Slides based on Kevin Wayne / Pearson-Addison Wesley
Single Source Shortest Path: The Bellman-Ford Algorithm Slides based on Kevin Wayne / Pearson-Addison Wesley Single Source Shortest Path Problem Shortest path network. Directed graph G = (V, E, w). Weight
More informationAlliances and Bisection Width for Planar Graphs
Alliances and Bisection Width for Planar Graphs Martin Olsen 1 and Morten Revsbæk 1 AU Herning Aarhs University, Denmark. martino@hih.a.dk MADAGO, Department of Compter Science Aarhs University, Denmark.
More informationMinimum Spanning Trees Ch 23 Traversing graphs
Next: Graph Algorithms Graphs Ch 22 Graph representations adjacency list adjacency matrix Minimum Spanning Trees Ch 23 Traversing graphs Breadth-First Search Depth-First Search 11/30/17 CSE 3101 1 Graphs
More informationShortest Path Problem
Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths
More informationG205 Fundamentals of Computer Engineering. CLASS 21, Mon. Nov Stefano Basagni Fall 2004 M-W, 1:30pm-3:10pm
G205 Fundamentals of Computer Engineering CLASS 21, Mon. Nov. 22 2004 Stefano Basagni Fall 2004 M-W, 1:30pm-3:10pm Greedy Algorithms, 1 Algorithms for Optimization Problems Sequence of steps Choices at
More informationUC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 8 Lecturer: David Wagner February 20, Notes 8 for CS 170
UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 8 Lecturer: David Wagner February 20, 2003 Notes 8 for CS 170 1 Minimum Spanning Trees A tree is an undirected graph that is connected
More informationTriangle-Free Planar Graphs as Segments Intersection Graphs
Triangle-ree Planar Graphs as Segments Intersection Graphs N. de Castro 1,.J.Cobos 1, J.C. Dana 1,A.Márqez 1, and M. Noy 2 1 Departamento de Matemática Aplicada I Universidad de Sevilla, Spain {natalia,cobos,dana,almar}@cica.es
More informationMinimum Spanning Trees
CS124 Lecture 5 Spring 2011 Minimum Spanning Trees A tree is an undirected graph which is connected and acyclic. It is easy to show that if graph G(V,E) that satisfies any two of the following properties
More informationExample. Minimum-Cost Spanning Tree. Edge Selection Greedy Strategies. Edge Selection Greedy Strategies
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More informationMinimum-Cost Spanning Tree. Example
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More informationLecture 10. Elementary Graph Algorithm Minimum Spanning Trees
Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo
More informationUNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD
UNIT 3 Greedy Method GENERAL METHOD Greedy is the most straight forward design technique. Most of the problems have n inputs and require us to obtain a subset that satisfies some constraints. Any subset
More informationLecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29
Lecture 13 Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim s and Kruskal s algorithms
More informationTheorem: The greedy algorithm for RKP will always output the optimal solution under Selection Criterion 3. Proof sketch: Assume that the objects have
CSE 3500 Algorithms and Complexity Fall 2016 Lecture 16: October 20, 2016 Greedy Algorithms Continued The first part of this lecture was spent on solving Exam 1 problems. In the second part we continued
More informationTaking Stock. IE170: Algorithms in Systems Engineering: Lecture 20. Example. Shortest Paths Definitions
Taking Stock IE170: Algorithms in Systems Engineering: Lecture 20 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University March 19, 2007 Last Time Minimum Spanning Trees Strongly
More informationShortest Paths. Nishant Mehta Lectures 10 and 11
Shortest Paths Nishant Mehta Lectures 0 and Communication Speeds in a Computer Network Find fastest way to route a data packet between two computers 6 Kbps 4 0 Mbps 6 6 Kbps 6 Kbps Gbps 00 Mbps 8 6 Kbps
More informationTheory of Computing. Lecture 10 MAS 714 Hartmut Klauck
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Data structures: Union-Find We need to store a set of disjoint sets with the following operations: Make-Set(v): generate a set {v}. Name of the set
More informationCSE 100 Minimum Spanning Trees Prim s and Kruskal
CSE 100 Minimum Spanning Trees Prim s and Kruskal Your Turn The array of vertices, which include dist, prev, and done fields (initialize dist to INFINITY and done to false ): V0: dist= prev= done= adj:
More information1 Dijkstra s Algorithm
Lecture 11 Dijkstra s Algorithm Scribes: Himanshu Bhandoh (2015), Virginia Williams, and Date: November 1, 2017 Anthony Kim (2016), G. Valiant (2017), M. Wootters (2017) (Adapted from Virginia Williams
More informationUnit 2: Algorithmic Graph Theory
Unit 2: Algorithmic Graph Theory Course contents: Introduction to graph theory Basic graph algorithms Reading Chapter 3 Reference: Cormen, Leiserson, and Rivest, Introduction to Algorithms, 2 nd Ed., McGraw
More informationExample of why greedy step is correct
Lecture 15, Nov 18 2014 Example of why greedy step is correct 175 Prim s Algorithm Main idea:» Pick a node v, set A={v}.» Repeat: find min-weight edge e, outgoing from A, add e to A (implicitly add the
More informationGreedy Algorithms. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms
Greedy Algorithms A greedy algorithm is one where you take the step that seems the best at the time while executing the algorithm. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms Coin
More informationAlgorithms for Minimum Spanning Trees
Algorithms & Models of Computation CS/ECE, Fall Algorithms for Minimum Spanning Trees Lecture Thursday, November, Part I Algorithms for Minimum Spanning Tree Sariel Har-Peled (UIUC) CS Fall / 6 Sariel
More informationShortest Paths. Nishant Mehta Lectures 10 and 11
Shortest Paths Nishant Mehta Lectures 0 and Finding the Fastest Way to Travel between Two Intersections in Vancouver Granville St and W Hastings St Homer St and W Hastings St 6 Granville St and W Pender
More informationAlgorithms for Data Science
Algorithms for Data Science CSOR W4246 Eleni Drinea Computer Science Department Columbia University Thursday, October 1, 2015 Outline 1 Recap 2 Shortest paths in graphs with non-negative edge weights (Dijkstra
More informationGreedy Algorithms. Textbook reading. Chapter 4 Chapter 5. CSci 3110 Greedy Algorithms 1/63
CSci 3110 Greedy Algorithms 1/63 Greedy Algorithms Textbook reading Chapter 4 Chapter 5 CSci 3110 Greedy Algorithms 2/63 Overview Design principle: Make progress towards a solution based on local criteria
More information1 Shortest Paths. 1.1 Breadth First Search (BFS) CS 124 Section #3 Shortest Paths and MSTs 2/13/2018
CS Section # Shortest Paths and MSTs //08 Shortest Paths There are types of shortest paths problems: Single source single destination Single source to all destinations All pairs shortest path In today
More informationlooking ahead to see the optimum
! Make choice based on immediate rewards rather than looking ahead to see the optimum! In many cases this is effective as the look ahead variation can require exponential time as the number of possible
More informationPipelined van Emde Boas Tree: Algorithms, Analysis, and Applications
This fll text paper was peer reviewed at the direction of IEEE Commnications Society sbject matter experts for pblication in the IEEE INFOCOM 007 proceedings Pipelined van Emde Boas Tree: Algorithms, Analysis,
More information2.1 Greedy Algorithms. 2.2 Minimum Spanning Trees. CS125 Lecture 2 Fall 2016
CS125 Lecture 2 Fall 2016 2.1 Greedy Algorithms We will start talking about methods high-level plans for constructing algorithms. One of the simplest is just to have your algorithm be greedy. Being greedy,
More informationCS 161: Design and Analysis of Algorithms
CS 161: Design and Analysis of Algorithms Greedy Algorithms 2: Minimum Spanning Trees Definition The cut property Prim s Algorithm Kruskal s Algorithm Disjoint Sets Tree A tree is a connected graph with
More informationMinimum Spanning Tree (undirected graph)
1 Minimum Spanning Tree (undirected graph) 2 Path tree vs. spanning tree We have constructed trees in graphs for shortest path to anywhere else (from vertex is the root) Minimum spanning trees instead
More informationCHAPTER 13 GRAPH ALGORITHMS
CHAPTER 13 GRAPH ALGORITHMS SFO LAX ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 00) AND SLIDES FROM NANCY
More informationWeek 11: Minimum Spanning trees
Week 11: Minimum Spanning trees Agenda: Minimum Spanning Trees Prim s Algorithm Reading: Textbook : 61-7 1 Week 11: Minimum Spanning trees Minimum spanning tree (MST) problem: Input: edge-weighted (simple,
More informationMinimum Spanning Trees
CSMPS 2200 Fall Minimum Spanning Trees Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 11/6/ CMPS 2200 Intro. to Algorithms 1 Minimum spanning trees Input: A
More information22c:31 Algorithms. Kruskal s Algorithm for MST Union-Find for Disjoint Sets
22c:1 Algorithms Kruskal s Algorithm for MST Union-Find for Disjoint Sets 1 Kruskal s Algorithm for MST Work with edges, rather than nodes Two steps: Sort edges by increasing edge weight Select the first
More informationCS 561, Lecture 9. Jared Saia University of New Mexico
CS 561, Lecture 9 Jared Saia University of New Mexico Today s Outline Minimum Spanning Trees Safe Edge Theorem Kruskal and Prim s algorithms Graph Representation 1 Graph Definition A graph is a pair of
More informationCS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review
1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,
More informationMultiple-Choice Test Chapter Golden Section Search Method Optimization COMPLETE SOLUTION SET
Mltiple-Choice Test Chapter 09.0 Golden Section Search Method Optimization COMPLETE SOLUTION SET. Which o the ollowing statements is incorrect regarding the Eqal Interval Search and Golden Section Search
More information1 Minimum Spanning Trees: History
-80: Advanced Algorithms CMU, Spring 07 Lecture #: Deterministic MSTs January, 07 Lecturer: Anupam Gupta Scribe: Anshu Bansal, C.J. Argue Minimum Spanning Trees: History The minimum spanning tree problem
More informationRecitation 13. Minimum Spanning Trees Announcements. SegmentLab has been released, and is due Friday, November 17. It s worth 135 points.
Recitation 13 Minimum Spanning Trees 13.1 Announcements SegmentLab has been released, and is due Friday, November 17. It s worth 135 points. 73 74 RECITATION 13. MINIMUM SPANNING TREES 13.2 Prim s Algorithm
More informationCSE 100: GRAPH ALGORITHMS
CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue
More informationCS711008Z Algorithm Design and Analysis
CS711008Z Algorithm Design and Analysis Lecture 7. Binary heap, binomial heap, and Fibonacci heap Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 / 108 Outline
More informationCS711008Z Algorithm Design and Analysis
CS700Z Algorithm Design and Analysis Lecture 7 Binary heap, binomial heap, and Fibonacci heap Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 / Outline Introduction
More information