Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум Мат Лог.doc
Скачиваний:
150
Добавлен:
01.05.2015
Размер:
14.96 Mб
Скачать
    1. Элементы теории алгоритмов

2.5.1. Машины Тьюринга

Машина Тьюринга – это система, работающая в дискретные моменты времении состоящая из следующих частей:

конечная лента, разбитая на конечное число ячеек. В каждый момент времени в ячейках записаны буквы из некоторого алфавита(где,), называемого внешним алфавитом машины. Ячейка, в которой записан символ, называетсяпустой. Если в какой–то момент времени лента имеет ячеек, тосостояние ленты полностью описывается словом , где­– состояние первой (слева) ячейки,– состояние второй ячейки и т.д.

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

Программа Π, т.е. совокупность выражений (где), называемыхкомандами, каждое из которых имеет один из следующих видов:

сдвиг головки, находящейся в состоянии напротив ячейки с буквой, на одну ячейку влево с заменой состоянияна;

сдвиг головки, находящейся в состоянии напротив ячейки с буквой, на одну ячейку вправо с заменой состоянияна;

замена буквы в текущей ячейке на букву, а также замена состоянияголовки на состояние

Замечание 1. 1) Команды не могут начинаться со слов .

2) .

Таким образом, машина Тьюринга – это пятерка .

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

Пустое слово обозначим через .

Опишем преобразованиемашинного словав машинное словоза один шаг работы машины:

если , топриипри;

если , топриипри;

если , то.

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

Пусть – множество натуральных чисел с нулем,.

Отображение , где, называетсяn–местной частичной функцией. Если , то частичная функцияназываетсявсюду определенной. Если , то частичная функцияназываетсянигде не определенной.

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

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

1) ;

2) машина применима к записnи n-ки ;

3) дляи.

Пример 1. Построим машину Тьюринга , вычисляющую функцию. Пусть, где,, программа Π состоит из команд:

2.5.2. Примитивно рекурсивные функции

Базисными функциями называются следующие функции: – нулевая функция;– функция следования;– функция выбора.

Оператор суперпозиции (подстановки) ставит в соответствиеm-местной частичной функции иn-местным частичным функциям n-местную частичную функцию , удовлетворяющую тождеству:

Оператор примитивной рекурсии ставит в соответствиеn+2-местной частичной функции иn-местной частичной функции n+1-местную частичную функцию , удовлетворяющую схеме примитивной рекурсии:

Частична функция называетсяпримитивно рекурсивной (ПРФ), если существует последовательность частичных функций , в которойи всякаяявляется либо базисной функцией, либо получается из предыдущих функций с помощью оператора суперпозицииили примитивной рекурсии.

Пример 2. Функция сложения является ПРФ:

Пример 3. Функция умножения является ПРФ: