Computer Science/프로그래밍 언어론

오토마타

Beomsu Koh 2023. 5. 23.

오토마타


오토마타는 디지털 컴퓨터의 추상적 모델이다.
그래서인지 입력 장치, 제어 장치, 출력 장치, 저장 장치로 이루어져 있다.
추가로, 일시 기억 장치(무한개의 기억소자 cell로 이루어짐), 제어 장치(유한 개의 내부 상태 중 하나의 상태를 항상 유지)도 있다

오토마타의 분류

기능적인 측면 : 인식기(accepter)와 변환기(transducer) 구분

인식기의 경우 입력된 결과에 대해 오토마타는 인식/기각(accept/reject) 등을 표시하는 이진 기호를 출력한다

  • 언어 변환기는 주어진 입력에 대응하는 새로운 문자열을 출력한다
  • 변환기에는 상태에 따른 출력을 내는 Moore 기계와 전이에 따른 출력을 내는 Mealy 기계 등이 있다.

결정적 오토마타 VS 비결정적 오토마타 구분

결정적/비결정적 오토마타를 사용하는 이유는 상태 수를 줄임으로써 인식기를 만들기 위해서이다.
비결정적 오토마타를 만들고, 결정적 오토마타로 변환하며, 점점 상태 수를 줄여 인식기를 만다는거죠

  • 결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 유일합니다
  • 비결정적 오토마타는 한 상태에서 하나의 입력을 받았을 때 다음 상태가 두 개 이상인 것을 말한다

부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>

'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

댓글