MyCloud

튜링 머신과 유한상태 기계에 대한 이해 본문

Knowledge/Operation System

튜링 머신과 유한상태 기계에 대한 이해

Swalloow 2016. 5. 13. 04:19


운영체제의 원리를 알아보기 전에 컴퓨터 아키텍쳐를 이해하는 것이 중요합니다.

컴퓨터 아키텍쳐가 어떻게 발전했는지, CPU와 메모리가 어떻게 구성되는지를 알아보겠습니다.




튜링 머신 (Turing Machine)


영화 "이미테이션 게임"을 보면 좀 더 이해가 쉬울 수 있습니다. (물론 사실과 다른 부분이 있음)

영화에 주인공으로 앨런 튜링이 나오는데, 그 분이 바로 튜링 머신을 만든 컴퓨터의 조상님입니다.

처음의 컴퓨터는 복잡한 계산을 처리하기 위한 목적으로 만들었습니다.

영화와 같이 2차 세계 대전에서 독일군의 '애니그마' 암호학 기계를 처리하기 위해서(?)



튜링 머신의 원리는 다음과 같습니다.

어떤 장치(컴퓨터)가 칸으로 나누어진 테이프(메모리)에 기호를 쓰면서 동작합니다.

이때 테이프의 길이는 무한하지만 쓸 수 있는 기호의 수는 유한합니다.

그리고 수행되는 동작은 테이프에 적힌 기호와 상태에 의해 결정됩니다.


위의 기본 원리를 컴퓨터에 비유해보면 다음과 같습니다.

"적절한 입력이 들어왔을 때, 제어장치를 통해 적절한 상태를 출력한다."


다시 정리하자면, 튜링 머신은 상태를 유한하게 가지고 있으며,

어떤 과정을 통해 현재 상태에서 다음 상태로 변경시키는 추상 기계입니다.

이러한 기계를 유한상태기계(FSM) 라고 부릅니다.








튜링 머신과 신경망 (Neural Turing Machine)


튜링 머신은 어떤 완성된 기계가 아닌 추상적인 개념입니다.

앨런 튜링은 초기에 튜링 머신을 설계할 때 '인간의 두뇌'를 참고해서 만들었습니다.

"사람처럼 계산할 수 있는 기계를 만들 수 있다"는 개념인데,

최근 딥 러닝이 떠오르면서 이를 인공지능에 활용하게 되었습니다.



Google DeepMind에서 정의한 신경망 튜링 머신(NTM)은 다음과 같습니다.

외부로부터 받는 입력을 신경망으로 이루어진 컨트롤러를 통해 적절한 출력으로 바꿀 수 있다.

여기에서 입력은 빅데이터 파라메터가 되고, 외부 메모리는 클라우드로 생각해 볼 수 있습니다.

자세한 내용은 아래의 링크를 참조해주세요 !




참고 : http://www.slideshare.net/yuzurukato/neural-turing-machines-43179669

참고 : Google DeepMind, http://arxiv.org/abs/1410.5401



'Knowledge > Operation System' 카테고리의 다른 글

임계구역 문제와 해결방법 (피터슨 알고리즘)  (1) 2016.05.27
프로세스에 대하여  (0) 2016.05.27
운영체제가 하는 일  (0) 2016.03.24
Comments