FSM은 '유한 상태 기계(Finite State Machine)'의 약자로, 특정한 입력에 따라 상태가 변화하는 계산 모델이다. FSM은 주로 컴퓨터 과학, 전자 공학 및 시스템 설계 분야에서 사용된다. 이 모델은 상태, 입력, 출력 및 전이 규칙의 네 가지 구성 요소로 이루어진다.
FSM은 두 가지 주요 유형으로 구분된다. 첫째, 비결정론적 유한 상태 기계(Nondeterministic Finite State Machine, NFSM)는 동일한 입력에서 여러 개의 가능한 전이가 존재할 수 있는 모델이다. 둘째, 결정론적 유한 상태 기계(Deterministic Finite State Machine, DFSM)는 각 상태에서 특정한 입력에 대해 오직 하나의 전이만을 가진다.
FSM은 상태 다이어그램이나 전이 테이블을 사용하여 시각적으로 표현할 수 있으며, 이러한 표현 방식은 상태 간의 전이를 쉽게 이해하고 분석할 수 있도록 해준다. FSM은 프로토콜, 데이터 처리, 디지털 회로 설계 등 다양한 애플리케이션에 적용된다.
FSM의 주요 장점 중 하나는 시스템의 복잡성을 관리하는 데 도움을 주는 것이다. 유한한 수의 상태를 통해 시스템의 동작을 명확히 정의할 수 있으며, 이로 인해 설계 및 디버깅 과정에서의 일관성을 제공한다. 또한, 알고리즘적 접근을 통해 그 동작이 예측 가능하므로, 시스템의 신뢰성을 높이는 데 기여할 수 있다.