Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ТА.docx
Скачиваний:
11
Добавлен:
24.09.2019
Размер:
355.83 Кб
Скачать

4.Рекурсивные функции и операторы. Примеры

Опр. класс вычислимых функций, определяемый 5 характеристиками алгоритма, определяется ими однозначно и называется рекурсивными функциями.

Функции - простые рекурсивные функции. Эти ф-ции всюду определены на N и вычисляются аналитически.

Новые рекурсивные функции получаются из этих с помощью трех операторов:

- суперпозиции (подстановки);

- примитивной рекурсии;

- минимизации. Это доп. правила вывода в этой теории.

1.Оператор суперпозиции (подстановки).

.

n-местных функций и еще одна m-местная функция . Если функция. Функция - n-местная функция. φ получена из данных с помощью оператора суперпозиции, если:

.

2. Оператор примитивной рекурсии.

К ним относятся:

Есть 2 функции n-местная и n+2 – местная:

-местная функция f получена из функций g и h c помощью оператора примитивной рекурсии, если для любых выполняются следующие неравенства:

,

,

, то - функция двух переменных.

.

- еще одно обозначение этой рекурсивной функции

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

Все примитивно-рекурсивные функции всюду определены.

3.Оператор минимизации. Имеем 2 функции переменного.

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

.

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

Пример 1: . Доказать, что она рекурсивная.

Пример2: (доказать что рекурсивна)

Пример 3:

Пример 4:

(ЗНАК) Парная ей

Пример 5:

(частный случай усеченной разности)

Пример 6.

- примитивно рекурсивная?

=

Пример 7.

[x|0] = x

рекурсивная разность

.

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

Опр. Функция называется общерекурсивной, если она рекурсивна и всюду определена.

5. Машина Тьюринга и её программа. Машина Тьюринга как алгоритм

Ещё называют: машина Поста. В реальности её нет, это некий алгоритм. Представим её устройство.

Состоит из: бесконечной в обе стороны ленты разбитой на ячейки.

1). В процессе работы машина обозревает конечное число ячеек, находящихся в одном из состояний а0, а1, а2, …, am и может, в зависимости от условий, пристраивать одну ячейку справа или слева.

а0 – пустое состояние.

Опр. совокупность состояний ячеек обозначается A = {а0, а1, а2, …, am} и называется внешним алфавитом машины. Соответственно сама лента называется внешней памятью машины и считается направленной.

2). Есть внутренняя память устройства, которая в определённое время находится в одном из состояний Q = {q0, q1, q2, …, qm} – совокупность состояний, которые образуют внутреннюю память. Одно из этих состояний называется заключительным (q0). Стартовое состояние - q1 – находясь в этом состоянии, машина начинает работать. В это состояние машину надо привести, иначе она не начнёт работать.

3). Третья часть – управляющая головка. Некоторое устройство, которое может перемещаться вдоль ленты. В каждый момент времени находится в одном из состояний q и обозревает определённую ячейку внешней памяти.

4). Механическое устройство, которое в зависимости от состояния обозреваемой ячейки и внутренней памяти может изменить состоянии внутренней памяти, т.е. . Необязательно, чтобы состояние было новым. Причём (может изменить состояние ячейки) и может передвинуть управляющую головку в соседнюю справа/слева ячейку (а может и не двинуть).

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

Если вдруг на каком-то этапе машина приходит в состояние q0, то она останавливается. Может случится так, что она в состояние q0 не приходит никогда, тогда говорят, что она работает вечно.

Опр. Состоянием машины или её конфигурацией называется совокупность, образованная последовательностью всех обозреваемых ячеек ленты в данный моменты времени (внешняя память); состоянием внутренней памяти ; номером обозреваемой ячейки в данный момент.

Т.е.

– называется машинным словом. Символ q находится только один раз и не может быть в нём самым крайним справа.

. Программа состоит из команд .

Опр. Команда – выражение одного из 3-х видов:

:

.

.

Или

Машина не глядя заменяет символ новым.

, , , х =П

Машина переходит к обозрению соседней справа ячейки, если Х = П. Влево, если Х = Л, остаётся на месте, если Х = С.

,

,

q0

Если машина не попадает в q0, то она работает вечно.

Алфавит машины Тьюринга: A, Q, A Q конечный набор символов.

Слово α А\{a0} – любая последовательность символов алфавита. Слово α воспринимается машиной в стандартном состоянии, если оно записано в последовательных ячейках на ленте, все другие пустые и машина обозревает крайнюю справа ячейку из тех, в которых написано слово.

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

.

Слово α перешло в β.

Примеры: Чтобы задать машину Тьюринга, надо сначала задать алфавит:

A = {0, 1}, Q = {q0, q1, q2}

A Q

q1

q2

0

q2ОП

q01

1

q2

q2

Как изменится состояние машины ,если вначале оно было:q111, т.е. в какое слово машина переработает слово 11?

1 1 → 1 1 → 11 0 → 110 0 → 110 1

q1 q1 q1 q2 q0

11 → 1101

Задачи, связанные с машиной Тьюринга:

1. Дана машина, анализируем её.

2. Задан алфавит: внешний и внутренний. Создать машину Тьюринга.

Машина Тьюринга как алгоритм.

.

, E

,

.

n-ку будем записывать в виде слова:

f(10, 2, 3, 5)

→…→

.

Опр. Функция называется вычислимой по Тьюрингу, если существует машина Тьюринга, которая её вычисляет.

Пример:

– примитивно рекурсивные функции, т.е. есть алгоритм, который их вычисляет.

. Если функция не определена на каком-то наборе, то на этом наборе машина Тьюринга будет работать вечно.

1). S(x) = x + 1

a) x≠0

011…1q110 – стандартное начальное состояние.

Из состояния q11 → q11П, т.е. q10 → q01

…1 1

q1

…11 0

q0

б). х = 0

A Q

q1

0

q01

1

q1

2). O(x) = 0

001… q110 →

q11→ q11Л … q10 → q01