Introduction
As explained in the ๐บ Roadmap, my long-term goal in terms of the software I'll implement, is to provide a set of software tools that will allow people to design, prototype and build:
- cognitive architectures and their runtimes,
- rich world simulation servers
These set of tools would consist of programming libraries, APIs, and other custom-made prototyping tools with graphical user interfaces.
All of these tools would be created based on the results of my ๐ Experiments which explore the substrate in which the ๐ Cognitive Mechanisms exist and operate such as ๐ Ego Cells and possibly more types of cellular automata or similar connectomes.
The exact nature of this substrate is still something that I am exploring through my experiments and could radically change. But in general, my direction would be trying to make it possible for most amateurs or enthusiasts to run these tools, meaning, to make sure that one doesn't need an extravagant amount of computing power to oparate this.
More on cellular automata
As explored in ๐ฌ Experiment 001a - Parsing Markdown with Cellular Automata, a more complex type of cellular automata can be used as the substrate with which different cognitive primitves could be constructed. The reason why I prefer this over using neural nets, is that it feels easier to understand and control without the need of expensive GPUs.
Learning, evolution, genetics
Besides a substrate for representing complex systems, there is also a need for a system or set of processes that allow the improvement, evolution or learning of given representations about a source of truth. I'm currently entertaining the use of genetic algorithms but that could also change depending my experiments' results and observations.
More general thoughts
I can't emphasize enough that this part of my work is the most volatile. As nature has shown, there are multiple ways of representing complex systems and it always depends on the constraints.