Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
1.5. Уточнение понятия алгоритма через машину с неограниченными регистрами
:0
=
:1
nn
= +
( )
nm
RR=
( )
mn
RR=
В список предписаний МНР входит четыре команды: команда обнуления Z(n); команда прибавления единицы S(n); команда переадресации T(m, n) и команда
условного перехода J(m, n, q). Команды обнуления, прибавления единицы и переадресации называются арифметическими.
Таблица 9
Обозначение команды Действие, производимое МНР
По данной команде
Z(n)
S(n)
R
n
RR
,T mn
,,J mnq
:
Если ,
к вычислению команды алгоритма с номером q
то перейти
Алгоритмом называется конечная непустая последовательность команд из списка предписаний МНР, начинающаяся с команды с номером 1.
Производя вычисления по данному алгоритму, МНР
изменяет содержимое регистров памяти в точном соответствии с командами алгоритма.
Исходное состояние памяти, то есть последовательность чисел в регистрах перед началом вычислений, называется стандартной (начальной) конфигурацией.
Предположим, что некоторый алгоритм P состоит
из последовательности команд I1, I2, ..., Is. МНР начинает
вычисление с команды I1, затем выполняются команды I2,
I3 и т. д. до тех пор, пока не встретится команда вида J(m,
n, q). В этом случае МНР переходит к выполнению коман-
ды, предписанной J(m, n, q) и текущим содержанием регистров Rm и Rn.
— 31 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
Пример 1. Рассмотрим алгоритм P
1
I1J(1, 2, 6)
I
I
I
I
I
2
3
4
5
6
S(2)
S(3)
J(1, 2, 6)
J(1, 1, 2)
T(3, 1)
Применим алгоритм к следующей начальной конфи-
гурации:
Таблица 10
R
R
1
R
2
R
3
R
4
...
5
5 3 0 0 0 ...
Ход вычисления на МНР по алгоритму P1 с начальной
конфигурацией, изображенной на таблице 3, можно представить, записывая последовательно сверху вниз конфигурации машины вместе со следующей командой, к которой
она переходит на данном шаге.
Таблица 11
Вычисление по алгоритму P
1
R1R2R3R4R5... Следующая команда
5 3 0 0 0 ... I
5 3 0 0 0 ... I
5 4 0 0 0 ... I
5 4 1 0 0 ... I
5 4 1 0 0 ... I
5 4 1 0 0 ... I
5 5 1 0 0 ... I
5 5 2 0 0 ... I
5 5 2 0 0 ... I
2 5 2 0 0 ... I
1
(так как R1 R2)
2
3
4
(так как R1 R2)
5
(так как R1 = R2)
2
3
4
(так как R1 = R2)
6
7
— 32 —

1.5. Уточнение понятия алгоритма через машину с неограниченными регистрами
МНР выполняет алгоритм P: I1, I2, ..., Is до тех пор,
пока это возможно. Вычисление останавливается тогда
и только тогда, когда нет следующей команды, то есть когда МНР только что выполнила команду Ik и следующая команда в вычислении есть Iv, где v > s. Это может произойти
одним из способов:
1) если Ik = Is (выполнена последняя команда в P)
и Ik — арифметическая команда;
2) если Ik = J(m, n, q), Rm = Rn и q > s.
3) если Ik = J(m, n, q), Rm Rn и q = s.
В этом случае говорят, что вычисление остановилось
после выполнения команды Ik, и заключительная конфигурации есть последовательность r1, r2, r3, ... содержимого
регистров на этом шаге.
Результатом применения алгоритма к некоторой начальной конфигурации будем считать число r1 из регистра
R1 заключительной конфигурации.
Бывают, конечно, вычисления, которые никогда
не заканчиваются, например, никогда не заканчивается
ни при какой начальной конфигурации вычисление по алгоритму:
I
1
I
2
S(1)
J(1, 1, 1)
В случае, если вычислительный процесс не заканчивается получением результата, то говорят, что данный алгоритм неприменим к начальной конфигурации.
Задание.
Покажите, что вычисление по алгоритму из примера 1
с начальной конфигурацией 6, 7, 0, 0, 0, ... никогда не остановится.
— 33 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
( )
( )
xx x
( )
f xy x y
В дальнейшем для удобства обозначим через P(a1, a2,
..., an) вычисление по алгоритму P с начальной конфигура-
цией a1, a2, ..., an, 0, 0, ....
Если вычислительный процесс заканчивается с результатом b, будем писать
P(a1, a2, ..., an) = b.
Пусть
fx, (где
,...,
= ) — арифметическая
1
n
функция, т.е. функция у которой область определения
и область значения является множество натуральных чисел.
Определение 1. Функция f называется вычислимой
на МНР (или МНР-вычислимой), если существует такой
алгоритм P, что
a) вычисление P(a1, a2, ..., an) останавливается тогда
и только тогда, когда (a1, a2, ..., an) принадлежит области
определения f;
2) если (a1, a2, ..., an) принадлежит области определения f; то в заключительной конфигурации в регистре R1 находится натуральное число b такое, что f(a1, a2, ..., an) = b.
Рассмотрим теперь несколько простых примеров вы-
числимых функций.
Пример 2. Докажите МНР — вычислимость функции
,
= + .
Решение. Получим x + y, прибавляя y раз 1 к числу x.
Начальной конфигурацией алгоритма служит x, y, 0,
0, 0, ....
Типичной конфигурацией
в процессе вычисления
является R
x + k y k
R
1
R
2
R
3
R
4
...
5
0 0 ...
— 34 —

1.5. Уточнение понятия алгоритма через машину с неограниченными регистрами
0, 1
1
x
fx
xx
если
Определим алгоритм следующим образом:
I
J(3, 2, 5)
1
I
S(1)
2
I
S(3)
3
I
J(1,1,1)
4
Заданный алгоритм вычисляет функцию x + y.
Пример 3. Докажите МНР — вычислимость функции
1,
если
1
x
Решение. Составим алгоритм для начальной конфи-
гурации x, 0, 0, ... . Типичной конфигурацией в процессе
вычисления является:
R1R2 R
x k k + 1
R4 R5...
3
0 0 ...
Следующий алгоритм МНР — вычисляет функцию.
I1J(1, 2, 6)
I
S(2)
2
I
J(1, 2, 6)
3
I
S(3)
4
I
J(1, 1, 2)
5
T(3, 1)
I
6
— 35 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
( )
( )
fx x
( )
fx x
( )
fx x
( )
( )
( )
( )
23
=⋅+
Контрольные вопросы
1. Охарактеризуйте машину Тьюринга. В чем отличие
свойств МТ от реальной вычислительной машины.
2. Какие операции существуют для машины
Тьюринга?
3. Покажите на примере реализацию операций композиции и ветвления с помощью машины Тьюринга.
4. Какими свойствами обладает операция композиции?
5. Что такое конфигурации машины Тьюринга и какие виды конфигураций существуют?
6. Какие элементарные машины Тьюринга существуют?
7. Охарактеризуйте каждую элементарную машину.
8. Постройте копирующую машину mK с помощью
остальных элементарных машин.
9. Постройте выбирающую машину mT с помощью
остальных элементарных машин.
Практические задания
ющие следующие функции:
I. Постройте программы машин Тьюринга, вычисля-
1.
2.
3.
4.
5.
6.
7.
8.
fx x
3fx x= + ;
4
= ⋅ ;
2
= −;
5
= −;
3fx x= −;
3fx x= − ;
3fx kx=⋅− ;
.
— 36 —

Практические задания
123
MMM
( )
2;fx x
( )
f xy x y
( )
f xy x y
( )
f xy x y
( ) ( )
( )
f xy x y=⋅+
rest
остаток от деления x на y, если y > 0
( )
25
=⋅+
( )
( ) ( ) ( )
= +−−
( )
( )
,1 ,
( ) ( )
50
( )
( )
35
=⋅+
( )
>
>
II. Используя базис элементарных машин и маши-
ны
раций композиции, ветвления и зацикливания постройте
машины, вычисляющие функции:
,,
= ⋅
1.
,
2.
,2f xy x y=⋅− ;
3.
,2
4.
,xf xy
( )
, вычисляющие соответственно функции
,
= + ;
= ⋅ ;
=
;
y
;
,
= −, с помощью опе-
5.
6.
7.
8.
9.
10.
III. Из машин, составляющих базис элементарных ма-
шин, путем операций композиции, ветвления, зацикливания постройте машины, правильно вычисляющие следующие функции:
1.
2.
3.
3.
4.
,
xy
fx x
,2f xy x y x y
,f xy , удовлетворяющей условию:
fx y x y
fx x
Sgx
Sgx
0, 0
если
;
13fx x= − ;
,0 2
fx x
f xy x f xy
+=−
( ) ( )
=µ + −=
5fx x= + ;
1fx x= −;
1, 0
x
=
0, 0
0, 0
x
=
1, 0
x
;
;
=
x
;
=
y
= ⋅
;
.
;
— 37 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
( ) ( )
fx C x
( ) ( )
, ,1
( ) ( )
,, ,, 1
xx y
yxy
>
( )
fx x
5.
6.
f xy I xy= + ;
7.
f xyz I xyz= − ;
8.
f xy xy
( ) ( )
9.
1
= ;
5
2
2
3
2
= =
, max ,
!
= .
,
,
;
≤
— 38 —

Глава 2.
( )
qn
Cx x q
0,1,2, , 0,1, 2,nq= =
( )
( )
m nm
mn≤≤
ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
2.1. Примитивно рекурсивные функции.
Базис элементарных функций. Операции подстановки
и примитивной рекурсии. Основные свойства
Теория рекурсивных функций является одним из вариантов уточнения понятия алгоритма. Она включает
следующие классы функций: класс примитивной рекурсивной функции (ПРФ), класс общерекурсивной функции
(ОРФ) и класс частично рекурсивной функции (ЧРФ).
Теория рекурсивных функций образуется следующим
образом: в начале задается базис элементарных функций,
затем определяются специальные операции над функциями. В результате применения определенного количества
операций к элементарным функциям, строятся соответствующие классы функций: класс ПРФ, ОРФ и ЧРФ.
Примитивно рекурсивные функции (ПРФ)
Определение. Элементарными функциями называются:
1). Функции константы
2). Функции следования
3). Функции выбора
n
...
1
n
,
I xx x x= , где 1
12
— 39 —
= , где
1Sx x= +

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
1
,,
m
gy y
( ) ( ) ( )
11 21 1
,, , ,, ,, ,,
n nm n
hxxhxx hxx
( )
( )
xx
( ) ( )
( )
nm n
ghxx hxx
( )
=
( )
g xy x y= +
( )
=
( )
( )
( )
g xy x y= +
( )
=
( )
( )
Все элементарные функции — всюду определенные
и алгоритмически вычислимые.
Имеется небольшое число операций над элементарными функциями, переводящими вычислимые функции снова в вычислимые.
Операция подстановки
Пусть задана функция
и функции
.
Определение. Говорят, что функция
,,
fx x полу-
1
n
чена из этих функций с применением операции подстановки, если выполняется следующее равенство:
f
,,
=
1
и обозначается
n
f S gh h
,, ,, ,,
11 1
;,,
, где S означает операции
1
m
подстановки.
Пример:
1. Пусть
,
h uvt uv= .
2
и
,,
,,h u v t uvt
1
2
t
Тогда по определению подстановки получим, что
2. Пусть
f u v t uvt u v= +
,
,,
h uvz uv= .
2
и
,,h u v t uvt
1
2
2,,t
z
Тогда по определению операции подстановки получим, что
2
, ,,
f u v t z uvt u v= + .
z
Как видим, это не является результатом операции
подстановки, так как по условию задачи
,hh− являют-
12
ся трехместными функциями, а получаемая функция f –
четырехместная, что противоречит определению.
— 40 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
