Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Доказательство. Доказательство окончено




ТЕОРЕМА 8.5

ПРОБЛЕМА ВСЮДУ ОПРЕДЕЛЕННОСТИ

Доказательство окончено.

 

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

Распознавать такие ситуации до запуска программ для всех случаев нельзя, поскольку не существует соответствующего алгоритма.

Тем не менее, для некоторых конкретных и простых программ проблема остановки может иметь решение.

Например, такими являются учебные программы, составляемые студентами при изучении основ программирования.

Предположение о разрешимости проблемы остановки для каждой конкретной программы с помощью собственной разрешающей процедуры является неверным. Существуют конкретные программы, для которых проблема остановки также является неразрешимой. Например, это верно для программы, вычисляющей универсальную частично-рекурсивную функцию.

Действительно, пусть определенная ранее универсальная функция h (x 1, x 2) вычисляется некоторой программой P. Тогда вычисление программы P на начальных данных (m, n) заканчивается тогда и только тогда, когда значение h (m, n) определено.

То есть значение h (m, n) определено тогда и только тогда, когда (m, n) Î R1.

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

 

 

Рассмотрим вопрос о нахождении таких функций из последовательности (3), которые являются всюду определенными.

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

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

 

Определим множество:

R 2 = { n | fn - всюду определенная функция}.

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

 

Множество R 2 является неразрешимым.

Предположим противное. Пусть характеристическая функция множества R 2:

(x) = является вычислимой.

Рассмотрим вспомогательную функцию g (x), задаваемую соотношениями:

g (0) = m t ( (t) = 0);

g (k + 1) = m t ( (t) = 0 & t > g (k)).

Так как вычислимая функция, то функция g также вычислимая.

Последовательность функций fg (0),..., fg (i),... содержит все всюду определенные функции последовательности (3) в порядке возрастания номеров этих функций в нумерации p, множества F 1.

Пусть h (x, y) - определенная ранее универсальная функция.

Тогда функция q (x, y) = h (g (x), y) является вычислимой, и для каждого фиксированного значения x справедливо следующее равенство: q (x, y) = fg ( x )(y).

Поэтому функция d, определяемая соотношением: d (x) = q (x, x)+ 1 также является вычислимой всюду определенной частично-рекурсивной функцией. Поскольку последовательность fg (0),..., fg (i),... содержит все всюду определенные частично-рекурсивные функции, то $ i Î N (d (x) = fg(i) (x)).

Рассмотрим значение d (i).

 

1. По определению функции d справедливы равенства:

d (i)= q (i, i)+ 1 = fg ( i )(i)+ 1.

2. С другой стороны значение i выбрано так, что

d (i) = fg ( i )(i).

Полученное противоречие означает, что R 2 не является разрешимым множеством.




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 497; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.