En finite state machine (FSM) er en beregningsmodel, der kan bruges til at repræsentere forskellige systemer. Det består af et begrænset antal tilstande og et sæt overgange, der definerer de betingelser, hvorunder systemet kan skifte fra en tilstand til en anden. Når en FSM er i en bestemt tilstand, kan den enten forblive i den tilstand eller gå over til en anden tilstand baseret på det input, den modtager.
Her er et simpelt eksempel for at illustrere, hvordan en finite state-maskine fungerer. Overvej en lyskontakt, der kan være i to tilstande:ON og OFF. Når kontakten er i ON-tilstand, tændes lyset. Når kontakten er i OFF-tilstand, er lyset slukket. Overgangene mellem disse to tilstande bestemmes af inputtet, som er handlingen ved at vende kontakten. Når kontakten vendes, skifter FSM fra den ene tilstand til den anden.
Finite state-maskiner kan bruges til at modellere forskellige systemer, såsom trafiklys, salgsautomater og endda simple computerprogrammer. De er nyttige til systemer, der har et begrænset antal tilstande og et veldefineret sæt af overgange.