On Generating All Shortest Paths and Minimal Cut-sets By: Beth Hayden, Daniel MacDonald July 20, 2005 Advisor: Dr. Endre Boros, RUTCOR.

Slides:



Advertisements
Similar presentations
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.
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.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
Interactive Shortest Path An Image Segmentation Technique Jonathan-Lee Jones.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
04/12/2005Tucker, Sec Applied Combinatorics, 4 th Ed. Alan Tucker Section 4.4 Algorithmic Matching Prepared by Joshua Schoenly and Kathleen McNamara.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Spanning Trees. 2 Spanning trees Suppose you have a connected undirected graph Connected: every node is reachable from every other node Undirected: edges.
Covering Trains by Stations or The power of Data Reduction Karsten Weihe, ALEX98, 1998 Presented by Yantao Song.
Optimisation Methods Network Models.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
The Theory of NP-Completeness
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
Chapter 11: Limitations of Algorithmic Power
Feature Selection and Error Tolerance for the Logical Analysis of Data Craig Bowles Kathryn Davidson Cornell University University of Pennsylvania Mentor:
3/24/03Tucker, Section 4.31 Tucker, Applied Combinatorics, Sec. 4.3, prepared by Jo E-M Bipartite GraphMatching Some Definitions X-Matching Maximal Matching.
Clique Cover Cook’s Theorem 3SAT and Independent Set
The Maximum Independent Set Problem Sarah Bleiler DIMACS REU 2005 Advisor: Dr. Vadim Lozin, RUTCOR.
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.
C o n f i d e n t i a l HOME NEXT Subject Name: Data Structure Using C Unit Title: Graphs.
Introduction to Graph Theory
Shortest Route, Minimal Spanning Tree and Maximal Flow Models
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
AVL Trees Neil Ghani University of Strathclyde. General Trees Recall a tree is * A leaf storing an integer * A node storing a left subtree, an integer.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 WEEK 11 Graphs III Network Flow Problems A Simple Maximum-Flow Algorithm Izmir University of Economics.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Relation. Combining Relations Because relations from A to B are subsets of A x B, two relations from A to B can be combined in any way two sets can be.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
LIMITATIONS OF ALGORITHM POWER
Chapter 13 Backtracking Introduction The 3-coloring problem
NPC.
CSC 413/513: Intro to Algorithms
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
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.
Steiner Tree Problem Given: A set S of points in the plane = terminals
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.
CS623: Introduction to Computing with Neural Nets (lecture-7) Pushpak Bhattacharyya Computer Science and Engineering Department IIT Bombay.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 1 Slide © 2005 Thomson/South-Western Chapter 9 Network Models n Shortest-Route Problem n Minimal Spanning Tree Problem n Maximal Flow Problem.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
St. Edward’s University
Richard Anderson Lecture 26 NP-Completeness
Comp 245 Data Structures Graphs.
Dijkstra’s Algorithm We are given a directed weighted graph
INTRODUCTION TO THE THEORY OF COMPUTATION
Chapter 23 Minimum Spanning Tree
GreedyMaxCut a b w c d e 1.
CSE 6408 Advanced Algorithms.
CSE 589 Applied Algorithms Spring 1999
Switching Lemmas and Proof Complexity
Presentation transcript:

On Generating All Shortest Paths and Minimal Cut-sets By: Beth Hayden, Daniel MacDonald July 20, 2005 Advisor: Dr. Endre Boros, RUTCOR

Problem Statement We are concerned with generating all short paths in a graph, and also with generating all minimal cut-sets in that graph such that all short paths are blocked.

Definitions A short path is defined as any path that is less than or equal to a certain threshold L A minimal cut-set is one that cuts all short paths. Furthermore, if any of the edges in the cut-set were to be put back into the original graph, a short s-t path would occur (this is what is meant by minimality).

An Example of a Minimal Cut-set L=3 [A] [B] s t s ts t

Independence Systems and our Problem: How do They Relate? Given a set E={1,2, …,n}, a family F of subsets I i E is independent when any subset of I i is also in the family of sets. An independent I set is maximal when there exists no I` I in the family of subsets.

Application of Independence Systems Define an independent set I in our case as a subset of a graph’s edge set E. I is independent if there exists no short path within I. Hence, an independent set I is maximal if when you add an additional edge to I, a short path now exists.

Maximal/Minimal: Complements The notion of maximal independent set in a graph as defined previously corresponds directly to the notion of minimal cutset that is part of our problem.

Maximal Independence – NP Complete? In a paper by Lawler, Lenstra and Rinnooy Kan (1980), a procedure known as the “I {j} problem” is shown to reduce the complexity of the general maximal independence set problem.

Another Definition Given E={1,2, …,n}, we say a family of independent sets I k is maximal through some k<n when all independent sets are maximal in the given subset K={1,2, …,k}.

The I {j} Problem The problem stated formally is: Given the family of maximally independent sets within j- 1, consider, for each I j-1 the addition of the next element j. Test for maximality for each independent set. Recall: we defined E={1,2, …,n}. This implies that labeling is an essential part of our procedure.

Labeling: Problems? t s s t

The Algorithm s t  Black edges are labeled arbitrarily.  Red edges are labeled according to a hierarchy based on the edge’s distance from the center vertex.

The Algorithm s t  Black edges are labeled arbitrarily.  Red edges are labeled according to a hierarchy based on the edge’s distance from the center vertex

s t  Pick threshold L = 4.  Begin with the empty set of red edges.  Add red edges in lexicographic order. The Algorithm: Getting Started

s t 1  Add next lexicographic red edge, j=1.  Do shortest path algorithm.  If there are no short paths, then the whole set of edges is an independent set I 1.

s t 1  Add next lexicographic red edge, j=2.  Do shortest path algorithm.  If there are no short paths, then the whole set of edges is an independent set I 2. 2

s t  List short paths within : 12, l, n, 14 13, m, n, 14  Find all maximal independent sets: n l m

s t  List short paths within : 12, l, o, 15 13, m, o, 15  Find all maximal independent sets:  Repeat for each I generated before, then continue to add red edges. l m 15 o

But… How can we generate all maximal independent sets for each in a systematic way?

Boolean Function: The Goal The goal of the Boolean function is to find the minimal cut-sets. We do this by representing each path as a disjunction of its edges, and take the “product” of each disjunction. When simplified, this gives us the minimal cut- sets.

The Boolean Function s t n  Form a tree of the short paths, with each edge of a short path represented by a node of the tree o j k

The Boolean Function s t n  Form a tree of the short paths, with each edge of a short path represented by a node of the tree: o j k 16 n o j k 11

16 n o j The Boolean Function  4 short paths: k  To find minimal cuts: compute the conjunctive normal form of all the short paths:

Reducing the Complexity 16 n o j k  First compute the conjunction of the branch farthest from the source node.  Use the results of the conjunction to form a single path from the branching node, with minimal cut represented by a node on the unified path.  Continue until the whole tree is one single path. 16 n o

n o j n o k

Conclusions We have found that for a specific type of graph, a good algorithm for generating the minimal cut- sets in the “I {j}” problem exists. We have also found a good algorithm for generating the short paths.

Acknowledgments Lawler, Lenstra, Rinnooy Kan. Generating all Maximal Independent Sets: NP-Hardness and Polynomial-Time Algorithms, Society for Industrial and Applied Mathematics, Thanks to Dr. Boros, Kate Davidson, and Craig Bowles.