M .task/taskchampion.sqlite3 A "Zettelkasten/Permanent Notes/20251223161108-andre-platzer.md" A "Zettelkasten/Permanent Notes/20251223162450-web-of-science.md" A "Zettelkasten/Permanent Notes/20251223162954-snowballing.md" A "Zettelkasten/Permanent Notes/20251223163648-deterministic-parity-automata.md" A "Zettelkasten/Permanent Notes/20251223165340-mealy-machines.md" A "Zettelkasten/Permanent Notes/20251223170627-finite-state-machines.md" A "Zettelkasten/Permanent Notes/20251223171835-moore-machines.md"
1.3 KiB
1.3 KiB
| id | title | type | created | modified | tags |
|---|---|---|---|---|---|
| 20251223165340 | Mealy Machines | permanent | 2025-12-23T21:53:40Z | 2025-12-23T22:38:18Z |
Mealy Machines
Mealy machines are a formalization of a system that has states drawn as nodes and transitions drawn from state to state.
From Wikipedia:
A mealy machine is a finite state machine whose
output values are determined by both its current state, and
the current inputs.
Mealy machines can also be defined as a six-tuple:
(S, S_0, \Sigma, \Lambda, T, G)
where
- S is the finite set of states
- S_0 is the start state
\Sigmais the input alphabet\Lambdais the output alphabetT : S \times \Sigma \rightarrow Sis the state transition functionG : S \times \Sigma \rightarrow \Lambdais the output function
Mealy machines have the advantage that they generally can produce smaller sized automata (aka less states). This is because transitions themselves in a Mealy machine are states in a Moore machine. The state of 'opening' in a Moore machine is the transition itself in a Mealy machine. Outputs aren't just based on state, so it isn't necesary to create a state to produce an output like a Moore machine. An output action can be created with the current state AND the input together.