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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
ВВЕДЕНИЕ
с позиции МТ и рассматриваются практические реализа­ции МТ, а также приводится система заданий для самосто­ятельной работы.
Во второй главе рассматривается теория рекурсивной функций, где строится класс примитивных, общерекурсив­ных и частично рекурсивных функций (ПРФ, ОРФ, ЧРФ). Рассматриваются операции подстановки, примитивной ре­курсии, производные операции и операции минимизации. Определяется рекурсивность предикатов, логических опе­раций над предикатами. Каждая тема проиллюстрирована примерами, а в конце приводится перечень вопросов и за­даний для самостоятельной работы.
Третья глава посвящена теории рекурсивных и ре­курсивно перечислимых множеств. Определяется рекур­сивная перечислимая множества (РПМ). Рассматривается нумерация всех пар натуральных чисел. Описывается по­нятие универсальных функций. Раскрывается иерархия множеств и структура класса вычислимых функций.
В четвертой главе изучаются и исследуются алго­ритмические проблемы (самоприменимости, остановки и общерекурсивности) и другие алгоритмические про­блемы с помощью математической машины Тьюринга. Рассматривается теорема Райса. А также анализируются алгоритмические проблемы из других областей математи­ческой науки.
Пятая глава посвящена введению в теорию слож­ности вычисления. Описывается теория 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
Л
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]