MIN-COST ABORESCENCES YQ Lu. Aborescence Definition: Given a directed graph G=(V,E) and a root r, an aborescence rooted at r is a subgraph T that each.

Slides:



Advertisements
Similar presentations
Graph Algorithms - 4 Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 14Feb 14, 2014Carnegie Mellon University.
Advertisements

Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
Minimum Spanning Tree CSE 331 Section 2 James Daly.
CS138A Single Source Shortest Paths Peter Schröder.
More Graphs COL 106 Slides from Naveen. Some Terminology for Graph Search A vertex is white if it is undiscovered A vertex is gray if it has been discovered.
More Graph Algorithms Minimum Spanning Trees, Shortest Path Algorithms.
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 13 Minumum spanning trees Motivation Properties of minimum spanning trees Kruskal’s.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
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.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
The selfish-edges Minimum Spanning Tree (MST) problem.
DAST 2005 Tirgul 12 (and more) sample questions. DAST 2005 Q.We’ve seen that solving the shortest paths problem requires O(VE) time using the Belman-Ford.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Tirgul 13 Today we’ll solve two questions from last year’s exams.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
COSC 2007 Data Structures II Chapter 14 Graphs III.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Minimum Spanning Trees and Kruskal’s Algorithm CLRS 23.
Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph. Want to compute a shortest path for each possible.
Spanning Trees CSIT 402 Data Structures II 1. 2 Two Algorithms Prim: (build tree incrementally) – Pick lower cost edge connected to known (incomplete)
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
Introduction to Graph Theory
Minimum Spanning Trees CSE 373 Data Structures Lecture 21.
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Graphs + Shortest Paths David Kauchak cs302 Spring 2013.
November 22, Algorithms and Data Structures Lecture XII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Spanning Trees Alyce Brady CS 510: Computer Algorithms.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Trees.
Analysis of Algorithms
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Graph Algorithms Using Depth First Search
Data Structures & Algorithms Graphs
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Minimum-Cost Spanning Tree
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Algorithms and Data Structures Lecture XII
Minimum-Cost Spanning Tree
Data Structures – LECTURE 13 Minumum spanning trees
Chu-Liu/Edmonds’ Algorithm an introduction
Minimum-Cost Spanning Tree
CS 583 Analysis of Algorithms
Autumn 2015 Lecture 10 Minimum Spanning Trees
Chu-Liu/Edmonds’ Algorithm an introduction
Minimum Spanning Tree.
Minimum Spanning Trees
Chapter 24: Single-Source Shortest Paths
Autumn 2016 Lecture 10 Minimum Spanning Trees
Chapter 24: Single-Source Shortest Paths
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Bellman Ford.
Analysis of Algorithms
Winter 2019 Lecture 10 Minimum Spanning Trees
Minimum Spanning Trees
Minimum-Cost Spanning Tree
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Minimum Spanning Trees
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

MIN-COST ABORESCENCES YQ Lu

Aborescence Definition: Given a directed graph G=(V,E) and a root r, an aborescence rooted at r is a subgraph T that each vertex v!= r is uniquely reachable from r Directed analogue of a spanning tree Equivalent definitions: No directed cycles, and each vertex v != r has exactly one entering edge No directed cycles, and T has |V| - 1 arcs

Min-cost aborescences Given a directed graph G with: non-negative costs on each edge a root r such that each vertex is reachable from r: Find an aborescence rooted at r of total min cost. Distinct from other related problems: Minimum spanning tree Shortest paths tree etc

Main Idea of Edmond’s Algorithm Pick edges greedily This might not work, but helps reduce to subproblem Solve recursively

Naïve Greedy Picking Recall that an aborescence must contain exactly one edge entering each vertex Strategy: for each v != r, pick the cheapest edge entering it Claim: if this is an aborescence, it is a min-cost aborescence Problem: directed cycles might result (this gives us a O(E) algorithm for DAGs)

Pre-processing graph Label each vertex v != r by y(v), the min cost of any edge entering v The reduced cost of an edge (u,v) is c’(u,v) = c(u,v) – y(v). Equivalence: T is a min-cost aborescence in G with costs c iff T is a min-cost aborescence in G with costs c’. Proof: (see board)

Edmond’s Algorithm Relabel costs c in graph G by reduced costs c’ Let F* = set of 0-cost edges If F* does not have a cycle: F* is a min-cost aborescence, we are done! If F* has cycles: Shrink one cycle C={v_c} into one v’ Call new graph G’ Perform algorithm recursively on G’ to get T’ Extend T’, min-cost aborescence in G’, to get T, min-cost aborescence in G

Extension step Since T’ is a min-cost aborescence in G’ Each node (including the contracted cycle v’) has exactly one incoming edge Suppose incoming edge to v’ corresponded to (u,v) in original graph Return all edges in T’ and all edges in cycle except for the one entering v Claim: this gives a min-cost aborescence in G Proof: (see board)

Runtime Reducing costs takes O(E) time Picking 0-cost edges takes O(E) time Cycle detection takes O(V) time Recursive step is carried out at most O(V) times Algorithm runs in O(VE) time Possible to reduce to O(E + V log V) (Gabow, Galil, Spencer, Tarjan 1985)