CAIA, a sleeping beauty

When the Princess pricked her hand on a spindle, the fairies put everyone in the castle to sleep. The Prince Charming finally came and kissed the Princess; she awakened, and the rest of the castle went about their business as if they had not slept for one century.

Artificial Cognition allows such miracles: a computer system can stop (or be stopped by a user) during  the execution of a task as long as it wants, then carry on with its task as if it did not stop. Naturally, the system must not be acting in the real world, such as driving a car, where it is dangerous to sleep. Moreover, the tale does not say what happened in the Princess's brain while she was sleeping, she was probably dreaming. It may be important that artificial beings can dream, but it is better that they perform subtasks linked to the task executed when they stopped. 

Consciousness produces an information flow which is certainly useful, but could be better used if one has the capacity to stop and restart as one wishes. If we stop for examining a particular fact which has just been shown by our consciousness, we will disrupt the development of our thought. If we stops, we humans cannot manage to restart as if nothing happened. However, sometimes it could be convenient to have a break for storing an important fact, for checking that everything goes off smoothly, that the intermediary results are correct, and the sooner the better. We are carried along by the current of our thought; we have not the time to examine simultaneously what happens.

The mechanisms that enable artificial beings to stop and restart as they wish are well known by the computer specialists, who use them for debugging programs. They can follow the steps of their program, stop them if necessary, examine its results and the values of its variables. If everything is fine, they can restart the system, and its future behavior will not be changed by this stop.

An artificial being, such as CAIA, can perform on itself, which is a particular computer system, all the manipulations that a computer specialist can perform on any computer system. It is easy to implement in a system a mechanism that can stop this system itself. Here are some elements that can be used for deciding whether it is useful to stop the execution of the present task:

The time, timers are very useful. This can allow it to detect that it is in an infinite loop.
It finds an abnormal event such as: the number of solutions of a problem depends on the chosen method.
It has made a prediction which is not fulfilled: it predicted that the problem would be solved in less than 1,000 steps, and it had yet to find a solution 2,000 steps later. 

The main difficulty is to know how to exploit these pauses. We have already seen that CAIA can observe its present state in details: what subroutines are running, and the values of all their variables, the trace of the preceding steps, every bit of its knowledge. However, there are too many possible anomalies, it is necessary to have an expertise for looking at the good places. Moreover, when an anomaly has been discovered, it must choose the right method for managing it.

When an artificial being stops, it can modify the method that it is currently using, leave the task for good, carry on without any modification, etc. It also can change the time of the next pause: if there are unexpected events, it is better to be cautious and allow more pauses.

After a little sleep, CAIA can start again, like the sleeping beauty, as if it had not stopped.  However, unlike the Princess, it can use a sleeping period for improving its behavior for the next steps of its task. If it takes advantage of these sleeping periods, paradoxically it will be faster than if it had never stopped.

Leave a Reply

Your email address will not be published. Required fields are marked *