In automata theory and sequential logic, a state-transition table is a table showing what state (or states in the case of a nondeterministic finite automaton) a finite-state machine will move to, based on the current state and other inputs. It is essentially a truth table in which the inputs include the current state along with other inputs, and the outputs include the next state along with other outputs. A state-transition table is one of many ways to specify a finite-state machine. Other ways include a state diagram. State-transition tables are sometimes one-dimensional tables, also called characteristic tables. They are much more like truth tables than their two-dimensional form. The single dimension indicates inputs, current states, next states and (optionally) outputs associated with the state transitions. {| class="wikitable" style="text-align: center;"
+ State-transition table(S: state, I: input, O: output) |
---|
! Input !! Current state !! Next state !! Output |
- |
I1 |
- |
I2 |
- |
... |
- |
In |
- |
I1 |
- |
I2 |
- |
... |
- |
In |
- |
... |
- |
I1 |
- |
I2 |
- |
... |
- |
In |
} |
State-transition tables are typically two-dimensional tables. There are two common ways for arranging them. |
In the first way, one of the dimensions indicates current states, while the other indicates inputs. The row/column intersections indicate next states and (optionally) outputs associated with the state transitions. |
{ |
+ State-transition table(S: state, I: input, O: output) |
! !! I1 !! I2 !! ... !! In |
- |
! S1 |
Si/Ox |
- |
! S2 |
Si′/Ox′ |
- |
! ... |
... |
- |
! Sm |
Si′′/Ox′′ |
} |
In the second way, one of the dimensions indicates current states, while the other indicates next states. |
José del Rocio Millán Ruiz, Ricardo Andres Chavarriaga Lozano, Bastien Orset
Martin Odersky, Aleksandar Prokopec, Fengyun Liu