OpenCogPrime:Simulation

From OpenCog
Jump to: navigation, search

Internal Simulations

This brief page deals with an important cognitive component of OCP: the component concerned with creating internal simulations of situations in the external physical world.

This is a component that is likely significantly different in OCP from anything that exists in the human brain, yet, the function that it carries out is obviously essential to human cognition; indeed, more so to human cognition than to OCP's cognition, because OCP is by design more reliant on formal reasoning than the human brain is.

Much of human thought consists of internal, quasi-sensory "imaging" of the external physical world. Often this takes the form of visualization, but not always. Blind people think in terms of internal imagery, and many sighted people think in terms of sounds, tastes or smells in addition to visual images.

So far, the various mechanisms proposed as part of OCP do not have much to do with this kind of internal imagery, that seems to play such a large role in human thought. This is OK, of course, since OCP is not intended as a simulacrum of human thought, but rather as a different sort of intelligence.

However, we believe it will actually be valuable to OCP to incorporate a sort of inner imagery. And for that purpose, we propose a novel mechanism: the incorporation within the OCP system of a 3D physical-world simulation engine.

The current use of virtual worlds for OpenCog is to provide a space in which human-controlled agents and OCP-controlled agents can interact, thus allowing flexible instruction of the OCP system by humans, and flexible embodied, grounded learning by OCP systems. But this very same mechanism may be used internally to OCP, i.e. a OCP system may be given an internal simulation world, which serves as a sort of "mind's eye." Any sufficiently flexible virtual world software may be used for this purpose, for example OpenSim.

Atoms encoding percepts may be drawn from memory and used to generate forms within the internal simulation world. These forms may then interact according via

  • forms acting according to the patterns via which they are remembered to act
  • the laws of physics, as embodied in the simulation world

This allows a kind of "implicit memory," in that patterns emergent from the world-embedded interaction of a number of entities need not explicitly be stored in memory, so long as they will emerge when the entities are re-awakened within the internal simulation world.

The SimulatorMindAgent grabs important perceptual Atoms and uses them to generate forms within the internal simulation world, which then act according to remembered dynamical patterns, with the laws of physics filling in the gaps in memory. This provides a sort of running internal visualization of the world. Just as important, however, are specific schemata that utilize visualization in appropriate contexts. For instance, if reasoning is having trouble solving a problem related to physical entities, it may feed these entities to the internal simulation world to see what can be discovered. Patterns discovered via simulation can then be fed into reasoning for further analysis.

The process of perceiving events and objects in the simulation world is essentially identical to the process of perceiving events and objects in the "actual" world.

And of course, an internal simulation world may be used whether the OCP system in question is hooked up to a virtual world like OpenSim, or to a physical robot.

Finally, perhaps the most interesting aspect of internal simulation is the generation of "virtual perceptions" from abstract concepts. Analogical reasoning may be used to generate virtual perceptions that were never actually perceived, and these may then be visualized. The need for "reality discrimination" comes up here, and is easier to enforce in OCP than in humans. A PerceptNode that was never actually perceived may be explicitly embedded in a HypotheticalLink, thus avoiding the possibility of confusing virtual percepts with actual ones. How useful the visualization of virtual perceptions will be to OCP cognition, remains to be seen. This kind of visualization is key to human imagination but this doesn't mean it will play the same role in OCP's quite different cognitive processes. But it is important that OCP has the power to carry out this kind of imagination.