Файл: Кушнер, Б. А. Лекции по конструктивному математическому анализу.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 141
Скачиваний: 0
58 |
АЛГОРИФМЫ И ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА |
[ГЛ. ] |
и потому Шв(Р). Ясно также, что при любом п
ЛК Л
ипоэтому SR5 неприменим к пустому слову.
6) Отсекающие алгорифмы. Пусть а — некоторая буква, не принадлежащая алфавиту А. Как уже отмеча лось, пары слов в алфавите А можно задавать посред ством слов вида
PaQ,
где Р, Q е А. В связи с этим иногда оказываются нуж ными алгорифмы, выделяющие при таком задании пар первую и вторую компоненты. Эту задачу решают нор
мальные |
алгорифмы ЭТб, 3ll |
в алфавите А |
[) [а], зада |
|||||
ваемые |
схемами |
|
|
|
|
|
|
|
|
|
| |
ал - * а |
(т] <= А) |
|
|
|
|
|
|
1 |
а - > • |
|
|
|
|
|
|
|
J т)а - > а |
(г) е Л) |
|
|
|
|
|
|
|
1 |
а - * |
|
|
|
|
|
Действительно, |
|
|
|
|
|
|
||
|
|
91в: P a Q H - Я а Ь - Р , |
|
|
|
|
||
|
|
We: PaQh=aQ Н • Q. |
|
|
|
|
||
Следовательно, |
|
|
|
|
|
|
||
|
|
|
$(/>aQ) = P, |
|
|
|
|
|
|
|
|
«Rl (PaQ)==Q. |
|
|
|
|
|
Отметим, |
что |
поскольку слова в A U {а}, в |
которые |
не |
||||
входит а, не поддаются алгорифмам |
9й, |
то |
Ш1, |
3ll |
||||
применимы и к таким словам. Таким образом, |
SKg, 5^6 |
|||||||
применимы к любым словам |
в алфавите A U {а}. |
|
||||||
7) Алгорифм левого присоединения |
слова. |
Пусть Р — |
||||||
произвольное |
слово в алфавите А. Рассмотрим нормаль |
|||||||
ный алгорифм |
9^7 в |
Л со схемой |
|
|
|
|
|
НОРМАЛЬНЫЕ |
АЛГОРИФМЫ |
|
59 |
Ясно, что для любого Q |
|
|
|
|
|
^ ( Q ) = |
PQ. |
|
|
Алгорифм 5Ri |
(примера 1) |
можно рассматривать как |
||
алгорифм левого |
присоединения пустого |
слова. |
|
|
8) Алгорифм |
правого присоединения |
слова. |
Построе |
|
ние этого алгорифма несколько сложнее. Пусть |
а — не |
которая буква, отличная от всех букв алфавита А. Рас
смотрим |
нормальный алгорифм |
в |
алфавите A U {а} |
|||||
со схемой |
|
|
|
|
|
|
||
(5) |
|
|
аг)->т]а |
( ц е ^ ) |
|
|
||
(6) |
|
|
а - * |
Р |
|
|
|
|
(7) |
|
|
—> а |
|
|
|
|
|
Пусть |
Q — произвольное слово в |
алфавите |
А. Сна |
|||||
чала |
к Q слева приписывается |
а (формула (7)): |
||||||
|
|
|
<: |
Q Н aQ. |
|
|
|
|
Затем |
а |
«бежит» |
вправо |
по |
слову |
Q |
(группа |
формул |
(5)), |
т. е. |
|
|
|
|
|
|
|
|
|
|
«Па: aQHQa, |
|
|
|
||
и, наконец, а заменяется на Р (формула |
(6)): |
|
||||||
Таким |
образом, |
Я?: |
QahQP. |
|
|
|
||
Ki(Q) = |
QP, |
|
|
|
||||
|
|
|
|
|
|
|||
т. е. Зев присоединяет к любому слову |
справа |
слово Р. |
||||||
9) |
Обращающий |
алгорифм. |
Пусть |
|
|
|||
(8) |
|
|
Р =?= Y1Y2 |
• • • Y* |
|
|
|
— произвольное (непустое) слово в алфавите А. Обра щением Р назовем слово Q, записанное теми же бук вами, но в обратном порядке, т. е.
Q=r= YftYft-i . . . Yi-
Обращением пустого слова будем считать пустое слово. Обозначим через a, р две различные буквы, не входящие в алфавит Л, и рассмотрим нормальный
60 АЛГОРИФМЫ И ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА [ГЛ. 1
алгорифм *R9 в |
алфавите |
A U {ар} |
со следующей схе |
мой * ) : |
|
|
|
(9) |
act - > р |
|
|
(10) |
р а - * р |
|
|
(П) |
Р£-£Р |
(£б=Л) |
|
(12) |
|
|
|
(13) |
al^vfit, |
(£, t i e |
Л) |
( И ) |
—>• а |
|
|
и покажем, что Sftg перерабатывает любое слово в алфа вите А в его обращение.
Для пустого слова имеем (сначала применяется два раза формула (14), затем формулы (9) и (12))
% : Л Н о Ь а а 1-р Н - Л . |
|
|
Аналогично, для однобуквенного слова |
Р = F yi |
|
%• Yi Н «Yi Ь a «Yi |
Ь PYi Н Y I P Н • Yi- |
|
Пусть теперь Р — слово |
вида (8) с k |
2. Так же, |
как и раньше, поскольку а |
и р не входят |
в Р, сначала |
применяется формула (14):
%: Р Ь- аР.
Далее, очевидно, применяются формулы группы (13), (формулы (10) — (12) не могут применяться из-за отсут ствия буквы р в слове аР, а формула (9) из-за того, что в аР не входит aa) и а «проносит» первую букву слова Р в конец:
%: аР t= Y2Y3 • • • Y*oYi«
Затем снова применяется формула (14):
%: у2у3 • • • YftOYi Н ay2 Y3 • • • Y A O Y I
и а «проносит» в конец букву у2:
CIY2Y3 . . • Yft«Yi И Ys • • • YfeOY2aYi-
*) Здесь используется несколько более сложная, чем раньше, сокращенная запись. Именно, a£r] -*• г|а£ означает группу формул, получаемую всевозможными подстановками вместо £ и Т] любых букв алфавита Л,
НОРМАЛЬНЫЕ АЛГОРИФМЫ |
61 |
После ряда таких циклов получаем наконец обраще ние Р, «разбавленное» буквами а:
%'• ^Иау&ауй-! . . . <XYI.
Обозначим YftaY><-i • • • a Y i через Р а . Очевидно,
|
|
%: аРа |
\- ааРа |
I - рР а . |
Затем |
р «бежит» |
вправо, уничтожая а (группа формул |
||
(11) и |
формула |
(Ю)): |
|
|
|
P^aH= YfeYfe-i |
. . . YiP |
Ь-YftYft-i • •• Yi- |
Следовательно, 9сэ переработал Р в его обращение, что и требовалось.
В качестве упражнения предлагаем читателю по строить удваивающий нормальный алгорифм, т. е. такой нормальный алгорифм 91, что при любом Р
% (Р) — pp.
Приведем в заключение два примера, связанных с на туральными числами, — именно, нормальные алгорифмы, складывающие и умножающие натуральные числа. Под натуральными числами мы подразумеваем слова в ал фавите {0|} вида 0, 0|, 01 | . . . Пары натуральных чисел задаются как слова вида *)
(15) |
|
|
т, |
п |
|
|
где тип |
— натуральные |
числа. |
|
|
||
10) |
Алгорифм |
сложения |
натуральных |
чисел. |
По |
строение этого алгорифма совершенно очевидно: доста точно выбросить из слова (15) букву «,» и букву «0», которой начинается т. Схема соответствующего нор мального алгорифма SRio (в алфавите {0|}) имеет одну формулу
{,
11) Алгорифм умножения натуральных чисел. Рас смотрим нормальный алгорифм Sftn в алфавите {0|, ah)
*) Обращаем внимание читателя на то, что следует различать употребление запятой как пунктуационного знака русского языка и как буквы используемых нами алфавитов.