Реферат Курсовая Конспект
Упражнения - раздел Образование, АКСИОМАТИЧЕСКИАЯ ТЕОРИЯ 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].
– Конец работы –
Эта тема принадлежит разделу:
Е П Емельченков В Е Емельченков...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Упражнения
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов