An event-based architecture for solving constraint satisfaction problems

Constraint satisfaction problems are ubiquitous in many domains. They are typically solved using conventional digital computing architectures that do not reflect the distributed nature of many of these problems, and are thus ill-suited for solving them. Here we present a parallel analogue/digital hardware architecture specifically designed to solve such problems. We cast constraint satisfaction problems as networks of stereotyped nodes that communicate using digital pulses, or events. Each node contains an oscillator implemented using analogue circuits. The non-repeating phase relations among the oscillators drive the exploration of the solution space. We show that this hardware architecture can yield state-of-the-art performance on random SAT problems under reasonable assumptions on the implementation. We present measurements from a prototype electronic chip to demonstrate that a physical implementation of the proposed architecture is robust to practical non-idealities and to validate the theory proposed.

[1]  Jacqueline Scherpen,et al.  Proceedings of the 1999 Conference on Information Sciences and Systems , 1999 .

[2]  M. Mézard,et al.  Analytic and Algorithmic Solution of Random Satisfiability Problems , 2002, Science.

[3]  Florent Krzakala,et al.  A Landscape Analysis of Constraint Satisfaction Problems , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[4]  Christos H. Papadimitriou,et al.  Proceedings of the 32nd annual symposium on Foundations of computer science , 1991 .

[5]  Zoltán Toroczkai,et al.  Optimization hardness as transient chaos in an analog approach to constraint satisfaction , 2011, ArXiv.

[6]  Natalio Krasnogor,et al.  Nature‐inspired cooperative strategies for optimization , 2009, Int. J. Intell. Syst..

[7]  S. Joshi,et al.  Scalable event routing in hierarchical neural array architecture with global synaptic connectivity , 2010, 2010 12th International Workshop on Cellular Nanoscale Networks and their Applications (CNNA 2010).

[8]  Alessandro Cimatti,et al.  Theory and Applications of Satisfiability Testing – SAT 2012 , 2012, Lecture Notes in Computer Science.

[9]  J J Hopfield,et al.  Neural networks and physical systems with emergent collective computational abilities. , 1982, Proceedings of the National Academy of Sciences of the United States of America.

[10]  Masahiro Nagamatu,et al.  On the stability of Lagrange programming neural networks for satisfiability problems of propositional calculus , 1996, Neurocomputing.

[11]  F. Barahona On the computational complexity of Ising spin glass models , 1982 .

[12]  Manuel Graña,et al.  Gravitational Swarm Approach for Graph Coloring , 2011, NICSO.

[13]  Giacomo Indiveri,et al.  A VLSI array of low-power spiking neurons and bistable synapses with spike-timing dependent plasticity , 2006, IEEE Transactions on Neural Networks.

[14]  Rodica Ioana Lung,et al.  Nature Inspired Cooperative Strategies for Optimization, NICSO 2011, Cluj-Napoca, Romania, October 20-22, 2011 , 2012, NISCO.

[15]  Marvin Minsky,et al.  Perceptrons: An Introduction to Computational Geometry , 1969 .

[16]  Rodrigo Alvarez-Icaza,et al.  A Multicast Tree Router for Multichip Neuromorphic Systems , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.

[17]  Giacomo Indiveri,et al.  Memory and Information Processing in Neuromorphic Systems , 2015, Proceedings of the IEEE.

[18]  James L. McClelland,et al.  Parallel distributed processing: explorations in the microstructure of cognition, vol. 1: foundations , 1986 .

[19]  Andrea Montanari,et al.  Clusters of solutions and replica symmetry breaking in random k-satisfiability , 2008, ArXiv.

[20]  Uwe Schöning,et al.  Choosing Probability Distributions for Stochastic Local Search and the Role of Make versus Break , 2012, SAT.

[21]  M. Mézard,et al.  Survey propagation: An algorithm for satisfiability , 2005 .

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

[23]  G. Kane Parallel Distributed Processing: Explorations in the Microstructure of Cognition, vol 1: Foundations, vol 2: Psychological and Biological Models , 1994 .

[24]  David J. C. MacKay,et al.  Information Theory, Inference, and Learning Algorithms , 2004, IEEE Transactions on Information Theory.

[25]  Stefan Habenschuss,et al.  Stochastic Computations in Cortical Microcircuit Models , 2013, PLoS Comput. Biol..

[26]  J. J. Hopfield,et al.  “Neural” computation of decisions in optimization problems , 1985, Biological Cybernetics.

[27]  Chiara Bartolozzi,et al.  Neuromorphic Electronic Circuits for Building Autonomous Cognitive Systems , 2014, Proceedings of the IEEE.

[28]  NICSO Nature Inspired Cooperative Strategies for Optimization (NICSO 2007) , 2008, NICSO.

[29]  Rodney J. Douglas,et al.  A pulse-coded communications infrastructure for neuromorphic systems , 1999 .

[30]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[31]  Kwabena Boahen,et al.  Point-to-point connectivity between neuromorphic chips using address events , 2000 .

[32]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .

[33]  Riccardo Zecchina,et al.  Survey propagation: An algorithm for satisfiability , 2002, Random Struct. Algorithms.

[34]  Shengwei Zhang,et al.  Lagrange programming neural networks , 1992 .

[35]  Wolfgang Maass,et al.  Noise as a Resource for Computation and Learning in Networks of Spiking Neurons , 2014, Proceedings of the IEEE.

[36]  Giacomo Indiveri,et al.  Recurrent networks of coupled Winner-Take-All oscillators for solving constraint satisfaction problems , 2013, NIPS.

[37]  Ravi Sethi,et al.  The Complexity of Flowshop and Jobshop Scheduling , 1976, Math. Oper. Res..

[38]  J. Hopfield,et al.  Computing with neural circuits: a model. , 1986, Science.