Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упражнения. 8.1. Докажите, что не существует алгоритма, определяющего по тексту программы, будет ли эта программа вычислять некоторую конкретную вычислимую функцию



8.1. Докажите, что не существует алгоритма, определяющего по тексту программы, будет ли эта программа вычислять некоторую конкретную вычислимую функцию.

8.2. 2. Покажите, что не существует всюду определенной вычислимой функции f (x, y), обладающей следующим свойством: если программа останавливается, то это происходит за f (x, y)или меньше шагов.

Указание. Покажите, что если бы такая функция существовала, то проблема остановки была бы разрешима.

Естественно задаться вопросом, какие свойства вычислимых функций можно алгоритмически распознать по их программам. Оказывается, что никакие, кроме тривиальных. Доказательство этого факта содержится в теореме Райса.

Теорема 8.5 (теорема Райса). Пусть B - непустое множество одноместных вычислимых функций, не совпадающее со всем множеством одноместных вычислимых функций. Тогда проблема «» неразрешима.

Доказательство. Очевидно, что проблема «» разрешима тогда и только тогда, когда разрешима проблема «». Поэтому без потери общности можно считать, что нигде не определенная функция не принадлежит B.

Выберем некоторую функцию и рассмотримфункцию

По тезису Черча функция f (x, y) вычислима. Поэтому существует (по s-m-n-теореме) всюду определенная вычислимая функция s(x) такая, что . По определению функции f (x, y) имеем:

.

Таким образом, с помощью вычислимой функции s (x) мы свели проблему «» к проблеме «». Следовательно, проблема «» неразрешима.

Дадим более содержательную формулировку теоремы Райса. Пусть Q некоторое свойство одноместных вычислимых функций. Свойство Q назовем нетривиальным, если существуют функции, обладающие свойством Q, и функции не обладающие этим свойством.

Все обычно рассматриваемые свойства являются нетривиальными. Примерами нетривиальных свойств служат следующие:

· функция тождественно равна нулю;

· функция нигде не определена;

· функция всюду определена;

· функция взаимно однозначна;

· функция определена при x = 0.

Так как вычислимые функции могут быть заданы программами их вычисления, то естественно возникает вопрос: можно ли по программе узнать, обладает ли соответствующая ей функция заданным нетривиальным свойством.

Теорема 8.6. Каково бы ни было нетривиальное свойство Q одноместных вычислимых функций, задача распознавания этого свойства алгоритмически неразрешима.

Доказательство. Пусть B - множество одноместных вычислимых функций, обладающих свойством Q. Множество B не пусто и не совпадает со всем множеством одноместных вычислимых функций. По теореме Райса проблема «» неразрешима.

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

Более подробно ознакомиться с формальными подходами к вычислимости можно по книгам [4, 5].

Список литературы

I. Основы информатики и вычислительной техники. Пробное учебное пособие для средних учебных заведений. Ч. 1. Под ред. А.П. Ершова и В.М. Монахова. М: Просвещение, 1985.

2. Ершов А. П. Алгоритмический язык // Наука и жизнь. 1985. № 11. С. 61-63.

3. Абрамов С.А. Математические построения и программирование. М.: Наука, 1978.

4. Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. М.: Мир, 1983.

5. В.Л. Трахтенброт. Алгоритмы и вычислительные автоматы. М.: Советское радио, 1974.





Дата публикования: 2015-03-26; Прочитано: 440 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...