For a while I’ve been thinking about how to possibly implement something akin to a theory of mind, and now I have a provisional solution. Previously, when Noble Apes chatted they did so in the same way with different interlocutors, and for a primate this obviously isn’t very realistic. A better strategy, which allows for all sorts of devious outcomes, is to be able communicate in different ways with different individuals, and this necessitates having some kind of model, or at least partial representation, of others.
To implement this I’ve transferred the braincode programs from the noble_being structure into the social graph (social_event structure). The first entry in the graph is always the self, so this is the inner part of the internal dialogue with the outer part being stored within links to other individuals.
The idea is illustrated in the following diagram, which shows what happens when two apes are communicating:

Having the braincode attached to every link in the social graph does increase the overall memory consumption, but this change doesn’t add much to the CPU usage. The blue boxes represent braincode programs, and when two programs are linked they form a temporary shared address space which allows data to move between them and for values in one program to become parameters for another. It’s a very abstract representation of a language system, which makes no attempt to simulate individual words, concepts or articulations, but does allow for recursively enumerable grammatical structure. The idea is that behavior may be observed which has a qualitative similarity to real biological language systems.
A Meeting of Minds
When apes meet for the first time the (outer) braincode associated with the new social graph entry needs to be initialized. If there are no other individuals in the graph then the inner braincode is copied (a kind of bootstrapping effect, where you use yourself as a model for other conspecifics), otherwise braincode from the most similar individual in the graph is copied over to the new entry. Similarity is decided based upon the friend or foe value, because this is initially calculated based upon a variety of genetic and learned parameters which could be called the prejudice function.
The Socially Constructed Self
This kind of cognitive architecture results in an identity which is socially and historically constructed. When not communicating, or even when sleeping, the cognitive process of the ape becomes an internal dialogue between a number of different imagined actors, some of whom could represent individuals who are no longer living but remain persistent and who may continue to exert influence as informational creatures of the ideosphere. Instructions within the braincode can trigger switches in attention between the different individuals in the social graph or between events in the episodic memory, and there is also an attempt to maintain a consistency of narrative flow such that the next focus of attention may have some properties in common with the current attentional content.
At the end of a lecture about the phenomenal self model, Thomas Metzinger hints at this kind of portable selfhood when he says “nobody is born, and nobody ever dies”. It’s an idea similar to the Cartesian theater, but not quite in the same sense as meant by Daniel Dennett.
Some Implications
A couple of consequences logically follow from this sort of architecture. Firstly, it’s possible that an ape could experience something resembling grief or estrangement. When individuals are removed from the social graph this literally changes the cognitive dynamics. Less controversial would be to say that an ape undergoes some psychological disturbance when they lose contact with another individual who previously played a significant role in their cognitive dynamics.
Another consequence is that fantasies involving beings who never existed could be supported within this architecture. When spreading anecdotes during chat there is some probability of miscommunication or deliberate fabrication of information, and in principle this could turn into a persistent folklore or proto-religion perhaps similar to ancestor worship.
Also, although not currently implemented it’s possible to imagine autistic apes. In this scenario there would be some limitation on the creation or memory size of braincode for each link in the social graph, with the result that the number or degree of modeling complexity of actors on the mental stage becomes more constrained, or reduced exclusively to the self. A possible hypothesis about the rapidly escalating size of the human brain over its course of evolution is that this was a ratcheted response to a complex social environment where the ability to better model other individuals within the group had significant adaptive value, and with creative fantasies,elaborate traditions and religions being a byproduct of this.