Figure 12: The optimal solution to a problem in a three-
tower four-disc Towers of Hanoi puzzle. Note that most of
the steps are not shown; only the beginning and the end of
the solution are included.
It was also interesting to observe that the “search”
was simply an encoding of activation data across
Neurosolver itself, without a clear and specific path
being generated. But by using this data, a solution
could be constructed.
For the Tower of Hanoi problem, Neurosolver
worked extremely well. Although this problem did
not take full advantage of Neurosolver capabilities,
through tackling it we did show again that in fact
Neurosolver can solve state-space problems without
having any intrinsic knowledge about the specifics of
the problem domain. That reaffirms our conviction
that Neurosolver indeed is a general problem solver.
4 FUTURE
We are in the process of expanding our experiments
to generalized Towers of Hanoi puzzles like Reve’s
puzzle. In theory, Neurosolver should be able to solve
problems for these puzzles since they also can be
modeled by state spaces.
It is evident that for applications in which
connection strengths are desirable, the issue with
selecting appropriate initial search activity is of
paramount importance. Baring a somewhat elusive
hardware-based analog implementations of
Neurosolver, a good approach could be to set the
activity of each subsequent node to the same activity
at each step of the computation. We are expanding
our model to use activation functions other than the
linear function used in the current implementation
(threshold, sigmoidal, etc.). For this round, we had it
on a back burner, since we did not need to use
probabilities in the experiments with tackling Towers
of Hanoi problems.
While adding front end sensory and back end
effector interfaces would not bring much to the
fundamentals of Neurosolver’s operation, it would
create a more realistic exploratory and demonstration
environment. We are actually applying Neurosolver
in a robot that has a LIDAR scanner as the sensor and
engine-power wheels as the effectors (Bieszczad,
2015). Nevertheless, in the spirit of deep learning we
are also planning to use puzzle images rather than
encoded configurations for training. For that, we will
add an unsupervised configuration classifier as a front
end (e.g., a Support Vector Machine), and use the
classifier’s output as the input to Neurosolver. While
it will necessarily take some time for the classifier to
categorize all puzzle configurations consistently, we
hypothesize that given sufficient time, Neurosolver
will acquire the same level of capabilities as with the
tutoring and random methods. We conjecture that
Neurosolver will need to utilize the probabilities, so
that the inter-nodal connectivity has a chance to
evolve to a stable point after the unavoidable chaos
caused by initial poor input from the classifier.
REFERENCES
Anderson, J. R., 1983. A spreading activation theory of
memory. In Journal of Verbal Learning and Verbal
Behavior, 22, 261-295.
Bieszczad, A. and Pagurek, B., 1998. Neurosolver:
Neuromorphic General Problem Solver. In Information
Sciences: An International Journal 105, pp. 239-277,
Elsevier North-Holland, New York, NY.
Bieszczad, A., 2008. Exploring Neurosolver’s Forecasting
Capabilities. In Proceedings of the 28th International
Symposium on Forecasting, Nice, France, June 22-25.
Bieszczad A., (2011). Predicting NN5 Time Series with
Neurosolver. In Madani, K., Correia, A., Rosa, A., and
Filipe, J. (Eds.), Computational Intelligence: Revised
and Selected Papers of the International Joint
Conference IJCCI 2009 held in Funchal-Madeira,
Portugal, October 2009 (Studies in Computational
Intelligence). Berlin Heidelberg: Springer-Verlag, pp.
277-288.
Bieszczad, A. and Bieszczad, K., (2007) Running Rats with
Neurosolver-based Brains in Mazes. In Journal of
States found: 19683 out of 19683
possible.
Searching...
Start found 511 nodes away, out of
19683 states, after checking 19207
nodes.
Solving...
123456789,000000000,000000000
023456789,000000000,000000001
003456789,000000002,000000001
003456789,000000012,000000000
000456789,000000012,000000003
001456789,000000002,000000003
001456789,000000000,000000023
000456789,000000000,000000123
…
000000023,000000000,001456789
000000003,000000002,001456789
000000003,000000012,000456789
000000000,000000012,003456789
000000001,000000002,003456789
000000001,000000000,023456789
000000000,000000000,123456789
Solution Length: 511
Runtime: 135.752254 sec