Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория алгоритмов / из Интернета / теория алгоритмов (учебник 87 стр).pdf
Скачиваний:
183
Добавлен:
27.05.2015
Размер:
771.07 Кб
Скачать

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

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

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

IV.3. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу

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

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

Доказательство. Пусть машина Тьюринга с внешним алфавитом А = {а0, а1, ..., ат} и алфавитом внутренних состояний Q= {q0, q1, ..., qт} вычисляет некоторую функцию, заданную и принимающую значения в множестве слов алфавита А (словарную функцию на А}. Попытаемся представить программу этой машины Тьюринга в виде схемы некоторого нормального алгоритма. Для этого нужно каждую команду машины Тьюринга qα ai qβ a j X представить в виде совокупности марковских

подстановок. Конфигурации, возникающие в машине Тьюринга в процессе ее работы, представляют собой слова в алфавите A U Q. Эти слова имеют вид: ai1 ...aik qα aik +1...ai . Нам понадобится различать начало слова

и его конец (или его левый и правый концы). Для этого к алфавиту A U Q добавим еще два символа (не входящие ни в А, ни в Q): A(J Q U {и, v}. Эти символы будем ставить соответственно в начало и конец каждого машинного слова w: uwv.

Пусть на данном шаге работы машины Тьюринга к машинному слову w предстоит применить команду qα ai qβ a j X . Это означает, что машинное

слово w (а вместе с ним и слово uwv) содержит под слово qα ai . Посмотрим,

какой совокупностью марковских подстановок можно заменить данную команду в каждом из следующих трех случаев:

83

а) Х= С, т.е. команда имеет вид: qα ai qβ a j Ясно, что в этом случае следующее слово получается из слова uwv с помощью подстановки qα ai qβ a j , которую мы и будем считать соответствующей команде

qα ai qβ a j ;

б)

X = Л, т.е. команда имеет вид: qα ai qβ a j Л . Нетрудно понять, что в

этом случае для получения из слова uwv следующего слова надо к слову uwv применить ту подстановку из совокупности

a0 qα ai qβ a0 a j ; a1qα ai qβ a1a j ; ……..

am qα ai qβ am a j am qα ai uqβ a0 aj ,

которая применима к слову uwv. Б частности, последняя подстановка применима только тогда, когда qα самая левая буква в слове w, т.е. когда

надо пристраивать ячейку слева;

в) Х- П, т.е. команда имеет вид: qα ai qβ a j П. В этом случае аналогично,

чтобы получить из слова uwv следующее слово, нужно к слову uwv применить ту из подстановок совокупности

qα ai a0 a j qβ a0 ; qα ai a1 aj qβ a1 ; ……..

qα ai am a j qβ am

qα ai v a j qβ a0v ,

которая применима к слову uwv.

Поскольку слово qα ai , входит в слово w только один раз, то к слову uwv

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

Заменим каждую команду из программы машины Тьюринга указанным способом совокупностью марковских подстановок. Мы получим схему некоторого нормального алгоритма. Теперь ясно, что применить к слову w данную машину Тьюринга — это все равно, что применить к слову uwv построенный нормальный алгоритм. Другими словами, действие машины Тьюринга равнозначно действию подходящего нормального алгоритма. Это и

84

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

Верно и обратное утверждение.

Теорема 2. Всякая нормально вычислимая функция вычислима по Тьюрингу.

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

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

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

Теорема 3 . Следующие классы функций (заданных на натуральных числах и принимающих натуральные значения) совпадают:

а) класс всех функций, вычислимых по Тьюрингу,

б) класс всех частично рекурсивных функций;

в) класс всех нормально вычислимых функций.

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

85

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

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

86