Последовательность Прюфера - Prüfer sequence

В комбинаторный математика, то Последовательность Прюфера (также Код Прюфера или Числа Прюфера) из маркированное дерево уникальный последовательность связанный с деревом. Последовательность для дерева на п вершины имеют длину п - 2, и может быть сгенерирован простым итерационным алгоритмом. Последовательности Прюфера впервые были использованы Хайнц Прюфер чтобы доказать Формула Кэли в 1918 г.[1]

Алгоритм преобразования дерева в последовательность Прюфера

Можно сгенерировать последовательность Прюфера помеченного дерева, итеративно удаляя вершины из дерева, пока не останутся только две вершины. В частности, рассмотрим помеченное дерево Т с вершинами {1, 2, ..., п}. На шаге я, удалите лист с наименьшей меткой и установите я-й элемент последовательности Прюфера должен быть меткой соседа этого листа.

Последовательность Прюфера помеченного дерева уникальна и имеет длину п − 2.

И кодирование, и декодирование можно свести к целочисленной сортировке по основанию системы счисления и распараллелить.[2]

пример

Помеченное дерево с последовательностью Прюфера {4,4,4,5}.

Рассмотрим приведенный выше алгоритм, работающий на дереве, показанном справа. Первоначально вершина 1 - это лист с наименьшей меткой, поэтому она сначала удаляется, а 4 помещается в последовательность Прюфера. Следующими удаляются вершины 2 и 3, поэтому 4 добавляется еще дважды. Вершина 4 теперь является листом и имеет наименьшую метку, поэтому она удаляется, и мы добавляем 5 к последовательности. У нас осталось только две вершины, поэтому мы останавливаемся. Последовательность дерева {4,4,4,5}.

Алгоритм преобразования последовательности Прюфера в дерево

Позволять {a [1], a [2], ..., a [n]} быть последовательностью Прюфера:

На дереве будет п + 2 узлы, пронумерованные от 1 к п + 2.Для каждого узла установите его степень равной количеству раз, которое он появляется в последовательности плюс 1, например, в псевдокоде:

 Преобразование Прюфера в дерево(а) 1 пдлина[а] 2 Т ← график с п + 2 изолированных узла, пронумерованных 1 к п + 2 3 степень ← массив целых чисел 4 для каждый узел я в Т делать 5     степень[я] ← 1 6 для каждое значение я в а делать 7     степень[я] ← степень[я] + 1

Далее для каждого числа в последовательности а [я]найдите первый узел (с наименьшим номером), jсо степенью равной 1 добавить ребро (j, a [i]) к дереву и уменьшите степень j и а [я]. В псевдокоде:

 8 для каждое значение я в а делать 9     для каждый узел j в Т делать10         если степень[j] = 1 тогда11 Вставка край[я, j] в Т12             степень[я] ← степень[я] - 113             степень[j] ← степень[j] - 114             перерыв

В конце этого цикла останутся два узла степени 1 (назовите их ты, v). Наконец, добавьте край (u, v) к дереву.[3]

15 тыv ← 016 для каждый узел я в Т17     если степень[я] = 1 тогда18         если ты = 0 тогда19             тыя20         еще21             vя22             перерыв23 Вставка край[ты, v] в Т24 степень[ты] ← степень[ты] - 125 степень[v] ← степень[v] - 126 вернуть Т

Формула Кэли

Последовательность Прюфера помеченного дерева на п вершины - это уникальная последовательность длины п - 2 на этикетках с 1 по п. Для заданной последовательности S длины п–2 на этикетках с 1 по п, Существует уникальный помеченное дерево, чья последовательность Прюфера S.

Непосредственным следствием этого является то, что последовательности Прюфера обеспечивают биекция между набором помеченных деревьев на п вершин и множество последовательностей длины п - 2 на этикетках с 1 по п. Последний набор имеет размер пп−2, поэтому существование этой биекции доказывает Формула Кэли, т.е. что есть пп−2 маркированные деревья на п вершины.

Другие приложения[4]

  • Формулу Кэли можно усилить, чтобы доказать следующее утверждение:
Количество остовных деревьев в полном графе со степенью указывается для каждой вершины равно полиномиальный коэффициент
Доказательство следует из наблюдения, что в порядковом номере Прюфера появляется точно раз.
  • Формулу Кэли можно обобщить: помеченное дерево на самом деле является остовное дерево маркированных полный график. Налагая ограничения на перечисленные последовательности Прюфера, аналогичные методы могут дать количество остовных деревьев полной двудольный граф. Если г полный двудольный граф с вершинами от 1 до п1 в одном разбиении и вершинах п1 +1 к п в другом разделе количество помеченных остовных деревьев г является , где п2 = п − п1.
  • Генерация равномерно распределенных случайных последовательностей Прюфера и преобразование их в соответствующие деревья - это простой метод генерации равномерно распределенных случайных помеченных деревьев.

использованная литература

  1. ^ Прюфер, Х. (1918). "Neuer Beweis eines Satzes über Permutationen". Arch. Математика. Phys. 27: 742–744.
  2. ^ Каминити, С., Финокки, И., Петрески, Р. (2007). «О кодировании меченых деревьев». Теоретическая информатика. 382(2): 97–108. Дои:10.1016 / j.tcs.2007.03.009.CS1 maint: несколько имен: список авторов (ссылка на сайт)
  3. ^ Йенс Готтлиб; Брайант А. Джулстрем; Гюнтер Р. Райдл; Франц Ротлауф. (2001). «Числа Прюфера: плохое представление остовных деревьев для эволюционного поиска» (PDF). Труды конференции по генетическим и эволюционным вычислениям (GECCO-2001): 343–350. Архивировано из оригинал (PDF) 26 сентября 2006 г.
  4. ^ Кадзимото, Х. (2003). «Расширение кода Прюфера и сборка связанных графов из их блоков». Графики и комбинаторика. 19: 231–239. Дои:10.1007 / s00373-002-0499-3.

внешние ссылки