Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория алгоритмов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]