Update: July 19, 1996
All the main chapters of this essay could be the basis for the subroutines forming an intelligent agent program.
This present chapter is the heart of the system. Another name for it could be main(), command(), command post, flight deck, operations center, processor.
If consciousness there is, it's here that you'll find it.
We are here with a system, a collection of different functions, elements of memory, rules, with a definite global architecture.
We have to bring life to the system.
What is life but a coherent behavior, the idea of all the parts belonging to the same identity and acting towards a definite goal.
Every person has consciously or unconsciously several goals, some higher than others: life goals, professional goals, community goals, basic needs goals.
To achieve a goal, you have to divide it into steps or tasks to be done on a daily, weekly, monthly, yearly basis. That is Time Management.
By the way, you realize immediately how important it is for an I-Agent to have a notion of time. Are we in the morning or in the afternoon? At what time do the shops open? Are we Monday or Friday? In how many weeks is the 4th of July? What time remains before the elections date? How many days are left before the deadline?
One danger for the human person or for the I-Agent is of being trapped into one particular task and to forget the initial goal.
That's why I suggest that the system should have at any moment an awareness of the actual task being done, the time already spent on it, the average time such a task should require and that it would be able to decide whether to continue or to discontinue this particular task.
We are facing here an important issue: strength or weakness of mind. The strong system behaves according to its own goal while the weak system is submerged by the necessities, the constraints of the task at hand forgetting what were its goals.
Let's come now to the practical aspects:
The design that I'm suggesting here is that of a flower. The central processing function is in the middle. The tasks to be done are on the petal edges. There should be a constant flux between the center and the edges. The processing path should always come back to the center to avoid being trapped.
In a usual software function, the processing path starts at the top and ends at the bottom with the keyword RETURN. If there's a bug in the function or an inadvertent closed loop, then all the program is stuck.
To avoid this danger, I suggest that a task itself should be divided into the smallest possible sub-tasks and that between each of these sub-tasks, a return is made to the I-Agent main routine.
Graphically it looks like this:
I've evoked the possibility of sophisticated dangers. One of these is the ability for an outside entity to influence, manipulate or deviate the initial goals of an I-Agent or to bring it into a logical trap.
By always referring back to the main routine and checking the actual status of operations, you minimize these risks.
Return to Main Page