- •§ 4.1. Алгоритмически неразрешимые задачи
- •§ 4.2. Задача об остановке произвольной машины Тьюринга при произвольном входном слове
- •§ 4.3. Задача об остановке произвольной машины Тьюринга на пустой ленте
- •§ 4.4. Задача об остановке конкретной универсальной машины на произвольной ленте специального типа
- •§ 4.5. Задачи о печатании символов
- •§ 4.6. Обобщение проблемы алгоритмической неразрешимости
Лекция 4. Понятие алгоритмической разрешимости
§ 4.1. Алгоритмически неразрешимые задачи
После того, как Тьюрингом была предложена столь удобная формальная модель алгоритма, возник вопрос о границах ее применимости. Если любой алгоритм можно преобразить в машину Тьюринга, то возникает вопрос о том, для любой ли задачи, вообще говоря, существует алгоритм решения.
Далее будут рассмотрены примеры алгоритмически неразрешимых проблем и доказательства их неразрешимости. Вначале отметим, что доказательствам невозможности, приводимым в теории алгоритмов, присуща та же математическая строгость, что и доказательствам невозможности, проводимым в других областях математики.
Существуют два метода доказательства неразрешимости.
Первый, прямой метод, состоит в том, что исходя из предположения о разрешимости данной проблемы, путем набора логических преобразований (переходов) мы приходим к противоречию с доказанными ранее утверждениями либо с элементарной логикой (со здравым смыслом).
Второй, косвенный метод (называемый ещё методом сведения) состоит в следующем. Показывается, что разрешимость исследуемой проблемы влечёт разрешимость проблемы, о которой уже известно, что она неразрешима. Метод сведения часто бывает более удобным, чем прямой метод.
Первый метод используется вообще достаточно широко в доказательстве теорем различного типа. В общем виде он называется reductio ad absurdum - доказательство «от противного». Это один из самых часто используемых методов доказательства утверждений. Доказательство утверждения A проводится следующим образом. Сначала принимают предположение, что утверждение A неверно, а затем доказывают, что при таком предположении было бы верно некоторое утверждение B, которое заведомо неверно. Полученное противоречие показывает, что исходное предположение было неверным, и поэтому верно утверждение «отрицание отрицания А», которое по закону двойного отрицания равносильно утверждению A.
Кроме этого, во многих доказательствах применяется так называемая апагогия (греч. лат. deductio) - логический прием, которым доказывается несостоятельность какого-нибудь мнения таким образом, что или в нем самом, или же в необходимо из него вытекающих следствиях, мы открываем противоречие. Поэтому апагогическое доказательство является доказательством косвенным: здесь доказывающий обращается сперва к противоположному положению, чтобы показать его несостоятельность, и затем по закону исключения третьего делает вывод о справедливости того, что требовалось доказать. Этот род доказательства называется также приведением к нелепости: deductio ad absurdum. Существенной его принадлежностью является довод, что третье не существует: tertium non datur, т. е., что кроме мнения, справедливость которого должно доказать, и второго, ему противоположного, которое служит исходным пунктом доказательства, никакой третий факт не допускается. Поэтому косвенное доказательство исходит из факта, противоречащего положению, справедливость которого требуется доказать.