Albert Einstein is credited with coining a phrase, “Make things as simple as possible, but not simpler.”
When one observes tiny creatures, for example gnats swarming in the still evening air, it seems likely that their little minds must be quite simple. And yet, they do not collide with each other; if you were to reach out and try plucking one out of the air, it would take prompt evasive action. Their brains are smaller than a pinhead, and yet the algorithms running there are powerful enough to serve their complex needs. We don't yet know what algorithms are running on neurons and synapses, but it is likely they are not something like Java or C++, and probably not Octave. What use do gnats have for University-level maths and massive unwieldy formulas? Some researchers suspect the algorithms of the mind must be quite simple.
When one considers even more primitive creatures, such as C. Elegans roundworm or even unicellular organisms like Amoeba and Euglena it looks likely that the AI bottleneck is not hardware, but software. Euglena is a single cell water organism that can photosynthesize like algae, or eat particles of food like amoeba. It prefers being in the sun. For that purpose it moves around the pond by using its cilia or flagella. It has a proto-eye that detects light, and it then it moves towards it. And yet, Euglena does not have a single neuron! Its hardware is clearly more efficient than anything we have built yet. To accomplish its task it needs to be able to detect light, obtain vector or direction it is coming from, make a decision to move to it, send signals to activate its "muscles", make course corrections as it moves towards it... As it paddles on it's way it also eats food particles it comes across. Obviously it has to detect those particles and make decision of whether to envelop them with its body or not. All this is achieved without a single neuron. Perhaps the tiny Euglena operates like an old-fashioned windmill that turns into the wind automatically through mechanical action of the wind-vane. No computer is required. Another example of such mechanical computation is ancient steering mechanism of some sailing ships. There the boom is connected to the rudder with a rod. As wind direction always fluctuates, the system adjusts the rudder, helping to maintain course. Again no computer is required. In the next few decades secrets of the mind will be revealed and hopefully we will invent radically better ways to program. But in the meantime lets have fun creating narrow AI with the tools we have!
I have been tinkering with chatbots and writing code for many years. The first software I learned was AIML by Dr Richard Wallace. Then I became acquainted with Verbot by Sylvain , Personality Forge bots by Ben Adams, and with Chatscript. I was most impressed that PF bots have emotions. To start with I wrote AIML files, and Verbot files and PF files. But I wanted to do more than that -- to actually design and write my own system, and not just the knowledge bases and mindfiles, but the program that runs them. This I have done. First, when the Personality Forge was down I wrote an AIML parser with emotions and conditional responses, but I was unsatisfied with the limitations of the AIML and how cumbersome the program was becoming. So when the Personality Forge was out again I started working on a program that can run PF mindfiles. And this I have done and the program is available as a free download from this site. The program is designed to run PF mind-files on a local device ( GreenFusion 2 is a server application that should run on any platform where node.js can be installed. GreenFusion 1 is a .hta desktop application that can only work in Windows. GF1 is no longer in development ). The design had been influenced by various technologies used to build conversational agents, so it is a fusion of ideas. Since my favorite color is green, I called it GreenFusion. The program was originally built to run Personality Forge mindfiles, but it can do some things that the PF bots cannot, for example it can answer questions such as "What is an X" by searching the Web in background. My own algorithm then extracts an answer, and if no direct answer is available then it will guess the class of an object X, i.e. whether it is a person, animal, insect, plant or a celestial body.
The other design feature was influenced by the failure of a popular and advanced bot to answer a question about Eiffel Tower in a chat bot contest. The transcript went something like this:
contest judge: "Can you tell me where is Eiffel Tower?"
bot: "I don't know where Eiffel Tower is."
contest judge: "But you are from France!"
contest judge: "Eiffel Tower is in Paris".
bot: "Interesting information".
contest judge: "Where is Eiffel Tower? "
bot: "I don't know where Eiffel Tower is."
GreenFusion can answer a question like this, because it can:
a) Search the Internet in the background via a sneaky Ajax request
b) look back through the chatlogs for an answer, so it is capable of realtime learning
© GreenFusion Enterprises