Научная статья на тему 'Конечные префиксные коды и финитарные деревья'

Конечные префиксные коды и финитарные деревья Текст научной статьи по специальности «Математика»

CC BY
185
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДЕРЕВО / ПРЕФИКСНЫЙ КОД / ПРОИЗВОДЯЩАЯ ФУНКЦИЯ / ЧИСЛО ФУССА / ЧИСЛО КАТАЛАНА / ЯЗЫК МОЦКИНА / TREE / PREFIX CODE / GENERATING FUNCTION / FUSS NUMBER / CATALAN NUMBER / MOTZKIN LANGUAGE

Аннотация научной статьи по математике, автор научной работы — Коряков Игорь Олегович

Установлена явная формула для числа всех p-арных k-деревьев с m листьями. Ее анализ приводит к ряду комбинаторных тождеств

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Finite prefix codes and finatary trees

We find an explicit formula for the number of all p-ary k-trees with m leaves. Analyzing this formula, we arrive at a number of combinatorial identities

Текст научной работы на тему «Конечные префиксные коды и финитарные деревья»

Серия «Математика»

2013. Т. 6, № 3. С. 38-47

Онлайн-доступ к журналу: http://isu.ru/izvestia

УДК 519.111

Конечные префиксные коды и финитарные деревья

И. О. Коряков

Уральский федеральный университет

Аннотация. Установлена явная формула для числа всех р-арных &-деревьев с т листьями. Ее анализ приводит к ряду комбинаторных тождеств.

Ключевые слова: Дерево; префиксный код; производящая функция; число Фусса; число Каталана; язык Моцкина.

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

— мощность кода — оказывается достаточным лишь в случае полных префиксных кодов. Все числа здесь — натуральные; {и} = {1, 2,..., и},

Начнём с азбуки комбинаторной дендрологии. В нашем «дендрарии» все деревья — корневые и, значит, определяются отношением «отец-сын». Отец — это узел, имеющий сына, лист — узел без сыновей. Любое поддерево определяется (и отождествляется с) множеством его узлов; в частности, мощность \Т\ дерева Т — это число узлов, дерево мощности к называется к-деревом.

Дерево упорядочено, если для каждого узла х множество Б(х) его сыновей линейно упорядочено; порядок обычно называют старшинством (и рисуют братьев слева направо по убыванию старшинства).

Пусть р > 0; р-арным назовём дерево, в котором для каждого узла х задана инъекция ах : Б (х) ^ {р}. Такое дерево становится упорядоченным, если для братьев п,у — сыновей узла х — положить и < V, когда

1. Введение

ах(и) < ах(у). Финитарными1 мы называем р-арные деревья для различных р. На рис. 1 показаны все бинарные (первый ряд) и тернарные 3-деревья (корень — вверху, старший сын — внизу слева, средний — внизу вертикально, младший — внизу справа).

/1Л1\

Рис. 1. Все бинарные и тернарные 3-деревья

В индуктивных рассуждениях удобно использовать рекурсивное представление р-арного дерева, определяемое следующим образом.

Пусть Б — множество сыновей корня, а : Б ^ {р} — инъекция из определения. Для всех г € {р} положим Т = 0, если а-1 (г) = 0, иначе Т — наименьшее поддерево, содержащее в = а-1 (г) и всех потомков узла в. Тогда мы пишем Т ~ (Т1,Т2,..., Тр).

Полным р-арным деревом назовём непустое р-арное дерево, в котором каждый отец имеет р сыновей. Легко видеть, что р-арное дерево Т полно тогда и только тогда, когда либо Т состоит из одного корня, либо Т ~ (Т1,..., Тр), где все Т — полные р-арные деревья.

2. Основные результаты

Обозначим через Т(р; к) множество всех р-арных к-деревьев, а через СТ(р; к) множество всех р-арных деревьев с к отцами. Для р,к > 0 положим

_ 1 (рк + 1\ _ 1 / рк у

^ рк + 1\ к ) Дй-у’

это число Фусса (1791 г.). Заметим, что Р(2,к) = Ск = щт[Ск) ~ число Каталана. Хорошо известна

Лемма 1. (1) \Т(р; к)\ = \СТ(р; к)\ = Г(р,к);

(2) число узлов в дереве из СТ(р; к) равно рк + 1, а число листьев равно (р - 1)к + 1.

1 По аналогии с финитарными потоками (веерами) в интуиционистской математике Л. Брауэра.

Доказательство. Равенство \СТ(р; к)\ = Г(р,к) доказывается либо с помощью производящих функций, либо комбинаторно (см., например, [1], где очевидно и (2)).

«Дефолиация», т. е. удаление всех листьев дерева, является отображением из СТ(р; к) на Т(р; к). Его обратимость легко доказывается индукцией по А: с использованием рекурсивного представления. □

Разумеется, перечисление ведётся с точностью до изоморфизма, который определяется очевидным образом.

Пусть А — алфавит и и,ш € А*. Мы пишем и ^ ш, если и — префикс слова ш, т. е. ш = ш для некоторого V € А*. Язык С С А* — префиксный код над А, если СПСА+ = 0 (см. [2], гл. 5). Код С назовём р-арным, если \А\ = р. Для каждого р > 0 зафиксируем алфавит Ар = {а1,...,ар} и будем рассматривать лишь коды над Ар, считая их изоморфными только при совпадении.

Лемма 2. Существует биекция Т ^ Т(С) множества всех конечных р-арных префиксных кодов на множество всех конечных р-арных деревьев; при этом слова из С отвечают листьям дерева Т(С).

Доказательство. Пусть С — префиксный код над Ар. Рассмотрим множество Т(С) = {и € Ар \ и ^ ш € С} префиксов всех кодовых слов и введём на нём структуру р-арного дерева: корнем объявим пустое слово е; если ша € € Т(С), где ai € Ар, то объявим ша сыном узла ш; определим инъекцию а : Б(ш) ^ {р}, полагая а(ша,1,) = г. Ясно, что С

— это множество листьев в Т(С). Обратное отображение определяется очевидным образом. □

Из лемм 1 и 2 вытекает

Теорема 3. Число всех р-арных префиксных кодов С, таких, что \Т(С)\ = к, равно числу Фусса Р(р,к). □

Префиксный код С над алфавитом А называется полным, если С максимален в классе всех префиксных кодов над А. Условие полноты можно записать в терминах слов ([2], гл. 5):

Уш € А* Зе € С (ш ^ с V с < ш).

Лемма 4. Префиксный код С полон тогда и только, когда финитарное дерево Т(С) полно.

Доказательство. Пусть С — полный префиксный код, но дерево Т(С) не полно, т. е. некоторый отец и не имеет, скажем, сына иа, где а — буква. В силу полноты кода иа ^ с или с < иа для некоторого с € С. Первое неравенство даёт иа € Т(С), что противоречит предположению; из второго следует с ^ и < с € С, где с — потомок узла и, что невозможно в силу префиксности С. Поэтому Т(С) полно.

Обратно, предположим, что дерево Т(С) полно, но код С не полон. Пусть ш = иа (где а — буква) — такое слово наименьшей длины, что ш € С и С1 = Си{ш} — префиксный код. Тогда Си{и} не является новым префиксным кодом, т. е. либо и € С, либо и € С и тогда множество С и {и} не обладает свойством префиксности. Первый случай противоречит префиксности С1. Во втором случае для некоторого с € С либо с < и (а тогда с < ш, что опять противоречит префиксности С1), либо и < с. Последнее неравенство означает, что и — отец в Т(С) и — в силу полноты Т(С) — ш = иа € Т(С), что вновь противоречит префиксности С\. Итак, код С — полный. □

Теорема 5. (1) Для существования полного префиксного р-арного кода конечной мощности т необходимо и достаточно условие р — 1\т — 1. (2) Число всех полных префиксных р-арных кодов мощности (р — 1)к + 1 равно числу Фусса Г(р; к).

Доказательство. (1) Необходимость. Если С - полный префиксный р-арный код, то, в силу лемм 2 и 4, дерево Т(С) полно и т = \С\ равно числу листьев в Т(С), которое по лемме 1(2) равно (р — 1)к + 1 для некоторого к, т. е. р — 1\т — 1.

Достаточность. Пусть т = (р — 1) + 1 для некоторого к. Построим полный префиксный код над Ар мощности т. Положим

К = {е,а1,а^,..., а\-1}, В = {а2,..., ар} и С = {а\} и К ■ В.

Очевидно, С — префиксный код и \ С\ = т. Проверим условие полноты. Если ш € Ар, то ш € а\(ВАр)п для некоторых 1,п ^ 0. Если I ^ к, то а\ ^ ш; если I < к, то ш ^ а\ при и = 0, и а\а^ ^ ш при и > 0, где а\а^ € КВ. Таким образом, существует полный префиксный р-арный код мощности т.

(2) вытекает из лемм 4 и 1(1). □

Следствие 6. Полные префиксные бинарные коды конечной мощности т существуют при любом т > 0, и число таких кодов равно числу Каталана Ст- \. □

Обозначим через Т(р; к,т) множество всех р-арных к-деревьев с т листьями и положим Ькт(р) = \Т(р; к,т)\. Тогда Ькт(р) — это также число всех префиксных р-арных кодов С мощности т, для которых \Т(С)\ = к. Пусть г = г(р; х, у) = £к,т>01кш(р)хкут — производящая функция чисел гкш = гкш(р). Следующий результат — основной в данной заметке.

Теорема 7. (1) Степенной ряд г = г(р; х,у) удовлетворяет уравнению г = 1 + ху + х(гр — 1).

(2) Для p,k,m > О

km

i^m

k1

где верхний предел суммирования равен

(p-i)fc+i

p

Доказательство. (1) Легко понять, что too = til = 1 (имеются единственные пустое и одноузловое деревья) и tkk = 0 при к > 1 (все узлы

— если их больше одного - не могут быть листьями), tko = 0 при к > 0 (у непустого дерева должны быть листья) и tkm = 0 при к < т.

Пусть m(T) — число листьев дерева T. Рекурсивное представление T ~(Ti,...,Tp) при \Т | ^ 2 даёт \T \ = 1 + EP=i \T \, m(T ) = Yp= i m(T) и, следовательно, при к ^ 2

T (p; к, т) ~ У T (p; ki ,mi) х ... xT(p; кр,тр),

к1 + ... + кр = к — 1 mi + ... + mp

m

откуда

tkm

Е

tkimi tk2m2 . . .tkpmp .

kl + ... + kp ml + ... + mp

= k 1

m

Поэтому (заменяя ниже во второй сумме k на l + 1

km

t = ^2 tkmxk ym + ^2 tkmxk y

k<2Vm=0 k'^2,m'^l

xkym =

E

tlimi . . . tlpmpx y

lm

l>l>m>1 ll + ... + lp = l

ш\ + ... + тр = т Если внутреннюю сумму справа обозначить через 5(і,т), то

^2 5(і, т)= гр - 5(0,0) - 5(0,1) - 5(1,0) = гр -1.

Таким образом, і = 1 + ху + х(ір - 1).

(2) Вводя ряд / = і - 1, получаем уравнение / = х(у - 1 + (1 + / )р). Положим К = 0>[[у|] (здесь Q — поле рациональных чисел). Тогда / Є К[[х]] (в силу стандартного отождествления 0>[[х,у]] = |Щ[у]][[х]]). Если определить р(и) = у - 1 + (1 + и)р, то <р(и) Є К[и] и / = хр(/).

Применим формулу Лагранжа-Бюрмана: при к > 0

И/ = ^[и*-1]/ = ^[и*-1](»-1 + (1+ч)!’)* =

i=0 ' 7 ] =о ' ■> /

i=0 К 7 4 7 Далее, так как £ = f + 1, для к,т > 0

и„м = («Ут* = ШИ/ = 5Е(*) =

=\±Ж:?)0^-

Поскольку (*)£) = (ДХа,

Из формулы видно, что индексу г достаточно пробегать отрезок от т (р-1)к+1 Р

до

Найденная формула явно проверена для р = 2, 3 и к ^ 4, а также для р = 4 и к ^ 3.

Следствие 8. Для любых р,к > 0 выполняется тождество

£ (к )(к + -Г (к+1- О = (р(к+1)

] =о ' ' ' 7 1=0 4 7 4

Доказательство. Случай р = 0 V к = 0 проверяется непосредственно. Пусть р,к > 0. Из равенства Ут>1 Т(р; к,т) = Т(р; к), леммы 1 и теоремы 7 следует, что

V ( к ) V (-1)-т(к - т)(р(к - г)) = ( рк ^ \т) ^ \г — т) \ к — 1 ) \к — 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т=1 4 7 i=m 4 7 4 7 4

Меняя порядок суммирования и вводя новые индексы суммирования -сначала ] = к — г, затем I = к—] — т, — получаем левую часть равенства

в виде

£ с-,)1>< Г)(*-5 -1

] 7 1=0 4 / \ J

Замечая, что (г{-7) (д,_^_г) = (^-) (г^) = ф {к~3), и заменяя к на к + 1, приходим к требуемому тождеству. □

Следствие 9. Для любых р,к > 0 выполняется тождество

Т.-У (;)(г(к-1 ]) = .

Доказательство. Число 1к+\,\(р) всех префиксных р-арных кодов С мощности 1 с \Т(С)| = к+1 — это просто число слов длины к в алфавите АР, т. е. рк. В равенстве 1к+\,\(р) = рк заменим индекс суммирования: г = ,] + 1. □

Следующее утверждение можно доказать индуктивно, но поучительно воспользоваться формулой из теоремы 7.

Следствие 10. Пусть р > 0,п ^ 0. Если к = рп + 1 и т = к — п, то СТ(р; п) = Т(р; к,т).

Доказательство. Очевидно, СТ(р; п) С Т(р; к, т). Чтобы доказать равенство, достаточно доказать равномощность этих множеств. Верхний предел суммирования в формуле для 1кт(р) равен [((р — 1)к + 1)/р\ = [к — (к — 1)/р\ = = к — п = т, а {^-т^ = (РП) = 1. Поэтому

\Т(р~, к, нп)\ = гкт{р) = к\ = —1 (Рп + 1%\ = \Т(р-,п)\. □

к\т) рп +1 \ п )

Для перечисления бинарных префиксных кодов имеется существенно более простая формула (см. ниже теорему 13), нежели даёт теорема 7. В [3] приведён (с ошибкой) сходный результат подсчёта полных бинарных деревьев с т парами «братьев-листьев» и указано, что эквивалентные утверждения получены в работах Избицки [4], Риордана [5] и Шапиро [6]. Здесь даётся короткое биективное доказательство. Но сначала приведём дополнительные сведения.

Пусть X = {х,х,1,г} и морфизм 5 : X* —>• (2,+) задан равенствами 5(х) = 1, 5(х) = —1, 5(1) = 5(г) = 0. (Двухцветный) язык Моцкина М — это множество всех слов и Є X*, удовлетворяющих условиям 6(ги) = 0 и (и ^ IV => 5(и) ^ 0). Взяв У = {ж, ж}, получим (ограниченный) язык Дика V = М.^У*; таким образом, слова Дика получаются

из слов Моцкина стиранием букв I и г. Положим Мп = М П X*, Vn = *ЭПУ2п.

Введём ещё обозначения: Вк = Т(2; к), СВк = СТ(2; к), Вк(т) = Т(2; к,т). Имеется биекция ф : Вк ^ Мк-1, определяемая следующим образом. Пометим рёбра дерева Т £ Вк буквами из X: буквой I (соответственно, г) — ребро, ведущее к левому (соответственно, правому) сыну, не имеющему брата; буквами х и х — рёбра, ведущие, соответственно, к левому и правому братьям. Слово ф(Т) получается сканированием дерева Т сверху вниз (при обходе слева направо). То же правило задаёт биекцию СВк ^ ^к. Эти биекции, наряду с леммой 1, показывают, что выполняется

Лемма 11. \Т>к\ = \СВк\ = \Вк\ = \Мк-Х\ = Ск. □

Лемма 12. Число листьев в непустом конечном бинарном дереве на 1 больше числа узлов, имеющих двух сыновей.

Доказательство — индукция с использованием рекурсивного представления деревьев. □

Теорема 13. При к,т> 0 число Ькт(2) = \Вк(т)\ равно

2&—2т+1 ( ^ ~ ^ \с 1 = -2к~2т+1 ( ^ ^ ~

\2т — 2/ т~ к \mj\m — 1/

Доказательство. По лемме 12 искомое число есть число бинарных к-деревьев с т — 1 узлами, имеющими двух сыновей, и равно, в свою очередь, числу слов Моцкина длины к — 1 с т — 1 вхождениями буквы х. Чтобы сформировать такое слово, нужно из к — 1 мест выбрать 2т — 2 мест для букв х и х ( (2т-2) способов), разместить там слово Дика (Ст-1 способов), а оставшиеся места заполнить буквами I и г (2к-2т+1 способов). В итоге

В (п,)\=2к-2т+^^ т~-2) Ст-1 ■

Множитель при степени двойки равен

1 / к — 1 \ /2т — 2\ 1 / к\ /к — т\

т \2т — 2) \ т — 1 ) к \т) \т — 1/

Заметим, что переход от равенства Вк+1 = ^т^0 Вк+]_(т + 1) к равенству мощностей даёт известное тождество Тушара

С 2к-2т. ( к ) С

Ск+1 =2^ 2 (2т Ст.

т=0

Записывая число Ькт(2) двумя способами (теоремы 7 и 13), получаем Следствие 14. Для любых к,т > 0 выполняется тождество

При перечислении префиксных кодов С параметр к = \Т(С)\ выглядит не слишком естественным (хотя он естествен для деревьев). Но фиксация к обеспечивает конечность перечисляемых множеств (в случае полных префиксных кодов для этого достаточен параметр т = \С\). Другим параметром, обеспечивающем конечность множества кодов, может служить длина \(С) кода С, \(С) = шах{\-ш\\-ш £ С}. Это также высота дерева Т(С), т. е. максимальная длина цепей, начинающихся в корне дерева. Я думаю, представляет интерес перечисление префиксных кодов и деревьев в зависимости от параметра Л.

Благодарности. Автор признателен В. А. Баранскому за предварительное обсуждение результатов и В. В. Расину за помощь с ТХом.

1. Коряков И. О. Сильно префиксные коды и обобщенная формула Рэйни / И. О. Коряков // Изв. Урал. гос. ун-та. - 2010. - №74. - С. 57-66.

2. Лаллеман Ж. Полугруппы и комбинаторные приложения / Ж. Лаллеман. -М. : Мир, 1985.

3. Shapiro L. W. Positive definite matrices and Catalan numbers / L. W. Shapiro // Proc. Amer. Math. Soc. - 1984. - Vol. 90, №3. - P. 488-496.

4. Izbicki H. Uber Unterbaume eines Baumes / H. Izbicki // Monatsh. Math. - 1970. -Vol. 74. - P. 56-62.

5. Riordan J. A note on Catalan parentheses / J. Riordan // Amer. Math. Monthly. -1973. - Vol. 80. - P. 904-906.

6. Shapiro L. W. A short proof of an identity of Touchard’s concerning Catalan numbers / L. W. Shapiro // J. Combinatorial Theory. Ser. A. - 1976. - Vol. 20, №3. - P. 375-376.

Список литературы

I. O. Koryakov

Finite prefix codes and finatary trees

Abstract. We find an explicit formula for the number of all p-ary fc-trees with m leaves. Analyzing this formula, we arrive at a number of combinatorial identities.

Keywords: tree; prefix code; generating function; Fuss number; Catalan number; Motzkin language.

Коряков Игорь Олегович, старший научный сотрудник, Институт математики и компьютерных наук, Уральский федеральный университет, 620000 Екатеринбург, пр. Ленина, 51; тел.: (343)3507579

Koryakov Igor O., senior scientist, Ural Federal University, Lenina 51, 620000 Ekaterinburg; Phone: (343)3507579

i Надоели баннеры? Вы всегда можете отключить рекламу.