Theory of Computation(계산 이론, 형식 언어론, 오토마타)
결론 : 컴퓨터(인간)가 문제를 푸는 방법을 다룬다. 하지만, 컴퓨터(인간)가 문제를 푸는 방법은 상당히 복잡하므로 다양한 모델들을 사용한다.
Abstract Model(추상화 모델? 요약화 모델!)
- Abstract Model를 "추상화" 모델이라 부르는 것은 별로 좋지 않은데, Abstract Model을 나타내는 데 부적절하기 때문. 요약화 모델이라고 부르는 것이 훨씬 나음.
- 요약화란 많은 정보들 사이에서 중요한 정보(내가 원하는 정보)들만 추려서 나타내는 것을 말함. 문제를 푸는 방법이 상당히 복잡하므로 중요한 정보들만 추려서 간단하게 나타내는 것!
이외에도 다양한 모델이 있으며, 차차 배워갈 것임
- Finite Automata : 디지털 회로 설계, 정규표현식 검색 등
- Pushdown Automata : 컴파일러, 프로그램 분석, 언어학 등
- Turing machine : 현재 컴퓨터의 모델
- ...
생각하는 능력, 나 자체를 깔끔하게 명료하게 표현하는 방법, 문제를 푸는 방법, 문제를 풀지 못했을 때 생겨나는 일들을 아는 것 등이 교육 목적이다.