Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
ВВЕДЕНИЕ
с позиции МТ и рассматриваются практические реализации МТ, а также приводится система заданий для самостоятельной работы.
Во второй главе рассматривается теория рекурсивной
функций, где строится класс примитивных, общерекурсивных и частично рекурсивных функций (ПРФ, ОРФ, ЧРФ).
Рассматриваются операции подстановки, примитивной рекурсии, производные операции и операции минимизации.
Определяется рекурсивность предикатов, логических операций над предикатами. Каждая тема проиллюстрирована
примерами, а в конце приводится перечень вопросов и заданий для самостоятельной работы.
Третья глава посвящена теории рекурсивных и рекурсивно перечислимых множеств. Определяется рекурсивная перечислимая множества (РПМ). Рассматривается
нумерация всех пар натуральных чисел. Описывается понятие универсальных функций. Раскрывается иерархия
множеств и структура класса вычислимых функций.
В четвертой главе изучаются и исследуются алгоритмические проблемы (самоприменимости, остановки
и общерекурсивности) и другие алгоритмические проблемы с помощью математической машины Тьюринга.
Рассматривается теорема Райса. А также анализируются
алгоритмические проблемы из других областей математической науки.
Пятая глава посвящена введению в теорию сложности вычисления. Описывается теория NP-полноты.
Рассматриваются вопросы, связанные с анализом сложности алгоритма и степени его эффективности.
— 11 —

Глава 1.
МАТЕМАТИЧЕСКАЯ МАШИНА
ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ
ПОНЯТИЯ АЛГОРИТМА
1.1. Математическое понятие «машина Тьюринга».
Алфавит машины Тьюринга. Основные операции
надмашиной Тьюринга
Одним из свойств алгоритма является свойство определенности, т.е. предписание, задающее алгоритм должно быть составлено таким образом, чтобы его исполнение
было во всех деталях однозначно осуществимо и не требовало никаких свободно принимаемых решений. Более
всего этим свойством обладает вычислительная машина.
Исходя из этого, английский математик Алан Тьюринг
провел уточнение понятия алгоритма с помощью абстрактной математической машины. Основные свойства машины
Тьюринга, отличающие её от исполнителя-человека, заключаются в следующим:
– машина Тьюринга не может ошибаться, т.е. она
строго без всяких отклонений выполняет программу, определяющую ее работу;
– машина Тьюринга имеет потенциально бесконечную память.
— 12 —

1.1. Математическое понятие «машина тьюринга». Алфавит машины тьюринга
{ }
Aa a
{ }
{ }
ji
aA∈
qQ∈
{ }
,,
Эту машину на неформальном уровне можно предста-
вить следующим образом:
Таблица 1
… … … …
a
j1aj2
… … … …
… … … …
a
jk
… … … …
a
jr
то есть имеется лента, разбитая на конечное число ячеек,
потенциально бесконечная в обе стороны, т.е. в процессе
работы к существующим ячейкам машина может пристраивать новые ячейки. В любую ячейку может быть записан
один символ из конечного множества символов, называемого алфавитом машины, т.е.
,...,
= .
1
p
В процессе работы символы, записанные в ячейках,
могут удаляться, заменяться другими символами.
Имеется также управляющая головка, передвигающаяся по ленте. В процессе работы одного такта машины головка может перейти на одну ячейку влево (Л), вправо (П),
или оставаться на месте (Н).
Лента машины и управляющие головки относятся
к так называемым вспомогательным устройством машины
Тьюринга.
Кроме того, машина Тьюринга включает в себя программу и правила пользования ею. Программа имеет вид
таблицы (см. таб. 2) и включает в себя:
• алфавит
A aa a= ;
• множество символов состояний
, ,...,
01
p
Q qq q= ;
, ,...,
01
n
• символы П, Л, Н.
виде.
собой некий упорядочений набор
Ячейки таблицы заполнены тройками вида
,
j
,
r ∈
i
П, Л, Н
a rq , где
.
Далее представляем машину Тьюринга в формальном
Определение. Всякая машина Тьюринга представляет
М=(A, a0, Q, q0, q1, l, d, r),
— 13 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
AQ Aλ ×→
AQ Qδ ×→
rAQ R×→
{ }
,,
( )
′′
→=τ
( )
′
( )
′
Таблица 2
q
q
…
…
q
a
0
1
2
q
i
n
a
1
…
a
ajRq
j
…
i
a
p
…
где А – алфавит машины Тьюринга;
а0 — символ пустой ячейки;
Q – множество состояний машины Тьюринга;
q0 — заключительное состояние машины Тьюринга,
при котором машина заканчивает свою работу;
q1 — начальное состояние машины Тьюринга; машина
всегда начинает свою работу в этом состояние;
l, d, r — функции, определенные на декартовом произведе-
ние множестве A×Q, т.е.:
:
:
:
— функция печати;
— функция перехода состояние;
— функция движений, где
R =
П, Л, Н
Исходя из этого значения всех перечисленных
функций можно представить как одну команду, т.е.
aq a Rq
, где
,a aq
= λ и
,q aq
= δ .
В каждый момент времени машина Тьюринга харак-
теризуется своей конфигурацией.
управляющая головка указывает на символ aj и блок управления находится в состоянии qi.
1.2. Понятие конфигураций машины Тьюринга (МТ)
Пусть на ленте записано произвольное слово, где
— 14 —

1.2. Понятие конфигураций машины Тьюринга (МТ)
Таблица 3
… … … …
a
1a2
… … … …
a
j
q
i
… … … …
… … … …
a
p
Определение. Конфигурацией МТ называют совокуп-
ность слов, записанных на ленте, где управляющая головка указывает на конкретный символ, и блок управления
находится в состоянии qi.
Определение. Конфигурация МТ называется стан-
дартной (начальной), если в состоянии q1 управляющая
головка воспринимает крайний правый символ слова, записанного на ленте.
Определение. Заключительной конфигурацией МТ на-
зывают конфигурацию, в которой в состоянии q0 управляющая головка воспринимает крайний правый символ слова, записанного на ленте.
Все конфигурации с состояниями, отличными от 0q ,
называют активными. В состояние 0q — машина прекращает работу.
Если в процессе работы МТ возникает такая конфигурация, что управляющая головка обозревает крайне
правый (левый) символ записанного на ленте слова и, согласно соответствующей программе, должна сдвинуться
вправо (соответственно, в лево), то машина автоматически приписывает справа (слева) символ пустой ячейке 0a .
Проиллюстрируем теперь основные свойства алгоритма в терминах МТ.
1. Дискретность. Работа МТ в дискретном време-
ни происходит следующим образом. Начинается работа
МТ всегда в начальной конфигурации.
Если в состояние qj управляющая головка обозревает символ алфавита al, и машина при этом находится
— 15 —

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
aa
jl k
→
в определенной конфигурации 1... ...
a
q
, то в следующий
n
l
j
момент машина переходит в другую конфигурацию в зависимости от указанной в программе команды:
q a a Rq
ι
.
2. Детерминированность (определенность) алгоритма.
Программа τ составлена таким образом, что ее исполнение
однозначно осуществимо. Детерминированность означает
также, что применение программы (различными исполнителями или в разное время) к одному и тому же слову в алфавите A приводит к одному и тому же результату с одной
и той же последовательностью состояний ленты.
3. Массовость алгоритма. Множество исходных дан-
ных для программы МТ – это множество всевозможных
слов в алфавите A. Это множество может быть потенциально бесконечно, его элементы записываются на ленте машины.
4. Результативность алгоритма. Алгоритм по любо-
му исходному данному позволяет за конечное число шагов
получить результат. Программа МТ применяется единообразно ко всевозможным исходным данным и не меняется в процессе работы машины над исходным словом.
Программа описывает переход от одного состояния к другому. Некоторое состояние опознается как заключительное. Появившееся при этом на ленте слово в алфавите A
является результатом переработки исходного слова, записанного на ленте в начальном состоянии машины.
5. Элементарность шагов. Каждый шаг работы МТ раз-
бит на элементарные шаги, и они являются простыми и локальными.
6. Конструктивность. Исходные объекты, промежу-
точные и окончательные результаты для МТ – слова в алфавите A машины. Такие объекты, как мы уже знаем, являются конструктивными.
— 16 —

1.3. Операции над машинами Тьюринга
{ }
ijp
{ }
{ }
'' '
{ }
11
++
Программа представляет собой конечное предписание, причем, процесс вычислений протекает только согласно программе и исходным данным, ничего более не используется.
1.3. Операции над машинами Тьюринга
Основными операциями над машиной Тьюринга являются:
1. операция композиции;
2. операция ветвления;
3. операция зацикливания.
Наиболее подробно охарактеризуем каждую из них.
1. Операция композиции.
Пусть заданы машины М1 и М2 с общим алфавитом
A aa a a a=
и соответствующими состояниями
Q qq q= и
1 01
, ,..., ,..., ,...,
01
, ,...,
n
Q qq q= .
, ,...,
2 01
m
Композицией Машины М1 и М2 называют машину,
обозначаемую через
с общим алфавитом А и множеством состояний Q, где
Эта машина получается из машины М
щим образом:
везде, где в программе машина М1 встречается символы q0,
он заменяется на символ q1’ , т.е. происходит переключение на машину М2.
М1•М
2
Q q qq q
,..., , ,...,
= .
n n nm
— 17 —
и М2 следую-
1

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
{ }
ijp
Все остальные символы в таблицах машины М1 и М2
остаются без изменения.
Таблица 4
a
q
q
q
1
2
1
q
2
a
0
…
1
a
j
… a
p
… …
q
q
j
j
avrqm
… …
q
q
n+1
q
n
n
q1’
… …
n+m
qm’
q
Основные свойства операции композиция
0
. Операция композиции не обладает свойством
1
коммутативности, т.е.
М1•М2≠ М2•М
1
20. Она обладает свойством ассоциативности.
М1•(М2•М3) = (М1•М2)•М
3
30. Операция композиции обладает свойством
повторения (итерационное свойство).
М•М•…•М=Мn, если M1=M2=…= Mn=M.
…
Пусть даны машины М1, М2 и М3 с одинаковым
алфавитом
2. Операция ветвления.
A aa a a a=
, ,..., ,..., ,...,
01
— 18 —

1.3. Операции над машинами Тьюринга
{ }
{ }
'' '
{ }
"" "
′
′
′
и с соответствующими множествами состояний:
Q qq q= ,
, ,...,
1 01
Q qq q= и
n
, ,...,
2 01
Q qq q= .
m
3 01
, ,...,
l
Результатом операции ветвления называется машина
вида
a
i
M
MM
= •
2
,
1
a
j
M
3
имеющая тот же алфавит и множество состояний вида
Q={q
,… ,q
0
} и получается из машин М1, М2 и М3 следу-
n+m+l+1
ющим образом:
машина начинает работать как М1 и если в таблице М1 в состоянии q0 управляющая головка указывает на символ ai,
то управление передается машине М2.
Если же в состоянии q0 управляющая головка указывает на символ aj, то управление передается машине М3,
в остальных случаях машина завершает работу в заключительном состоянии q0.
Программа операции ветвления имеет вид:
Таблица 5
a
q
1
q
1
…
0
…
a
i
a
…
j
a
p
… …
q
q
q
…
q
n+m+1
q
n+m+2
…
q
n+m+l+1
n+1
n+2
n
q
n
q
q
q
q
q
q
0
1
m
"
1
"
l
q
0
0
— 19 —
a Hq
1i
a Hq
"
q
a Hq
0
1j
0p

Глава 1. МАТЕМАТИЧЕСКАЯ МАШИНА ТЬЮРИНГА КАК ФОРМА УТОЧНЕНИЯ ПОНЯТИЯ
{ }
ijp
{ }
ij
12
00
qa
10
aq
11
10
aq
'
01
aq
0a1a1q12
03
aq
2q13
11
3q10
03
aq
3. Операция зацикливания.
Пусть задана машина М с алфавитом
A aa a a a=
и множеством состояний
Результатом операции зацикливания называется ма-
шина вида
которая получается из машины М следующим образом:
если на пересечении i-той строки и j-того столбца управляющая головка обнаружит символ q0, то этот символ заменяется символом kq , отличное от q0. В виде упражнения
нарисуйте табличную форму операции зацикливания.
Пример. Пусть машины Тьюринга M1, M2 и M заданы
соответственно программам (таблица 5):
Программа машина M1:
, ,..., ,..., ,...,
01
Q qq q= .
, ,...,
01
MM= ,
qa
q
k
n
Программа машина M2:
Программа машина M:
a
0
q
1
q
2
q
a Hq
Л
a
0
'
1
H
'
a
1
П
a Hq
a
1
Л
'
Таблица 6
a Hq
a Hq
a Hq
— 20 —
П
a Hq
Л
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
