Grace Hopper Celebration of Women in Computing Evaluating Algorithmic Design Paradigms Sashka Davis Advised by Russell Impagliazzo UC San Diego October.

Slides:



Advertisements
Similar presentations
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Advertisements

O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
Combinatorial Algorithms
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Chapter 23 Minimum Spanning Trees
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
The Theory of NP-Completeness
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Monday, 12/2/02 Design Patterns for Optimization Problems Greedy.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees.
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.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Two Discrete Optimization Problems Problem #2: The Minimum Cost Spanning Tree Problem.
Hardness Results for Problems
Priority Models Sashka Davis University of California, San Diego June 1, 2003.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
SPANNING TREES Lecture 21 CS2110 – Spring
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Approximation Algorithms
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
알고리즘 설계 및 분석 Foundations of Algorithm 유관우. Digital Media Lab. 2 Chap4. Greedy Approach Grabs data items in sequence, each time with “best” choice, without.
Introduction to Algorithms Jiafen Liu Sept
Kruskal’s and Dijkstra’s Algorithm.  Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected weighted.
Shortest Path Algorithms. Definitions Variants  Single-source shortest-paths problem: Given a graph, finding a shortest path from a given source.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Lower Bounds in Greedy Model Sashka Davis Advised by Russell Impagliazzo (Slides modified by Jeff) UC San Diego October 6, 2006.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
Vasilis Syrgkanis Cornell University
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Greedy Algorithms Z. GuoUNC Chapel Hill CLRS CH. 16, 23, & 24.
Models of Greedy Algorithms for Graph Problems Sashka Davis, UCSD Russell Impagliazzo, UCSD SIAM SODA 2004.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Minimum Spanning Trees
Greedy Technique.
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
CSCE350 Algorithms and Data Structure
Unit 3 (Part-I): Greedy Algorithms
Minimum Spanning Trees
Connected Components Minimum Spanning Tree
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
CS 583 Analysis of Algorithms
Autumn 2015 Lecture 10 Minimum Spanning Trees
Richard Anderson Lecture 10 Minimum Spanning Trees
Autumn 2016 Lecture 10 Minimum Spanning Trees
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Spanning Trees Lecture 20 CS2110 – Spring 2015.
Winter 2019 Lecture 10 Minimum Spanning Trees
More Graphs Lecture 19 CS2110 – Fall 2009.
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Grace Hopper Celebration of Women in Computing Evaluating Algorithmic Design Paradigms Sashka Davis Advised by Russell Impagliazzo UC San Diego October 6, 2006

Suppose you have to solve a problem Π… Is there a Greedy algorithm that solves Π? Is there a Backtracking algorithm that solves Π? Is there a Dynamic Programming algorithm that solves Π? Eureka! I have a DP Algorithm! No Backtracking agl. exists? Or I didn’t think of one? Is my DP algorithm optimal or a better one exists? No Greedy alg. exists? Or I didn’t think of one?

Suppose we a have formal model of each algorithmic paradigm Is there a Greedy algorithm that solves Π? No Greedy algorithm can solve Π exactly. Is there a Backtracking algorithm that solves Π? No Backtracking algorithm can solve Π exactly. Is there a Dynamic Programming alg. that solves Π? DP helps! Is my algorithm optimal, or a better DP algorithm exists? Yes, it is! Because NO DP alg. can solve Π more efficiently.

The goal To build a formal model of each of the basic algorithmic design paradigms which should capture the strengths of the paradigm. To develop lower bound technique, for each formal model, that can prove negative results for all algorithms in the class.

Using the framework we can answer the following questions 1. When solving problems exactly: What algorithmic design paradigm can help? No algorithm within a given formal model can solve the problem exactly. We find an algorithm that fits a given formal model. 2. Is a given algorithm optimal? Prove a lower bound matching the upper bound for all algorithms in the class. 3. Solving the problems approximately: What algorithmic paradigm can help? Is a given approximation scheme optimal within the formal model?

Current hierarchy of formal models [BNR03], [DI04], [ABBO+05],[BODI06] Greedy PRIORITY pBT prioritized Branching Trees pBP prioritized Branching Programs Backtracking & Simple DP Dynamic Programming Dynamic Programming PRIORITY

Some of our results PRIORITY algorithms (formal model of greedy algoritms): 1.Dijkstra’s algorithm solves the Single Source Shortest Path (SSSP) in graphs with non-negative edges and cannot be simplified. 2.No PRIORITY algorithm can solve the SSSP in graphs with negative weights. 3.Proved lower bounds on the approximation ratio for Weighted Vertex Cover, Maximum Independent Set, and Steiner Tree problems. pBT algorithms (formal model of BT and simple DP algoritms): 1.There is no efficient pBT algorithm which finds the shortest path in graphs with negative weights but no negative cycles efficiently. pBP algorithms ( formal model of Dynamic Programing) : 1.There is no efficient pBP algorithm which finds the maximum matching in bipartite graphs.

Some of our results PRIORITY pBT pBP ADAPTIVE PRIORITY FIXED Prim’s Kruskal’s Dijkstra’s Minimum Spanning Tree Shortest Path in no-negative graphs Shortest Path in negative graphs no cycles Bellman-Ford Maximum Matching in Bipartite graphs Flow Algorithms

PRIORITY a formal model of greedy algorithms Consider Kruskal’s algorithm orders edges of the graph ONCE according to weight, Inspects the next edge according to the order and makes irrevocable decision, to add or not, to the solution (MST) Consider Prims’s algoritm Proceeds in iteration –each iteration orders edges in the cut in non-descending order according to weight, –Inspects the next edge according to the order and makes irrevocable decision, to add or not, to the solution MST Questions: 1.Can we canonize all ADAPTIVE algorithms? 2.Does there exist a FIXED priority algorithm for SSSP? PRIORITY ADAPTIVE FIXED Prim’s Kruskal’s Dijkstra’s MST ShortestPath

Consider one iteration of Dijkstra’s algorithm s t d(1) d(2) d(3) d(4) Suppose d(3)=min{d(1),d(2),d(3),d(4)} then (u,v) is added to the solution. u v R=Reached N=Not Yet Reached

Can Dijkstra’s algorithm be simplified? ADAPTIVE PRIORITY FIXED priority algorithm 1)Orders edges ONCE 2)Inspects an edge; makes a decision Is there a FIXED priority algorithm that solves SP? ? If there is no FIXED priority algorithm for ShortPath problem then Dijkstra’s algorithm cannot be simplified.

ShortPath problem ShortPath problem: Given a graph G=(V,E) and s,t in V. Find the shortest path from s to t in G. Instance: set of edges Solution: a path in G connecting s, t Theorem : There is no FIXED priority algorithm that solves ShortPath problem exactly. Corollaries : 1.Dijkstra solves the problem exactly and hence cannot be simplified 2.The classes of FIXED and ADAPTIVE priority algorithms are distinct.

Lower bound setting Lower bound is a game between Adversary and Solver Existence of a FIXED priority algorithm is a strategy for Solver Existence of a strategy for the Adversary establishes the lower bound The winning strategy for the Adversary presents a nemesis graph, which can be modified so that the Solver either: –fails to output a solution –outputs a path, but not the shortest one

Theorem 1 proof sketch: The Adversary’s graph t b s a u,k w,k X,1 v,1 y,1 z,1

Modification of the graph then the Adversary presents: t b s a u,k w,k x,1 v,1 y,1 z,1 If Solver considers edge (y,1) before edge (z,1)

If Solver considers (y,1) before (z,1) 1.The Algorithm selects (y,1) first –Case 1: (y,1) is added to MST –Case 2: (y,1) is NOT added to MST The cases when the algorithm selects (u,k) or (x,1) first reduce to Case 1 and 2. t b s a u,k x,1 y,1 z,1

Case 1: Solver decides to add (y,1) Solver constructs a path {u,y} Adversary outputs solution {x,z} t u,k x,1 y,1 z,1 b a s

Case 2: Solver decides (y,1) is NOT part of the path Solver has failed to construct a path. Adversary outputs a solution {u,y} and wins the game. t u,k x,1 y,1 z,1 b a s

The outcome of the game: –Solver fails to construct a tree in which t is reachable from s. –When Solver succeeds, the approximation ratio achieved is (k+1)/2. –The Adversary can set k arbitrarily large and thus can gain any advantage. 1.No FIXED priority algorithm can solve the ShortPath problem. 2.Dijkstra solves ShortPath problem, hence it cannot be simplified. 3.FIXED priority algorithms are properly contained in ADAPTIVE priority algorithms. ADAPTIVE FIXED ShortPath Dijkstra’s

Greedy BT DP Conclusions Building formal models of basic algorithmic design paradigm and developing general lower bound techniques we can answer: 1. What algorithmic design paradigm can help? (a) Certify the problem as hard: by Proving NO algorithms in the class can solve it. (b) Or we find an algorithm within a given formal class. 2. If we solved the problem, then we can prove that our algorithm is optimal. By Proving a matching lower bound for ALL algorithms in the class. 3. If No technique can solve the problem exactly then we use the framework to: (a) How good an approximation scheme can we get using different algorithmic techniques? (b) Certify that our approximation algorithm is optimal.