32
Слова с ограничениями
А. М. Степин,
А. Т. Таци-Заде
Эта статья по теме очень близка к статье Г. А. Гуревича «Бесповторные последовательности», которая была опубликована в «Кванте» № 9 за этот год. Статья посвящена вычисленному количеству (и доказательству существования) слов любой длины (в том числе, и бесконечной), в данном алфавите с ограничениями, — попутно в ней решается задача M300 из «Заданияка «Кванта», № 12, 1974. У Гуревича же вычислилось количество (и доказывалось существование) последовательностей любой длины (и бесконечной), у которых никакая группа цифр не встречается два раза подряд, и решалась задача M310.
Комбинаторная техника, с помощью которой решены задачи M300 и M310 (и их обобщения), находит широкое применение в серверной математической науке: теории групп, теории алгебра, алгебраической теории чисел.
Наше знакомство со словами и с алфавитами мы научем с разбора задачи M300, предлагавшейся в «Заданиеке «Кванта», см. «Квант» № 12 за 1974 год.
Задание M300
Алфавит состоит из трех букв a, b, c. Назовем словом последовательность любой длины, состоящую из этих букв. При обработании слов некоторых буквосочетания (длины два и более) считаются запрещенными. Известно, что в списке запрещенных буквосочетаний все слова имеют разную длину.
Доказим, что существуют слова любой длины, не содержащие запрещенных буквосочетаний.
Задание M300 можно придать иную — «развлекательную» — форму:
По городу с прямогольной планировкой улицездит некий автоматист. Попав на перекресток, он либо продолжает ехать прямо, либо поворачивает налево или направо (поворачивать наад нельзя!) — с учетом того, что правилами уличного движения запрещены некоторых комбинации этих довоотов (налево и направо) и проезда прямого.
Известно, что все запрещенные комбинации имеют длину не меньше двух (например,лина комбинации «налево — направо» равна двум) и что нет различных комбинаций одинаковой длины. Оказывается, что если город достаточно велик и автоматист стартует в центре, то, несмотря на все запреты, он может проехать в этом городе любое заданное число перекрестков.
Решать задачу M300 все же удобно в терминологии «букв» и «слов».
Запрещенные буквосочетания мы будем называть отечеными словами и считать слово хорошим, если оно не содержит внутри себя ни одного отеченого слова. Совокупность отеченых слов мы иногда будем называть списком запретов или ограничений. Слово, содержащшее внутри себя хотя бы одно отеченое слово, называем «плохим».
Обозначим число хороших слов длины l через . Чтобы доказать существование хороших слов любой длины, достаточно показать, что при любом натуральном l число больше нуля. Мы же сейчас показем, что для любого l хороших слов длины l довольно много: .
33
Упорядочим отмещенные слова по длине и обозначим через длину -го отмещенного слова ().
Лемма 1. Для чисел справедливо неравенство
(, оценидно, равно тем; положим равным единице).
Доказательство. Заметим, что все хорошие слова длины содержатся среди слов, получающихся приписыванием справа одной из букв к хорошим словам длины . При таком приписывании получается слов, среди которых, помимо хороших слов, могут быть и неокоторые плоские слова длины . Оценим их число. Очевидно, что в полученном плоском слова отмещенное слово может находиться только в его конце, то есть оно устроено так: последнее букв образуют отмещенное слово, а первый букв — хорошое слово (). Число плоских слов (длины ) описанного типа, оканичивающих отмещенным словом длины , не больше числа хороших слов длины , то есть числа (по условию у нас есть только одно отмещенное слова длины ). Все же в результате приписывания справа одной из букв к хорошим словам длины получится не более плоских слов. Значит, среди полученных слов длины хороших слов не меньше .
*) Сумма — это, вообще говоря, не то же самое, что : в первой сумме произвольная суммированные лишь по таким значениями , , для которых в списке запретов есть отмещенное слово соответствующей длины (то есть, принимает, быть может, не все из значений 2, 3, …, ): так, если в списке запретов нет отмещенного слова длины 3, то в сумме член отсутствует.
Неравенство (1) сыгает главную роль при оценке числа .
Лемма 2. Для любого натурального
(2)
Доказательство леммы 2 проведем метод математической индукции.
База идукции: ; очевидно, что .
Шаг индукции: Предположим, что неравенство (2) выполняено для всех натуральных , то есть
(2')
Докажем, что .
Из неравенств (2’) имеем:
то есть
(2’')
где .
Учитывая оценки (2’’), неравенство (1) и способку к нему, получим, что
а это и требовалось доказать.
Поскольку , то , и мы получаем теорему 1:
Для любого натурального в числовии задачи М300 число хороших слов длины не меньше, чем :
(3)
которой и заканчивается решение нашей задачи.
*) Здесь уже объявная сумма:
34
Бесконечные слова
Тепер мы знаем, что в «словаре» задачи М300 есть хорошее слова любой длины. А есть ли в нем бесконечное длиные хорошие слова?
Сейчас мы докажем, что если список отчечных слов конечен (есты лишь конечное число запрещенных буквосочетаний), то существует и бесконечное длиное хорошее слова. Однако отметим сразу, что на самом-то деле требование конечности списка отчечных слов не существует: утверждение о существовании бесконечного длиного хорошего слова остается верным и в случае бесконечного числа запретов *).
Возьем самое длиное отчечное слова (так как по предположению число отчечных слов конечно, это можно сделать); пусть еголина равна . Выберем натуральное так, чтобы было больше . Поскольку у нас есть хорошее слова любой длины, возьем хорошее слова длины
*) Доказательство этого факта вы можете найти в статье Г. А. Гуревича «Бесповторные последовательности» (см. «Квант» № 9). В статье Гуревича фактически доказано, что из свойства «ессть как угодно длиное хорошее слова» следует свойство «ессть и.beсконечно длиное хорошее слова», то есть что в действительности существование хороших слов любой длины эквивалентно существования.beсконечного длиного хорошего слова. Мы же докажем, что в наших предложениях существует перiodическое.beсконечное слова, и указываем способ, позволяющий такое слово построить (дадим, как принято говорить, конструкторное доказательство).
, обозначим его через . Разделим слова на равных по длине частей длины : если
где — это , либо , либо , то
Поскольку — хорошее слова, каждое — тоже хорошее слова длины . Но в нашем алфавите всего три буквы , поэтому различных хороших слов длины будет не более, чем . У нас же получилось хороших слов ; значит, среди них есть одинаковые. Пусть, например, и . Возьем кусок слова , состоящий из частей с номерами от до включительно. Это будет хорошее слова длины :
Припишем к слову справа то же самое слова . Получим слова длины :
Доказем, что — хорошее слова.
Предположим противное: — плоское слово; тогда оно содержит какое-то отчечное слово. Очевидно, что это отчечное слово
35
может нахождение только в области «склейки» двух хороших слов , так что его пересечение с «правым» и «левым» словами не пусто. Но илина любого отмеченного слова меняше ; значит, это отмеченное слово должно лежать в области «склейки» частей и хорошого слова , а этого не может быть, и, следовательно, слово — хорошое.
Понятно, что бесконечное переодическое слово с перiodом будет также хорошим, а это, собственно, и дает все, что нужно.
Итак, наш автоматический может разъездать по городу бесконечного долго, не нарушая при этом правил уличного движения!
Интересный пример
Вернемся к неравенству (1), с доказательствам которого мы начали решение задачи М300; перепишем его так:
(4)
Насколько точно это неравенство? Можно ли в нем знак «≥» заменить знаком «=»? Вообше говоря, нельзя, и вот почему.
Число — это число слов, получившихся приписыванием справа к хорошим словам длины одной из букв ; среди таких слов находятся все хорошие слова длины . Вычитая из числа числа , где — какое-то из значений 2, 3, …, (возможно, и все значения), мы тем самым как бы вычеркиваем из построенных слов длины все те плоские слова, которые получаются, если к хорошему слову длины добавить отмеченное слово длины . Но при этом может получиться так, что какое-то плоское слово длины оказывается вычеркинутым несколько раз из числа получившихся слов. Если же среди наших слов длины нет слов, получающихся из хороших слов длины приписыванием справа отмечного слова длины , то соответственно число вообше вычитать не надо.
Однако при некоторых дополнительных условиях на список запретов вместе рекуррентных нераевенств (4) для чисел ( — любое) будут выполятаться аналогичные рекуррентные равенства:
(4')
В таких случаях записьвается явно в виде функции от , и для каждой конкретного значения число можно посчитать.
В частности, из сказанного следует, что для справедливости рекуррентных равенств (4’) достаточно таких двух условий:
-
Среди слов длины , получающихся приписыванием справа одной из букв к хорошим словам длины , находящего все слова, получающихся из хороших слов длины приписыванием справа отмечного слова длины (оно по предположению есть в списке запретов).
-
Каждый полученное максимum приписыванием (одной буквы) положое слово длины представляет в виде какого-то хорошого слова (меньшей длины) и отмечного слова единственный образом.
Условие 2° выполняется, если в списке запретов никакое отмечное слово не является концом какого-нибудь другого отмечного слова.
Уражение 1. Проверить, что для алфавита из трех букв и списка отмечных слов выполняется условия 1° и 2°, и что для чисел справедливый также рекуррентные соотношения:
(5)
(s — длина самого длиного отмечного слова).
Если списк запретов упражнения 1 ограничить двумя отмечными словами
*) Уравнение вида ( — некоторые постоянные), называются конечно-разностными уравнениями; о методах их решения можно прочесть в книге А. О. Гельфона «Исчисление конечных разностей». М., «Наука», Глава V, § 4, п. 2.
36
и acb, то мы получим уравнение
Решение уравнения (5’) будем искать в виде
Подставляя (5’’) в (5’), получим уравнение
имеющие три различных корня:
Общее решение уравнения (5’) записывается так:
где и — постоянные, определенные из начальных условий:
Получается такая система для определения :
из которого находится
значит,
(в частисти, ).
Обобщение задачи М300
Пусть менярь алфавит состоящим из буква , а в списке отмещенных слов (длины не меньше двух) имеется более различных слов одинаковой длины.
Сейчас мы докажем, что при некоторых ограничениях начища и и в таком «слове» будут сколь угодно длиные хорошие слова, причем для каждой натурального ( — длина слова) — опять-tаки довольного многого.
Как и при решении задачи М300 (для М300 имеем: ) вначале нужно докажать.
Лемму 3. При выполнении условий «обобщенной задачи М300» для чисел хорошо схов длины верны также соотношение:
еде через обозначено число отмещенных слов длины (, оченьindo, равно , а снова полагаем равным 1).
Лемма 3 доказывается в точности теми же рассужdenями, что и лемма 1 (см. с. 33); мы ее доказываем не будем.
Так как по условияю каждой не больше (в дальнейшем мы будем считать и называть кратностью системы ограничений), то
Следующий после леммы 3 шаг — доказательство важной леммы 4:
мо. существует макое , что для любого натурального
Лемма 4, как и лемма 2 первого параграфа, доказывается методом математической индукции с использованием неравенства (7) и соответствий (2’) и (2’’), в которых число «2» заменяется буквой «λ» (см. с. 33). Индикционный переход от к возможно, поскольку квадратное относительное неравенство
с неотрицательным (в силу (8)) дискриминантом
имеет решение
Так как (напомним, что ) и
то
и существует числа доказано.
Наконец, аналогично теореме 1, мы пслучим теорему 2:
Если в условия «обобщенной задачи М300» , то
Блокирующие ограничения
А нужно ли вообще ограничение (8) на кратность системы запретов?
Мы уже видели, что условие достаточно для существования сколь угодно длинного хорошего слова. Это условие нельзя, вообще говоря, ослабить. В самом деле, при для алфавита из двух букв и получаем условие на кратность . Положим и возьмем в качестве отмеченных такие три слова:
Докажем, что тогда не существует хороших слов длиннее пяти. Систему запретов, для которой нет хороших слов сколь угодно большой длины, будем называть блокирующей.
Д о к а з а т е л ь с т в о (от противного).
Предположим, что существует хорошее слово длины 6. Оно кончается буквой , или буквой .
Если это слово кончается буквой , то поскольку сочетание запрещено, то наше «хорошее» слово состоит только из букв , чего не может быть, так как сочетание запрещено.
Пусть это хорошее слово (длины 6) кончается буковой ; рассмотрим его предпоследнюю букву: — если она , то и все остальные буквы (5 штук) должны быть — а этого не должно быть. Значит, наше слово оканчивается на . Возьмем теперь третью от конца букву нашего слова: если это опять , то сказывается запрет , если же это — то остальные буквы (4 штуки) — тоже , и сказывается запрет .
Приведем еще один пример блокирующей системы запретов — для алфавита из трех букв , , . Для такого алфавита условие (8) нам дает, что должно быть не больше 1. Положив , т. е. предположив, что можно отмечать по два слова одинаковой длины, возьмем в качестве отмеченных следующие слова:
У п р а ж н е н и е 2. Докажите, что эти отмеченные слова образуют блокирующее ограничение на хорошие слова.
Какую максимальную длину в этом случае имеет хорошее слово?
Из рассмотренных для и 3 примеров следует, что существует блокирующая система запретов с кратностью , такой, что
Но для произвольного натурального и целого , где
существование бокирующей системы запретов для алфавита из букв с кратностью не доказано. Докажем, что для алфавита из букв блокирующая система запретов с кратностью существует. Действительно, возьмем такую систему запретов
(1) , (2) , . . . , ,
, . . . , .
Тогда хороших слов длины больше не будет, а единственным хорошим словом длины будет слово
Но, конечно, в каждом конкретном случае все зависит от того, как устроена система запретов. Достаточно, например, для алфавита из двух букв , и взять в качестве отмеченных слова
как мы получим, что существует даже бесконечно длинное, периодическое слово . Более того, можно взять равным даже четырем (и уж конечно — двум и трем), а в качестве отмеченных, например, слова:
и мы снова получим бесконечное хорошее слово .
В заключение мы предлагаем читателям, заинтересовавшимся «проблемой хороших слов», порешать задачи.
-
Докажите, что для алфавита , не существует системы блокирующих ограничений, состоящей меньше чем из трех слов.
-
Докажите, что в случае и не существует бокирующей системы меньше чем из шести отмеченных слов.
-
Докажите, что если для алфавита , , отмечены слова , , , то растет как .
-
Докажите, что .
-
Докажите, что для алфавита из букв существует блокирующая система ограничений с кратностью , такой, что
37