FUNDAMENTAL PROBLEMS AND ALGORITHMS  Giovanni De Micheli Stanford University Branch and Bound.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Three Special Functions
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Traveling Salesperson Problem
The Theory of NP-Completeness
Divide-and-Conquer Matrix multiplication and Strassen’s algorithm Median Problem –In general finding the kth largest element of an unsorted list of numbers.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Branch and Bound Searching Strategies
1 Consensus Definition Let w, x, y, z be cubes, and a be a variable such that w = ax and y = a’z w = ax and y = a’z Then the cube xz is called the consensus.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
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 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Message Passing Algorithms for Optimization
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.
COE 561 Digital System Design & Synthesis Logic Synthesis Background
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Ch 13 – Backtracking + Branch-and-Bound
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
Cardinality & Sorting Networks. Cardinality constraint Appears in many practical problems: scheduling, timetabling etc’. Also takes place in the Max-Sat.
Two Level Logic Optimization. Two-Level Logic Minimization PLA Implementation Ex: F 0 = A + B’C’ F 1 = AC’ + AB F 2 = B’C’ + AB product term AB, AC’,
CSE 589 Applied Algorithms Spring Colorability Branch and Bound.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Fixed Parameter Complexity Algorithms and Networks.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
2-Level Minimization Classic Problem in Switching Theory
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
NP-Completeness: 3D Matching
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
COE 561 Digital System Design & Synthesis Logic Synthesis Background Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
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.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Direct Methods for Linear Systems Lecture 3 Alessandra Nardi Thanks to Prof. Jacob White, Suvranu De, Deepak Ramaswamy, Michal Rewienski, and Karen Veroy.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Chapter 13 Backtracking Introduction The 3-coloring problem
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung ( )
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
A very brief introduction to Matrix (Section 2.7) Definitions Some properties Basic matrix operations Zero-One (Boolean) matrices.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
The Theory of NP-Completeness
Hard Problems Some problems are hard to solve.
Chapter - 12 GRAPH MATRICES AND APPLICATIONS.
Optimization problems such as
Homework number One You have two weeks to complete this homework
Synthesis of Two Level Circuits
Synthesis and Verification of Finite State Machines
Applied Combinatorics, 4th Ed. Alan Tucker
Floyd’s Algorithm (shortest-path problem)
Synthesis and Verification of Finite State Machines
Heuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits
The Theory of NP-Completeness
Presentation transcript:

FUNDAMENTAL PROBLEMS AND ALGORITHMS  Giovanni De Micheli Stanford University Branch and Bound

Branch and bound algorithm for covering Reduction strategies Partitioning: – If A is block diagonal: Solve covering problem for corresponding blocks. Essentials: –Column incident to one (or more) row with single 1: Select column. Remove covered row(s) from table. Discuss the historic example of essential subset and function core

Example a b c d e I want to cover rows by columns Explain row and column domination

Branch and bound algorithm for covering. Reduction strategies Column dominance: –If a ki  a kj  k: remove column j. Row dominance: – If a ik  a jk  k: Remove row i.

Example reduction Fourth column is essential. Fifth column is dominated. Fifth row is dominant A = a b c d e

Branch and bound covering algorithm EXACT COVER( A; x; b) { Reduce matrix A and update corresponding x; if (Current est i mate j bj ) return(b); if ( A has no rows ) return (x); Select a branching column c; xc =1 ; A = A after deleting c and rows incident to it; x =EXACT COVER(A; x; b); if ( j xj < j bj ) b = x ; xc =0 ; A = A after deleting c ; x =EXACT COVER(A; x; b); if ( j ) xj <j bj ) b = x ; return (b); }

Bounding function Estimate lower bound on the covers derived from the current x. The sum of the ones in x, plus bound on cover for local A: –Independent set of rows: No 1 in same column. –Build graph denoting pair-wise independence. – Find clique number. – Approximation by defect is acceptable.

Example Row 4 independent from 1,2,3. Clique number is 2. Bound is A = independent clique

Example There are no independent rows. Clique number is 1 (one vertex). Bound is (already selected essential) A =

Example Choose first column: – Recur with A = [11]. Delete one dominated column. Take other column (essential). –New cost is 3. Exclude first column: –Find another solution with cost 3 (discarded). A =

Unate and binate cover Set covering problem: unate – Involves a unate clause. Covering with implications: binate – Involves a binate clause. Example: – The choice of an element implies the choice of another element.

Unate and binate covering problems Unate cover:Unate cover: –Exact minimization of Boolean functions. Binate cover: –Exact minimization of Boolean relations. –Exact library binding. –Exact state minimization.

Unate and binate covering problems Unate cover: –It always has a solution. –Adding and element to a feasible solution preserves feasibility. Binate cover: –It may not have a solution. –Adding and element to a feasible solution may make it unfeasible. –Minimum-cost satisfiability problem. –Intrinsically more difficult.

Algorithms for unate and binate covering Branch and bound algorithm: –Extended to weighted covers. More complex in the binate case: –Dominant clauses can be discarded only if weight dominates. –Harder to bound. Only problems of smaller size are solvable, comparing to unate. Heuristic for binate cover are also more difficult to develop. Discuss unate functions and they role If time allows discuss symmetric functions and they role