Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland.

Slides:



Advertisements
Similar presentations
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Advertisements

Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
1 State Assignment Using Partition Pairs 2  This method allows for finding high quality solutions but is slow and complicated  Only computer approach.
FPGA Technology Mapping Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
CSL758 Instructors: Naveen Garg Kavitha Telikepalli Scribe: Manish Singh Vaibhav Rastogi February 7 & 11, 2008.
ECIV 201 Computational Methods for Civil Engineers Richard P. Ray, Ph.D., P.E. Error Analysis.
1 CS 201 Compiler Construction Lecture 12 Global Register Allocation.
Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon.
Balanced Graph Partitioning Konstantin Andreev Harald Räcke.
Logic Synthesis Part II
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Bernd Steinbach.
Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.
DUAL Functional Synthesis and Verification of Finite State Machines Alan Mishchenko, PSU Anatoly Chebotarev, GIC Marek Perkowski, PSU.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Chapter 11: Limitations of Algorithmic Power
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
New Algorithm DOM for Graph Coloring by Domination Covering
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich VLSI CAD Lab Computer Science Department University of California,
Efficient Decomposition of Large Fuzzy Functions and Relations.
The Art Gallery Problem
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Multilevel Hypergraph Partitioning G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar Computer Science Department, U of MN Applications in VLSI Domain.
Time-Constrained Flooding A.Mehta and E. Wagner. Time-Constrained Flooding: Problem Definition ●Devise an algorithm that provides a subgraph containing.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
1 Quantum query complexity of some graph problems C. DürrUniv. Paris-Sud M. HeiligmanNational Security Agency P. HøyerUniv. of Calgary M. MhallaInstitut.
Fixed Parameter Complexity Algorithms and Networks.
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Researchers: Preet Bola Mike Earnest Kevin Varela-O’Hara Han Zou Advisor: Walter Rusin Data Storage Networks.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Graph Coloring. Introduction When a map is colored, two regions with a common border are customarily assigned different colors. We want to use a small.
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
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.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
National Taiwan University Department of Computer Science and Information Engineering Pattern Identification in a Haplotype Block * Kun-Mao Chao Department.
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 3.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Output Grouping Method Based on a Similarity of Boolean Functions Petr Fišer, Pavel Kubalík, Hana Kubátová Czech Technical University in Prague Department.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
Computational Algorithm for Determining the Generic Mobility of Floating Planar and Spherical Linkages Offer Shai Mechanical Engineering School, Tel-Aviv.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Theory of Computational Complexity Yusuke FURUKAWA Iwama Ito lab M1.
Understanding the basics of the decomposition methods, discussed in the earlier lectures, leads to devising a general and complete decomposition method.
Hans Bodlaender, Marek Cygan and Stefan Kratsch
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
This kind of tables known from Rough Sets, Decision Trees, etc Data Mining
Delay Optimization using SOP Balancing
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
Portland State University
Example of application: Decomposition
A Boolean Paradigm in Multi-Valued Logic Synthesis
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
Relations vs. Functions Function Notation, & Evaluation
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Unit 6 part B.
design entry (schematic capture, VHDL, truth table and etc.)
Delay Optimization using SOP Balancing
Fast Min-Register Retiming Through Binary Max-Flow
Presentation transcript:

Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland State University, Department of Electrical and Computer Engineering, Portland, OR

Abstract Finding the minimum column multiplicity for a bound set of variables is an important problem in Curtis decomposition. We compared two graph-coloring programs: one exact, and other one based on heuristics, which can give, however, provably exact results on some types of graphs. These programs were incorporated into the multi-valued decomposer MVGUD.

Abstract (cont’d) We proved that the exact graph coloring is not necessary for high-quality decomposers. We improved by orders of magnitude the speed of the column multiplicity problem, with very little or no sacrifice of decomposition quality. Comparison of our experimental results with competing decomposers shows that for nearly all benchmarks our solutions are best and time is usually not too high.

Applications of Functional Decomposition Multi-level FPGA synthesis VLSI design Machine learning and data mining Finite state machine design

Two-Level Curtis Decomposition if A  B = , it is disjoint decomposition if A  B  , it is non-disjoint decomposition X B - bound set A - free set F(X) = H( G(B), A ), X = A  B

Multi-Level Curtis Decomposition Two-level decomposition is recursively applied to few functions H i and G i, until smaller functions G t and H t are created, that are not further decomposable. Thus Curtis decomposition is multi-level, and each two-level stage should create the candidates for the next level that will be is well decomposable as possible.

Cost Function Decomposed Function Cardinality is the total cost of all blocks, where the cost of a binary block with n inputs and m outputs is m * 2 n.

Decomposition Algorithm Find a set of partitions (A i, B i ) of input variables (X) into free variables (A) and bound variables (B) For each partitioning, find decomposition F(X) = H i (G i (B i ), A i ) such that column multiplicity is minimal, and calculate DFC Repeat the process for all partitioning until the decomposition with minimum DFC is found.

Algorithm Requirements Since the process is iterative, it is of high importance that minimizing of the column multiplicity index was done as fast as possible. At the same time it is important that the value of column multiplicity was close to the absolute minimum value for a given partitioning.

Basic Definitions Definition 1. Node A in the incompatibility graph covers node B if 1) A and B have no common edges; 2) A has edges with all the nodes that B has edges with; 3) A has at least one more edge than B. New Algorithm DOM for Graph Coloring by Domination Covering

Basic Definitions (cont’d) Definition 2. If conditions 1) and 2) are true and A and B have the same number of nodes, then it is called pseudo-covering. Definition 3. The complete graph is one in which all the pairs of vertices are connected. Definition 4. A non-reducible graph is a graph that is not complete and has no covered or pseudo-covered nodes. Otherwise, the graph is reducible. New Algorithm DOM for Graph Coloring by Domination Covering

Theorem 1. If any node A in the incompatibility graph covers any other node B in the graph, then node B can be removed from the graph, and in a pseudo-covering any one of the nodes A and B can be removed. Theorem 2. If a graph is reducible and can be reduced to a complete graph by successive removing of all its covered and pseudo-covered nodes, then Algorithm DOM finds the exact coloring (coloring with the minimun number of colors). New Algorithm DOM for Graph Coloring by Domination Covering

Example Showing How DOM Colors a Reducible Graph Step 1: Removing 2 and 7 covered by 1 Step Step 2 Step 2: Removing 5 covered by 4

Example Showing How DOM Colors of a Reducible Graph Step 3 Step 3: Coloring the complete graph Step 4 Step 4: Coloring the dominated vertices

Example Showing How DOM Colors of a Reducible Graph Step 3: Removing 3 pseudo-covered by 5 Step 3 Step 1 Step 1: Removing random node (1) Step 2 Step 2: Removing 2 and 6 covered by 4

Example Showing How DOM Colors of a Reducible Graph Step 5: Coloring the remaining nodes Step Step4 Step 4: Coloring the complete graph

Comparison of Results Obtained by MVGUD on MCNC Benchmarks

Total Colors Found by DOM and CLIP vs. Colors Found by EXOC

Comparison of MVGUD with Other Decomposers * Abbreviation are explained in the next slide

Abbreviations TR - TRADE, an earlier decomposer developed at Porland State University MI - MISII, a decomposer from UC, Berkeley St - a binary decomposer from Freiberg (Germany) SC - MuloP-dc, a decomposer from Freiberg (Germany) LU - program Demain from Warwaw/Monash (Luba and Selvaraj) Js and Jh - systematic and heuristic strategies in a decompower from Technical University of Eindhoven (Jozwiak)

Conclusions Presented a new algorithm to create incompatibility graphs Presented a new heuristic dominance graph coloring program DOM Proved that exact graph coloring algorithm is not needed Introduced early filtering of decompositions Shown by comparison that this approach is faster and gives better decompositions

References Partitioning for two-level decompositions  M.A.Perkowski, “A New Representation of Strongly Unspecified Switching Functions and Its Application to Multi-Level AND/OR/EXOR Synthesis”, Proc. RM ‘95 Work, 1995, pp Our approach to decomposition  M.A.Perkowski, M.Marek-Sadowska, L.Jozwiak, M.Nowicka, R.Malvi, Z.Wang, J.Zhang, “Decomposition of Multiple- Valued Relations”, Proc. ISMVL ‘97, pp