Hierarchical systems of nested and distributed agency are not computational architectures that anyone in a traditional programming environment will probably ever encounter.
• But they arise naturally in robotics, where motors, sensors, and actuators, along with their associated computational elements, will, as agential building blocks, naturally distributed themselves across the robot’s construction. Locating themselves where they’re needed and used.
• But when dealing with such distributed computational systems, control will be instantiated as cooperative behaviors between the various agential blocks within the robot; ..not as top-down control programs emanating from some central processor element.
• In which case, programming takes on the form of writing dialogue for a never-ending story; ..as opposed to a source code listing of machine instructions to be executed.
• Now, when control arises out of cooperative behaviors between agential blocks, or between clusters of agential blocks, the more information each agential element has about the others, the more complicated the resultant cooperative behaviors can become. At a certain point, becoming sufficiently complex to reproduce the actions of a numerical control algorithm.
• In this way, programming for hierarchical nested and distributed systems seems more like game theory.
• As opposed to trying to formally model such systems in the Theory of Computation. Which becomes more like the proverbial forcing a square peg into a round hole.
• In game theory, there are such things as cooperative games. But even this is not sufficient to formally model such hierarchical systems.
• The disconnect happens, where in game theory there is the concept of a strategy and a reward function, with hierarchical nested and distributed systems such concepts don’t really work. There has to be something else.
• So, the fun begins.