튜링 머신은 언어 가 비어있는 머신 의 언어 를 결정할 수 있습니까 ?


11

하자 언어를 결정하는 튜링 머신 R이 있습니까?L ∅

L∅={⟨M⟩∣M is a Turing Machine and L(M)=∅}.

L∅

여기에서 작동해야 함 을 나타내는 데 사용 된 것과 동일한 기술인 것 같습니다 .{A∣A is a DFA and L(A)=∅}


1
무엇을 시도 했습니까? 예를 들어 빈 언어에 대한 DFA를 생각할 수 있습니까? DFA는 매우 제한된 TM로 생각할 수 있습니다.
— Shaull

1
확실한. 시작 상태에서 입력 테이프의 내용에 관계없이 "중단 거부"상태로 이동하십시오. 언어의 모든 문자열을 명시 적으로 허용하고 언어가 아닌 모든 문자열을 거부합니다.
— Patrick87

8
@ mahdisaeedi : 후자는 완전히 다른 질문입니다! 주어진 TM이 빈 언어를 인식하는지 여부를 결정할 수 있는지 묻고 있습니다. 대답은 '아니요'입니다. Rice 's
— Theory

답변:


9

마킹을하면 도달 가능성 분석을 의미 할 수 있습니다. 초기 상태에서 수용 상태까지의 경로를 찾으십시오. 실제로 그러한 경로가없는 경우 DFA의 언어가 비어 있습니다.

이것이 왜 TM에서 실패하는지에 대한 예부터 시작합시다. 에서 입력을 무시하지만 테이프에 를 쓰고 , 헤드를 오른쪽으로 이동하고 상태로 이동 한 다음 에서 다시 입력을 무시하고 쓰고 왼쪽으로 이동하고 로 이동 하는 TM을 고려 하십시오 . 에서 가 읽는 경우, , 다음 글을 , 이동 헤드 권리와로 돌아갑니다 . a q 1 q 1 a q 2 q 2 a a q 1q0aq1q1aq2q2aaq1

즉, 기계는 단지 작성 두 상태 ( 및 ) 사이를 번갈아 가며 항상 테이프에 두 개의 인접한 갖습니다 .q 1 q 2 aaq1q2a

우리는 이제 에서 읽을 때 수용 상태로 바뀌고 정지 되는 전환을 추가합니다 . Bq2b

이 기계의 언어가 비어 있습니다. 실제로, 실행은 항상 루프에 수락 상태가되지 않습니다. 그러나 수용 상태에 대한 국가 경로가 있습니다. 그래서 무엇이 잘못 되었습니까?q1−q2

직관적으로 TM의``상태 ''는 실행의 연속성을 설명하기에 충분하지 않습니다. 모든 정보를 얻으 려면 상태, 헤드 위치 및 테이프 내용이 포함 된 TM 구성 이 필요합니다 . 허용되는 구성에 대한 구성 경로 ( run 이라고 함 )를 찾으면 실제로 언어가 비어 있지 않으며 iff 조건입니다.

구성 그래프에서 도달 가능성 분석을 사용할 때의 문제점은 무한대 일 수 있다는 것입니다. 언어 공허함을 결정할 수없는 이유가 여기에 있습니다.

이것은 언어 비 공백이 인식되는 이유이기도합니다. 무한 구성 그래프에서 BFS를 수행 할 수 있습니다. 수락 가능한 상태에 대한 경로가 있으면 결국 찾을 수 있습니다. 그러나 그렇지 않은 경우 무한 검색에 갇힐 수 있습니다.


TM의 천이 함수는 다음과 같습니다. F (Q T)-> (Q T * {L, R}). 입력을 무시하는 함수를 작성할 수 있습니까?
— msn

예. 이 경우, , F ( q 1 , a ) = F ( q 1 , b ) = ( q 2 , a , L ) , F ( q 2 , a ) = (F(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L) 및 F ( q 2 , b ) = ( q a c c , a , L ) (그러나 후자는 도달하지 않음). F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
— Shaull

9

는쌀의 정리로인해 결정 불가능하며, 부분 함수의 사소한 속성은 결정할 수 없습니다.A

  1. 문자열을 허용하지 않는 TM이 있습니다. (거부 상태로 직접 이동하는 경우).
  2. 모든 문자열을 받아들이는 TM이 있습니다. (직접 수락 상태로 이동하는).

이것은 요소에 의해 계산 된 함수 가 사소한 속성을 가짐을 의미합니다 . 따라서 A 는 결정할 수 없습니다.AA

는 DFA가 상태 전이 테이블 등과 같은 특수한 방식으로 인코딩된다는 가정 하에서 만 결정할 수 있습니다 (우리는 Rice의 정리 때문에 TM이 정규 언어 만 허용하는지 여부를 결정할 수 없습니다!). 이 경우, 쌀의 정리는 E의 결정에 요소의 특정 인코딩이 필요하기 때문에 적용 할 수 없습니다. 따라서 우리는 부분 기능 만 결정하지 않습니다.EE

(문제는 특정 TM이 DFA 또는 DFA 계산 가능인지 여부를 결정하고 허용되는 언어가 비어 있는지 결정하는 것입니다 는 Rice의 정리를 통해 결정할 수 없습니다.이 경우 A = E입니다. .)EA=E


6

또 다른 힌트 : 중지 문제를 .L∅

(원래 힌트는 라이스 정리를 사용하는 것이지만이 경우 직접적인 증거도 매우 간단합니다.)


@Yuval_Filmus이 언어는 Turing에서도 인식되지 않는다고 말하는 것이 맞습니까?
— sashas

1
어떻게 생각해? 당신의 주장을 증명할 수 있습니까? 그렇다면 질문 할 필요가 없습니다.
— Yuval Filmus

1

Lemma 1 : L을 결정할 수 없으면 L의 보수도 마찬가지입니다.

우리는 중지 문제 HTM 이 결정 불가능 하다는 것을 알고 있습니다. 따라서 정지 문제의 Lemma 1 보완 에 따르면 HTMc 도 결정 불가능합니다.

HTM ={⟨M,x⟩∣ M is a TM and M halts on input x }

HTMc ={⟨M,x⟩∣ M is a TM and M loops on input x }

ETM ={⟨M⟩∣ M is a TM and L(M) = ∅}

ETM 을 결정할 수 있다고 가정합니다 . 우리는 줄일 HTMc 에 ETM - 즉 우리는 튜링 기계 구성하는 방법을 보여줍니다 MHTMc 결정 HTMc TM을 사용하여 METM 결정 ETM . 우리는 HTMc 이 결정 불가능 하다는 것을 알고 있기 때문에 모순 이 생겨서 MHTMc존재할 수 없습니다. "감소"라는 단어는 단순히 주어진 문제를 우리가 이미 해결하고있는 다른 문제로 변환하여 해결하는 것을 의미합니다. 따라서 HTMc 용 튜링 기계 는 다음과 같이 구성 할 수 있습니다.

MHTMc 입력에 = "⟨M,x⟩

1. 다음을 수행 하는 TM, M1 의 코드를 구성하십시오 .

M1 = "입력w

1. x에서 M 을 시뮬레이트 합니다.x

2. M 멈 추면 수락하십시오 . "

2. 실행 METM 에 ⟨M1⟩

3. METM 이 수락하면 수락하고, 그렇지 않으면 거부합니다. "

TM M1 이 실제로 시뮬레이션되지 않는다는 것을 이해하는 것이 중요합니다. 이러한 시뮬레이션은 무한 루프로 진행될 수 있습니다. 우리가하는 일은 M1 의 코드를 작성하는 것입니다 .

M1 은주어진입력w 대해입력 x로 M 을시뮬레이션하도록 구성됩니다. M 은 x 에서 멈추거나 반복될 수 있으므로 두 가지 경우가 있습니다.xMx

1. M1 모든 입력 받아 w 경우 M 에 정지하고 x . METM 은 M1 을 L(M1)≠∅ 로 기각 합니다.

2. M 이 x 반복 되면 M1 은 주어진 모든 입력 w 대해서도 반복 됩니다. 어쨌든 METM 은결정기는 거부되고, 입력에 중지 M1 로서 L(M1)=∅ .

Correctness 버젼 :METM 항상 (로모 가정하여) 정지하고,MHTMc 또한 항상 중단합니다. MHTMc 은METM 허용하는 경우, 즉L(M1)=∅ 인 경우M 이x 반복될 때 발생합니다.
MHTMc 은METM 은 M 이 x에서 정지하면발생하는L(M1)≠∅ 를 기각 합니다. 따라서 M H c T M 은 H c T M 을결정할 수없는 모순 인 H c T M 을 결정한다.MxMHTMcHTMcHTMc


Nb:

하자 R은 로부터 감소 될 HTMc 에 ETM .

축소는 다음을 제공합니다.

ⅰ) ⟨M,x⟩∈HTMc⇔R(⟨M,x⟩)∈ETM

M은 입력에 루프 X 인식 언어 IFF에 R(⟨M,x⟩) 전혀 허용하지

ⅱ) ⟨M,x⟩∉HTMc⇔R(⟨M,x⟩)∉ETM

M의 입력에 정지하고 X 인식 언어 IFF에 R(⟨M,x⟩) 것을 허용


0

모순에 의한 증명 T M = { ⟨ M , w ⟩는 | M은  w를 받아들이는 튜링 머신이다 } (우리가 결정 불가능 알고).ATM={⟨M,w⟩∣M is a Turing Machine which accepts w}

존재한다고 가정 , 결정하지 TM L을 ∅RTML∅

사용 후 사용 TM의 구성에 S T M 위한 결정기이다 T MRTMSTMATM

입력을 "은 ⟨ M은 , 승 ⟩ , M은 TM 및 인코딩이다 w 문자열이다 :STM=definition⟨M,w⟩Mw

  1. 새로운 M ( M 1이라고 함 )이 w 와 같지 않은 모든 입력을 거부 하도록 입력 w 를 고려하여 수정하십시오 . 여기서 w 는 설명에 내장되어 있습니다. 입력 값이 w 와 같으면 M 1 은 w 에서 M 을 실행 하고 M 출력값을 출력합니다.MwMM1wwwM1MwM

  2. 실행 입력과 ⟨ M 1 , w ⟩RTM⟨M1,w⟩

  3. s 출력의 반대 출력. "RTM

대한 튜링 기계 deicer이 존재 함을 가정 , 우리의 결정자 구성 할 수 있습니다 T M 모순이다.L∅ATM


의 입력이 TM이 아닌가 (추가 w 없이 )? 당신은 어떻게 실행합니까 R T M 에 ⟨ M 1 , 승 ⟩ ? RTMwRTM⟨M1,w⟩
— xskxzr

-2

E = {| M은 TM이고 L (M) = Φ}입니다. E Turing을 인식 할 수 있습니까?

E는 언어입니다. 언어 E를 받아들이 기 위해 튜링 머신을 만듭니다. 언어 E에 대한 Turing EM을 작성한다고 가정하십시오.

EM은 다른 튜링 머신의 인코딩으로 입력으로 제공됩니다. 입력 된 머신 M이 빈 언어를 허용하면 언어 E의 멤버가되고 그렇지 않으면 언어의 멤버가 아닙니다.

튜링 머신 M이 있다고 가정하고 빈 언어를 사용할 수 있는지 확인해야합니다. 튜링 머신 EM에는 M이 있고 문자열 eps, a, b, aa, bb, ..... EM은 M이 적어도 하나의 입력에서 최종 상태에 도달 할 수 있는지, 그리고 적어도 하나의 입력을 수락하면 점검합니다. 버려지고 언어 E에 포함되지 않습니다. 이제 TM M이 루프에 들어갈 가능성을 확인하여 M이 계속 실행되므로 어떤 것이 든 수락 할 수 있는지, 수락 할 수 없는지 결정할 수 없었습니다. 따라서이 주어진 언어 E는 RE가 아닙니다.

추신 : 나는 주어진 언어 E의 보완이 RE가 될 것이라고 생각합니다.


불행히도이 직관적 인 주장은 증거가 아닙니다. E를 결정하는 다른 방법이있을 수 있으며, 이것은 당신의 주장에 의해 배제되지 않습니다.
— Yuval Filmus

예 맞습니다. 그러나 제가 설명한 방식은 누군가 평신도 언어로 이해할 수 있습니다.
— 마누 타쿠 르

이 사이트는 평신도가 아닙니다. 학술 수준의 이론적 컴퓨터 과학을위한 것입니다.
— Yuval Filmus

2
특정 계산 기술이이 문제를 해결하지 못하는 이유에 대한 직관적 인 주장을 제시하기 만하면됩니다. 그러나 문제는 가능한 기술이 작동하지 않는다는 증거를 요구하는 것입니다.
— David Richerby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.