오토마타
오토마타는 디지털 컴퓨터의 추상적 모델이다.
그래서인지 입력 장치, 제어 장치, 출력 장치, 저장 장치
로 이루어져 있다.
추가로, 일시 기억 장치(무한개의 기억소자 cell로 이루어짐), 제어 장치(유한 개의 내부 상태 중 하나의 상태를 항상 유지)도 있다
오토마타의 분류
기능적인 측면 : 인식기(accepter)와 변환기(transducer) 구분
인식기의 경우 입력된 결과에 대해 오토마타는 인식/기각(accept/reject) 등을 표시하는 이진 기호를 출력한다
- 언어 변환기는 주어진 입력에 대응하는 새로운 문자열을 출력한다
- 변환기에는 상태에 따른 출력을 내는 Moore 기계와 전이에 따른 출력을 내는 Mealy 기계 등이 있다.
결정적 오토마타 VS 비결정적 오토마타 구분
결정적/비결정적 오토마타를 사용하는 이유는 상태 수를 줄임으로써 인식기를 만들기 위해서이다.
비결정적 오토마타를 만들고, 결정적 오토마타로 변환하며, 점점 상태 수를 줄여 인식기를 만다는거죠
- 결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 유일합니다
- 비결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 두 개 이상인 것을 말한다
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'Computer Science > 프로그래밍 언어론' 카테고리의 다른 글
NFA와 DFA (0) | 2023.05.28 |
---|---|
프로그래밍 언어론 - 식 (2) | 2023.05.25 |
프로그래밍 언어론 - 데이터 타입 (0) | 2023.05.23 |
EBNF (0) | 2023.05.22 |
구문 도표 (0) | 2023.05.22 |