Вопрос

Показать, что следующая проблема состоит в решаемости. Две программы со своими входами и знаниями, которые именно один из них останавливается, определите, какие останавливаются.

позволяет P быть программой, которая определяет одну из программ, будет остановлена.

P(Program x,Program y){

    if(x will be halted)

          then return 1;

    else

           then return 2;
}
.

С тех пор, как мы знаем, что именно один из них будет остановлен, если 1, затем программа X будет остановлена. Готерибоевая программа y будет остановлена.

Затем мы строим новую программу вызова D

D(X,Y){

     if(P(X,Y) == 2)

         D will halt;

      else

         while(1)//D will not halt;

  }
.

Давайте быть аритурной программой.

Так что, если у нас есть d (d, s)

Если буду остановить, то d не останов

Если d не остановлю, то буду остановить

это нарушает противоречие в том числе, как проблема захоронения.

Но вопрос заявил, что это разрешимо.

Это было полезно?

Решение

Чтобы начать с важной стороны Примечание. Какие входы для $ x $ и $ y $ что они остановятся? Вам необходимо указать конкретный вход для машин, чтобы получить четко определенный вопрос (например, вопрос может быть «дан $ x, y $ где Ровно один заканчивается на $ \ epsilon $ , найди, кто остановился ". Или возможно," Дано ... где ровно один всегда останавливается в качестве ввода ... " )

Я вижу, что смущено тебя там. Проблема действительно разрешима: в $ p $ emulate как $ x $ и $ y $ И ответьте, кто бы ни остановил сначала.

Проблема в вашем решении состоит в том, что вход в $ p $ должен быть $ x, y $ Где точно один из них останавливает, а другой нет.

Итак, правильный вход в $ d $ должен быть правильным входом в $ p $ . Теперь обратите внимание, вы называете $ d (d, s) $ . Чтобы убедиться, что $ d $ вернет правильный выход, мы должны иметь правильные входы: только один из $ d $ < / span> или $ s $ останавливает! Но ... если $ S $ останавливается, затем ваш $ d $ также останавливает и это не является правильным входом в $ p $ , и, следовательно, и не правильный ввод в $ D $ . Таким образом, вы не можете полагаться на вывод из $ D (D, S) $ , так как он не может быть правильным

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top