Mesin finite-state
Model Matematika

Sesuai dengan klasifikasi umum, definisi formal berikut ditemukan.
FSM  deterministik atau akseptor FSM deterministik adalah kuintupel  (\Sigma ,S,s_{0},\delta ,F), di mana:
\Sigma  adalah yang digunakan sebagai alfabet masukan (himpunan simbol berhingga yang tidak kosong);
S adalah yang digunakan sebagai alfabet himpunan status tak-kosong berhingga;
s_{0} adalah yang digunakan sebagai alfabet state awal, elemen dari  S;
\delta  adalah yang digunakan sebagai alfabet fungsi transisi-state:  :  \delta :S\times \Sigma \rightarrow S (dalam robot berhingga non deterministik itu akan menjadi  \delta :S\times \Sigma \rightarrow {\mathcal {P}}(S), i.e.  \delta  akan mengembalikan satu set status);
F adalah yang digunakan sebagai alfabet himpunan state akhir, himpunan bagian (mungkin kosong) dari  S.
Untuk FSM deterministik dan non-deterministik, penggunaan  \delta  adalah fungsi parsial, yaitu <math>\delta(s, x)</math> tidak harus ditentukan untuk setiap kombinasi dari  s\in S dan  x\in \Sigma . Jika FSM  M dalam keadaan  s, simbol berikutnya adalah  x dan  \delta (s,x) tidak ditentukan, maka  M dapat mengumumkan kesalahan tersebut yaitu menolak input. Ini berguna dalam definisi mesin state umum, tetapi kurang berguna saat mengubah mesin. Beberapa algoritma dalam bentuk defaultnya mungkin memerlukan fungsi total.
FSM memiliki daya komputasi yang sama dengan mesin Turing yang dibatasi sedemikian rupa sehingga kepalanya hanya dapat melakukan operasi "baca", dan harus selalu bergerak dari kiri ke kanan. Artinya, setiap bahasa formal yang diterima oleh FSM diterima oleh jenis mesin Turing yang dibatasi, dan sebaliknya.
Transduser FSM adalah sextuple  (\Sigma ,\Gamma ,S,s_{0},\delta ,\omega ), dimana:
\Sigma  adalah yang digunakan sebagai alfabet masukan (himpunan simbol berhingga yang tidak kosong);
\Gamma  adalah yang digunakan sebagai alfabet keluaran (kumpulan simbol tak kosong yang terbatas);
S adalah yang digunakan sebagai himpunan status tak-kosong berhingga;
s_{0} adalah yang digunakan sebagai state awal, elemen dari  S;
\delta  adalah yang digunakan sebagai fungsi transisi-keadaan:  \delta :S\times \Sigma \rightarrow S;
\omega  adalah yang digunakan sebagai fungsi keluaran.
Jika fungsi keluaran bergantung dari status dan simbol masukan ( \omega :S\times \Sigma \rightarrow \Gamma ) definisi tersebut sesuai dengan model Mealy, dan jika dapat dimodelkan sebagai mesin Mealy. Jika fungsi dari keluaran hanya bergantung pada keadaan ( \omega :S\rightarrow \Gamma ) definisi tersebut sesuai dengan model Moore, dan dapat dimodelkan sebagai mesin Moore. FSM tanpa fungsi keluaran sama sekali dikenal sebagai semi-otomatis atau sistem sistem transisi.
Jika kita mengabaikan simbol dari keluaran pertama mesin Moore,  \omega (s_{0}), maka dari itu simbol tersebut dapat dengan mudah diubah menjadi mesin Mealy yang setara dengan keluaran dengan mengatur fungsi keluaran dari setiap transisi  yang Mealy (yaitu memberi label setiap tepi) dengan simbol keluaran yang diberikan dari negara tujuan Moore. Transformasi sebaliknya kurang mudah karena status mesin Mealy mungkin memiliki label keluaran yang berbeda pada transisi masuknya (tepi). Setiap status tersebut perlu dibagi dalam beberapa status mesin Moore, satu untuk setiap simbol keluaran insiden.