Purpose: Discussion of AI Minds thinking in English, German or Russian. Privacy policy: Third parties advertising here may place and read cookies on your browser; and may use web beacons to collect information as a result of ads displayed here.

Wednesday, November 18, 2009

MainLoop

The mind.frt AI in iForth and the older mind.f AI in Win32Forth have the luxury of a top-down, Main Loop mind-design because they are based on an original Theory of Mind providing the definitive cognitive architecture which bottom-up designs lack.

1. Purpose of MainLoop

The Main Loop serves as both the start of the Mind program and as the controlling module which oversees the operation of the major subordinate mind-modules, such as

SeCurity
SensoryInput
EmotiOn
ThInk
FreeWill
MotorOutput

The Main Loop sequences and coordinates the operation of the constituent modules of the artificial Mind. By calling a lower mind-module in such a way as to make its output ready as the input for the next module, the Main Loop simulates the operation of a massively parallel (maspar) neuronal mind in which inputs and outputs flow like rivers of data across broad channels of the cortical mindgrid.

The quickening of the non-stop MainLoop and its associated mental mechanisms is a milestone on the way to the generation of thought and other Milestones of AI development. Since we are currently working on the milestone of self-referential thought, we anticipate the genesis of Linux supercomputers that can accumulate so much self-knowledge as to achieve self-awareness and consciousness.

2. Algorithm of MainLoop

MainLoop uses the same potentially infinite BEGIN ... AGAIN loop in the Win32Forth AI and in 32/64-bit iForth, as documented on page 41 of the iForth Reference Manual. The expression "infinite loop" means more with an AI Mind program than with an ordinary program, because the AI Mind is a form of potentially immortal artificial life, subject to death or termination only by misadventure.

If an AI Mind were written in a more dynamic language than Forth, that is, with an ability to change the underlying source code on the fly and at no risk to the living AI Mind, then its MainLoop could be more truly immortal, if not exactly infinite.

When a version of an AI Mind is first being coded, it is important to provide one or two "Escape" mechanisms for stopping the otherwise infinite MainLoop. One way, as used in mind.frt being ported into iForth from Win32Forth, is to stub in a SensoryInput module that uses the Escape key to halt the program. Another way is to increment time "t" and not let the Main Loop continue above an arbitrarily low value of the time variable.

3. Troubleshooting MainLoop

Although the MainLoop of a mentifex-class AI Mind is rather simple, it may at some point be necessary to troubleshoot it. The AI coder has a choice of embedding diagnostic tools within the MainLoop, or of briefly inserting and then removing special code to diagnose a problem.

4. Resources

5. To-Do Tasks and Opportunities

The Main Loop is the most stable of the AI mind-modules over time, because of its simplicity and because new powers of thought and reasoning are added not at the top, but in the subordinate modules, of a top-down AI Mind design. Some tasks remain.

AI enthusiasts have an opportunity to take the Forth AI MainLoop, re-express it in another programming language, and hang it out on the Web as a starting-point for devotees of each different language to tweak and twin into another full-blown AI Mind evolving away from MindForth, like the http://AIMind-i.com clone that added major new powers such as as the ability to send and receive e-mail and to surf the Web.

Abolish the MainLoop! When our 32/64-bit AI for supercomputers becomes massively parallel, there will not be a MainLoop but rather a main SynErgy of mind-modules working together in massively parallel processing (MPP).

Table of Contents (TOC)