테이프가 Turing Machine 정의의 일부가 아닌 이유는 무엇입니까?


11

테이프 / 테이프가 튜링 머신의 공식적인 정의의 일부가 아닌 이유가 궁금합니다. 예를 들어 Wikipedia 페이지에서 Turing machine의 공식적인 정의를 고려 하십시오 . Hopcroft 및 Ullman에 따른 정의에는 유한 상태 , 테이프 알파벳 , 공백 기호 , 초기 상태 , 최종 상태 세트 , 그리고 전환 기능 . 테이프 자체는 없습니다.Γ b Γ q 0Q F Q δ : ( Q F ) × Γ Q × Γ × { L , R } ΓΓ0에프δ:(에프)×Γ×Γ×{,아르 자형}

Turing Machine은 항상 테이프에서 작동하는 것으로 간주되며 전환 기능은 헤드 이동, 기호 대체 및 상태 변경으로 해석됩니다. 그렇다면 왜 테이프가 튜링 머신의 수학적 정의에서 제외 되었습니까?

내가 볼 수 있듯이 공식적인 정의 자체는 Turing Machine이 비공식적으로 설명되는 것처럼 작동한다는 것을 의미하지는 않습니다 (헤드가 테이프에서 움직이며). 아니면?


1
위키 백과의 다음 섹션에서는 "van Emde Boas (1990)의 말 : 6 페이지 :"이론과 같은 공식적인 7 자식 설명은 기계가 어떻게 동작하는지에 대한 부분적인 정보 만 제공합니다. ""는 소프트웨어 / 하드웨어 이분법 / 시너지 / 상호 의존성과 매우 유사합니다. 소프트웨어는 실행되는 특정 하드웨어를 가정합니다. 만약 누군가가 미래에 어떤 소프트웨어를 발견했다면, 그들이 운영하는 하드웨어를 이해하지 않고도 "의미"를 이해할 수 없었습니다.
vzn

도로가 왜 자동차의 일부가 아닌가?
Andrej Bauer

답변:


8

Turing 머신의 인스턴스를 공식적으로 정의하기 위해 (일반적인 개념은 아님) 테이프 자체 나 그 내용을 명시 적으로 언급 할 필요는 없습니다. 이 특정 기계 의 구성 또는 기계가 수행 하는 계산 을 나타내려면 테이프의 내용을 설명하기 위해 어떤 형식의 표기법이 필요할 때입니다.


따라서 구성과 계산을 정의하는 데 테이프가 필요합니다.
Shuzheng

예, 기계는 테이프에서만 작동합니다. 테이프의 내용이 달라도 다른 시스템이 만들어지지는 않습니다.
André Souza Lemos

1
다시 말해,이 질문 은 TM 의 구문 만을 인용합니다 . 의미 를 정의 할 때만 테이프가 그림에 들어갑니다. (Analogy : C (또는 다른 프로그래밍 언어)의 구문 정의는 가정 된 하드웨어 아키텍처 / OS / CPU 명령어 세트를 언급하지 않습니다.)
Raphael

의미 상으로도 테이프 내용이 변경 되어도 기계가 동일한 기계로 남아 있다고 생각하는 것이 가장 당연합니다. (공식적으로는 초기 내용이 기계 정의의 일부이므로 해당되지 않습니다.)
reinierpost

2

약간 회색 영역이지만 정의가 모델인스턴스 에서 분리한다고 말합니다 . 간단한 아이디어를 염두에두고 싶다면 하드웨어 대 소프트웨어를 생각해보십시오.

모델은 하드웨어 경우 : 하나의 머리입니다. 테이프가 하나 있습니다. 테이프는 한쪽에 무한하며 공백이 있습니다 (입력 외에). 헤드는 한 번에 한 단계 씩 움직일 수 있습니다.

인스턴스는 소프트웨어입니다 : 어떻게 머리를 이동하는 방법과 기계 "작품"테이프가 시작 부분에 어떨지 입력 지시는 주 / 전환 기능을 알려줍니다. 최종 상태는 성공 / 실패의 의미를 제공합니다.

두 매개 변수는 모두 구성 가능하며 둘 다 변경할 수 있습니다. 다른 모델에는 테이프 2 개, 헤드 2 개, 양면 테이프, 비어 있지 않은 테이프 등이 있습니다. 그러나 일단 모델을 수정하면 가능한 다른 상태 및 전환 기능으로 다른 "구성 가능한"매개 변수를 설정해야합니다. .

미디엄이자형아르 자형


1

여기에 이미 좋은 답변이지만 간결한 답변을 만들려고합니다.

정의가 과도하거나 자세하지 않아야합니다.

실제로 튜링 머신 정의는 테이프 추상화도 정의합니다. q0- 는 테이프 의 시작 입니다. 알파벳은 테이프 의 내용 입니다. 그리고 δ : (Q ∖ F) × Γ → Q × Γ × {L, R}은 테이프가 좌우로 무한대를 가진다 는 것을 나타낸다.

따라서 테이프, 헤드는 인간 친화적 인 모델 표현을 이동 시키며 이미 수학적 모델 에 속하지만 공식적인 모델은 아닙니다.


1

Les 는 간결하고 정확한 답변을 제공합니다. 수학적 정의는 가능한 한 간결하며 튜링 머신의 정의에 무한 테이프를 명시 적으로 포함하면 그 정의가 훨씬 간결 해집니다.

이것은 질문에 대답하지 않습니다 : ? 무한 테이프가 필요할 때 정의에서 어떻게 제외 할 수 있습니까?

답은 없습니다. 어떤 의미에서, 튜링 머신은 실제로 무한 테이프를 필요로하지 않으며, 그 정의에 의해 명확하게됩니다.

정의에 따르면 튜링 머신의 이동은 머신을 한 구성에서 다른 구성으로 가져갑니다. 구성에는 유한 문자열이 포함되며 , 이는 우리는 기록 된 테이프의 유한 조각으로 간주됩니다. 각각의 움직임은 테이프 헤드를 한 위치만큼 이동 시키거나 테이프 헤드 아래의 기호를 덮어 씁니다. 그러나 이것은 작동에 필수적입니다.

  • 우리는 무한정 자주 그렇게 할 수 있습니다 .

이를 표현하는 한 가지 방법은 다음과 같습니다. 머신은 테이프 헤드가있는 유한 프래그먼트를 제외하고 완전히 공백으로 채워진 무한 테이프에서 작동합니다. 이것이 대부분의 설명입니다.

이것을 표현하는 또 다른 방법은 다음과 같습니다. 기계는 유한 테이프에서 작동하며 헤드가 테이프의 한쪽 끝에서 움직일 때마다 블랭크로 확장됩니다.

이들은 모두 기계 작동 방식을 개념화하는 유효한 방법입니다. 두 경우 모두 실제로 기계가 이와 같이 작동하는 경우 Turing 기계를 올바르게 구현합니다.

튜링 머신의 작동 방식을 학생들에게 가르치는 데 관심이 있다면 어떤 개념을 선택하든 문제가되지 않을 것입니다.

그러나 첫 번째 개념화는 두 가지 이유로 실수라고 생각합니다.

  • 그것은이다 비현실적 . 우리는 실제로 무한 테이프로 기계를 만들 수 없습니다. 우리는 할 수 있습니다 요청에 확장 유한 테이프 기계를 구축 할 수 있습니다.
  • 직관적이지 않습니다. 우리는 머신이 임의로 많은 양의 리소스를 포함하는 것으로 자주 작업을 수행한다고 생각하지 않습니다. 예를 들어, 우리는 복사기가 무한한 양의 복사지를 포함한다고 생각하지 않습니다. 튜링 머신은 컴퓨팅 활동을 모델링합니다. 컴퓨터를 발명 할 당시 종이로 계산하는 여성 인 컴퓨터를 임의의 프로그래밍 가능한 계산을 수행 할 수있는 기계로 교체 한 경우 어떻게 될지 모델링합니다. 우리는 그 여자가 무한한 양의 종이를 포함하고 있다고 생각하지 않습니다. 오히려 우리는 그녀에게 필요한 양의 종이가 공급 될 것이라고 가정하고, 그러한 여자가 존재할 수 없다고 말하지 않고 환경의 실패로 간주하지 않습니다. 기계에 대해 왜 그렇게하지 않습니까?
  • 오해의 소지가있는 결론을 제시합니다. 나는 이것을 많이 보았다. 예를 들어 :
    • 사람들은 튜링 머신은 실제로는 구축 할 수 없지만 유한 상태 머신은 구축 할 수 없다고 말합니다. 음, 우리는 튜링 머신에 임의의 양의 테이프를 공급할 수있는 것 이상으로 임의의 대형 유한 상태 머신을 구축 할 수 없습니다.
    • 사람들은 튜링 머신은 컴퓨터를 올바르게 모델링하지 않지만 유한 상태 머신은 컴퓨터를 올바르게 모델링하지 않는다고 말합니다. 중요한 점은 입력 언어를 결정하기 위해 기계를 사용하는 것이라면 (고정 된) 내부 저장소에서만 작동하는 컴퓨터는 특정 크기까지 유한 상태 기계를 완전히 구현할 수 있습니다. 대부분의 튜링 머신을 완전히 구현할 수는 없습니다. 대부분의 튜링 머신에는 내부 스토리지가 부족하기 때문입니다. 그러나 이것은 일반적으로 컴퓨터 유한 상태 기계이므로 잘못 오도하는 것으로 일반화됩니다 .
      • 대부분의 컴퓨터 프로그래밍에 대한 현실적인 그림을 그리지는 않습니다. 실제로 데이터 흐름 프로그래밍은 유한 상태 머신을 기반으로하지만 전통적인 명령형 프로그래밍은 아닙니다. Turing 머신 인스턴스에 훨씬 가까운 프로그램을 사용합니다.
      • 실제로 컴퓨터는 크기가 고정되지 않은 외부 입력, 출력 및 저장 장치와 상호 작용합니다.
      • 튜링 머신은 컴퓨터를 먼저 모델링하지 않아야합니다. 그들은 임의 컴퓨팅을 모델링합니다.

요약하자면, 무한 테이프를 사용하거나 포함하는 튜링 머신의 아이디어는 중요한 기술적 요점을 강조하는 데 도움이되지만 반드시 튜링 머신에 대한 가장 직관적 인 사고 방식은 아니며 잘못된 결론을 이끌어냅니다. 주의해서 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.