КАТЕГОРИИ: Архитектура-(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) |
Алгоритмически неразрешимые проблемы
Алгоритмически неразрешимые проблемы Л е к ц и я 16
В данном разделе устанавливается алгоритмическая неразрешимость ряда проблем, относящихся к теории алгоритмов. Будем рассматривать так называемые массовые проблемы. Массовая проблема представляет собой бесконечную серию индивидуальных задач. Например, индивидуальной задачей является такая: обладает ли заданным свойством Q конкретная частично рекурсивная функция. Совокупность всех таких задач (для всех частично рекурсивных функций) образует массовую проблему распознавания свойства Q. Мы ограничимся такими массовыми проблемами, в которых все индивидуальные задачи имеют двузначный ответ («ДА» или «НЕТ»). Массовая проблема П является алгоритмически разрешимой, если соответствующая характеристическая функция f, которая определяется соотношением:
является вычислимой. Решая конкретную массовую проблему, следует считаться с возможностью, что она может оказаться алгоритмически неразрешимой, поэтому необходимо иметь представление о технике доказательства неразрешимости. Основной метод, применяемый в доказательствах алгоритмической неразрешимости, базируется на следующем рассуждении. Пусть имеем две массовые проблемы П1 и П2. Пусть имеется алгоритм А, который по всякой индивидуальной задаче Рассмотрим так называемую проблему самоприменимости машин Тьюринга. Она заключается в следующем. Рассматриваются машины Тьюринга, внешние алфавиты которых содержат символы 0,1 (наряду с другими). Для каждой машины Тьюринга Т построим Код (Т), который является (0,1)-словом, и запустим машину Т в начальной конфигурации q 1 Код (Т). Если машина Т останавливается (т.е. попадает в заключительное состояние) через конечное число шагов, то она называется самоприменимой, в противном случае — несамоприменимой. Заметим, что имеются как самоприменимые, так и несамоприменимые машины Тьюринга. Например, несамоприменимой будет машина Т 1, у которой все команды имеют вид qiaj à qiajE (в правых частях команд нет заключительного состояния), самоприменимой будет машина Т 1, у которой все команды имеют вид qiaj à q 0 ajE (в правых частях всех команд имеется заключительное состояние). Проблема самоприменимости состоит в том, чтобы по любой машине Тьюринга Т определить, является ли она самоприменимой или нет. Условимся, что машина Тьюринга М решает проблему самоприменимости, если для любой машины Т начальную конфигурацию q 1 Код (Т) она переводит в q 01, если машина Т самоприменима, и в q 00, если машина Т несамоприменима. Теорема 16.1. Не существует машины Тьюринга М, решающей проблему самоприменимости, т.е. проблема самоприменимости алгоритмически неразрешима. Доказательство. Предположим противное, т.е. пусть существует машина Тьюринга М, решающая проблему самоприместимости в указанном выше смысле. Построим новую машину М 0, добавив новое состояние q 01 à q 01 E;(a) q 00 à Рассмотрим теперь работу машины М 0. Пусть Т — произвольная машина. Если Т — самоприменима, то начальная конфигурация q 1 Код (Т) перейдет с помощью команд машины М O через конечное число шагов в конфигурацию q 01, далее применяется команда (a), и машина М 0 никогда не остановится. Если Т — несамоприменима, то начальная конфигурация q 1 Код (Т) перейдет с помощью команд машины М через конечное число шагов в конфигурацию q 00, далее применяется команда (b), и машина М 0 остановится. Значит, машина М 0 применима к кодам самоприменимых машин Т и не применима к кодам самоприменимых машин Т. Теперь рассмотрим Код (М 0) и применим машину М 0 к начальной конфигурации q 1 Код (М 0). Сама машина М 0 является либо самоприменимой, либо несамоприменимой. Если М 0 самоприменима, то по доказанному, она никогда не остановится, начав с q 1 Код (М 0), и потому она несамоприменима. Если М 0 несамоприменима, то по доказанному, она останавливается через конечное число шагов, начав с q 1 Код (М 0), и потому она самоприменима. Получили противоречие, которое является следствием допущения существования машины М 0, решающей проблему самоприменимости, что и требовалось доказать. Приведем еще один пример неразрешимой проблемы. Проблемой останова называют проблему, заключающуюся в том, чтобы по любой машине Тьюринга Т и слову Р в ее внешнем алфавите узнать, применима ли Т к начальной конфигурации q 1 Р. Проблема останова алгоритмически неразрешима, так как если бы она была разрешимой, то, взяв в качестве Р слово Код (Т), мы получили бы разрешимость проблемы самоприменимости. Приведем теперь неразрешимые проблемы, связанные с проверкой свойств частично рекурсивных функций. Пусть U (n, x) — универсальная функция для одноместных частично рекурсивных функций и соответствующая ей нумерация функций f 0(x), f 1(x), …, fn (x), …, (16.1) где fn (x) = U (n, x). Теорема 16.2. Проблема «функция fn всюду определена», n Î N 0 алгоритмически неразрешима. Доказательство. Определим характеристическую функцию данной проблемы
Определим новую функцию Ф (x), где
Заметим, что функция Ф(x) всюду определена. Кроме того,
Нам нужно доказать невычислимость функции g. Ясно, что из вычислимости функции g следует вычислимость функции Ф. Предположим, что функция Ф вычислима. Тогда существует число n такое, что Ф(x) = U (n, x) = fn (x). Поскольку Ф(x) — всюду определена, то должно быть g (n) = 1. Значит, имеем Ф(n) = fn (n) и Ф(n) = fn (n) + 1. Поскольку при x = n функция Ф(x) определена, то получаем противоречие. Следовательно, Ф(x) — невычислима, откуда следует, что функция g (x) — невычислима, что и требовалось доказать. Обозначим через Wn область определения функции fn (x) в последовательности (16.1). Теорема 16.3. Проблема «n Î Wn», n Î N 0 алгоритмически неразрешима. Доказательство. Рассмотрим характеристическую функцию проблемы:
и построим новую функцию g (x), где
Ясно, что из вычислимости функции f следует вычислимость функции g. Кроме того, справедливо соотношение для любых x Î N 0: g (x) определена Û fx (x) не определена. Предположим теперь, что функция g вычислима. Тогда существует число m, такое, что g = fm. Тогда имеем m Î Wm Û g (m) определено Û fm (m) не определено Û m Ï Wm. Получили противоречие, и поэтому g — невычислима и, следовательно, f — невычислима, что и требовалось доказать. Следствие 16.4. («Проблема применимости») Проблема «fx (y) определена», x, y Î N 0 — неразрешима. Доказательство. Если бы данная проблема была разрешима, то и проблема «n Î Wn» была бы разрешима, что и требовалось доказать. Рассмотрим теперь алгоритмический прием, позволяющий эффективно работать с номерами частично рекурсивных функций. Пусть f (x, y) — вычислимая функция. Фиксируем x = a и положим ga (y) = f (a, y). Функция ga (y) — одноместная и вычислимая. Значит, существует номер e такой, что ga (y) = fe (y) в последовательности (2). Покажем, что данный номер e находится эффективно. Теорема 16.5. Для всякой вычислимой функции f (x, y) существует общерекурсивная функция s (x) такая, что f (x, y) = fs ( x )(y). Доказательство. Пусть F — программа МПД, вычисляющая f (x, y). Фиксируем x = a, и рассмотрим программу МПД Qa, где
Легко убедиться, что данная программа Qa вычисляет f (a, y). Пусть s (a) — номер программы Qa. Согласно построению f (a, y) = fs ( a )(y). При этом, поскольку F фиксирована, то s (a) — эффективно вычислима, что и требовалось доказать. Теперь, в силу вычислимости f (x, y) существует n такое, что f (x, y) = U (2)(n, x, y), где U (2) — универсальная функция для двухместных частично рекурсивных функций. Тогда в предыдущей конструкции при x = a имеем s = s (n, a) и выполнено fs ( n , a )(y) = = U (s (n, a), y), где U — универсальная для одноместных частично рекурсивных функций. Таким образом, используя тезис Черча и приведенную выше конструкцию, установлена теорема. Теорема 16.6 (нумерационная). Существует общерекурсивная функция s (n, x) такая, что выполнено U (2)(n, x, y) = U (s (n, x), y). Данная теорема справедлива и в более общей ситуации, которую отметим без доказательства. Теорема 16.7. Для любых m, n ³ 1 существует общерекурсивная функция
где k Î N 0, Данное утверждение называют s - m - n -теоремой. Теорема 16.8. Проблема «fx = Доказательство. Рассмотрим следующую функцию:
Легко видеть, что функция f (x, y) вычислима, поскольку универсальная функция U (n, x) вычислима. По теореме 16.5 существует общерекурсивная функция s (x) такая, что f (x, y) = fs ( x )(y) = = U (s (x), y). Имеем по определению x Î Wx Û fs ( x )(y) = Следствие16.9. Проблема «fx = fy», x, y Î N 0 — неразрешима. Теорема 16.10 (Клини). Для любой частично рекурсивной функции h (x) существует число а такое, что fh ( a )(x) = fa (x). Доказательство. Пусть задана частично рекурсивная функция h (x). Рассмотрим вспомогательную функцию f (y, x) = U (h (s (y, y)), x), где s — функция из тождества (10), существующая по нумерационной теореме 16.6. Поскольку функция f (y, x) — частично рекурсивная, то существует число n, такое, что f (y, x) = U (h (s (y, y)), x) = = U 2(n, y, x). По нумерационной теореме 16.6 имеем f (y, x) = = U (s (n, y), x) или U (h (s (y, y)), x) = U (s (n, y), x). Теперь положим y = n, и поскольку функция s общерекурсивна, то s (n, n) определено. Тогда получаем U (h (s (n, n)), x) = U (s (n, n), x). Обозначая s (n, n) = a, имеем U (h (a), x) = U (a, x) или fh ( a )(x) = fa (x), что и требовалось доказать. Теперь используем полученные результаты для установления фундаментального факта, полученного Райсом, показывающего, что проблема проверки любого нетривиального свойства частично рекурсивных функций неразрешима. Произвольное множество А Í N 0 называется рекурсивным, если соответствующая характеристическая функция
вычислима. Ясно, что рекурсивное множество А характеризуется тем, что проблема «x Î A» разрешима. Пусть F — множество одноместных частично рекурсивных функций, отличных от пустого множества и от множества всех одноместных частично рекурсивных функций (т.е. F — нетривиальное множество). Обозначим через NF — множество всех номеров функций из F. Теорема 16.11. (Райс) Множество NF нерекурсивно. Доказательство. Предположим, что множество NF рекурсивно. Тогда его дополнение
Функция g (x) общерекурсивна, так как выполнено равенство g (x) = a Если a Î Итак, число а не содержится ни в одном из множеств NF и Пусть Q — некоторое нетривиальной свойство одноместных частично рекурсивных функций, т.е. имеются функции как обладающие свойством Q, так и не обладающие свойством Q. Теорема 16.12. Проблема «f обладает свойством Q», f Î E 1 неразрешима. Доказательство. Пусть проблема «f обладает свойством Q», f Î E 1 разрешима, т.е. существует МПД, которая для любой f Î E 1 начальную конфигурацию (n, 0, …), где n — номер функции f, через конечное число шагов переводит в заключительную конфигурацию (1, *, …), если f обладает свойством Q, и в заключительную конфигурацию (0, *, …), если f не обладает свойством Q. Тогда для множества Данное соотношение показывает, что множество Теорема 16.11 имеет многочисленные применения в теоретическом программировании и позволяет доказывать неразрешимость многих задач, связанных с вычислением на машинах. Большое число алгоритмически неразрешимых проблем имеется в книге: Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. М., 1972. Приведем одно важное понятие теории алгоритмов, связанное с вычислимостью. Выше была установлена невычислимость характеристической функции предиката «x Î Wx». В то же время частичная характеристическая функция, определенная соотношением
является вычислимой. Это следует из тезиса Черча. Поэтому говорят, что проблема «x Î Wx» полувычислима. Многие проблемы, будучи неразрешимыми, являются полувычислимыми. Определение 16.13. Предикат М (
вычислима. Замечание 16.14. В литературе также используются равносильные термины: частичная разрешимость, рекурсивная перечислимость. Примеры: 1. Любой разрешимый предикат полувычислим. 2. Для любой вычислимой функции g ( 3. Проблема «x Ï Wx» не является полувычислимой. Действительно, если f — соответствующая частичная характеристическая функция, то Теорема 16.15. Предикат М ( М ( Доказательство. Если М ( Определение 16.16. Множество А из N 0 называется рекурсивно перечислимым, если частичная характеристическая функция f, где
вычислима. Это равносильно тому, что предикат «x Î A» полувычислим. Теорема 16.16 может быть перефразирована следующим образом: Множество является рекурсивно перечислимым тогда и только тогда, когда оно является областью определению одноместной вычислимой функции.
Дата добавления: 2014-12-29; Просмотров: 986; Нарушение авторских прав?; Мы поможем в написании вашей работы! |