[프로그래밍언어론] 4. 튜링 머신, 튜링 완전성

2023. 9. 11. 13:10·프로그래밍언어론
목차
  1. 튜링 머신
  2. 튜링 완전성(Turing Completeness)

튜링 머신

  • 1936년 앨런 튜링(Alan Turing)이 고안하였다.
  • 원래는 자동 기계를 의미하는 "a-machine" 이라 불렀다.
  • 계산 전반의 특성을 증명하기 위해 발명된 이론적이고 상상적인 기계
  • 현대 컴퓨터의 기초

  • 테이프(Tape) : 일정한 크기의 셀(Cell)로 나뉘어 있는 종이 테이프. 각 셀에는 기호가 기록, 길이는 무한
  • 헤드(Head) : 종이 테이프의 특정 한 셀을 읽을 수 있는 헤드
  • 행동표 : 특정 상태에서 특정 기호를 읽었을 때 해야 할 행동을 지시
    기호 삭제나 수정, 헤드를 오른쪽/왼쪽 한 칸 이동, 상태를 변경

  • 테이프에 기록될 수 있는 기호 및 튜링 머신의 상태와 행동표의 개수는 모두 유한해야 하며 서로 구분된다.
    1. '현재 상태가 1인데 기호 'A'를 읽었다면 'B'를 기록하고 정지.'
    2. '현재 상태가 1인데 기호 'B'를 읽었다면 오른쪽으로 한 칸 이동하고 상태 2로 변경'
    3. '현재 상태가 2인데 기호 'C'를 읽었다면 오른쪽으로 한 칸 이동'

튜링 완전성(Turing Completeness)

  • 지금까지 모든 계산 문제는 튜링 머신으로 해결될 수 있는 것으로 알려져 있다.
    예) 컴퓨터로 할 수 있는 모든 일은 튜링 기계로도 할 수 있다.
  • 튜링 머신을 시뮬레이션하는 데 사용할 수 있는 시스템은 튜링 완전(Turing Complete)
  • 튜링 완전 시스템(Turing complete system)은 튜링 머신과 동등한 계산 능력을 가진다.
  • 프로그래밍 언어의 이론적 계산 능력
어떤 컴퓨터 P가 있어서 그 컴퓨터와 보편 튜링 머신이 튜링 동치라면 P는 튜링 완전(Turing complete)하다.
저작자표시 변경금지 (새창열림)

'프로그래밍언어론' 카테고리의 다른 글

[프로그래밍언어론] 6. 컴파일러와 인터프리터  (0) 2023.09.11
[프로그래밍언어론] 5. 프로그래밍 언어 설계  (0) 2023.09.11
[프로그래밍언어론] 3. PL의 관점에서 본 컴퓨터  (0) 2023.09.11
[프로그래밍언어론] 2. 통합개발환경(IDE), VSCode  (0) 2023.09.05
[프로그래밍언어론] 1. 개념과 패러다임  (0) 2023.09.05
  1. 튜링 머신
  2. 튜링 완전성(Turing Completeness)
'프로그래밍언어론' 카테고리의 다른 글
  • [프로그래밍언어론] 6. 컴파일러와 인터프리터
  • [프로그래밍언어론] 5. 프로그래밍 언어 설계
  • [프로그래밍언어론] 3. PL의 관점에서 본 컴퓨터
  • [프로그래밍언어론] 2. 통합개발환경(IDE), VSCode
파스텔코랄
파스텔코랄
Developer Blog 📜 Lots of rules and no mercy ✨
파스텔코랄
슬기로운 개발일지
파스텔코랄
전체
오늘
어제
  • 스터디
    • 컴퓨터시스템구조
    • 모바일프로그래밍
    • 프로그래밍언어론
    • 운영체제
    • 컴퓨터네트워크
    • 데이터분석
    • 소프트웨어공학
    • 시스템프로그래밍

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • About

링크

공지사항

인기 글

태그

프로그래밍언어론
네트워크
운영체제
어셈블리어

최근 댓글

최근 글

hELLO· Designed By정상우.v4.6.1
파스텔코랄
[프로그래밍언어론] 4. 튜링 머신, 튜링 완전성
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.