A multiway system is a kind of substitution system in which multiple states are permitted at any stage. This accommodates rule systems in which there is more than one possible way to perform an update.
A simple example is a string substitution system. For instance, take the rules and the initial
condition
. There are two choices for how to proceed. Applying
the first rule yields the evolution
, while applying the
second rule yields the evolution
. So at the first
step, there is a single state (
), at the second step there are two states
, and at the third step there is a single state
. At step
, the states have been reached
by exactly
substitutions from the initial state. The state
has no applicable rule, so that evolution
terminates rather than contributing a state to the next step.
A path through a multiway system arising from a choice of which substitutions to make is called an evolution. Typically, a multiway system
will have a large number of possible evolutions. For example, consider strings
of s
and
s
with the rule
. Then most strings
will have more than one occurrence of the substring
, and each occurrence leads down another path
in the multiway system.