답변:
Turing 기계가 인식하는 언어는 정의에 따라 허용되는 문자열 세트입니다. 기계에 입력이 주어지면 받아 들여집니다. 해당 기계에 대한 특정 입력은 항상 허용되거나 (언어로) 항상 허용되지 않습니다 (언어로). 따라서 단일 Turing 기계가 둘 이상의 랑게지를 수용 할 수있는 메커니즘은 없습니다.
TM은로드 된 소프트웨어가있는 컴퓨터와 같습니다. 각 소프트웨어는 한 가지 일을합니까? 예를 들어, 컴퓨터를 생각하고 하나의 프로그램 만로드했다고 가정하십시오. 그런 다음 PC + "포토샵"은 포토샵 만 수행하고 PC + "마인 스위퍼"는 광산 만 청소합니다.
그래서 튜링 기계는 아주 간단한 생물은 각 실행에 하나의 입력과 출력하고 중 하나를 얻을 수 있다는 것입니다 예 또는 아니오 . 어떤 입력에서 예라고 말하고 그렇지 않은 경우에-이것은 입력 및 상태에 따라 TM의 "프로그램"에 의해 설정됩니다. 이것들이 일단 수정되면, "프로그램"이 고정되고, 주어진 입력에 대해 오직 하나의 대답이 있습니다 : 예 또는 아니오 (수락 / 거부). 이것은 정확히 하나의 언어를 정의합니다-TM에 주어질 때 예 를 산출하는 모든 입력 .
한편, 집합 의 모든 TMS는 가능한 모든 프로그램과 컴퓨터 + "소프트웨어"의 설정에 해당합니다. 이제 더 많은 언어를 결정할 수 있지만 각 특정 TM은 하나의 언어 만 결정 (또는 인식)합니다.
튜링 머신은 우리가 정의하도록 선택했기 때문에 작동합니다. 우리는 더 정교하게 정의 할 수 있지만 문제는 그것이 목적에 도움이되는지, 더 많은 일을 할 수 있는지에 관한 것입니다. 그리고 우리가 아는 한 대답은 '아니오'입니다.
두 가지 언어를 인식하는 튜링 머신 모델을 만드는 것은 매우 쉽습니다. 을 감안할 때 언어 및 L 2는 하나 : 우리는 받아 주 2 종류와 TM을 정의 할 수 있습니다 L 1 과 하나의 L 2 . TM은 어느 시점에서 대응하는 수용 상태에 들어가면 L i 를 수용한다고 한다. 그러나 다른 종류의 수락 상태로 들어갈 수 있는지 확인하기 위해 계산을 다시 시작합니다. 그리고 나중에 중단하거나 중단하지 않도록 요구할 수 있습니다. 그런 다음 해당 머신에서 전체 이론을 작성할 수 있습니다. 그것은 우리가 일반적으로하는 것보다 작동하고 훨씬 더 복잡합니다.
데이비드 리처 비 (David Richerby) 는 " 단일 튜링 머신이 하나 이상의 언어를 수용 할 수있는 메커니즘이 없다 "고 대답하기 위해 , 그러한 메커니즘을 고려하지 않기 때문입니다. TM을 매우 표준 모델로 제한하더라도 TM이 홀수 단계로 허용 상태에서 정지 하면 입력이 언어 로 인식되고 TM이 허용하면 L 2에 있다고 말할 수 있습니다. 짝수 단계로. 비결정론 덕분에 TM이 두 개의 교차 언어를 모두 인식하지 못합니다.
요점은 모든 종류의 변형이 이론을 수행하는 데 사용될 수 있다는 것입니다. 또한 람다 미적분, 계산 논리, 재귀 함수 이론 등과 같은 계산을 모델링하기 위해 매우 다른 접근법이 시도되었습니다.
TM은 하나의 언어 만 인식하는 간단한 모델로는 수행 할 수없는 작업을 수행하지 않습니다. 그것이 할 수있는 모든 일을한다고 추측되는 정도까지. 이것을 교회 튜링 논문 이라고합니다 . 우리가 아는 한, 인식 가능한 언어를 결정하는 것은 계산 이론의 초석입니다.
복잡한 모델은 실질적인 이점없이 인생을 더 어렵게 만들므로 간단한 모델을 사용할 수도 있습니다.
물론 다른 모델을 사용하면 문제를 더 잘 이해할 수 있기 때문에 때로는 다른 모델을 사용하기도합니다.
Richerby의 답변에서 한 가지 요점을 확장하고 싶습니다.
기계에 입력이 주어지면 받아 들여집니다.
그 이유는 튜링 머신이 결정론 적이기 때문입니다. 동일한 입력 및 시작 상태가 주어질 때마다 동일한 입력 상태 또는 동일한 거부 상태에서 종료되거나 영원히 반복 될 때마다 항상 동일한 작업을 수행합니다. ).
또한 모든 Turing 머신이 정확히 하나의 언어를 인식한다는 것을 쉽게 증명할 수 있습니다.
모순에 의해 튜링 머신 M이 두 개의 다른 언어 L1과 L2를 인식한다고 가정하십시오. L1과 L2는 서로 다르기 때문에 L1에는 있지만 L2에는없는 문자열 S가 있어야합니다 (일반성이 손실되지 않음-다른 방법 일 수도 있지만 L1과 L2가 교환 된 경우와 동일한 방식으로 증명이 진행됩니다) ). 이제 S에서 M을 실행하십시오. 수락하면 S가 L2에 있기 때문에 모순에 도달합니다. 수락하지 않으면 (거부 또는 루프), S가 L1이 아니기 때문에 모순에 도달합니다.
튜링 머신은 인식이라는 단어의 정의이므로 하나의 언어를 인식합니다 . 튜링 머신이 인식 하는 언어는 튜링 머신 이 허용하는 모든 문자열 / 입력 세트입니다.
이에 대한 대답은 "튜링 머신"을 의미 할 때 정확히 이해하는 내용에 따라 다릅니다. 모든 계산 모델에는 세 가지 구성 요소가 있습니다 (여기에서 결정자 / 수용자로 제한).
튜링 머신의 경우 구문 은 상태 세트, 알파벳, 전환 기능 등의 튜플입니다. 의미는 (a)의 정의 것이다 연산 , 즉, 어떤 단계 후의 테이프 콘텐츠를 유도하기 위하여 전이 함수를 적용하는 방법을 설명한다. 허용 기준은 , 말을 "이 경우, 우리는 중지하고 결과 즉"하는 것입니다.
이제 튜링 머신은 구문과 의미 만 제공합니까, 아니면 수락 기준도 포함합니까? 전자를 수행하는 경우 TM은 다른 승인 기준을 사용하여 여러 언어를 허용 할 수 있습니다. 여러 개의 허용되는 언어를 허용하는 승인 기준을 생각해 볼 수도 있습니다 (예 : 약 두 개의 매개 변수 TM을 생각하십시오). 그러나 후자를 사용하는 경우 흔들기 공간이 없으며 일반적인 수용 기준은 실제로 TM 당 하나의 언어 (이러한 유형)를 허용합니다.
TCS에서 용어 의 일반적인 정의 및 사용법에는 세 가지 구성 요소가 모두 포함됩니다. 특히 수락 기준을 변경하면 오토 마톤이 나타내는 객체의 클래스가 크게 변경 될 수 있으므로, 우리가 말하는 내용을 알기 위해서는 기준을 수정 해야 합니다.
예를 들어, 유한 오토마타 와 Büchi 오토마타를 비교 합니다. 구문과 의미는 정확히 동일하지만 하나는 유한 단어를 허용하고 다른 하나는 무한 단어를 허용합니다!
Büchi automata의 승인 기준을 TM 정의에 연결하면 어떻게되는지 알아 봅니다.
이제 일반적인 수용 기준이 의미있는 이유는 무엇입니까? 유한 문자열의 언어로 자신을 제한하는 한, 개념적 수준에서 TM 당 여러 언어를 사용하면 크게 변하지 않을 것입니다. 우리는 여전히 동일한 언어 세트를 사용할 수 있습니다. 그래서 우리는 더 간단한 모델을 고수합니다. 그러나 더 관련성이 높은 모델이 애플리케이션 모델링에 유용 할 수는 없지만 TCS의 범위를 벗어납니다 (정의 권한을 가짐).
언어는 문자열 집합입니다. 두 언어 L1과 L2의 합집합이 일련의 문자열이 아닌가? (L3이라고합시다) 다른 언어가 될까요? 그런 다음 Turing 머신이 두 언어를 모두 인식하면 단일 언어 인 L3을 인식합니다.
Turing이 그의 정지 증거에서 처음으로 설명 / 발견 한 Universal Turing Machine (s) 의 존재를 지적하는 다른 답변은 없습니다 . 예, TM은 재귀 적으로 열거 가능한 단일 언어를 허용하지만 입력 문자열과 함께 입력에 인코딩 된 경우 재귀 적으로 열거 가능한 언어를 인식 할 수 있습니다. 그래서 질문은 몇 가지 질적입니다. TM은 단일 언어와 가능한 모든 인코딩 가능한 언어 만 허용합니다.