Может ли машина Тьюринга (ТМ) решить, относится ли проблема остановки ко всем ТМ?

9

На этом сайте есть много вариантов вопроса о том, могут ли ТМ решить проблему остановки, будь то для всех других ТМ или определенных подмножеств. Этот вопрос несколько другой.

Он спрашивает, может ли тот факт, что проблема остановки относится ко всем ТМ, может быть решен ТМ. Я верю, что ответ отрицательный, и хочу проверить мои рассуждения.

  1. Определите язык мета-остановки как язык, состоящий из ТМ, которые определяют, будет ли ТМ останавливаться.LMH

LMH={M:M,wM(M,w) accepts if M(w) halts, rejects otherwise}
  1. LMH= из-за проблемы остановки.

Таким образом, заглавный вопрос более точно сформулирован: разрешимо ли ?LMH=

  1. Согласно теореме Райса, неразрешимо, является ли язык ре пустым.
    В обоих случаях, если равно или нет, то неразрешимо, будет ли .LMHLMH=

  2. Следовательно, неразрешимо, .LMH=

Это доказывает, что ТМ не может решить, относится ли проблема остановки ко всем ТМ.

Правильно ли мое понимание?

ОБНОВЛЕНИЕ: Я пытаюсь показать, что ТМ не может «доказать проблему остановки» для некоторого определения «доказать», которое кажется интуитивно правильным. Ниже приведена иллюстрация того, почему я считаю это правильным.

Мы можем создать TM который генерирует следующим образом. ТМ принимает кортеж . Он имитирует для итераций . Если принимает все пары, которые останавливаются, и отклоняет все остальные, то принимает . В противном случае он отклоняет если принимает неверное решение или не может остановиться.MMHLMH(Mi,Mj,wk,steps)Mi(Mj,wk)stepsMi(Mj,wk)MMHMiMiMi

MMH не останавливается, потому что он должен оценивать бесконечное количество пар для каждого . Кроме того, все не смогут остановиться. не сможет принять или отклонить какой-либо как из симуляции не узнает, что все не смогут остановиться. Таким образом, язык, который он определяет, не ре и не разрешим.MiMiMMHMiMi

MMH captures my intuition of what I think it means for a TM to prove the halting problem. Other suggestions, such as MMH rejecting all Mi or outputting a known proof give MMH prior knowledge that the halting problem applies to all Mi. This cannot count as MMH proving something since the MMH's premise is the conclusion it is proving, and thus is circular.

yters
источник
3
Your fix doesn't help. A problem with no parameters is always decidable, either by a Turing machine that always outputs YES, or by one that always outputs NO. Your line of argument just doesn't work, unfortunately. The real analog of Gödel's theorem is Rice's theorem.
Yuval Filmus
5
"It asks whether the fact the halting problem applies to all TMs can be decided by a TM." -- that query does not make sense as the halting problem does not "apply" to a set of TMs. At least, I don't know what that's supposed to mean.
Raphael
4
You have misunderstood Rice's theorem. Rice's theorem states (in a special case) that the language {M:L(M)=} is undecidable. It doesn't state that is undecidable; in fact, is decidable.
Yuval Filmus
7
I think the misunderstanding is in what the expression "deciding X" means. Formally, X should be a predicate on strings, and then a machine deciding X is one that on input s outputs the truth value of X(s). What is the predicate in your case? What is its input, and when is it true?
Yuval Filmus
5
The question is a category error. Decidability is a property of languages (sets of strings), not mathematical propositions. Any question of the form "Is X decidable?" where X is not a set of strings just doesn't make sense.
David Richerby

Ответы:

5

Another viewpoint: let φ be a formalization of the statement "LMH=" in ZFC; (trivially) we have:

  • the set P={xx is a valid proof of φ in ZFC} is decidable;

  • you can also build a TM M that enumerates the proofs in ZFC and halts if it founds a proof of φ or a proof of ¬φ; clearly M halts;

  • the set {MM decides P} is undecidable

Vor
источник
19

The language of Turing machines deciding the halting problem is decidable. A Turing machine that decides it simply always outputs NO.

In other words, is decidable.

You might be confused with the fact that the language of Turing machines whose language is empty is undecidable. That is, there is no Turing machine that, on input T, decides whether L(T)=.

Yuval Filmus
источник
7
The empty language is decidable. Deal with it.
Yuval Filmus
15
The language of Turing machines deciding the halting problem is empty. The empty language is decidable. Hence the language of Turing machines deciding the halting problem is decidable.
Yuval Filmus
1
The question is whether a TM can decide the language of Turing machines deciding the halting problem is empty. A TM cannot do this as I have shown above.
yters
1
@yters Are you asking whether a TM can prove that that language is empty? It can easily do so, by simply outputting an existing known proof.
user253751
3
What does it even mean for a TM to prove something?
Yuval Filmus
2

You misunderstand Rice's theorem.

Rice's theorem, in this context, says that you can't decide the problem "Does T decide the empty language?".

Your problem is not about deciding whether an arbitrary Turing machine decides the empty language. Your problem is whether or not there exists an M that decides the empty language.

And such M do exist. You can do even better than that: you can actually construct such an M and provide a proof that it decides the empty language.

The general problem not being decidable does not mean you cannot solve specific instances. In fact, by the usual device of enumerating all proofs, there exists a turing machine that:

  • Accepts every turing machine for which a proof exists that it decides the empty language
  • Rejects every turing machine for which a proof exists that it does not decide the empty language
  • Does not halt if it cannot be proven either way.

источник
1

The definition about decidability from Wikipedia:

A recursive language is a formal language for which there exists a Turing machine that, when presented with any finite input string, halts and accept if the string is in the language, and halts and rejects otherwise. The Turing machine always halts: it is known as a decider and is said to decide the recursive language.

In other words, it is decidable iff there is a Turing machine that decides all input strings. It is undecidable iff for each Turing machine, it doesn't decide all input strings, which means it could decide none or some strings, but there is at least one (but practically at least infinite of them) it cannot decide.

In your case, the trivial Turing machine doesn't decide for every input L, whether L=, but it happens to know specifically whether LMH=.

user23013
источник