Home 컴퓨터개론 02
Post
Cancel

컴퓨터개론 02

정지문제란?

1
2
"프로그램과 초기 입력 값이 주어겼을 때, 이 프로그램에 입력값을 넣고 실행한다면,
이 프로그램이 계산을 끝내고 멈출지 아니면 영원히 계속 계산 할지 판정하라"

튜링

1
기계적인 방식으로 모든 수학적인 증명이 가능한가? - 결정 문제

힐버트

튜링머신

  • 테이프에 기록될 수 있는 기호 및 튜링 머신의 상태와 행동표의 새수는 모두 유한해야 하며 서로 구분되어야 한다.
    • 예) 현재 상태가 1인데 기호 A를 읽었다면 C를 기록하고 정지
1
튜링머신이 유한한 시간안에 모든 문제를 푸는 방법이 있는지 없는지 알아낼수 있는가?

정지문제

  • 가정 1 : halt(a,b):

임의의 문자열 a와 임의의 프로그램 b에 대해, a를 입력으로 프로그램 b를 실행했을 경우를 계산하여 그 실행이 끝나면 참, 영원히 실행되면 거짓을 반환하는 알고리즘.

1
2
3
4
5
function check(string s)
    if(halt(s,s) == false)
        return true
    else
        loop forever

why ?

  • Q) halt 함수의 두 번째 인자는 프로그램 아닌가요?
  • A) 프로그램으로 받아햐 하지만, 프로그램도 다르게 말하면 문자열 표현중 하나(바이너리 코드) 라고 볼 수 있기 때문에 문자열 또한 입력이 가능합니다.

튜링동치

  • 만일 컴퓨터 P와 Q가 있을 때, P가 할 수 있는 일을 Q가 모두 할 수 있고, Q가 할 수 있는 일을 모구 P가 흉내낼 수 있다면 두 컴퓨터는 튜링 동치다.

튜링완전성

  • 어떤 컴퓨터 P가 있어서 그 컴퓨터와 튜링 머신이 튜링 동치하면 P는 튜링 완전하다.

현대 컴퓨터와 튜링 머신

  • 현대 컴퓨터의 모체는 튜링머신이기 때문에 튜링머신은 현대의 모든 컴퓨터가 할 수 있는 일을 할 수 있다.
  • 현대의 컴퓨터와 튜링머신은 튜링 동치이다.
  • 즉, 정지문제는 현대까지 유효하다.
This post is licensed under CC BY 4.0 by the author.

컴퓨터개론 01

컴퓨터개론 03

Comments powered by Disqus.

Trending Tags