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


11

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

L={MM is a Turing Machine and L(M)=}.

L

여기에서 작동해야 함 을 나타내는 데 사용 된 것과 동일한 기술인 것 같습니다 .{AA 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

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

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

MHTMc 입력에 = "M,x

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

M1 = "입력w

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

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

2. 실행 METMM1

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

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

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

1. M1 모든 입력 받아 w 경우 M 에 정지하고 x . METMM1L(M1) 로 기각 합니다.

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

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


Nb:

하자 R은 로부터 감소 될 HTMcETM .

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

ⅰ) M,xHTMcR(M,x)ETM

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

ⅱ) M,xHTMcR(M,x)ETM

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


0

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

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

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

입력을 "은M은 , , M은 TM 및 인코딩이다 w 문자열이다 :STM=definitionM,wMw

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

  2. 실행 입력과 M 1 , w RTMM1,w

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

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


의 입력이 TM이 아닌가 (추가 w 없이 )? 당신은 어떻게 실행합니까 R T MM 1 , ? RTMwRTMM1,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.