Communication is essential in allowing individuals to cooperate in group activity, especially if the individuals differ in their roles or characteristics. Having open access to information greatly boosts the productivity of a group – in fact, this is the motivating principle behind the invention of patents, the internet, and open source software. Similarly, members of a team are expected to openly share their thoughts and tendencies so that the team can make up for each other’s weaknesses. In the OpenSense
domain, we discuss what happens when important facets of generic thought are openly expressed and easily sensed by others in the environment. We will talk about how generics in this domain tend to form friendship groups, share information about themselves, and engage in play activities designed to uncover highly varied aspects of each other’s personalities. The senses in this domain are analogous to human emotions and the involuntary facial expressions / body language used to express such emotions1, but in this post I will mostly focus on the OpenSense
dynamics in its pure form and only use human behaviors as illustrative examples.
The Basic Input and Output Senses
Firstly, in the OpenSense
domain we have a set of basic senses that come in input-output pairs. The exact nature of these senses can be abstracted away, and for the purpose of today’s discussion we can just think of them as SenseIn1
, SenseOut1
, SenseIn2
, SenseOut2
, and so on. The output senses such as SenseOut1
can be triggered by arbitrary criteria. For example, the Pain
, Gain
, Rivalry-selfish
and Rivalry-selfless
senses can may very well serve the role of SenseOut1
or SenseOut2
, and if this is true of many generics in a group we would see the dynamics of the Rivalry
and OpenSense
domains mix together. Different generics can have different trigger conditions even for the same output sense. In the OpenSense
domain, generics will communicate with each other to learn how their output senses work, so it’s actually more illustrative to assume that the trigger conditions are not all the same. Regardless of the trigger conditions, a generic must involuntary express themselves in a physically detectable way every time they experience one of their output senses. The expression is different for each output sense, and if a nearby generic paid attention to this expression they would experience the corresponding input sense. For example, we can say that a person who experiences an output sense HappinessOut
would involuntarily smile, and that a nearby person who notices the smile would experience the HappinessIn
sense. Through this mechanism, generics involuntarily communicate the workings of their output senses.
The Mirror
function is still very relevant in the OpenSense
domain. A scene
may encapsulate information about what senses a generic has experienced, and the Mirror
function can transform the presence of these senses into another generic’s perspective by converting input senses to output senses or vice versa. Suppose a person is happy and sees another person frown, meaning that he is experiencing both HappinessOut
and SadnessIn
. He can apply the Mirror
function to view the scene from other person’s perspective, and in the mirrored scene he experiences SadnessOut
and HappinessIn
, i.e. he is sad and is seeing another person smile. It should be noted that non-open senses cannot be mirrored; if a scene
contains information about a non-open sense, then applying the Mirror
function to the scene
simply results in Failure
. The scene
must first be altered with another function so that the non-open sense is removed or converted into a different form in order for the Mirror
function to work on it.2
As usual, we may have simple evaluations based purely on an output or input sense, and hence a generic can have agents that simply try to maximize the production one of these basic senses. There is nothing remarkable about an agent that encourages the production of an output sense, since the conditions for triggering output senses are arbitrary and unrelated to the OpenSense
domain. Agents that encourage the production of input senses are more novel. For such an agent to succeed, it must learn about the tendencies of other generics around them. As a possible starting point, the agent could determine what scene would produce the corresponding output sense, then mirror the scene to determine what must be done to produce that sense in others. However, this strategy can fail if the trigger conditions for the output sense are different in other generics. If the agent was only energized by this input sense and the generic did not have the required knowledge of others around him, the agent would quickly run out of energy and fade into insignificance. From a cold start, an agent energized by an input sense wouldn’t ever take off.
The Motivation for Sharing and Inducing Expression
It appears that simply having input / output senses is not enough to create generics that proactively share and learn each other’s tendencies, especially in a community where the trigger conditions for the output senses differ across individuals. In the OpenSense
domain, we make things more interesting by introducing two other senses. These senses encourage a generic to learn about others in their community or place themselves in environments more conducive to learning.
Before introducing these senses, recall that a generic learns about the workings of their environment through their lens, and that the lens has no inherent “motives” other than predictive accuracy. Therefore, a causal estimate produced by the lens can be thought of as a certificate showing that a generic has learned something about the cause-and-effect relationships in the environment. After all, if some phenomenon is not well understood then the lens cannot produce a good causal estimate when performing event interpretation. We can measure the quality of a causal estimate by seeing how accurately it can be used in causal prediction, and we can measure how strongly a causal estimate “binds” to a piece of information by testing how much the lens’s predictions are affected by the presence or absence of said piece of information. Let’s abstract away the details and simply assume we have a function that can achieve this functionality. We will need the following functions to define the two other OpenSense
senses:
SplitPriorPosterior: [scene -> (prior_info, posterior_info)]
- This function splits a scene into prior and posterior information. For now, let’s not worry about the issue of where to make the cut.
EventInterpretation: [(prior_info, posterior_info) -> (causal_estimate, evaluation)]
- This is the act of event interpretation, which uses the lens.
IsStrongCausalEstimate: [causal_estimate -> boolean]
- This measures whether a causal estimate is of high enough quality to be taken seriously.
GetCausalComponents: [(causal_estimate, scene) -> list(scene_piece)]
- This finds pieces of a scene that the causal estimate believes to be important for prediction.
GetEffectComponents: [(causal_estimate, scene) -> list(scene_piece)]
- This finds pieces of a scene that are strongly predicted by the causal estimate.
IsOutputOpenSenseEvent: [scene_piece -> boolean]
- This determines if a scene piece is encoding the fact that an output sense is triggered.
IsInputOpenSenseEvent: [scene_piece -> boolean]
- This determines if a scene piece is encoding the fact that an input sense is triggered.
Now we first define the OpenSense-Share
sense as:
define OpenSense-Share(scene): (scene -> boolean) as
let causal_estimate, evaluation =
EventInterpretation(SplitPriorPosterior(scene)),
if IsStrongCausalEstimate(causal_estimate) then
let causally_important_pieces = GetCausalComponents(scene),
if there is some piece in causally_important_pieces where
IsOutputOpenSenseEvent(piece)
then true
otherwise false
otherwise false
This is a bit longer than the functional notation snippet we had in the Rivalry domain, but the concept is not super complicated. First, OpenSense-Share
splits a scene into prior and posterior information components, then uses event interpretation to get a causal estimate. It checks whether the causal estimate is good enough to be worth using, then finds out whether the production of an output sense is important for the causal estimate. The OpenSense-Share
sense is triggered only if all these conditions are satisfied.
The overall effect is that the OpenSense-Share
sense is triggered when events in the environment are well predicted by a generic’s expression of their output senses. This probably only happens when someone else is paying attention to the involuntary expressions produced by the generic, and proactively interacting in a way that strongly depends on the output sense being produced. For example, suppose a child sometimes smiles, and sometimes frowns. Whenever he smiles, his mother will laugh and make loud playful noises. When he frowns, his mother will say quiet soothing words. There is a strong relationship between the output senses experienced by the child and the events in the environment, so the lens will be able to make a high quality causal estimate as a certificate of this relationship3. Because this causal estimate exists and points to the expression of the output senses as strong predictors, the child will experience the OpenSense-Share
sense. In other words, the OpenSense-Share
sense measures whether a generic has successfully shared the state of their open senses with someone else.
We also can define the OpenSense-Induce
sense with a similar trick:
define OpenSense-Induce(scene): (scene -> boolean) as
let causal_estimate, evaluation =
EventInterpretation(SplitPriorPosterior(scene)),
if IsStrongCausalEstimate(causal_estimate) then
let confident_predictions = GetEffectComponents(scene),
if there is some piece in confident_predictions where
IsInputOpenSenseEvent(piece) = true
then true
otherwise false
otherwise false
Again, OpenSense-Induce
splits a scene into prior and posterior information components, then uses event interpretation to get a causal estimate. If the causal estimate is good enough to be worth using, it checks whether the production of an input sense was strongly predicted by the causal estimate. If all these conditions are satisfied, the generic experiences the OpenSense-Induce
sense.
The overall effect is that the OpenSense-Induce
sense is triggered when the generic observes someone else involuntarily express an open sense and is confident of the reason behind the expression of the open sense. In other words, the OpenSense-Induce
sense detects scenarios in which an open sense is directly induced in someone else. For example, suppose a child sees another child pick up a specific type of toy, and very clearly sees that child smile or laugh. If similar events have happened before, to the extent that the toy is clearly the cause of the smile or laughter, then witnessing this event triggers the OpenSense-Induce
sense in the observer.
Dynamics of the OpenSense Domain
We can define a very simple evaluation that directly reflects the production of an OpenSense
sense. In essence, we set up the evaluation so that it’s generated (during event interpretation) precisely when a scene triggers the OpenSense-Share
/ OpenSense-Induce
sense. But this only happens if the OpenSense
senses are experienced firsthand; what evaluation should be created if a scene is expected to trigger OpenSense
senses in other generics instead? Using the Mirror
function it’s possible to create similarly simple evaluations describing scenes where these senses were not experienced firsthand. With that method in mind we can now define several simple evaluations in the OpenSense
domain:
- The direct (a.k.a. first-person)
OpenSense-Share
evaluation, which is generated when a generic experiences theOpenSense-Share
sense firsthand. - The vicarious
OpenSense-Share
evaluation, which is generated when a scene involves another generic such that, when the scene is mirrored to the other generic, the resulting mirror scene triggers theOpenSense-Share
sense.- It’s possible to make more specialized versions of the vicarious
OpenSense-Share
evaluation by adding additional requirements. Two noteworthy examples include the second-person and third-personOpenSense-Share
evaluations. - The second-person version happens when the origin generic (the one who is making the evaluations) was the one who responded to the other generic’s expressions.
- The third-person version happens when a third generic was the one who responded to the other generic’s expressions.
- It’s possible to make more specialized versions of the vicarious
- The direct (a.k.a. first-person)
OpenSense-Induce
evaluation, similarly defined. - The vicarious
OpenSense-Induce
evaluation, similarly defined.- The second-person
OpenSense-Induce
evaluation, which happens when the actions of another generic was the cause of the origin generic’s expressions. - The third-person
OpenSense-Induce
evaluation, which happens when the the actions of another generic was the cause of a third generic’s expressions.
- The second-person
All these variants are related to social activity. The evaluations based on OpenSense-Share
tend to guide generics toward environments where a lot of social activity happens, and the evaluations based on OpenSense-Induce
tend to guide generics toward frequently interacting with their peers and sharing information about how they express themselves. In the OpenSense
domain we see generics forming clusters analogous to what we call friendship groups, where generics in each cluster enjoy watching each other’s daily behaviors, sharing stories about how they responded to recent events, and exciting one another in potentially very specific ways.
In general the first-person variants of the OpenSense
senses are more self-centered; if a generic has an agent that that favors the production of a first-person OpenSense
sense, they tend to enjoy the aspects of social interaction that benefit themselves most directly. For example, a person with an agent that favors the first-person OpenSense-Share
sense will prefer scenarios where he receives a lot of attention from others. He will tend to cluster with the people who show this level of attention, and ignore those who tend not to respond to his senses very directly. Note that directly grabbing attention is not satisfactory, since the OpenSense-Share
sense requires that the expression of an open sense be the cause of the response, whereas proactively grabbing another generic’s attention would shift the cause of the response to said attention-grabbing behavior. In other words, the person from our example would prefer others to figure out his emotions on their own, and will be unhappy if he is forced to directly explain how he feels.
A person with an agent that favors the first-person OpenSense-Induce
evaluation would prefer scenarios where other people’s emotions are easily predicted. One method of achieving this would be for the person to constantly follow a well-understood friend. In doing so, the person would experience the OpenSense-Induce
sense simply by watching the way his friend responds to daily events. In the absence of such a well-understood friend, there is also a more devious way to maximize the OpenSense-Induce
evaluation. The person from our example can directly tease or poke a specific target to watch their response. If a certain action creates a predictable response in the target (often a negative one expressing annoyance or unhappiness), the person in our example is motivated to repeat this action and constantly watch the same predictable response, triggering the OpenSense-Induce
sense. Of course, a generic can choose to induce a positive response instead, and can use the same trick to excite other individuals in their cluster.
The vicarious OpenSense
evaluations tend to synchronize clusters of generics such that an event that should have only affected only one member of the group actually causes a response in the entire group. This is analogous to the concept of camaraderie, where a person enjoys being friendly to other group members or simply watching two friends in their group playing with each other, even if said person doesn’t directly benefit from the act of friendship4 or from being a mere observer. It’s important to note that the production of vicarious OpenSense
evaluations scale quadratically with the number of individuals in a cluster. With a large cluster of friends, there are more interactions between pairs of individuals and more opportunities to experience the OpenSense
evaluations. This is especially true if the generics in the cluster favor the third-person evaluations, which motivates them to actively set up group activities where many pairs of individuals interact.
An advanced agent that favors a vicarious OpenSense
evaluation, especially a third-person variant, may be able to create complex plans that ultimately pull more people into their cluster. This may be overkill though. An agent that favors the second-person OpenSense
evaluations automatically has a tendency to expand their cluster. This is because such an agent directly offers the attention and familiarity that attract individuals who are motivated by the first-person OpenSense
evaluations5. A generic strongly motivated to produce the second-hand OpenSense-Share
evaluation is analogous to an overly familiar person who goes out of his way to strike conversation with strangers and better understand their emotions. And a generic strongly motivated to produce the second-hand OpenSense-Induce
evaluation is analogous to a dramatic person who calls attention to their emotional response even to very trivial interactions with other people6.
Other Phenomena in the OpenSense Domain
The most noticeable phenomenon in the OpenSense
domain is the tendency for generics to form tightly knit clusters whose members are motivated by the direct or vicarious OpenSense evaluations. The dynamics of this domain serve as the foundation for more advanced models of group behavior. But there are several other phenomena in the domain that could be similarly foundational for future work. Firstly, the OpenSense
dynamics encourage generics to create and consume potentially fictional stories. A generic consuming a story would be able to vividly reconstruct a scene from the imagery in the story, and produce vicarious OpenSense
evaluations when watching the characters interact in this imagined scene. The author of a fictional story directly generates a scene in their imagination, then uses imagery and characterization techniques to help future readers of the story recreate the scene. A story need not be fictional – a generic passionately describing their day to others in their cluster is simply telling a story based on factual events, but nonetheless the storyteller can use imagery or emphasis to help other members in the cluster visualize the scene. The motivation to share a story with others may also stem from an OpenSense
evaluation, though it is likely more complex than the evaluations discussed earlier.
Secondly, generics in the OpenSense
domain can learn a surprising amount of information about the thought processes of other individuals if the SenseOut
senses are strongly correlated with internal structures (such as the production of certain evaluations or the balance of power between agents). The information learned simply from observing the open senses can accumulate over time, and eventually become enough for an observer to create their own model of another generic’s behaviors. These recursive models will be useful to have when creating more complex descriptions of generic minds.
Lastly, social information can be quite valuable in the OpenSense
domain. To see this, we should first note that many individuals in a cluster of generics are motivated to make themselves easily understood even if their thought processes are actually quite complicated. They may try to avoid situations that expose the more complicated behaviors, making the trigger conditions for their open senses seem simpler than they truly are. Therefore, the camaraderie in a cluster of generics can be significantly disrupted if leaked social information reveals that one of its individuals behaves differently from the group expectation. Social information can be also used in many other ways to engineer changes in group structure, and generics may come up with convoluted strategies that use social information as bargaining chips to achieve their goals. If we deviate from the pure form of the OpenSense
domain and give generics a small amount of voluntary control over their open senses, then generics can more easily adjust group expectations of their behavior, which pushes the value of social information even higher. But if voluntary control becomes so rampant that the OpenSense
dynamics become heavily distorted, then generics may learn to distrust the open senses, causing the value of social information to collapse. In any case, a generic with good voluntary control over their open senses can entirely opt out of the OpenSense
domain simply by refusing to express any open senses. In doing so, they will have difficulty forming groups with other generics but will be immune to these social information-based strategies.
Footnotes
- In the pure form of the open sense domain, such expressions of emotion cannot be hidden or forged. I will briefly touch on the topic of voluntary control near the end of the post.
- Performing this alteration would of course change the
scene
. If desired, a generic could produce a very complicated evaluation of ascene
by trying many kinds of alterations and comparing / contrasting the mirrored results. - I avoid the word correlation, because the child has some control over their actions and may be able to demonstrate an actual causal link instead of a mere correlation. For example, they can try combining their smiling or frowning with various other actions to see whether the mother’s response is related to a third variable. This sounds pretty advanced for a child, but a lot of this behavior may just be instinctive, who knows?
- If there is a significant loss from doing this then the
Rivalry
dynamics may be relevant. However, aRivalry
based explanation falls apart for little trifles where there is nothing to gain or lose. - By the principle of Occam’s razor, it’s reasonable to expect simple evaluations to be more common than complex evaluations. The simplest evaluations in the
OpenSense
domain are the first-person ones, so it should be common to see generics that prefer to directly experience theOpenSense
senses. - Note that in this case, proactively grabbing attention is acceptable. The other people simply need to experience the
SenseIn
sense and causally link it to their behavior; the emphasis or drama neither adds nor detracts from this process. However, in the pure version of theOpenSense
domain there is no way to forge an expression of an open sense, so the strategy only works if the origin generic was already very expressive.