Jenet is a CSP (constraint solving programming) simulator based on Neural Networks. Jenet implements the GENET (Generic Neural Network Simulator) algorithm plus a powerful graphical simulator that shows how a csp problem is translated into a Neural Network and in which way the network evolve to solve the problem. The graphic simulator is based on the JUNG open source library.

Documentation

Abstract

The neural networks' architecture emulates the human brain structure, where a huge number of neurons are connected together by means of synapses. The neural networks have been applied in the computer scienprce in several application fields such as: data compression, pattern matching, learning, etc... with interesting results. An application of neural networks is related to the resolution of constraint programming (CSP) problems. Starting from the formal definition of a CSP problem is possible to create a neural network which evolves toward the optimal solution of the problem. The theory behind this kind of approach is depicted here by introducing the GENET (Generic Neural Network Simulator) project. The main goal of this work is to implement such simulator in the Java programming language with the purpose to evaluate its performance in the resolution of classical CSP problems such as: alldifferent, 8 queens problems, etc...

CSP and GENET

As prevoously stated, GENET can solve general CSPs with finite domains. GENET generates a sparsely connected network for a given CSP with constraints C specified as binary matrices, and simulates the network convergence procedure. In case the network falls into local minima, a heuristic learning rule will be applied to escape from them. The network model lends itself to massively parallel processing. The network model is based on the Interactive Activation model (IA) which is an evolution of the Hopfield's model. The network, indeed, evolves minimizing an energy function running through several local minimum values until the absolute minimum -- which represent the optimal solution -- is reached. In order to escape from local minima GENET defines a learning rule that guarantee the network convergence to the optimal solution.

Screenshots

All Different (size = 10)

8 Queens Problem (size = 10)