Science is built upon observation. Importantly, one cannot separate the observation from the observer; it seems that the nature of our physics depends in part on our being observers of a certain character. We postulate that fully appreciating this dependence requires considering observers with agency, that is, with some notion of choice. With this long-term motivation in view, here we begin the discussion by presenting two ways of endowing a computational system with a choice mechanism: one based on string rewriting and the other based on Turing machines. Both cases provide simple toy models of agents interacting with physical systems or with other agents. Several new visualization techniques are developed to help visualize the phenomena that appear in a computational study of agents. Throughout, we point to directions worthy of further study.
Introduction
Introduction
It is typically presumed that our present physical theories concern, at least approximately, the objective functioning of the universe. We, as part of the universe, are subject to the same natural laws as atoms and stars and, hence, our nature is ultimately a consequence of these laws. Whatever that nature may be, it is not relevant to physics on this view because the latter concerns the basic mechanisms of reality out of which we and anything else are built. However, as we are, again, part of the universe, we must remember that all of our efforts in physics are attempts to understand reality from the inside. John Wheeler famously emphasized that we do not look at the universe from the outside, proposing a participatory reality [1]. Our physics is built on our observations. Consequently, the notion that our physics concerns a ground truth that is wholly independent of our nature as observers is at best an aspirational postulate requiring justification.
Setting aside whether such a grounding is even possible, evidence that our present physical theories approach it is lacking. In fact, one gains explanatory power by explicitly rejecting the premise that our physics is independent of our nature as observers. For example, against the background of classical mechanics, thermodynamics and the second law may be considered an effective law for observers like us with bounded capabilities [2]. Similarly, many famously perplexing and supposedly characteristically quantum features (e.g., interference, entanglement, teleportation, no-cloning, and more) obtain natural explanations by analogy in terms of an observer’s knowledge or information about a system [3]. Exemplifying the extreme of this stance, QBism [4] relinquishes the notion that any of the particular objects in quantum theory (quantum states, channels, and measurements operators) represent objective physical properties. Instead, QBism regards quantum theory as a whole to be a decision theory, providing consistency criteria that a user of the formalism should heed in her decision making. The shape of this decision guidance essentially depends on both the nature of the world and the agent, that is, on a deeper character of reality.
If it is indeed too soon to postulate independence, as I and many others believe, physics must try to turn its attention to this interface by studying the actual process by which something like a physical law can be relative to entities we might call observers. Stephen Wolfram agrees, writing “[t]he nature of us as observers is critical even in determining the most fundamental laws we attribute to the universe” [5]. The Wolfram Institute, in turn, is actively pursuing notions of observer theory [6], which they view to be crucial to understanding how theories like relativity and quantum theory might emerge within a computational framework.
I think these are exciting and promising lines of research, but I also believe the premise ultimately needs to be taken further in a way I haven’t seen discussed. A crucial element of observation in science is that we choose which observations to make. We are observers with agency. If we had chosen otherwise, something else would have happened. With QBism, I believe, for instance, that a notion of choice will be necessary to properly obtain something like quantum mechanics.
Now it’s one thing to say this is what we should do and another altogether to actually do it. How do we get started with agency in physics without immediately becoming overwhelmed? One strongly hopes to avoid invoking complex models of agency from, say, cognitive science, artificial intelligence, or biology. I think we have every reason to be optimistic that this will not be necessary to make progress towards something we would call physics. For the level of treatment we are after, it doesn’t matter that humans are made of flesh or possess a sense of self. On the other hand, precisely what does matter is an open question. A far-reaching and long-term goal would be an abstract characterization of an agent such that its appearance in a computational system is accompanied by a complementary “world” that interacts with the agent in ways that resemble our present laws of physics. More proximately, I think we should try to generate toy versions of this phenomenon so we can understand the sense in which an agent alongside its world can fit inside one model.
In the rest of this essay, I nearly entirely retreat from these lofty goals, leaving them for future research. My hope here is to get the conversation started. The first step is to think about how to represent an agent from a computational perspective. Towards this, I propose two potential constructions of agent toy models, the first based on string rewriting systems and the second based on Turing machines. The reader will find that a few interesting phenomena can be captured and visualized in a straightforward way. Whether these particular illustrations advance my agenda above is, I suppose, besides the point for now. Let us proceed by letting computational experiments lead the way.
Setting aside whether such a grounding is even possible, evidence that our present physical theories approach it is lacking. In fact, one gains explanatory power by explicitly rejecting the premise that our physics is independent of our nature as observers. For example, against the background of classical mechanics, thermodynamics and the second law may be considered an effective law for observers like us with bounded capabilities [2]. Similarly, many famously perplexing and supposedly characteristically quantum features (e.g., interference, entanglement, teleportation, no-cloning, and more) obtain natural explanations by analogy in terms of an observer’s knowledge or information about a system [3]. Exemplifying the extreme of this stance, QBism [4] relinquishes the notion that any of the particular objects in quantum theory (quantum states, channels, and measurements operators) represent objective physical properties. Instead, QBism regards quantum theory as a whole to be a decision theory, providing consistency criteria that a user of the formalism should heed in her decision making. The shape of this decision guidance essentially depends on both the nature of the world and the agent, that is, on a deeper character of reality.
If it is indeed too soon to postulate independence, as I and many others believe, physics must try to turn its attention to this interface by studying the actual process by which something like a physical law can be relative to entities we might call observers. Stephen Wolfram agrees, writing “[t]he nature of us as observers is critical even in determining the most fundamental laws we attribute to the universe” [5]. The Wolfram Institute, in turn, is actively pursuing notions of observer theory [6], which they view to be crucial to understanding how theories like relativity and quantum theory might emerge within a computational framework.
I think these are exciting and promising lines of research, but I also believe the premise ultimately needs to be taken further in a way I haven’t seen discussed. A crucial element of observation in science is that we choose which observations to make. We are observers with agency. If we had chosen otherwise, something else would have happened. With QBism, I believe, for instance, that a notion of choice will be necessary to properly obtain something like quantum mechanics.
Now it’s one thing to say this is what we should do and another altogether to actually do it. How do we get started with agency in physics without immediately becoming overwhelmed? One strongly hopes to avoid invoking complex models of agency from, say, cognitive science, artificial intelligence, or biology. I think we have every reason to be optimistic that this will not be necessary to make progress towards something we would call physics. For the level of treatment we are after, it doesn’t matter that humans are made of flesh or possess a sense of self. On the other hand, precisely what does matter is an open question. A far-reaching and long-term goal would be an abstract characterization of an agent such that its appearance in a computational system is accompanied by a complementary “world” that interacts with the agent in ways that resemble our present laws of physics. More proximately, I think we should try to generate toy versions of this phenomenon so we can understand the sense in which an agent alongside its world can fit inside one model.
In the rest of this essay, I nearly entirely retreat from these lofty goals, leaving them for future research. My hope here is to get the conversation started. The first step is to think about how to represent an agent from a computational perspective. Towards this, I propose two potential constructions of agent toy models, the first based on string rewriting systems and the second based on Turing machines. The reader will find that a few interesting phenomena can be captured and visualized in a straightforward way. Whether these particular illustrations advance my agenda above is, I suppose, besides the point for now. Let us proceed by letting computational experiments lead the way.
String Rewriting Agents
String Rewriting Agents
The first model of computation we will consider is string rewriting. A state is a string, e.g., AABAAB, and a rewriting rule, e.g., AB BB, indicates how a substring on the left, AB, should be replaced with a substring on the right, BB, in a single computational step. The substring AB appears twice in the string AABAAB, which means that this rule leads to two valid updates ABBAAB and AABABB. If no substring matches a rule, nothing happens. A multiway system tracks all possible rule applications in a directed graph.
A multiway system with initial string AABAAB under the rewriting rule AB BB:
Out[]=
A rewriting rule can contain multiple substring replacements.
A multiway system with initial string AABAAB under the rewriting rule {AB BB, BA B}:
Out[]=
Both examples above terminate, but general systems may not.
Observers
Observers
Our goal is to add a simple notion of agency to this kind of computational system. But first, how do we think about observation? I regard an observer chain at its most basic to be a sequence of states jointly representing an observer and a system. Each rule application is an action and the outcome is whichever state it goes to. In general, then, an observer chain is a path through a multiway graph of possible rule applications.
We assume that these paths are uniformly randomly chosen from all successor states including when there are multiple copies of the same state. If we merge equivalent states, then each edge can be given a multiplicity indicating how many distinct updates take a particular state to this target. For example, in the first step of the system below, an observer chain sample starting at ABA transitions to AABA with probability 2/3 and to ABAA with probability 1/3.
We assume that these paths are uniformly randomly chosen from all successor states including when there are multiple copies of the same state. If we merge equivalent states, then each edge can be given a multiplicity indicating how many distinct updates take a particular state to this target. For example, in the first step of the system below, an observer chain sample starting at ABA transitions to AABA with probability 2/3 and to ABAA with probability 1/3.
On the left, a multiway graph for the rule {AAA, BAB} on initial state ABA for 3 steps with multiplicities labeling edges. On the right, a sampled observer chain through this graph:
Out[]=
Decisions
Decisions
If an observer who does not make any decisions repeatedly applies the same rule, a decision-making observer, or agent, is one that chooses a rule to apply among a number of possible options. The rule to be applied at each step is the output of a decision process that chooses among a given set of possible rules. The analogy is that an agent chooses among a possible set of actions (rules) at each step, where the consequence of each action (the updated state) is in general uncertain.
What is a decision process? For the purposes of exploring agency computationally, a decision process is simply another computational layer which takes in the state and returns a rule to apply. In modeling this way, we assume we can meaningfully bracket the decision-making part of the agent into a sub-process. Note, of course, that one can consider the whole agent situation to be the evolution of a single computation, but for the purposes of studying agency itself it is important that we are able to distinguish where we consider a choice to have been made. How the base computation and decision process might be “compiled” is an interesting question. The reverse of this, how to extract from a single computational system something that appears to be observer-system evolution alongside a decision process, is relevant to the long-term project I mentioned in the introduction.
We can play with defining different decision concepts of different levels of sophistication. The simplest case is no decision, a pure observer, where the same rule is applied every time. After this, but only cosmetically different, a purely random decision between a set of options. A very simple, but not entirely trivial, first example is an agent who takes in a string consisting of As and Bs and decides between the rules AB and BA as follows: If there are more As than Bs, apply AB, if there are more Bs than As, apply BA. If there is an equal number, choose at random with equal probability. I call this the balance agent.
What is a decision process? For the purposes of exploring agency computationally, a decision process is simply another computational layer which takes in the state and returns a rule to apply. In modeling this way, we assume we can meaningfully bracket the decision-making part of the agent into a sub-process. Note, of course, that one can consider the whole agent situation to be the evolution of a single computation, but for the purposes of studying agency itself it is important that we are able to distinguish where we consider a choice to have been made. How the base computation and decision process might be “compiled” is an interesting question. The reverse of this, how to extract from a single computational system something that appears to be observer-system evolution alongside a decision process, is relevant to the long-term project I mentioned in the introduction.
We can play with defining different decision concepts of different levels of sophistication. The simplest case is no decision, a pure observer, where the same rule is applied every time. After this, but only cosmetically different, a purely random decision between a set of options. A very simple, but not entirely trivial, first example is an agent who takes in a string consisting of As and Bs and decides between the rules AB and BA as follows: If there are more As than Bs, apply AB, if there are more Bs than As, apply BA. If there is an equal number, choose at random with equal probability. I call this the balance agent.
Ten steps of decisions by the balance agent on the initial state ABA:
Out[]=
In this graph I have identified all equivalent vertices. Note that the states AAA and BBB cannot be reached because the agent will never choose to apply AB when there are already two As or BA when there are already two Bs.
A moderately sophisticated agent could be one that has a specified goal string and possesses a computational ability to forecast into possible futures to help it make its decision. The agent needs some way to quantify how far it is from its goal and for this I chose the DamerauLevenshteinDistance which gives the number of one-element deletions, insertions, substitutions, and transpositions required to transform the present string to the target string.
Now we imagine that the agent possesses the ability to compute the multiway space of possible states that a sequence of n choices would produce, starting from the current state, and that it can do so for all possible choice sequences of this length. Among these, it can calculate the expected DamerauLevenshteinDistance for each step of each choice sequence and choose to take an action which has the smallest expected distance in its possible futures. After each step, what the agent can “see” changes. I call n the foresight depth of the agent. Foresight depth 1 means that the agent chooses on the basis of only one possible update into the future. Foresight depth n means it chooses on the basis of the full space of all possible sequences of n steps into the future.
An example will clarify. Suppose an agent with foresight depth starts with a string AA and seeks the string AAAAB and has at its disposal two rule choices: AAA or AAAB.
A moderately sophisticated agent could be one that has a specified goal string and possesses a computational ability to forecast into possible futures to help it make its decision. The agent needs some way to quantify how far it is from its goal and for this I chose the DamerauLevenshteinDistance which gives the number of one-element deletions, insertions, substitutions, and transpositions required to transform the present string to the target string.
Now we imagine that the agent possesses the ability to compute the multiway space of possible states that a sequence of n choices would produce, starting from the current state, and that it can do so for all possible choice sequences of this length. Among these, it can calculate the expected DamerauLevenshteinDistance for each step of each choice sequence and choose to take an action which has the smallest expected distance in its possible futures. After each step, what the agent can “see” changes. I call n the foresight depth of the agent. Foresight depth 1 means that the agent chooses on the basis of only one possible update into the future. Foresight depth n means it chooses on the basis of the full space of all possible sequences of n steps into the future.
An example will clarify. Suppose an agent with foresight depth starts with a string AA and seeks the string AAAAB and has at its disposal two rule choices: AAA or AAAB.
Four choices by agent with initial state AA, target state AAAAB, choices between rules AAA or AAAB, and foresight depth 1, plotted in the full multiway graph of all choices:
Out[]=
It can be hard to understand the quality of the agent’s choices within the full multiway system. Instead, we can plot the agent chain through the multiway system generated by the particular sequence of choices they make. Then, when there are branchings, it is because the choice the agent took had several possible outcomes. I call this the multiway sequence graph.
Another instance of the previous agent chain, but plotted in the multiway sequence graph:
Out[]=
The sequence of choices made by the foresight depth 1 agent is always the same with this initial state. The first three rules deterministically lengthen the string of As and then the final rule AAAB can be applied in four ways. The target string AAAAB is among these four and so this agent will “win” with probability 1/4. It certainly gets closer with each step, but then it all comes down to chance in the last step. Can it do better?
A moment’s thought reveals that there is a deterministic strategy (sequence of actions) which, in 4 steps, will always succeed: {{AAAB},{AAA},{AAA},{AAA}}. This sequence avoids the ambiguity of application of AAAB, which we need to apply to get a B into the string. However, the foresight depth 1 agent does not see the value of this first action over one which gets us more As and thus closer to the target string.
But what if we grant our agent more computational power? Foresight depth 2, in this case, does not result in a change to the situation.
A moment’s thought reveals that there is a deterministic strategy (sequence of actions) which, in 4 steps, will always succeed: {{AAAB},{AAA},{AAA},{AAA}}. This sequence avoids the ambiguity of application of AAAB, which we need to apply to get a B into the string. However, the foresight depth 1 agent does not see the value of this first action over one which gets us more As and thus closer to the target string.
But what if we grant our agent more computational power? Foresight depth 2, in this case, does not result in a change to the situation.
Multiway sequence graph of the agent with foresight depth 2:
Out[]=
But when we give it foresight depth 3, something different occurs.
Multiway sequence graph of the agent with foresight depth 3:
Here, the first choice is still not optimal, but from the state AAA, a foresight depth 3 agent can “see” the optimal subsequent strategy. One can work out that the overall winning probability in this situation for the foresight depth 3 agent is 2/3.
Finally, with foresight depth 4, the agent can simply see the optimal strategy from the start and wins with probability 1.
Finally, with foresight depth 4, the agent can simply see the optimal strategy from the start and wins with probability 1.
Multiway sequence graph of the agent with foresight depth 4:
One could take this further and build even more sophisticated decision makers.
In the view I’m advocating, understanding which kinds of strategies are optimal is crucial to understanding how there can be a notion of physics relative to an agent. While in the simple case above there was a deterministic strategy, what we might be after in extracting an analogy of a physical theory is a strategy that is very generally applicable across a number of contexts. It would be interesting to see if something like this can be extracted in an extremely simple setting.
Another potential bridge to physics could proceed by interpreting the decision-making heuristic as a kind of energy minimization.
In the view I’m advocating, understanding which kinds of strategies are optimal is crucial to understanding how there can be a notion of physics relative to an agent. While in the simple case above there was a deterministic strategy, what we might be after in extracting an analogy of a physical theory is a strategy that is very generally applicable across a number of contexts. It would be interesting to see if something like this can be extracted in an extremely simple setting.
Another potential bridge to physics could proceed by interpreting the decision-making heuristic as a kind of energy minimization.
Two agents
Two agents
One way to extend the above to multiple agents is to now consider the multiway system to represent all non-decision parts of all agents and systems. For two agents there will be two decision processes and a single multiway system. Whether we interpret this to be two agents purely interacting with each other or each of them interacting with a physical system is irrelevant (when we communicate there is always a medium). We still bracket the decision process of each agent, but state updates of the system affect everyone.
In the following I model a two agent interaction where the two agents sequentially make decisions in a fixed order. One turn is a sequence of two rule applications. In this way, one obtains a multiagent chain. There are certainly other ways one could choose to model multiple interacting agents.
Another change I have made from before is to introduce a different kind of bound to the capabilities of my agents. Here, the idea is that the agent can only “see” a certain portion of the state string. I illustrate this with two copies of the balance agent before, but where one only sees the left half of the state and the other only sees the right half (we take the ceiling if the string has odd length). We assume the left agent always acts first.
In the following I model a two agent interaction where the two agents sequentially make decisions in a fixed order. One turn is a sequence of two rule applications. In this way, one obtains a multiagent chain. There are certainly other ways one could choose to model multiple interacting agents.
Another change I have made from before is to introduce a different kind of bound to the capabilities of my agents. Here, the idea is that the agent can only “see” a certain portion of the state string. I illustrate this with two copies of the balance agent before, but where one only sees the left half of the state and the other only sees the right half (we take the ceiling if the string has odd length). We assume the left agent always acts first.
10 turns for two balance agents with initial string AB, the first restricted to the left half of the string and the second restricted to the right half. Orange edges indicate the transition appeared one or more times:
Note that in the above, one never sees the transition ABAA or BABB. Why? Consider a single turn starting at AB. The left agent acts first and, seeing just the left string A, applies AB which transforms the state to BB. The right agent then sees B and therefore applies BA. This rule matches either the first or second character of the string and hence we either end up at BA or back where we started at AB. Repeating this, but starting at BA, allows us to see how all edges can be traversed except for ABAA and BABB given our starting position.
Let’s look at the bigger initial string ABAB. With enough turns, every 4 character string is visited.
Let’s look at the bigger initial string ABAB. With enough turns, every 4 character string is visited.
50 turns for two balance agents with initial string AB where the first is restricted to the left half of the string and the second is restricted to the right half:
However with a 5 character string, this is no longer the case.
500 turns for two balance agents with initial string AAAAB where the first is restricted to the left half of the string and the second is restricted to the right half:
One can work out reasons for why some vertices are never visited similar to the argument for why some edges are never traversed. For example, BBBBB is never visited because, to get there, one would have to come from a state with 1 A and 4 Bs and apply the rule AB. Neither of the balance agents would ever see a majority of As in such a state and, consequently, would never apply this rule.
More to do
More to do
These illustrations don’t even scratch the surface of what one might wish to investigate for string rewriting agents. Further variations on the theme:
◼
Larger alphabet and more complicated strings
◼
More rules to choose between and more examples of decision processes
◼
More than two agents and different decision rules -- perhaps agents playing games
And, of course, the original motivation was to connect to physics. In this direction, I think it would be important to think about is how some decision processes might be especially apt for navigating the full multiway system of all possible applications of all possible choices across a range of initial states.
String rewriting is only one kind of computational model on which we might try to build an agent notion. For certain analogies, it’s certainly not the most natural. For example, one may wish for a robust notion of the “locality”. The agents above who could only see half the state is a simple version, but more generally one might wish for an index that can move around which defines what an agent sees and, furthermore, for their actions to only have a local consequence. This motivation sounds a lot more like a Turing machine, which we turn to in the next section.
String rewriting is only one kind of computational model on which we might try to build an agent notion. For certain analogies, it’s certainly not the most natural. For example, one may wish for a robust notion of the “locality”. The agents above who could only see half the state is a simple version, but more generally one might wish for an index that can move around which defines what an agent sees and, furthermore, for their actions to only have a local consequence. This motivation sounds a lot more like a Turing machine, which we turn to in the next section.
Turing Machine Agents
Turing Machine Agents
A Turing machine is a model of computation consisting of a tape and a moving head. The tape consists of a possibly infinite list of a finite set of symbols, which we refer to as colors. The head has a number of possible states and at any given moment sits at some index along the tape. A step of computation is given by a rule which provides replacement rules for the current tape index’s color, a new state for the head, and an offset for how the tape moves.
Model
Model
Once again, the goal is to endow this computational model with some notion of agency. Turing machines immediately give us a nice notion of locality -- the position of the head. Here again, a choice should be some mechanism to choose which rule to apply from some set of possibilities. The additional aspect of agent modeling I wish to involve here is the idea that the agent makes their decision based on local information. In this case, I have chosen that local information to be a neighborhood of tape values around the current head position.
Conceptually, this defines a sort of compound Turing model where the state of the head simply is a list of tape values in a window around the current head index. I say this is a compound model because in a single step of an ordinary Turing machine, the head state update cannot depend on information from elsewhere on the tape. Each step of this machine would therefore require running another subroutine to read the surrounding tape values. The rough analogy here is that the head state is a perception of the agent. Varying the size of the perceptual window allows us to work with agents who are more or less computationally bounded in this way.
Now we can put a decision rule on top of this model. We restrict attention to two color Turing tapes -- just white (0) and black (1). For illustrative purposes, I have chosen a very simple pair of decision makers to work with going forward. I call them the eraser and the builder. The eraser wants to erase. If the current tape position is a 1, it changes it to 0 and then steps in the direction in which it sees the most 1s. If it sees the same number of 1s on each side it always steps to the right unless it doesn’t see any 1s at all, in which case it doesn’t move. The builder is the exact opposite, sending 0s to 1s. When there is a tie, the builder always steps left unless it doesn’t see any 0s at all, in which case it doesn’t move. We assume periodic tape boundary conditions and that the window size is odd so that it can see the same amount in either direction.
Conceptually, this defines a sort of compound Turing model where the state of the head simply is a list of tape values in a window around the current head index. I say this is a compound model because in a single step of an ordinary Turing machine, the head state update cannot depend on information from elsewhere on the tape. Each step of this machine would therefore require running another subroutine to read the surrounding tape values. The rough analogy here is that the head state is a perception of the agent. Varying the size of the perceptual window allows us to work with agents who are more or less computationally bounded in this way.
Now we can put a decision rule on top of this model. We restrict attention to two color Turing tapes -- just white (0) and black (1). For illustrative purposes, I have chosen a very simple pair of decision makers to work with going forward. I call them the eraser and the builder. The eraser wants to erase. If the current tape position is a 1, it changes it to 0 and then steps in the direction in which it sees the most 1s. If it sees the same number of 1s on each side it always steps to the right unless it doesn’t see any 1s at all, in which case it doesn’t move. The builder is the exact opposite, sending 0s to 1s. When there is a tie, the builder always steps left unless it doesn’t see any 0s at all, in which case it doesn’t move. We assume periodic tape boundary conditions and that the window size is odd so that it can see the same amount in either direction.
75 steps of the eraser on a random 50-element input tape for three different perceptual windows of size 3, 11, and 25 highlighted in yellow:
75 steps of the builder on a random 50-element input tape for three different perceptual windows of size 3, 11, and 25 highlighted in red:
Two agents
Two agents
What if we put the eraser and the builder on the same tape? Here we adopt a different convention for interaction than with the string rewriting agents. Rather than a turn being two updates, we consider a single interaction step to involve both agents’ rule applications in a fixed order. So a single interaction goes like this: first the eraser makes a choice and the tape changes, then the builder makes a choice based on this new tape, and the tape changes again. Finally, both agents update their head state. One step then consists of a transformation from the original tape and head states to the final tape and final head states. Although described sequentially, I do not consider the intermediate tape value to be “perceived” by either agent.
When both are together, evolution doesn’t necessarily reach a fixed point as the following examples of the eraser-builder pair show on random inputs.
When both are together, evolution doesn’t necessarily reach a fixed point as the following examples of the eraser-builder pair show on random inputs.
Three different random 50-element inputs for the eraser-builder pair starting at positions 15 and 35 and each with window size 11:
A 200-element input where eraser begins at site 15, the builder starts at site 35, and both have window size 11:
And, of course, we can consider setups with multiple erasers and builders.
4 erasers and 4 builders, all with window size 31, on a random 500-element input tape:
Perception graphs
Perception graphs
Window size 3 transitions that are possible for a single eraser:
If we consider a larger window, the graph becomes more complicated as there are more things it can perceive.
Window size 5 transitions that are possible for a single eraser:
The case of a single eraser agent defines a path through the appropriate one of these directed perception graphs.
But now what happens to one agent’s perceptions when there is another agent present? If it is outside of their window, it has no effect. But if it is inside their perceptual window, the other agent’s action can result in a perception transition that cannot occur with the first agent alone. We can generate all possibilities of this extended transition space as well, given the definitions of each agent. For the 3-window eraser and builder we get the following.
But now what happens to one agent’s perceptions when there is another agent present? If it is outside of their window, it has no effect. But if it is inside their perceptual window, the other agent’s action can result in a perception transition that cannot occur with the first agent alone. We can generate all possibilities of this extended transition space as well, given the definitions of each agent. For the 3-window eraser and builder we get the following.
The possible perception graph for the 3-window eraser-builder pair. The subgraph corresponding to the eraser alone is in orange:
And for the 5-window pair.
The possible perception graph for the 5-window eraser-builder pair. The subgraph corresponding to the eraser alone is in orange:
If a sequence of states leaves the orange transitions, it is a signature that something else is going on other than the agent alone.
It might be interesting to study composing agents in this way more generally -- how does the perception graphs of two agents alone relate to the perception graphs of each when they can interact? Another question is whether a given perception graph is compatible with another agent definition.
Finally, we could make more sophisticated agents like the string rewriting agents with foresight or introduce additional notions of computational boundedness such as by only allowing coarse-grained access to the values in the window with which to make a decision.
It might be interesting to study composing agents in this way more generally -- how does the perception graphs of two agents alone relate to the perception graphs of each when they can interact? Another question is whether a given perception graph is compatible with another agent definition.
Finally, we could make more sophisticated agents like the string rewriting agents with foresight or introduce additional notions of computational boundedness such as by only allowing coarse-grained access to the values in the window with which to make a decision.
Turing agent on cellular automaton tape
Turing agent on cellular automaton tape
Instead of only considering local decision making rules, we might consider a local decision maker amid a global rule system. A straightforward way to model this is to have the tape evolve one step according to the rules of a cellular automata before each decision of the Turing machine agent. Even restricting attention to the eraser agent and elementary cellular automata produces interesting patterns on random inputs.
Eraser agent combined with 6 different cellular automata rules on a fixed random 50-element input. The top row is the pure automata and the bottom row is with the eraser agent starting at position 25:
Concluding Remarks
Concluding Remarks
In this essay, I proposed two approaches to modeling very simple notions of agency within computational systems. The first proposal is built on top of string rewriting systems and the second on top of Turing machines. In each case, I briefly noted some phenomena that can appear. These choices of computational systems allowed for straightforward expression of some natural aspects of agency. String rewriting explores a symbolic and structural perspective via observer paths, choice, and foresight. The Turing model, meanwhile, allows for a native expression of locality, making the agents feel more embedded and “physical”.
While simple models of agency on top of elementary computational systems are interesting in their own right, our original motivation came from physics, inspired by the idea that physical theories are, unless somehow indicated otherwise, essentially relative to the observers who use them. Recognizing this dependence advances our understanding of the origin of many physical theories. I have argued that we should be able to glean even more by explicitly treating observers as active decision-makers, that is, as agents. In other words, I believe our physics is not only shaped by our computational boundedness and belief in our persistence through time, but also by our experience of choosing among alternatives at critical junctures.
The next step is to see where similar notions of agency might be brought to existing efforts to understand physics from a computation-first perspective, such as what is being pursued at the Wolfram Institute. There, hypergraph rewriting systems appear to be particularly promising computational systems for reproducing aspects of physics. An immediate question in my mind is whether adding an appropriate agential structure to this model could be helpful for understanding why it is that an observer of a certain character should use something analogous to quantum theory when making decisions.
Perhaps in parallel, it would be interesting to try to articulate a simplest notion of a computational agent. Specifically, what are the most basic capabilities that must be in place for us to consider some system an agent? As I noted in the introduction, one would hope that the notions of agent that are relevant to theories we think of as “physics” are quite simple. But how simple can they be? If we systemize them appropriately, we might be able to address this.
There is not much to conclude, as the outlook is wide open -- I illustrated a few things one might do, but there are many others as well. I’m excited to see what will come of this general direction.
While simple models of agency on top of elementary computational systems are interesting in their own right, our original motivation came from physics, inspired by the idea that physical theories are, unless somehow indicated otherwise, essentially relative to the observers who use them. Recognizing this dependence advances our understanding of the origin of many physical theories. I have argued that we should be able to glean even more by explicitly treating observers as active decision-makers, that is, as agents. In other words, I believe our physics is not only shaped by our computational boundedness and belief in our persistence through time, but also by our experience of choosing among alternatives at critical junctures.
The next step is to see where similar notions of agency might be brought to existing efforts to understand physics from a computation-first perspective, such as what is being pursued at the Wolfram Institute. There, hypergraph rewriting systems appear to be particularly promising computational systems for reproducing aspects of physics. An immediate question in my mind is whether adding an appropriate agential structure to this model could be helpful for understanding why it is that an observer of a certain character should use something analogous to quantum theory when making decisions.
Perhaps in parallel, it would be interesting to try to articulate a simplest notion of a computational agent. Specifically, what are the most basic capabilities that must be in place for us to consider some system an agent? As I noted in the introduction, one would hope that the notions of agent that are relevant to theories we think of as “physics” are quite simple. But how simple can they be? If we systemize them appropriately, we might be able to address this.
There is not much to conclude, as the outlook is wide open -- I illustrated a few things one might do, but there are many others as well. I’m excited to see what will come of this general direction.
Acknowledgments
Acknowledgments
I thank Nik Murzin and Hatem Elshatlawy for helpful ideas and feedback, Xerxes Ariswalla for interesting discussions, and Stephen Wolfram for some of the project direction and focus.
References
References
1
.J. A. Wheeler (1983), “Law without Law,” Quantum Theory and Measurement (pp. 182–213). Princeton University Press.
2
.S. Wolfram (2023), The Second Law: Resolving the Mystery of the Second Law of Thermodynamics. Wolfram Media, Inc.
3
.R. W. Spekkens (2007), “Evidence for the epistemic view of quantum states: A toy theory,” Physical Review A, 75, 032110.
4
.C. A. Fuchs & R. Schack (2013), “Quantum-Bayesian coherence,” Reviews of Modern Physics, 85, 1693.
5
.S. Wolfram (2023), “Observer Theory,” Stephen Wolfram Writings. writings.stephenwolfram.com/2023/12/observer-theory.
6
.Cite This Notebook
Cite This Notebook
Towards agency in computational systems
by John B. DeBrota
Wolfram Community, 9 Jul 2025
community.wolfram.com/groups/-/m/t/3496072
by John B. DeBrota
Wolfram Community, 9 Jul 2025
community.wolfram.com/groups/-/m/t/3496072