Научная статья на тему 'Алгоритмы генерации корневых деревьев на основе процедуры полного разбиения'

Алгоритмы генерации корневых деревьев на основе процедуры полного разбиения Текст научной статьи по специальности «Математика»

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

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

Questions of generating root trees on the base of total partition procedure for compositions, weak compositions and partitions of a natural number are considered.

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

Algorithms for generation of rooted tree on the base of total partition procedure

Questions of generating root trees on the base of total partition procedure for compositions, weak compositions and partitions of a natural number are considered.

Текст научной работы на тему «Алгоритмы генерации корневых деревьев на основе процедуры полного разбиения»

УДК 519.19

АЛГОРИТМЫ ГЕНЕРАЦИИ КОРНЕВЫХ ДЕРЕВЬЕВ НА ОСНОВЕ ПРОЦЕДУРЫ ПОЛНОГО РАЗБИЕНИЯ

В. В. Кручинин

Деревья являются одним из важнейших классов комбинаторных множеств, которые достаточно хорошо изучены. Однако можно предложить ряд алгоритмов генерации классов корневых деревьев, основанных на процедуре полного разбиения. Впервые подобную процедуру предложил Н. Я. Виленкин как подсчет процессов последовательных разбиений [1]. Р. Стенли предложил использовать эту процедуру для полного разбиения конечного множества Б, в результате выполнения которой получается некоторое корневое дерево [2]. Основная идея данного доклада заключается в том, что эту процедуру можно модифицировать, используя вместо конечного множества Б натуральное число п. Тогда, имея некоторый алгоритм Л(п) представления натурального числа п в виде суммы, в общем случае, неотрицательных чисел Аг, строится непомеченное п-узловое корневое дерево. Алгоритм построения дерева следующий.

1) Создаем корень дерева г и пару < п, г > заносим в стек.

2) Если стек пуст, то завершаем процедуру.

3) Вынимаем из стека очередную пару < к, г >. Если к = 1, то данный узел становится листом, и переходим на шаг 2, иначе, в соответствии с алгоритмом Л, получаем представление п : [А1 + А2 + ■ ■ ■ + Ат], такое, что ^™1 Аг = к — 1, и переходим на шаг 4.

4) Создаем т узлов 1^}™^, присоединяем их в качестве сыновей к узлу г в соответствии с порядком, заданным в представлении {А^}™^. Все пары < Аг, вг > записываем в стек. Переходим на шаг 3.

Рассмотрим свойства предложенного алгоритма полного разбиения.

1. Если задан Л(п) и Аг ^ 1 для всех представлений п Е Рп-1, то предложенный алгоритм всегда остановится.

Это утверждение основано на условии, что в дереве с п узлами имеется корень, следовательно, число п — 1 является количеством узлов во всех поддеревьях сыновей корня. Алгоритм Л получает некоторое представление А1 + А2 + ■ ■ ■ + Ат = п — 1, где Аг определяет число узлов в поддереве ¿-го сына и 1 ^ Аг ^ п — 1. Тем самым, последовательно применяя алгоритм Л к числам, меньшим чем п, получим останов. Поскольку алгоритм строит корневое дерево и всегда останавливается, то он всегда строит дерево.

2. Число деревьев для заданного числа узлов равно

где п = (Аі + А2 + ••• + Ак = п — 1}; Рп-1 — множество представлений числа п — 1 в соответствии с алгоритмом Л.

Применим этот алгоритм для генерации п-узловых корневых упорядоченных деревьев. Поскольку в таких деревьях порядок следования сыновей в узле важен и сумма чисел узлов в поддеревьях сыновей равна п — 1, то для генерации таких деревьев можно использовать процедуру полного разбиения, основанную на генерации композиций

к

(1)

пЄРп-1 і=1

натурального числа п. Тогда

К (п +1)= К (А,),

пЄЯп ,=1

где п = {А1 + А2 + ■ ■ ■ + Ак = п}; Бп — множество композиций числа п. Известно

также [2], что К(п +1) = СП, где Сп — число Каталана. Тогда получим следующее тождество для чисел Каталана:

к

Сп 7 І I с Л; — 1 •

пЄйП ,= 1

Из выражения (2) следует, что каждая композиция порождает некоторое подмножество корневых упорядоченных деревьев. Для построения эффективного генератора [3] необходимо знать число деревьев для каждой композиции п Е Бп. Обозначим через Т(г) число корневых упорядоченных деревьев для г-й композиции в лексикографическом упорядочении композиций. С использованием свойств композиций было получено выражение для функции Т(г):

Т (і) =

1,

і = 0,

Т(і — 2т)4Л, і> 0.

(3)

т — [1о§2(2т+1 — і — 1)] — 1, 0 ^ і < 2т+1 — 1,

і = 2Ш+1 _ 1.

т

На рис. 1 изображен график функции Т(г). Свойства этой функции таковы:

1) ^2=о 1 Т(г) = Ст, где Ст — число Каталана.

2) Т(2т — 1) = Ст-1.

3) В точках г = 2т — 1 функция Т(г) будет иметь локальные максимумы.

Рис. 1. График функции Т(г)

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

ЛИТЕРАТУРА

1. Виленкин Н. Я. Комбинаторика. М.: Наука, 1969.

2. Стенли Р. Перечислительная комбинаторика. Деревья, производящие функции и симметрические функции. М.: Мир, 2005.

3. Кручинин В. В. Методы построения алгоритмов генерации и нумерации комбинаторных объектов на основе деревьев И/ИЛИ. Томск: Изд-во «В-Спектр», 2007.

УДК 519.175.1

АЛГОРИТМЫ ПРОВЕРКИ ИЗОМОРФИЗМА ГРАФОВ НА ОСНОВЕ ИХ ПОСЛЕДОВАТЕЛЬНОЙ СОГЛАСОВАННОЙ ДЕРЕГУЛЯРИЗАЦИИ

И. В. Широков, А. В. Пролубников

В задаче проверки изоморфизма графов (задача ИГ) даны два обыкновенных графа с одинаковым числом вершин и ребер. Необходимо ответить на вопрос, существует ли такое биективное отображение (изоморфизм) множества вершин одного графа на множество вершин второго, которое сохраняло бы смежность соответствующих вершин?

По причине неопределенности своего положения в иерархии теории сложности, задача ИГ имеет большое теоретическое значение, а также часто возникает и в приложениях. Алгоритмы решения задачи ИГ используются при решении многих прикладных задач: в задачах распознавания образов, в протоколах доказательства с нулевым разглашением; к задаче ИГ может быть сведена и вычислительно-эффективно решена задача дешифрования шифра двойной перестановки [1]. Поскольку для вычислительно сложных случаев задачи ИГ не разработано полиномиальных алгоритмов решения, возможно построение криптографических схем, основанных на вычислительной сложности решения для них задачи ИГ, например, как в [2].

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

Предложенные алгоритмы протестированы на библиотеке задач [3]. Не найдено примеров неправильного решения или невозможности нахождения решения представленными алгоритмами задачи ИГ для деревьев, случайных, планарных графов, регулярных к-мерных сеток (к ^ 4) и некоторых других классов графов. Установлено, что алгоритм решает и те задачи изоморфизма графов из библиотеки, на которых время работы алгоритмов Ш1тап и МАИТУ — наиболее эффективных алгоритмов решения общего случая задачи ИГ — становится экспоненциальным при некоторой нумерации вершин [4]. Кроме этого, задача ИГ успешно решается предложенными алгоритмами и для сильно регулярных графов из наиболее обширной их библиотеки [5] — эти графы представляют собой класс, для которого задача проверки изоморфизма графов име-

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