In the previous article, I introduced everyone to the bulk of the brains behind an AGI, the workflow engine. Workflows are great, but if you were beginning to grasp this the question of when to use a particular workflow would have popped up. We could certainly approach this as workflows governing workflows, but the paradigm becomes hard to follow for us humans. Enter the mindmap.

For those not familiar with Mindmaps, let’s explain the concept:

A mind map is a diagram used to visually organize information. A mind map is hierarchical and shows relationships among pieces of the whole.[1] It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those major ideas.

https://en.wikipedia.org/wiki/Mind_map

In the world of programming, it is traditional to begin with a ‘Hello World’ example which is typically the shortest form of demonstrating the basic structure of a particular language. In the world of AGI, we will do the same and begin with the ‘Greeting’.

When discussing workflows I described these as the ‘how’ in the process of doing things. The Mindmap represents the sequence of ‘how’, or the method of structuring many workflows to achieve a broader outcome.

The Mindmap process begins with identifying, or classifying, the situation and selecting the most appropriate Mindmap as a starting point. In the above Mindmap, the AGI determines that new people are present and the most likely activity to occur is a greeting.

Before we get too deep with this, note that there are many possible ways in which the situation could be classified and that ultimate selection is guided by state. For example, a greeting may be skipped if the AGI or someone else has important information to discuss. In addition, the Mindmap of the Greeting process may include many more scenarios than shown. As this is for demonstration purposes, it will suffice.

Each of the topics, the text above the blue bar in the above diagram, map to workflows which in turn map to one or more programs in our underlying execution engine. The topics describe the state information to gather and general equality with the statement means that a branch should be followed. The green main topic elements denote a jump to another Mindmap and, as such, are associated with a particular topic.

In execution, a Mindmap typically fires off processes to gather all information described in the map, as well as pre-caching other Mindmaps, workflows and programs. These are aborted as branches are found not to be valid. Shoot first, ask questions later, is usually the more performant approach. Obviously, some consideration to the weight, or computational intensity, of a workflow must be made to maintain performance.

Mindmaps govern the behaviour of an AGI at a high-level, as well as a general methodology to resolving particular abstract problems such as social interaction. As such, they are core to high-level reasoning capability.

Mindmaps should be maintained as an open-standard to ensure that all AGI behave in a similar, predictable fashion. This permits the underlying specifics of implementation to differ, without impacting the broader objective behaviour of AGI.

The general structure of a Mindmap is, at present, a bit of an art. In general, all data to be gathered should be executable in parallel. Where this is not possible, execution should either wait for input, or substitute likely input while waiting for actual data. That is, the programming paradigm should not be limited to just one approach, but rather the best approach for a given problem.

An AGI is thus a collection of Mindmaps which govern the flow control and execution of programs which resolves missing parameters in the various Mindmaps. The key to a natural behaving AGI is a comprehensive set of Mindmaps and a strong ability to select an appropriate starting Mindmap during interruptions.

An AGI should be able to extend Mindmaps based upon observation, simulation or a mixture of both. Optimising Mindmaps, as well as the underlying workflows and programs is an on-going activity. Mindmaps can be bloated, or lean-and-mean, and still meet the criteria of a functional AGI, permitting faster execution and/or running on lower-end hardware.

A full blown AGI could have millions of Mindmaps and, in execution, be running many Mindmaps at the same time. The Mindmap approach also lends to the security model, as it will necessarily include safeguards woven into the workflow engine which means, in many cases, no additional thought needs to be given in regards to the implications of combining workflows.

The key to delivering AGI will be the development and robust testing of Mindmaps.