Multinode model is the concept of using a single actor or a pair of actors for multiple situations where producing optimal actions is necessary. Those situations might relate to different entities that are either components of a system you develop, which choose optimal actions using the QSMM framework, or entities for which behavior is to be learned external to the system. Nodes of multinode model represent these entities. The special case of multinode model is a single-node model.
In multinode models used within the QSMM framework, there can exist maximum one node that possesses control at any moment in time. Possessing control means executing a subroutine associated with a node, which the node uses to produce actions. Such subroutine execution we call briefly node execution. A node can produce or choose actions either deterministically or stochastically. When using a stochastic physical process, such as interference of individual electrons, to produce random numbers used by the subroutine, the node will choose actions in a more or less literal sense. Otherwise, when a pseudorandom number generator is used, the choice of actions will be determined by information the node receives from the environment.
A node can call other nodes. When a node finishes execution, it returns control to a caller node or to the system if the system calls the node. Within the QSMM framework, the possibility exists for nodes to call each other recursively.
Every node of multinode model belongs to a particular class of nodes with common behavior. Since QSMM version 1.16, the only supported type of node classes is instruction class set. Instruction class sets are used to implement automatic synthesis of assembler programs consisting of instructions.
|• Principle of Operation|
|• Creating a Multinode Model|
|• Instruction Meta-class Definition|
|• Instruction Class Set Definition|
|• Creating Nodes|
|• Creating the Model Instance|
|• Incrementing Time and Spur|
|• Transferring Control Between Nodes|
|• Handling Instruction Invocation|
|• Setting Look-ahead Signals|
|• Setting Instruction Classes Weights|
|• Working with System and User Stacks|
|• Dumping a State Transition Matrix|
|• Dumping an Action Emission Matrix|
|• Controlling Random Behavior of a Multinode Model|
|• Associating Parameters with a Model|
|• Enumerating Entities|
|• Tracing Model Execution|
|• Error Handling for a Multinode Model|
|• Example of Working in Large-scale Mode|