Agents are primarily composed of two embedded sub-agents that work in tandem: the manager agent, who’s responsible for decision-making and reinforcement, and the employee agent, who is in compliance with the manager, performing various tasks when they are delegated, and reporting back to the manager with information that is processed and stored, so that the system as a team may learn and evolve through experience.
Interactions occur between manager and employee through a set of two main communication lines. The first, indirect method of communication uses a limited stream of data called a memory buffer, which circulates information from employee to manager and back to employee. The information sent through the buffer is transmitted between chained storage units called ports. A port receives data at each time step and passes that data to the following port at the next time step. Therefore the elapsed time between a message being sent and being received is equal to the number of ports that make up that particular communication line. The number of ports is also equivalent to the total amount of information that can be stored in the line at any given time.
The second, more direct method of interaction occurs on a private two-way communication line that allows the manager and employee to send and receive messages back and forth immediately. Messages come in the form of requests and commands in regard to specific bits of knowledge that either may have. The manager sends commands to the employee to relay certain feedback through buffer, and the employee requests the same from the manager. Messages that are exclusively sent from the manager to employee are those of performance, where the fitness measurement of an employee has direct influence with regard to changing its behavior through positive and negative reinforcement.
Information is initially perceived at the lowest level (i.e. employee agent) as it streams into the system from external sensors in the environment. Perception occurs on a two-dimensional grid of receptors, each receiving a signal from the world and allowing it to stream into the system as sensory data. Once observed, the receptive field is passed through a series of operators which map the detection of certain features or patterns onto a lower-dimensional space while maintaining the spatial relations between them.
When a manager sends commands to employees, the messages include references to specific operators that the agent performs over its input, as well as a binary value indicating whether or not the output of said operator should be sent through the buffer. In other words, the manager has control over a filter, which blocks certain information from traveling through the buffer, while making it a requirement that other bits of information are definitely sent.
The manager receives information from the buffer through a window of observation that allows a subset of consecutive ports to be accessed by the manager at any given time. This window is similar to bandwidth, in that it represents a temporal constraint on the available information to a signal processing system. The manager takes the data as input and passes it through a sequence of operators, which is identical to the employee’s perceptual system, except for the fact that the manager’s set of operators are more complex, and in greater abundance than the limited scope of the employee’s.
Pattern-recognizers are a family of operators that produce excitatory signals when a given pattern is detected. Provided an adequate amount of detection-stimuli, the manager forms a descriptive set from the activity produced, where a non-negative value is assigned to a collection of patterns indicating the magnitude of the signals they produced. This in turn creates a new pattern-recognizer which takes input from lower-level pattern-recognizers and results in a more abstract representation of knowledge. The arbitrary growth of successful pattern-recognition hierarchies allow greater and more abstract systems of knowledge through modeling concepts that are not tied to specific modalities, but rather span across all domains of information.
Detected patterns are placed into the buffer stream, and the components of the pattern that lead to its recognition are removed. This creates a void in the buffer which is simply a sequence of consecutive null values being passed from port-to-port. The detected pattern is placed in the middle of this void, effectively removing any noise from occurring near the time that the pattern is received, making it more likely that the pattern is successfully transmitted from sender to receiver.