Experimental cognitive architecture

Bob Mottram 001e2ba0ee Image link 1 month ago
img 1669042c82 Map of illiad characters, from wikimedia 2 years ago
src 7ae424e0a3 More gods 2 years ago
tests e76c5aa4ff Tidying 2 years ago
LICENSE 2f583d012f Initial 2 years ago
Makefile 2f583d012f Initial 2 years ago
README.md 001e2ba0ee Image link 1 month ago

README.md

Theatre Of The Mind

Stories are the frame within which we understand almost everything and yet story based thinking, person-oriented logic and internalised dialogue are conspicuously absent from contemporary AI. Theatre Of The Mind provides a computational psychohistory framework with which to create systems which operate in a fundamentally narrative based manner.

Pieces of the Story

Stories are composed for a number of pieces:

  • Objects are the atoms out of which stories are composed. An object can be anything. It can have a number of properties of given types and also keep track of the number of times it has been observed. Each object has a unique ID number.
  • Episodes. Episodic memory is implemented as a ring buffer of objects observed or contemplated over time.
  • Social graph. A number of people can be remembered, along with their properties and a personality model of their history and actions. This allows the cognitive system to simulate to some level of approximation the expected interactions between remembered people, including a self model. It also allows personality models to be semi-automous computational systems in their own right, moving and competing or cooperating within the minds of the population in a memetic manner.
  • Statements. Derived from experienced episodes or natural language input, statements are sentences which have the familiar attributes of who, what, where and when.
  • Tales. Consist of a series of statements or sentences. Analogous to a paragraph or chapter within a story.
  • Narratives. Consisting of a set of tales. These are the sagas or mythologies of the system.
  • Subjective time. Events can be timestamped but also have a subjective time association which need not be the same for all people. And event might happen "soon" or "long ago".
  • Prediction via analogy. Narratives can be matched against current events and the subjective perception of current events may be restructed or partially overwritten based around the expected narrative frame. This makes all perception fundamentally part of a historical process.
  • Identity. The properties of people can be observed, clustered and derrived from narratives. The self may then try to adjust accordingly, depending upon dispositions towards other identities which may also have a historical aspect.
  • Inventory. What items each individual possesses and can exchange.
  • Invariance to particular natural languages. Simplified natural language input is possible and this is parsed into the internet representation. This means that internal narrative logic doesn't depend on any particular natural language.
  • Dictionary. Storing words and phrases obtained from parsing natural language input.
  • Association matrix. Linking associated dictionary entries. Which concepts are related?

Installation

To install the library:

make
sudo make install

Running Unit Tests

cd tests
make
./tests