| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- gameplay tag
- C++
- photon fusion2
- stride
- listen server
- 유니티
- UI
- animation
- local prediction
- os
- gameplay ability system
- linear regression
- 보안
- 게임개발
- Replication
- unity
- Aegis
- widget
- Multiplay
- 언리얼엔진
- gas
- attribute
- CTF
- 언리얼 엔진
- 게임 개발
- gameplay effect
- rpc
- MAC
- ability task
- Unreal Engine
- Today
- Total
Replicated
유한 오토마타 - 상태전이도 & 형식적 표현 본문
오토마타
- 디지털 컴퓨터의 추상적 모델
- 입력 자료를 읽는 기능, 출력 기능, 무한 개의 기억 소자(cell)로 이루어진 일시 기억 장치, 유한 개의 내부 상태 중 하나를 제어하는 제어 장치(control)로 구성
기능적인 측면에서 인식기(accepter)와 변환기(tranducer)로 구분
- 인식기의 경우 입력된 결과에 대해 오토마타는 인식/기각(accept/reject) 등을 표시하는 이진 기호를 출력
- 언어 변환기는 주어진 입력에 대응하는 새로운 문자열을 출력
- 변환기에는 상태에 따른 출력을 내는 Moore 기계와 전이에 따른 출력을 내는 Mealy 기계 등
결정적 오토마타(Determinisitic automata)와 비결정적 오토마타(non-deterministic automata)로 구분
- 결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 유일
- 비결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 두 개 이상
유한 오토마타
어떤 알파벳 Σ로부터 만들어지는 문자열의 특별한 것들을 받아들이는 시스템의 수학적 모델, 그 시스템에서 변화할 수 있는 상태가 유한 개인 것
- 컴퓨터의 여러 분야에서 널리 사용.. 플립 플롭, 형식 연어 연구, 컴파일러 등
- 컴파일러 중 어휘분석기 -> 유한 오토마타의 대표적인 것
표현 방법
- 상태 전이도(state-transition diagram)와 같이 비형식적으로 표현하는 방법
- 형식적으로 표현 : 5가지 구성 원소들로 표현
상태전이도
- 오토마타의 각 상태(state)를 노드(node)로 표현
- 이동함수 δ(q,a) = p에 대해서는 상태 q에서 p로 가는 라벨이 a인 간선으로 표기
- 최종 상태들은 이중원으로 나타내고, 시작 상태는 시작 간선으로 표시하는 유향 그래프
ex.
(a + b)*aab를 인식하는 유한 오토마타를 상태 전이도로 표현

예시.. aabb를 인식할 수 있는가?
시작 상태 q0에서 a 입력 받으면 q0 유지
다시 a받으면 q1 전이
b 받아서 q2, b받아서 q3로 전이
-> 주어진 유한 오토마타에 의해 인식됨
유한 오토마타의 형식적 정의
- 유한 오토마타를 형식적으로 표현하면 5 튜플로 구성
- 유한 오토마타를 M이라 하면
M =(Q, Σ, δ, q0, F)
- Q : 상태들의 유한 집합
- Σ : 입력 기호들의 유한 집합
- q0 : 시작 상태로, q0 ∈ Q
- F : 종결 상태들의 유한 집합, F ⊆ Q
- δ : 전이 함수(transition function)로, Q x Σ -> 2^Q (Q의 멱집합.. 유한 오토마타가 0, 1 기호 쓰니까 2의 Q제곱)
* 즉 δ(q, a) = {P1, P2, ..., Pn} 단, {P1, P2, ···, Pn} ⊆ Q
(a + b)*aab를 인식하는 유한 오토마타를 형식적으로 표현
유한 오토마타를 M이라 하면
M =(Q, Σ, δ, q0, F)
단,
Q = {q0, q1, q2, q3}
Σ = {a, b}
δ:
δ(q0, a) = {q0, q1}
δ(q0, b) = {q0}
δ(q1, a) = {q2}
δ(q2, a) = {q3}
q0 = q0
F = {q3}
이 경우 간단히 표현 되지만,
전이 함수는 매우 길어질 수 있음-> 상태전이표(state transition table)- 유한 오토마타의 상태 전이를 행렬로 나타낸 것- 행: 상태 집합- 열: 입력 기호- 행과 열이 교차하는 위치에 다음 상태를 기록- 상태와 입력에 핻강하는 위치에 값이 없다면 그 위치에 ø을 넣음
첫번째 기호가 영문 소문자, 두번째 기호부터는 영문 소문자나 숫자이며 길이에 제한이 없는 유한 오토마타 상태전이표
| δ | a | b | c...z | 0 | 1 | 2...9 |
| q0 | q1 | q1 | q1...q1 | ø | ø | ø... ø |
| q1 | q1 | q1 | q1...q1 | q1 | q1 | q1 |
상태 전이 함수의 형태에 따라 결정적 유한 오토마타(Deterministic Finite Automata, DFA)와
비결정적 유한 오토마타(Nondeterministic Finite Automata, NFA)로 구분
'학부 > 오토마타와 컴파일러' 카테고리의 다른 글
| NFA의 DFA 변환 및 ε-전이 (0) | 2025.10.11 |
|---|---|
| 결정적 유한 오토마타(DFA), 비결정적 유한 오토마타(NFA) (0) | 2025.10.11 |
| 문법의 표기법 2 (문법 도표, BNF, EBNF) (0) | 2025.10.10 |
| 문법의 표기법 1 (정규 표현) (0) | 2025.10.09 |
| 형식 문법 (0) | 2025.10.08 |