CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung (9803328)

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Lecture 19: Parallel Algorithms
A backtrack data structure and algorithm
Traveling Salesperson Problem
CSE 390B: Graph Algorithms Based on CSE 373 slides by Jessica Miller, Ruth Anderson 1.
Types of Algorithms.
Greedy Algorithms Greed is good. (Some of the time)
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Operations Research Assignment Problem.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Search and Recursion CS221 – 2/23/09. List Search Algorithms Linear Search: Simple search through unsorted data. Time complexity = O(n) Binary Search:
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
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.
1 Lecture 25: Parallel Algorithms II Topics: matrix, graph, and sort algorithms Tuesday presentations:  Each group: 10 minutes  Describe the problem,
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Weizmann Institute Range Minimization O. Shtrichman The Weizmann Institute Joint work with A.Pnueli, Y.Rodeh, M.Siegel.
ENEE 6441 On Quine-McCluskey Method > Goal: find a minimum SOP form > Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
1 Parallel Algorithms III Topics: graph and sort algorithms.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
FUNDAMENTAL PROBLEMS AND ALGORITHMS  Giovanni De Micheli Stanford University Branch and Bound.
Ch 13 – Backtracking + Branch-and-Bound
CS 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 16 / 2009 Instructor: Michael Eckmann.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
Backtracking.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Informed Search Idea: be smart about what paths to try.
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Geography and CS Philip Chan. How do I get there? Navigation Which web sites can give you turn-by-turn directions?
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
CS 312: Algorithm Analysis
CS 312: Algorithm Design & Analysis Lecture #34: Branch and Bound Design Options for Solving the TSP: Tight Bounds This work is licensed under a Creative.
2-Level Minimization Classic Problem in Switching Theory
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Fundamentals of Algorithms MCS - 2 Lecture # 7
Spring 2015 Mathematics in Management Science Traveling Salesman Problem Approximate solutions for TSP NNA, RNN, SEA Greedy Heuristic Algorithms.
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Heuristic Two-level Logic Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes.
Informed (Heuristic) Search
ICS 252 Introduction to Computer Design Lecture 9 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Two Discrete Optimization Problems Problem: The Transportation Problem.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Traveling Salesperson Problem
Analysis and design of algorithm
CS200: Algorithm Analysis
Branch and Bound.
Exact Inference Continued
The Rich/Knight Implementation
The Rich/Knight Implementation
Presentation transcript:

CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung ( )

Overview Introduction of the Problem Algorithms Implemented Branch and Bound Greedy Algorithm Improved Greedy Algorithm Results and Analysis What can be improved

Hypergraph Edge Covering © Giovanni De Micheli (a) Hypergraph (b) minimum edge cover

The Problem Two-Level Logic Minimization f = a’b’c’ + a’b’c + ab’c + abc + abc’ © Giovanni De Micheli

The Problem f = a’b’c’ + a’b’c + ab’c + abc + abc’ Primes:Implicant table Solution: { , ,  } or x = [ ] T © Giovanni De Micheli

Branch and Bound Exhausive search algorithm Bounds prevents the search of the solution space that is worse than current best solution Optimal solution

Greedy Algorithm “Single-minded” Applied the same searching rule over again Until solution is found or no solution Not optimal solution

Implementation Data structure: dynamically allocated integer arrays as matrix Test data: randomly generated matrix of 0s and 1s of arbitrary sizes There will always be a solution if all rows (vertex) has at least a 1

Implementation - BB Recursive approach 1. Reduce the matrix by eliminating dominated edges, dominating vertex and essential edges 2. Return the current solution if the matrix is empty 3. Return if the upcoming solutions are not better than the current best solution 4. Pick an edge and solve the submatrix 5. Update the solution from submatrix if it is better 6. Drop the same edge and solve the submatrix 7. Update the solution from submatrix if it is better 8. Return current best solution

Implementation - Greedy 1. Search for the vertex that has the lowest coverage a) Pick the first edge (column) that cover the vertex found above b) A better way to pick the edge is to pick the edge that has highest coverage and cover the vertex found above 2. Repeat the search until all vertices are covered

Results 5x516x1632x3248x s s s s50.548s9 32x6464x6464x12872x s s s s s s s s s920.06s147209s15?? GS1 GS2 EC GS1 GS2 EC

Analysis Branch and Bound exponential increase in time as size of problem increase exact cover: optimal solution(s) Greedy Algorithm simple fast not always reach optimal solution

What can be Improved? Change matrix data structure Bitwise storage Link list for sparse elements Create also the transpose of the matrix for column operations Heuristic for finding the bounds

Conclusion Two algorithms were implemented for the hypergraph edge covering problem Branch and bound  Optimal solution, but execution time grow exponentially Greedy Algorithm  Simple and fast, but does not guarantee optimal solution