FSM

2015. 5. 28. 03:05프로그래밍/지식창고

728x90
728x90

FSM이란?

위키백과

유한 상태 기계(finite-state machine, FSM) 또는 유한 오토마톤(finite automaton, FA; 복수형: 유한 오토마타 finite automata)는 컴퓨터 프로그램과 전자 논리 회로를 설계하는데에 쓰이는 수학적 모델이다. 간단히 상태 기계라고 부르기도 한다. 유한 상태 기계는 유한한 개수의 상태를 가질 수 있는 오토마타, 즉 추상 기계라고 할 수 있다. 이러한 기계는 한 번에 오로지 하나의 상태만을 가지게 되며, 현재 상태(Current State)란 임의의 주어진 시간의 상태를 칭한다. 이러한 기계는 어떠한 사건(Event)에 의해 한 상태에서 다른 상태로 변화할 수 있으며, 이를 전이(Transition)이라 한다. 특정한 유한 오토마톤은 현재 상태로부터 가능한 전이 상태와, 이러한 전이를 유발하는 조건들의 집합으로서 정의된다.




정의

시작 상태(Start State)는 유한 오토마타가 입력값을 처리하기 전의 상태를 의미한다.

받아들여지는 상태(Accept States 또는 Fianl States)는 유한 오토마다가 모든 입력을 처리했을 때의

상태가 받아들여질 경우 이 상태 집합을 의미한다.


용어

상태란 전이를 시작하기 위해 대기하고 있는 시스템의 행동적인 노드를 의미한다.

전이란 어떤 조건이 만족되거나 이벤트가 발생했을 시 수행되는 일련의 동작을 의미한다.


사용 목적

실행 시점에서 현재 상태에 기반하여 객체의 코드 일부를 선택적으로 수행하여 객체의 행동을 제어할 수 있다.


특징

유한한 개수의 상태를 가진다. 외부로부터 입력을 받아들인다. 

시간의 흐름에 따라 자신의 상태를 변화시킬 수 있다.

외부에서 입력받을 시 특정한 규칙에 따라 자신의 상태를 변화시킬 수 있다.


장점

다른 AI 기법들에 비해 구현이 쉽고 오류 수정이 용이하다.

성능이 뛰어나며 직관적이다.


단점

구조가 단순하여 행동 예측이 쉽다.


728x90
반응형