Файл: Кушнер, Б. А. Лекции по конструктивному математическому анализу.pdf

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

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

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

Добавлен: 15.10.2024

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

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

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

НОРМАЛЬНЫЕ АЛГОРИФМЫ

81

Наметим доказательство этой теоремы. Обозначим через £)i такой нормальный алгорифм над А\, что при любых натуральных тип

!£>i {man)

и

£), (man) === Л = «J =?= «•

 

(Такой алгорифм,

распознающий

графическое

равен­

ство, был построен

выше (стр. 74).)

Применяя

теоремы

композиции и объединения к алгорифму £>i и «высекаю­ щим» алгорифмам В2, Вц (см. стр. 72), легко построить нормальный алгорифм Ф 2 (над Ах) так, что при любых словах Р и Q в А и любых натуральных т, п

I5D2 (PamaQan)

и

(59)3)2 (PamaQan) = Л == m = п.

Аналогично, нетрудно построить алгорифм Ф 3 так,

что

(60)2>3 (PamaQan) ~ РатаЪ (PanaQ) an |.

Построим теперь нормальный алгорифм 3?4 как ви­ доизмененное повторение 5)3 с управляющим алгориф­ мом ф 2 (теорема 10) и рассмотрим композицию Фв этого алгорифма с алгорифмом 2D5 таким, что

S)s (Pam) ~ Pamal (Р) a0

(несложное построение © 5 с помощью теоремы объеди­ нения предоставляется читателю).

Таким образом,

(61)

£>6 (Рат) ~

© 4

(3)5 (Pam)) ~ 5Е)4 (РатаЭД (Р) аО).

Ввиду

(59) -

(61)

 

(62)

© 6

(РаО) ~

Ф4

(РаОаЯ (Р) аО) ~ PaOal (Р) аО.

При т > 0 применимость £>6 к слову Рат равно­ сильна существованию цепочки слов Р 0 , Р\, ..., Рт та­ кой, что

(63)

Л,=г=я(Я),

(64)

p i + I == 33 (PaiaPi)

(0 ^ i < m),



82

АЛГОРИФМЫ

И ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА

[ГЛ. 1

причем в случае существования этой цепочки

 

 

Ф6

(Рат) =

РатаРтат.

 

Алгорифм Фб уже очень близок к искомому. В самом деле, по теореме композиции построим алгорифм g так, что

 

 

(E(Pam)~fi3 (D6 (Pam)),

где

В3

— такой алгорифм, что для любых слов 5 Ь 5 2 ,

.Ь'з,

5 4

в A U{0|}

 

 

В3 ( 5 , 0 5 2 0 5 3 0 5 4 ) = = 5 3 .

Ясно тогда, что применимость алгорифма (5 к слову Рат равносильна существованию указанной выше це­ почки Р0, ..., Рт, причем в случае существования та­ кой цепочки

(65)

S (Рат) = Рт.

Из (62) — (65) получаем

К (PaO) ~ 1 (Р),

6 (Pam + 1) ~ 23 (PamaS (Pam)),

что и требуется.

Предлагаем читателю в качестве упражнения по­

строить с помощью теоремы повторения

нормальный

алгорифм, умножающий натуральные числа.

8. Изображение и запись нормального

алгорифма.

Теорема об универсальном алгорифме. В ряде случаев возникает необходимость привлекать одни нормальные алгорифмы в качестве исходных данных других алго­ рифмов. В таких случаях оказывается необходимой ко­ дировка схем нормальных алгорифмов словами неко­ торых специальных типов. Мы приведем здесь, следуя

монографии М а р к о в а

[2], два

простых способа та­

кой кодировки. Каждый

из них

обеспечивает возмож­

ность однозначного восстановления схемы нормального

алгорифма по его коду.

А, и пусть а,

Пусть

фиксирован

некоторый алфавит

Р, у —Т РИ

различные

буквы, отличные от

стрелки и от

точки и не принадлежащие А. Обозначим через Б ал­ фавит A U {офу}-


 

НОРМАЛЬНЫЕ

АЛГОРИФМЫ

83

Пусть

% — произвольный

нормальный

алгорифм в

алфавите

А. Изображением

91й алгорифма

21 назовем

слово в алфавите Б, получаемое следующим образом: выписываются в порядке очередности формулы подста­

новок

21, причем справа

от

каждой

формулы

ставится

буква

у. а

в с е стрелки

и

точки заменяются

соответ­

ственно на

буквы а и р .

Например,

изображением тож­

дественного

алгорифма

{-•

 

 

является слово аРу, а изображением алгорифма со схе­ мой

Р^Р2 Рз^-Р4

(где Pi, Р2, Рз, Pi — какие-то слова) является слово

РР2уР3а^Р4у.

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

Имеет место следующая теорема, утверждающая су­ ществование универсального алгорифма при кодирова­

нии нормальных алгорифмов их изображениями

(в этой

теореме

б — некоторая

буква,

не

принадлежащая

алфа­

виту

Б).

 

 

 

 

 

 

 

 

 

Может

 

Т е о р е м а

13 ( М а р к о в

[2;

гл.

4, §

2]).

быть

построен

такой

нормальный

алгорифм

23 над

ал­

фавитом

Б, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23(21И 6Р)~2ЦР)

 

 

 

 

для

любого

нормального

алгорифма

21 в

алфавите

А

и любого

слова

Р в А.

 

 

 

 

 

 

 

 

Кодирование

нормальных

алгорифмов

посредством

их

изображений иногда

оказывается

неудобным

(ср.

§

2)

из-за

большого

количества

используемых

в

нем


84 АЛГОРИФМЫ И ПЕРЕЧИСЛИМЫЕ МНОХ<ЕСТВА [ГЛ. I

букв. В таких случаях прибегают к более сложным спо­

собам

кодирования, обходящимся

меньшим числом

букв.

Следуя М а р к о в у [2; гл. 4,

§ 3], мы будем при­

менять способ кодирования, использующий всего две буквы. Именно, каждому нормальному алгорифму 21 в алфавите А будет сопоставляться некоторое слово в

двухбуквенном

алфавите

{ 0 | } * ) , называемое записью %

и обозначаемое

посредством

£ ^ 3 - Это

сопоставление

осуществляется

следующим

образом.

Определяется

операция перевода (п. 5)

из

алфавита Б

изображений

нормальных алгорифмов в алфавит {0|}, использующая кодирующие буквы 0 и | (сохраняемый алфавит в дан­ ном случае пуст), и записью данного нормального ал­

горифма

объявляется

перевод его

изображения**).

По записи каждого нормального алгорифма в алфа­

вите А

может быть

однозначно

восстановлена его

схема.

 

 

 

Приведем два примера записей алгорифмов. В каче­ стве алфавита А возьмем в этих примерах двухбуквенный алфавит {ab}, а в качестве букв а, р\ у соответ­

ственно буквы с, d и е.

 

 

 

 

У1\

 

 

 

{ab}

Запись

тождественного

алгорифма

в алфавите

(его схема {->• )такова:

E^i3

 

0[ | 100] | | 1001 | | | |0.

 

Пусть

21 — нормальный

 

алгорифм

в

алфавите

{ab}

со

схемой

 

 

 

 

 

 

 

 

 

 

 

(21 аннулирует любое слово в этом

алфавите).

 

 

 

Очевидно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21й == acebce

 

 

 

 

 

 

 

 

*) Марков использует алфавит {ab}.

 

 

 

 

 

 

 

 

**)

Более подробно: выписываются

в

каком-нибудь

порядке

буквы

г|1,

г]п+з

алфавита

Б

(положим

r | „ + i = = o c ,

г|„+2==р,

г|п+8=?=у).

Переводом

буквы r|j

 

(1 ^ i

^

п + 3 )

считается

слопо

 

 

 

 

0 | J _ ^ J 0.

 

 

 

 

 

 

 

 

 

 

 

i

раз

 

 

 

 

 

 

 

Наконец, перевод слова в алфавите Б получается

одновременной

заменой всех его букв их переводами.

 

 

 

 

 

 

 

 

Таким образом, при определении записей

алгорифмов

в

алфа­

вите А надлежит как-то фиксировать порядок

букв в этом алфа­

вите. В дальнейшем мы опускаем

детали

этого

рода.