Research - Approach
The development of the Adaptron software started with the creation of an algorithm and data structure that learns and thinks and meets the lowest complexity set of robot features. It has been and continues to be systematically enhanced to increase the complexity of the features it can handle. Changes are made to the algorithm and data structures so they continue to work while still handling the lowest complexity features. As the software is expanded and different algorithms are tried it grows in complexity and size until more features work. Then it is stripped down to just the necessary / essential software to continue working based on the principles and algorithms discovered. This cycle is continued hundreds of times until the underlying processes of general purpose learning and thinking are implemented in the algorithm.
There are many test cases against which the software is run. However, even the test cases change because cognitive science, psychology, artificial intelligence and artificial life theories do not yet provide practical or precise enough answers for modelling general purpose learning and thinking.
Here are two examples of simple problems / test cases that do not have precise scientific answers. They have been solved using the described research approach. The problems are based on a robot with the lowest complexity set of features. It has only one sense with one sensor that detects symbolic stimuli from its environment. The symbolic stimulus values are ‘A’ and ‘B’. The robot has only one output device that can generate only one action; ‘x’. It has no understanding of good or bad, just the ability to detect novelty and familiarity. It starts with an empty memory, no previous experiences. It can only think ahead one symbol. It has no sense of time but recognizes the sequential order of events.
1/ Given the series of inputs A A A A A etc. when does the robot first react with its action ‘x’ and why?
- Is it after the first A? - Maybe it’s surprised and wants to see what will happen if it reacts?
- Will it be after the second A? - Maybe because it is bored or expects the next input will be another A?
- Or will it be after the third A? - Maybe because it has now learned that the sequence A A is guaranteed to recur?
- Or will it wait even longer? - Maybe it is thinking about it? Or maybe it habituates and ignores the whole sequence without any action being done? If so what would cause it to act?
2/ Given the series of inputs A B A B A B A B etc. when does the robot first react with its action ‘x’ and why?
- Is it after the first A? - Maybe it’s surprised and wants to see what will happen if it reacts?
- Or does it wait for the next stimulus, B? Why? - Is it surprised by the change?
- Will it react after the second A? - Maybe because it expects the next input will be a B?
- Or will it wait for the second B before acting? - Does it know the next input will be an A and it will be bored?
- Or will it be after the third A? - Maybe because it has now learned the sequence A B is guaranteed to recur?
- Or will it wait even longer? - Maybe it is thinking about it? Or maybe it habituates and ignores the whole sequence without any action being done? If so what would cause it to act?
And do the principles you used to answer the second problem still give the same answer when applied to the first problem?
Adaptron test environments include hand written digits for spatial pattern recognition, Morse code for temporal pattern recognition, and a rearrangeable maze with robot body configurations all simulated in software.