TM이 테이프의 특정 위치에 도달하는지 여부를 결정할 수 있습니까?


14

해결하려는 오래된 시험에서 이러한 질문이 있습니다. 각 문제에 대해 입력은 일부 Turing machine 의 인코딩입니다 M.

정수 c>1 및 다음 세 가지 문제의 경우 :

  1. 모든 입력 x 에 대해 M이 x에서|x|+c 실행할 때 + c 위치 ?x

  2. 모든 입력 x 에 대해 M이 x에서max{|x|c,1} 실행할 때 c , 1 } 위치 ?x

  3. 모든 입력 에 대해 x 가 실행될 때 xM이 (|x|+1)/c 위치를 통과하지 않는 것이 사실 입니까?x

몇 가지 문제를 결정할 수 있습니까?

내가 생각하기에 문제 번호 (1)은 있습니다. 왜냐하면 내가 올바르게 이해하면 모든 입력을 병렬로 실행할 수 있으며 일부 입력 이이 위치에 도달하면 중지하고 R에 없는 것으로 표시 하면 보수를 줄일 수 있습니다 그것 의 Atm . 나는 다음과 같이 튜링 머신 M ' 을 구성합니다. 입력 y의 경우 y 가 계산 이력 인지 여부를 확인한 다음 M ' 이 제대로 실행되고 멈추지 않고 멈추지 않으면 중지합니다.coRERRMyyM

(3)의 경우 경우 항상 스트라이프의 첫 번째 셀에 머무르는 모든 Turing 기계 이기 때문에 결정할 수 있다고 생각합니다. 한 문자의 문자열의 경우 첫 번째 셀을 통과 할 수 있기 때문에 필요합니다. 길이가 1 인 모든 문자열을 시뮬레이션하는 | Q | + 1 단계 (이것이 맞습니까?), 모두에서 첫 번째 셀만 사용하고 있는지 확인하십시오.c2|Q|+1

나는 정말로 (2)와 무엇을 해야할지 모르겠다.


1) 단면 무한 테이프를 가정합니까? 2) ATM은 무엇입니까?
라파엘

1) 예, 2) 합격 문제.
Jozef

답변:


9

주어진 입력 에서 튜링 머신이 테이프의 유한 섹션 (길이 )에 한정되어 있는지 묻는 모든 상황을 결정할 수 있습니다.n

인수는 다음과 같이 작동합니다. Turing Machine, 테이프 및 테이프에서 Turing Machine의 위치를 ​​고려하십시오. 모두 함께 제한된 수의 구성이 있습니다. 구체적으로는 가능한 구성. Γ 는 테이프 기호 세트이고 Q 는 상태 세트입니다. 계속해서 "구성"이라는 단어를 사용하여 튜링 머신의 상태와 테이프 상태 및이 답변의 나머지 부분에 대한 테이프의 위치를 ​​설명하지만 표준 어휘는 아닙니다.t=n|Γ|n|Q|ΓQ

과거의 모든 구성을 추적하면서 기계를 실행하십시오. 그것이 점을 넘어 서면 "yes, M 은 위치 n을 전달합니다 "를 반환 합니다. 그렇지 않으면 기계는 0과 n 사이에 있습니다. 기계가 상태, 테이프의 기호 및 테이프의 위치가 이전과 동일한 구성을 반복하는 경우 "아니오, M 은 위치 n을 통과하지 않습니다 ."nMnnMn

pidgeonhole 원리에 따르면, 이것은 단계를 넘지 않아야 합니다. 따라서 위의 모든 내용은 결정 가능합니다. 최대 t + 1 시뮬레이션 단계 후에 답을 얻습니다.t+1t+1

이것이 작동하는 이유에 대한 간단한 참고 사항 : 머신, 테이프 및 테이프의 위치가 반복 될 때 이러한 반복 사이에 일련의 구성이 있어야합니다. 이 순서는 다시 발생하여 동일한 구성을 한 번 더 생성합니다. 머신은 무한 루프 상태입니다. 이는 Turing Machine의 모든 측면을 추적하고 있기 때문입니다. 구성 외부의 어떤 것도 발생한 일에 영향을 줄 수 없습니다. 따라서 구성이 반복되면 동일한 일련의 구성을 사용하여 다시 반복됩니다.

따라서 테이프를 문자열의 유한 부분에 한정하는 것은 결정 가능합니다. 따라서 가능한 모든 입력 문자열을 반복하면 문제가 coRE for all three questions. You may have already realized this (between your ideas for 1 and 3 and Ran G's answer for 2 it seems solved completely anyway) but I figured it may be worth posting nonetheless.


"If the machine ever repeats a configuration [...] return 'no'" -- that is wrong. A nondeterministic machine might execute a loop a couple of times and then move on.
Raphael

1
We're talking about turing machines here which are not assumed to be nondeterministic. If it were nondeterministic, simulate the deterministic version.
SamM

Nice explanation. See also the first version of my answer (which I revise once I realized that the OP didn't quite ask it..)
Ran G.

@Sam: It works the other way round: unless otherwise assumed, a Turing machine may be nondeterministic. What is a "deterministic version"? If you mean a complete unfolding of choices, then a repeated configuration loses meaning as they may happen in different branches.
Raphael

2
@Raphael the standard way to do this is a configuration graph: the vertices are the same configurations that Sam defined, and there is a directed edge from configuration A to B if the NTM can move from A to B in a single step. The graph is finite and and whether the machine halts is a simple graph reachability question. This also shows that NSPACE(s) is a subset of DTIME(2O(s))
Sasho Nikolov

4

(2) is very similar to (3) and the same reasoning you had for (3) applies here as well: note that machines that in L2 have a strange property - they don't read the entire input (they never reach it's last c bits.) And this is true for every input.

Ok, so now let's consider only inputs up to length c. For each one of them, there are only two options: the machine loops/halts w/o moving the head, or it moves the head. If it moves the head on some x (with |x|c), that machine is not in L2 due to that input x. Otherwise, I claim the machine is in L2. Since it never moves the head - it has no idea what the size of the input is! this means it behaves the same for all the inputs of length |x|>c. Therefore, L2 is decidable.


How do you account for nondeterministic machines?
Raphael

I didn't consider NTMs, but it should be quite the same. For all words of length up to c the number of configurations the NTM can be in w/o moving the head is finite.
Ran G.

Yes, but your argument breaks down. You can not determine in finite time (by simple simulation) whether an NTM leaves a given position.
Raphael

@Raphael why not? can't you simulate the entire tree of configurations (of depth |x|) in a finite time exp(|x|)?
Ran G.

Why would depth |x| be enough? |Q| would make more sense. By then, the simulation has found a branch where M leaves the first position, if there is any.
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.