En finite state machine (FSM) er en beregningsmodell som kan brukes til å representere ulike systemer. Den består av et begrenset antall tilstander og et sett med overganger som definerer betingelsene som systemet kan endre fra en tilstand til en annen. Når en FSM er i en bestemt tilstand, kan den enten forbli i den tilstanden eller gå over til en annen tilstand basert på input den mottar.
Her er et enkelt eksempel for å illustrere hvordan en endelig tilstandsmaskin fungerer. Tenk på en lysbryter som kan være i to tilstander:PÅ og AV. Når bryteren er i PÅ-tilstand, slås lyset på. Når bryteren er i AV-tilstand, er lyset slått av. Overgangene mellom disse to tilstandene bestemmes av inngangen, som er handlingen ved å snu bryteren. Når bryteren snus, endres FSM fra en tilstand til en annen.
Finite state-maskiner kan brukes til å modellere ulike systemer, for eksempel trafikklys, salgsautomater og til og med enkle dataprogrammer. De er nyttige for systemer som har et begrenset antall tilstander og et veldefinert sett med overganger.