Остановка проблемы без самореференции


10

В проблеме остановки нас интересует, существует ли машина Тьюринга которая может определить, останавливается ли данная машина Тьюринга на заданном входе i . Обычно доказательство начинает предполагать, что такой T существует. Затем мы рассмотрим случай , когда мы ограничиваем I к М самим, а затем получить противоречие, используя экземпляр диагонального аргумента. Меня интересует, как будут проходить доказательства, если нам дадут обещание, что я не = М ? Как насчет обещания i \ not = M ^ \ prime , где M ^ \ prime функционально эквивалентно M ?M i T i M i M i M M MTMiTiMiMiMMM


2
Подсказка: даже если M не требуется правильно отвечать на вопросы о себе или даже о M эквиваленте, мы все равно можем дать ему эквивалент M и посмотреть, что он делает. Поскольку невозможно вычислить, эквивалентен ли М ' М , М не сможет сказать, что он получил что-то эквивалентное самому себе. MMM
Андрей Бауэр

@AndrejBauer Это просто подсказка, которую вы мне дали, и я должен решить мою настоящую проблему, используя эту подсказку? Я немного сбит с толку, так как вы ослабляете проблему, говоря «не требуя», когда в моей обстановке у меня есть обещание, что M не получит эквивалентное M . По сути, я хотел бы видеть какую-либо «самореференцию», которая делает проблемы неразрешимыми. Мне казалось, что это тот случай, когда речь идет о логике и неполноте.
звонок

Ты можешь нарушить обещание и накормить чем хочешь. Во всяком случае, он не может сказать, что ты нарушил обещание. Если вы думаете, что это обман, то я буду кормить вещами, которые не эквивалентны потому что они похожи на но со всеми входами, сдвинутыми на , или некоторыми другими. М М М 1MMMM1
Андрей Бауэр

На самом деле, ваши вопросы не очень хорошо сформулированы. Вы должны изложить действительное доказательство, которое вы имеете в виду, а затем указать, что именно вы хотите избежать. Я не думаю, что вы имеете в виду , но что-то еще. iM
Андрей Бауэр

Ответы:


7

Предположим, что HALTS - это TM, который считывает свои входные данные в виде пары и , где - это кодировка TM, а - любой входной сигнал для этой TM.х М хMxMx

Ваш вопрос, если что случится , если мы предполагали привалы решить Проблему Остановки для всех входов такое , что не является кодирование ТМА , который функционально эквивалентен .х МM,xxM

Я утверждаю, что это подразумевает противоречие. Я придумал это на месте, поэтому я приветствую любую критику моих доказательств. Идея доказательства состоит в том, что вместо диагонализации чего-либо для себя мы создаем два взаимно рекурсивных ТМ, которые ведут себя по-разному на некотором входе (таким образом, не являются функционально эквивалентными), но в противном случае вызывают противоречия.

Пусть и две взаимно рекурсивные TMs (что означает , что мы можем моделировать, печать и т.д., описание внутри программы , и наоборот). Обратите внимание, что мы можем сделать взаимно рекурсивные ТМ из теоремы о рекурсии.D 2 D 2 D 1D1D2D2D1

Определение и следующим образом : на входе , если (10 выбрано произвольно), затем принимает и зацикливается. (Таким образом, они не являются функционально эквивалентными).D 2 x | х | < 10 D 1 D 2D1D2x|x|<10D1D2

Заданный вход с , определите для имитации HALTS на и остановите, если остановится, или цикл, если зацикливается.| х | 10 D 1D 2 , х D 2 D 2x|x|10D1D2,xD2D2

Заданный вход с , определите для имитации HALTS на и loop, если останавливается или останавливается, если .| х | 10 D 2D 1 , х D 1 D 1x|x|10D2D1,xD1D1

Тогда отметим, что для любого с , (x) либо останавливается, либо зацикливается. Если останавливается на входных х, то мы знаем привалах ( , х) определено , что привалы на входе х. Тем не менее, остановки на входе х означает , что завешивает ( , х) петли.| х | 10 D 1 D 1 D 2 D 2 D 2 D 1x|x|10D1D1D2D2D2D1

Если на входе зацикливается, противоречие следует аналогично. хD1x

Это противоречие , если не является кодированием для машины Тьюринга функционально эквивалентного или , в этом случае имеет завешивает неопределенное поведение. Однако был выбран произвольно из всех строк размером больше . Таким образом, остается показать , существует машина Тьюринга с кодировкой размером больше 10 , что ведет себя иначе , чем и . Мы можем построить такую ​​машину тривиально. QED.Д 1 Д 2 х 10 Д 1 Д 2xD1D2x10D1D2

Мысли?


Зачем вам нужно , чтобы убедиться , что и не функционально эквивалентны? D 2D1D2
Bellpeace

Я думаю, вы правы, что в этом нет необходимости. Моим первоначальным намерением было сделать диагонали HALT ( )D1,D2
Курт Мюллер,

Без этого доказательство будет более элегантным, но оно в любом случае выглядит для меня хорошо и именно то, что мне нужно.
Bellpeace

2

Ты все еще не из леса. Вы сталкиваетесь с той же проблемой, только теперь вы задаете ему другую ТМ, качестве входных данных, где вы выбрали чтобы функционально эквивалентный (скажем, вы добавляете новое правило в так, что открывающие движения переходят один шаг вправо, один шаг влево и в противном случае вы не вносите изменений). Вы все еще столкнетесь с противоречием. Вы можете попробовать удалить все ТМ, которые эквивалентны , но это неразрешимый набор.M M M M MMMMMMM


Обновление . Исправьте схему кодирования, где обозначает описание по этой схеме TM и предположим, что у вас есть TM, гдеM HMMH

  • х В х ВH(M,x) не определено, когда является кодировкой TM, которая вычисляет ту же частичную функцию, что и (т.е. и функционально эквивалентны).xHxH
  • Для всех других входных данных возвращает true тогда и только тогда, когда останавливается.М ( х )H(M,x)M(x)

Теперь обычная конструкция диагонализации все еще приводит к противоречию. Определить TM поQ

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

Ясно, что и функционально неэквивалентны, поэтому мы можем позволить и обнаружить, что останавливается тогда и только тогда, когда он не останавливается, поэтому такой ТМ не может быть .H x = QHQ ( x=QHQ(Q)H


И предположим, что у меня есть обещание, что не ТМ, функционально эквивалентный М ? Может быть, я могу расширить свой вопрос в ОП? iM
Bellpeace

1
Предположим, что вам дано такое обещание; Я знаю, что это не вычислимо. Я обновил ОП.
звонок

@bellpeace: Как ты вообще это определяешь?

Входные данные : пара целых чисел таким образом, что я не представляет ТМ функционально эквивалентны ТМ представлена М . Выход: 1, если M останавливается на i , 0 в противном случае. Эта проблема разрешима? (M,i)iM1Mi0
Bellpeace

1
@RickyDemer Да, два TM считаются функционально эквивалентными, если они вычисляют одну и ту же частичную функцию. Обратите внимание, что, как указал Андрей, хотя определение того , эквивалентны ли и M , неразрешимо, мы все же можем рассмотреть проблему, в которой нам обещают, что два входных TMS не эквивалентны, как я привел в качестве примера выше. MM
Bellpeace
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.