markov_teorija_algorifmov (522344), страница 31
Текст из файла (страница 31)
ЯА.. Р Г- аР. В самом деле, левые части всех формул подстановок схемы (1), кроме последней, не входят в Р, так как буквы а, р и у не являются буквами алфавита А. Левая часть последней фор- мулы -~-а (пустое слово) входит в Р и, таким образом, эта фор- мула является активной на Р. »Х«Р есть первое вхождение ле- вой части этой формулы в слово Р. Вместо этого вхождения требуется подставить правую часть активной формулы, т. е.
а, что и дает нам слово г»Р. Так как активная формула является простой, зц УДВАИВАЮЩИй АЛГОРИФМ М, так как активная формула является простой, $А. 'Ф(Р) Ра$9 ! — Ф(Р) ЯЯа0, что и требовалось доказать. 1.4. $А. Ф(5) ЯцфР$аЯ 1- Ф(5) Йзр«!Р$аЯ, Доказывается рассмотрением схемы (1). Активной на лове Ф(5)ЯтД()Р$аЯ является формула тД~ фт~, представленная первой строкой схемы (1). 1.6. $А. Ф(5)ЯР$ЯаЯ)=Ф(5)ЯэрР$аЯ, Мы докажем это утверждение левой индукцией по Р. С этой целью мы введем свойство Р слов Р, выражаемое '«! условием «каковы бы ни были Д, Я, 5 н э, $А. Ф(5) )«Р$ЯаЯ )= Ф (5) )терРэаЯ», и обычным индуктивным рассуждением покажем, что любое Р обладает этим свойством.
Действительно, пустое слово Л обладает свойством Р . 13 26.6.1). Допустим теперь, что им обладает слово Р, и по- кажем, что тогда им обладает н слово»)Р, какова бы ни была буква т!. В самом деле, Яп есть слово в А, и потому по индук- ционному предположению (11) !уА. Ф(5) )('ЧР$Яа9 'р=Ф(5) А'4~Р5аД. Но, согласно 1.4, (12) !уА. 'Ф (5) Ят!ЭРР$а1~ 1- Ф (5) Яэр«!Рвам ' и, следовательно, $А. Ф(5) ЯЧР$Яа1~ )= Ф(5) ЯфПР~аЯ !(11), (12)], , что и оставалось доказать. 1.6.
Е.: Ф(Р)РЧ~.ЕЬ=Ф( )ж а. Это утверждение представляет собой частный случай 1.6 при !! х Л и 5 х Р. 1.7. $А. аРЦ )=Ф(Р) Рг»0. Докажем это утверждение правой индукцией по Р. С этой целью рассмотрим свойство б слов Р, выражаемое условием 1 «каково бы ни было 9, $А. пР~ ~=Ф(Р) РиЦ», , и индуктивным рассуждением покажем, что этим свойством ! обладает любое слово в А. Действительно, пустое слово Л нм обладает [(3), $26.6.1).
Предположим теперь, что им обладает слово Р, и пусть $— ногмлльныа ллгогиФмы !гл. гп произвольная буква, Тогда по индукционному предположению (13) Ял.' аРЩ 'г= Ф (Р) РаК. Но (14) фл'. Ф(Р) Ра~Я ! — Ф(Р) Р«РАЯ [1.31, и потому $л. иРЩ )= Ф (Р) Р$Яа1~ [(13), (14)1 != Ф (Р) Я)Реа() [1.61 Х Ф (Р$) РАД 1(4)).
Следовательно, РК обладает свойством С. Тем самым лем- ма 1.7 доказана, 1.8. $л. иР)==Ф(Р) Ра, Это утверждение представляет собой частный случай 1.7 при 9~Л. 1.9. Ял'. Ч'(Р)$8ФЩ))са! — Чс(Р)$7ФЯ)Яа. Доказывается рассмотрением схемы (1). Активна фор- мула, представленная третьей строкой схемы. 1.1О. 5».
Ф(РЯРОа)=Чс(Р)Ф(~) РЯи. Доказательство проведем правой индукцией по Р. Для этого рассмотрим свойство Н слов Р, выражаемое условием «каково бы ни было Я, [гл, Ф (РО) Рлси)='Ч (Р) Ф((с) Р1«ил, и, рассуждая, как обычно в таких случаях, покажем, что им обладает любое слово в А. Действительно, пустое слово Л этим свойством обладает [(6), 5 25,6,Ц. Пусть теперь им обладает слово Р, и пусть 5 †произвольн буква. Тогда 5».
Ф(РЫ)РКа)=Чс(Р)Ф(ЩРНи ~ Чс (Р) Я)Ф (Я) РКОи [(9), (7)1 )- «Р(Р) ЕтФ(0) РНа [1.91 Х Чс (Р$) Ф (Я) РЩа [(6)! и, значит, РК также обладает свойством Н. Таким образом, действительно, любое слово в А обладает свойством Н, что и требовалось доказать. 1.11. $л'. Ф(Р) Ри ~ Ч'(Р) Ри. (Частный случай 1.1О при 9тЛ.) 1.12. 5»'. РЪу«РЩ) РЫа ! — Р$Ч'(9) РЯа. Доказывается рассмотрением схемы (1). Активная фор- мула, представленная четвертой строкой схемы. Е фзн гдвливлющия ллгогифм 1Е1 1.13. 5».
'Чс(РД) РОа~=РЧЯ)РОса. Доказательство проведем правой индукцией по Р. Для этого рассмотрим свойство К слов Р, выражаемое условием «каково бы нн было 9, и; Ьл: Ч'(РЕ)'ж,=Рт(Е жй, и обычным для таких случаев рассуждением покажем, что ! ~ им обладает любое слово в А, Действительно, пустое слово им обладает. Пусть теперь ям обладает слово Р, и пусть $ — любая буква. Тогда 5»: Ж(РЮРНа)=РЧс(Ы) РИа [инд. предпол.] х Р еуЧ7Я) Р$Яа [(10), (8)1 ! ! — Ряс«'Я) Р«Ра [1.121, т. е. РК также обладает свойством К. Значит, действительно, любое слово в А обладает этим свойством, что и требовалось доказать. 1.14. 3л.
Ч" (Р) Ра)=РРи„ (Частный случай 1.13 при () л:Л.) Теперь докажем утверждение (2). Действительно, фл. Р )- иР [1. Ц ~Ф(Р) Ра [1.81 )= Чс(Р) Ри [1. 1 Ц )= РРи [1. 141 )- ° РР [1.21, ! откуда 5»: Р)= РР и, следовательно, 3»(Р)М РР, что и требовалось доказать. Таким образом, нормальный алгорнфм $» может быть охарактеризован как удваивающий алгорифм над алфавитом А. 2. Проведенное доказательство убедительно демонстрирует действенность метода индукции. Однако неискушенному читателю оно может показаться недостаточно прозрачным.
Ввиду этого целесообразно сопроводить его несколькими замечаниями. Прежде'всего следует в общих чертах описать работу алго- рифма 5». Она выглядит следующим образом. Вначале перед ! исходным словом Р „возникает" буква а (1.1!. Затем она „бежит" по слову Р слева направо, снимая с его букв „копии" (1.3!. Буквы-копии, „разбавленные" приклеившимися к ним буквами !), бегут налево сквозь уже пройденную буквой а а л. л, марков, н. м. нас«рвай ! гл. !б2 ИОРМАЛЪИЪ|н АЛГОРИФМЫ з 31! УДВАИНАЮЩИЙ АЛГОРИФМ )бз часть слева Р [1.6! и, таким образом, перед Р накапливается в виде слова Ф (Р) „копия" слова Р. Когда а добегает до конца слова Р, результат, по существу, оказывается уже полученным П.8). Остается произвести лишь небольшую чистку: убрать „лишние" буквы р и сс.
Каждая [1 перед „уничтожением" превращается в у [!.! 11, затем все у „,стираются" [1.14! и, наконец, на заключительном шаге „стирается" а [1.2!. Здесь несколько парадоксальным выглядит промежуточное „переименование" букв [) в у. Легко, однако, убедиться, что более простой нормальный алгорифм ЕА в алфавите Асф с сокращенно записанной схемой ЧЗ[) бнх! саб — $Яа [!в а — ° а ($ и т! по-прежнему пробегают А) не эквивалентен $А относительно А и потому не может заменить (ГА.
Пусть, в самом деле, ~ и х — разные буквы алфавита А. Тогда, как нетрудно видеть, в применении к слову ~Х алгорифм ЙА работает следующим образом: ЕА' ЬХ[-МЬХ ',— ~»х )- ьрьхРхм [ ь[)хйх~ [г 1ХруХп [- Х[)ььх хих 'хКх Таким образом, ВА(ЬХ)~Х~~Ху~~ХЬХл-(ГА(ЬХ). По сравнению с работой алгорифма 5А здесь лишний раз пришлось применить формулу ~Хр ХЯ, отчего в окончательном результате произошла транспозиция первых двух букв, В алгорифме 5А таким лишним перестановкам препятствует введение специального промежуточного этапа при устпанении вхождений р: сначала вместо этих вхождений;подставляются у. Основными в нашем доказательстве являются леммы 1.1, 1.2, 1.8, 1.11 и 1.14. Из них первые две тривиальны.
Три последние первоначально доказываются в усиленном виде (лем- мы 1.7, 1.10 и 1,13), а затем ослабляются,— мы рекомендуем читателю обратить внимание на этот прием. Леммы 1.3, 1.9 н !.12 подготавливают индукционные шаги в 1.7, 1.10 и 1.13 со- ответственно. Леммы !.4 — 1.6 описывают механизм накопления копии исходного слова. 3. Удваивающий нормальный алгорифм дает типичный пример сведения перехода интегрального характера — удвоения слова — к нескольким переходам локального характера— подстановкам согласно схеме алгорнфма. Число последних зависит при этом от удваиваемого слова. Можно подсчитать, что у алгорифма (уд оно равно ()г+ 1) (А+4) 2 где й — длина удваиваемого слова.
Вопрос о нижней оценке для числа шагов работы произвольного удванвающего нормального алгорифма исследован Г. С. Цейтнным в [51. Естественной мерой сложности нормального алгорифма является длина его схемы (в линейной записи [2 25!), характеризующая „объем памяти", потребный для „запоминания" этого алгорифма.
Такой подход к оценке сложности нормальных алгорифмов был впервые намечен А. А. Марковым а) в [161, [171 и затем разработан им и его учениками. Нетрудно подсчитать, что сложность $А, т. е, длина его схемы, равна 8п'+8п+14, где и — число букв алфавита А.
Таким образом, она представляет собой квадратичную функции от и. Оригинальная идея построения удваивающего алгорифма с линейной сложностью была предложена Д. А. Остроуховым в [!) (см. также [2[). Сложность алгорифма, построенного по его методу, равняется !0п+С. Отталкиваясь от этой идеи, Д. А. Остроухов пришел к установлению очень важной общей теоремы о линеаризации общих методов построения алгорифмов. Впоследствии, путем чрезвычайно остроумного усовершенствования конструкции Остроухова, В.