Файл: Алферова З.В. Теория алгоритмов учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.06.2024

Просмотров: 110

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

на «1», то она «отыскивает» на ленте первую пустую ячейку, т. е. ячейку с нулем справа от той, над которой находится головка, за­ писывает в ней «Ь> и останавливается. Если же вначале считываю­ щая головка находилась напротив пустой ячейки, то машина запи­ сывает в ней «1» останавливается, не передвигая ленты.

Машина 7V

\ -

А

 

 

0

l

<7i

<7i0n

<7оОП

Эта м'ашина «стирает» единицу в той ячейке, где находится голов­ ка, если ячейка не пуста, передвигает ленту вправо на одну ячейку и останавливается. Если головка в начальный момент времени на­ ходилась над пустой ячейкой, то лента передвигается вправо до тех пор, пока не окажется над ячейкой, содержащей «I», и работа­ ет так, как описано выше.

Машина Т&:

\ ^

А

 

А

 

 

 

0

1

 

0

1

Q

^

 

Q

 

 

— '

 

 

 

 

 

% •

д3

 

<72 /

д3Ш

д2

?4

доОЛ

Машина заполняет первый промежуток справа между двумя груп­

пами единиц, оставляя всего одну незаполненную ячейку.

'

Машина Г9 имеет два

заключительных

состояния — до'

и до":

 

л

 

 

 

0

1

 

Q

\

 

 

4i

_

<72Ш

 

92

<?о'ОЛ

<7о"1Л

 

Находясь в начальном состоянии всегда против заполненной ячей­

ки, машина обнаруживает, что записано

в соседней ячейке

слева:

О или 1. В зависимости от этого

она переходит в состояние

до' или

до" и останавливается в исходной ячейке.

 

 

Машина Ti0:

 

 

 

А

 

 

 

 

0

1

 

Q

 

 

 

/

 

 

 

.

?о1С

дъ\Л

 

?2

9Х

?2

 

Она заносит единицу слева от группы единиц через одну пустую ячейку.

38


-Машина Тп:

А

 

0

1

Q

 

Qi

 

?2оп

Q2

<7о1Л

<72

Начиная работу с заполненной ячейки, машина стирает в ней еди­ ницу и «переносит» ее в ближайшую пустую ячейку слева:

Машина Г1 2 :

А

 

0

1

Qi

q%QJ\

д2

92

?0

9оОС

Машина стирает одну единицу в ячейке, расположенной правее ис­

ходной

(если там есть «I»).

машины Р из машин Т3, 1\, Те,

Рассмотрим пример построения

Т\и Ti2c

помощью композиций итерации и произведения по следую­

щей формуле:

 

 

(1)

7-,

 

(2)

TuTtT9.

Машина Р начинает работу, воспринимая самую правую запол­ ненную ячейку представления какого-либо числа. Результатом ее ра­ боты является ситуация, в которой это число «перегоняется» на­ лево и ставится рядом с ближайшим слева числом.

\ .

А

1

 

 

 

А

 

 

0

 

 

 

0

1

\

 

 

 

Q

\

 

Qi

 

?2

 

Qi

<7вОЛ

(?8

92

 

g

in

 

 

<?oc

<?9

 

 

2

 

 

?9

9

<7з

(?4

<?71C

 

?юОЛ

<7Э

. Qi

?Б 0Л-

qtin

-

Qio

<7юОЛ

?ц1Л

Qi

<7Б

9е1Л

 

Qii

<712

<?и!Л-

<?e

 

?в

,

<?12

9о1С

(712

К такому же результату может привести машина с более простой

таблицей

соответствия:

 

 

 

 

\_

А

 

1

 

А

1

Q

 

0

Q

0

 

^

 

 

 

 

 

 

 

 

 

Ql

 

</2

«4

qfiU

<7„0Л

 

Qi

 

 

 

Qs

(?4

<76

<7« '

<7о1С

9.1 л

39



Машина Rm строится из машин Т\, Т3,

Т6, T-j, Т%, Тд, Ti0 по фо

муле

 

 

 

Р Т

ТтТ

(1)

W

 

 

(2) Т7Т?Тв>

где tn — степень соответствующей машины.

В частности,

 

 

 

1 0

1

9 l ( 2 ) W e .

Воспринимая в начальный момент времени систему чисел Хи ..., хт

в стандартном положении,

машина Rm печатает

справа

от пред-

t ставления чисел хъ ..., хт

первое из этих чисел

(т. е. Xi)

и оста-"

навливается, воспринимая в стандартном положении систему т + 1

чисел

(xi, . . . , хт,

Xi). Если же машина Rm

воспринимает в началь­

ный момент

времени в стандартном положении

систему

чисел

хи ...,

хп,

где п>

т, то она отпечатает справа от этой системы чисел

число хп-т+

 

1 и остановится, воспринимая

систему

(xi, х%,

хп,

Хп—т +

1)

 

 

 

 

Легко можно убедиться, что m-я степень машины Rm — Rmm ко­ пирует систему чисел (хи • • •, Хт), воспринятую в стандартном по­ ложении справа так, что результатом работы будет система чи­ сел (хи xm, Xi, х т ) , разделенных одним промежутком.

Если начальная конфигурация 0011110000, то заключительная — 001111011110000.

Машина Sm строится, по формуле:

 

 

 

° т — 1 б ^ т ' 7' 1 1 7' з •

 

Машина

Sm

делает

почти то же, что и машина Rmm,

т. е. копирует

систему

чисел (xit

xm)

справа,

но не с одним

промежутком,

а с двумя

(т. е. между числами хт

и xi

расположены две пустые

ячейки).

 

 

 

чисел и

хг),

где Х\ = 2, х% = 4. Тогда

Пусть

имеется система

если начальная конфигурация была 011011110000, то конечная кон­ фигурация будет иметь вид: 01101111001101111000.

Условимся теперь, как будут записываться и считываться с лен­ ты аргументы и значения вычисляемых функций. Ъудем говорить, что считывающая и записывающая головка воспринимает систему чисел {хи ..., хт) в стандартном положении, если, во-первых, эти числа записаны подряд и, во-вторых, головка расположена напро­ тив самой правой ячейки в представлении последнего из чисел п)-

Дадим определение понятию вычисления на машине Тьюринга. Пусть задана машина Т ц пусть в начальный момент времени вы­ полнены следующие условия:

1)

машина Т находится в начальном состоянии <?i;

 

2)

на ленте представлена система п чисел {хи

х п ) , которую

головка воспринимает в стандартном положении;

40


 

 

 

 

•\

*

 

 

 

 

 

 

 

3)

все ячейки, расположенные правее той, напротив которой на­

ходится головка, пусты.

 

 

функцию х = cp(xi, . . . , хп)

 

Будем

считать, что Т вычисляет

от п

переменных, если каковы бы ни были числа xit

...,

хп

существует

такой момент времени, в который:

 

 

 

 

 

 

 

1)

машина

Т достигает заключительного состояния до;

 

 

2)

на ленте будет представлена система п +

1 чисел xi,

.., хп, х,

где x~cp(xi,

х п ) , которую головка

машины

воспринимает в

стандартном положении;

 

 

 

 

 

 

 

 

 

3)

все ячейки, расположенные правее той, напротив которой на­

ходится головка, пусты.

 

 

 

 

 

 

 

 

 

Если же для какой-либо системы чисел (х\,

..., хп)

машина ни­

когда не останавливается

или останавливается, но при этом не вы­

полнено 2 или 3 условие, то такая машина не вычисляет

значения

функции ф при этих значениях

аргументов.

ХЪ Х3) = * i + хг + х%.

Рассмотрим

пример.

Пусть п = 3,

ф(лсь

Тогда

при Xi = 3, хг = 3, х3 4 начальная конфигурация

на ленте

будет

иметь вид 00 111 0 11 0 1111 0, а заключительная

ситуация

запишется

.так 00 111 0 11 0 1111 0 1111111110.

Считывающая

го­

ловка при этом расположена

над крайней правой единицей.

 

Рассмотрим

машины

Тьюринга,

вычисляющие

элементарные

арифметические функции, из которых строятся рекурсивные функ­ ции.

Функцию непосредственного следования S(x) = д; + 1 вычисля­ ет машина Т = RiT6. Действительно, воспринимая в начальный мо­

мент число х в стандартном положении, машина запишет

S (х) = ,

— х + 1 правее числа х и остановится в стандартном

положении

(х,

х+ Г), т. е. вычислит функцию

непосредственного

следования.

 

Константную функцию Они

хп) q

 

вычисляет

машина

Т = ТыТвЧ, которая правее системы чисел (хь

хп)

записывает q

и останавливается.

хп) = Хг вычисляет

 

 

Тождественную функцию Iin{xu

маши­

на

Т = Rn-i+i.

Действительно, эта машина

правее системы

чисел

(xi,

...., хп)

записывает (п i + 1)-е число, т. е. х%.

может быть

Можно доказать, что любая рекурсивная

функция

вычислена на мапхине Тьюринга и наоборот,'что на машине Тью­ ринга вычисляются только рекурсивные функции.

Имеет, место следующая теорема Тьюринга

(1). Для

каждой

частично рекурсивной словарной функции f(xi,

xg),

определен­

ной в некотором алфавите а\, ...,

ат, существует

машина

Тьюрин­

га с символами ао, а ь . . . , ат и подходящими

внутренними

состоя­

ниями, которая вычисляет функцию f(xi,

xg).

 

из простей­

Каждая частично рекурсивная

функция получается

ших арифметических функций с помощью операций суперпозиции, примитивной рекурсии и минимизации. Поэтому теорема Тьюрин­

га будет доказана, если нам удастся решить следующие

частичные

задачи:

\ 1

 

1. Построить

машины Тьюринга, вычисляющие

простейшие

арифметические

функции.

 

 

 

41

/