Probabilistic constructive optimization techniques

We have developed a new optimization paradigm for solving computationally intractable combinatorial optimization and synthesis problems. The technique, named probabilistic constructive, combines the advantages of both constructive and probabilistic optimization mechanisms. Since it is a constructive approach, it has a relatively short runtime and is amenable for the inclusion of insights through heuristic rules. The probabilistic nature facilitates a flexible tradeoff between runtime and the quality of solution, suitability for the superimposition of a variety of control strategies, and simplicity of implementation. After presenting the generic technique, we apply it to a generic NP-complete problem (maximum independent set) and a synthesis and compilation problem (sequential code covering). Extensive experimentation indicates that the new approach provides very attractive tradeoffs between the quality of solution and runtime, often outperforming the best previously published approaches.

[1]  Miodrag Potkonjak,et al.  Performance optimization using template mapping for datapath-intensive high-level synthesis , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Fred Glover,et al.  Tabu Search - Part II , 1989, INFORMS J. Comput..

[3]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[4]  Lawrence J. Fogel,et al.  Artificial Intelligence through Simulated Evolution , 1966 .

[5]  Malgorzata Marek-Sadowska,et al.  Circuit clustering using graph coloring , 1999, ISPD '99.

[6]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[7]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .

[8]  Jason Cong,et al.  Intellectual property protection by watermarking combinational logic synthesis solutions , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[9]  N. Alon,et al.  Finding a large hidden clique in a random graph , 1998 .

[10]  Edward M. Reingold,et al.  Backtrack programming techniques , 1975, CACM.

[11]  Miodrag Potkonjak,et al.  Function-level power estimation methodology for microprocessors , 2000, DAC.

[12]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .

[13]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[14]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[15]  Ari Juels,et al.  Hiding Cliques for Cryptographic Security , 1998, SODA '98.

[16]  Sanjeev Khanna,et al.  On wireless spectrum estimation and generalized graph coloring , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[17]  Miodrag Potkonjak,et al.  Efficient coloring of a large spectrum of graphs , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[18]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[19]  K. Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, 24th ACM/IEEE Design Automation Conference.

[20]  Miodrag Potkonjak,et al.  Fast prototyping of datapath-intensive architectures , 1991, IEEE Design & Test of Computers.

[21]  Robert E. Tarjan,et al.  Finding a Maximum Independent Set , 1976, SIAM J. Comput..

[22]  Richard M. Karp,et al.  A fast parallel algorithm for the maximal independent set problem , 1984, STOC '84.

[23]  Alfred V. Aho,et al.  Code generation using tree matching and dynamic programming , 1989, ACM Trans. Program. Lang. Syst..

[24]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[25]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[26]  Parag K. Lala,et al.  A graph coloring based approach for self-checking logic circuit design , 1995, Proceedings of the Fourth Asian Test Symposium.

[27]  Fred W. Glover,et al.  Tabu Search - Part I , 1989, INFORMS J. Comput..

[28]  Gilles Brassard,et al.  Algorithmics - theory and practice , 1988 .

[29]  Andrew B. Kahng,et al.  Recent directions in netlist partitioning: a survey , 1995, Integr..

[30]  Jason Cong,et al.  A provably good multilayer topological planar routing algorithm in IC layout designs , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[31]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[32]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[33]  Béla Bollobás,et al.  Random Graphs , 1985 .

[34]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[35]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[36]  Fadi J. Kurdahi,et al.  On clustering for maximal regularity extraction , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[37]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[38]  João Meidanis,et al.  Determining DNA Sequence Similarity Using Maximum Independent Set Algorithms for Interval Graphs , 1992, SWAT.

[39]  Gottfried Tinhofer,et al.  A branch and bound algorithm for the maximum clique problem , 1990, ZOR Methods Model. Oper. Res..

[40]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[41]  Brian W. Kernighan,et al.  An Effective Heuristic Algorithm for the Traveling-Salesman Problem , 1973, Oper. Res..

[42]  David R. Karger,et al.  Approximate graph coloring by semidefinite programming , 1998, JACM.

[43]  Miodrag Potkonjak,et al.  Estimating implementation bounds for real time DSP application specific circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[44]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning , 1991, Oper. Res..

[45]  Chai Wah Wu,et al.  Graph coloring via synchronization of coupled oscillators , 1998 .

[46]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[47]  Olivier Coudert Exact coloring of real-life graphs is easy , 1997, DAC.

[48]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[49]  Rajeev Motwani,et al.  Randomized algorithms , 1996, CSUR.

[50]  Fanica Gavril,et al.  Algorithms for Minimum Coloring, Maximum Clique, Minimum Covering by Cliques, and Maximum Independent Set of a Chordal Graph , 1972, SIAM J. Comput..

[51]  Hugo De Man,et al.  Combined hardware selection and pipelining in high performance data-path design , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[52]  Craig A. Morgenstern Distributed coloration neighborhood search , 1993, Cliques, Coloring, and Satisfiability.

[53]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[54]  Paul Walton Purdom,et al.  Search Rearrangement Backtracking and Polynomial Average Time , 1983, Artif. Intell..

[55]  Emile H. L. Aarts,et al.  Simulated annealing and Boltzmann machines - a stochastic approach to combinatorial optimization and neural computing , 1990, Wiley-Interscience series in discrete mathematics and optimization.