Cyfinity의 주저리주저리

cyfinity.egloos.com

포토로그


Banner


컴퓨터 기초 - 전자계산기 공부한것

아래의 글은 제가 학부생 때 동아리원 프로그래밍 교육을 위해 작성하였던 글입니다.

아무래도 물리학과생이다보니 비유가 물리학과스럽네요.

틀린 부분은 지적 부탁드립니다.

---------------------------------------------------------------------------------------------

1. 전자계산기


1.1 튜링 기계(Turing machine)


튜링 기계는 1936년에 앨런 튜링(Alan Mathison Turing) 이 소개한 개념이다. 어떠한 특정 기계를 의미하는 것이라기보다는 튜링이 정한 규칙을 따르는 모든 기계를 통틀어 일컫는 말이다.

튜링은 수학자의 뇌를 하나의 기계로 간주하였으며, 따라서 수학 문제를 푸는 수학자의 행동이 무엇이건 그것이 곧 기계화된 동작들로 표시될 수 있다고 생각하였다. 튜링이 최종적으로 고안한 것은 입력, 프로그램, 출력의 세 구성 요소로 이루어진 기계였다. 이 세 구성 요소는 각각 수학에서의 공리, 추론, 정리와 일대일 대응을 이룬다. 수학에서는 이러한 세 구성 요소로 이루어진 것을 ‘알고리즘’이라고 부르며, 따라서 튜링 기계는 곧 알고리즘이다.


(출처 : http://www.aistudy.com)


위 그림은 튜링 기계를 간단하게 그린 것이다. 기계는 긴 선형의 테이프 위에 위치하며, 왼쪽, 오른쪽으로 한 칸씩 이동할 수 있게 되어 있다. 또한 현재상태와 읽은 데이터에 대해 어떻게 행동하라고 정의되어진 프로그램이 입력되면 그대로 동작한다. 튜링 기계가 어떻게 수학 문제를 해결하는지에 관해서는 다른 많은 좋은 자료들이 있으니 찾아보고 참고하기를 바란다. 중요한 것은 이런 단순한 기계가 복잡한 수학 문제를 풀 수 있다는 것을 알아두는 것이다.

현재 존재하는 모든 컴퓨터의 CPU, 즉 중앙처리장치는 튜링이 고안한 방식보다 훨씬 진보한 방식으로 연산을 수행한다. 그러나 이것은 성능을 높이기 위한 여러 최적화가 적용된 것이고, 수학적으로 이 모든 장치들은 튜링 기계와 동일하다. 따라서 나중에 CPU의 동작원리나 어셈블리어(기계어를 영어에 1:1 대응시킨 언어)를 공부하고 싶은 사람은 튜링 기계의 원리에 대해 공부해 두면 좋을 것이다.


1.2 처치-튜링 명제


처치-튜링 명제는 알론조 처치(Alonzo Church), 앨런 튜링에 의해 제창된 ‘모든 효율적인 계산이나 알고리즘은 튜링 기계가 계산할 수 있다’라는 명제이다. ‘효율적인 계산’이란 말은 우리가 직관적으로 ‘알고리즘’이라고 생각하는 방법에 의해 계산될 수 있는 계산이라는 뜻을 지닌다. 그러나 모든 계산에 대해(우리가 생각하지 못하는, 미래에 발견될 수도 있는 계산을 포함해서) 이 명제가 성립하는가를 확인할 길은 없다.

수많은 사람들이 이 명제를 깨기 위해 도전하였으나, 어느 누구도 이 명제를 깨뜨릴 만한 결론을 얻은 사람은 없었다. 사람들은 이 명제를 참으로 간주하기 시작하였고 이를 기반으로 컴퓨터 과학이라는 학문을 발전시켰다.

많은 시간이 지나, 처치-튜링 명제는 현대의 컴퓨터 과학에서 물리학이나 화학의 기본 법칙과 동등한 위상을 갖게 되었다. 이를테면 고전 물리학의 근거가 되는 뉴턴의 운동 법칙은 증명될 수 없지만 참이라고 간주하고 물리학 문제를 풀듯이, 처치-튜링 명제도 증명될 수 없는 하나의 공리로써 간주하고 프로그래밍에 임하는 것이다.



덧글

댓글 입력 영역



통계 위젯 (화이트)

01
7
4029

수평형 스카이스크래퍼

ga

mathjax