Дерево (теория графов)

Pause

Де́рево — это связный ациклический граф[1]. Связность означает наличие маршрута между любой парой вершин, ацикличность — отсутствие циклов. Отсюда, в частности, следует, что число рёбер в дереве на единицу меньше числа вершин, а между любыми парами вершин имеется один и только один путь.

Лес — множество деревьев.

Ориентированное (направленное) дерево — ацикличный орграф (ориентированный граф, не содержащий циклов), в котором только одна вершина имеет нулевую степень захода (в неё не ведут дуги), а все остальные вершины имеют степень захода 1 (в них ведёт ровно по одной дуге). Вершина с нулевой степенью захода называется корнем дерева, вершины с нулевой степенью исхода (из которых не исходит ни одна дуга) называются концевыми вершинами или листьями[2].

Общие сведения
Что важно знать
Дерево
Область использования Теория графов, информатика
Ключевые слова связный граф, ациклический граф, корень, лист
Базовые понятия вершина, ребро, цикл

Связанные определения

  • Степень вершины — количество инцидентных ей ребер.
  • Концевой узел (лист, терминальная вершина) — узел со степенью 1 (то есть узел, в который ведёт только одно ребро; в случае ориентированного дерева — узел, в который ведёт только одна дуга и не исходит ни одной дуги).
  • Узел ветвления — неконцевой узел.
  • Дерево с отмеченной вершиной называется корневым деревом.
    • -й ярус дерева  — множество узлов дерева, на уровне от корня дерева.
    • частичный порядок на вершинах: , если вершины и различны и вершина лежит на (единственной!) элементарной цепи, соединяющей корень с вершиной .
    • корневое поддерево с корнем  — подграф .
    • В контексте, где дерево предполагается имеющим корень, дерево без выделенного корня называется свободным.
  • Уровень узла — длина пути от корня до узла. Можно определить рекурсивно:
  1. уровень корня дерева равен 0;
  2. уровень любого другого узла на единицу больше, чем уровень корня ближайшего поддерева дерева , содержащего данный узел.
  • Остовное дерево (остов) — это подграф данного графа, содержащий все его вершины и являющийся деревом. Рёбра графа, не входящие в остов, называются хордами графа относительно остова.
  • Несводимым называется дерево, в котором нет вершин степени 2.
  • Лес — множество (обычно упорядоченное), не содержащее ни одного непересекающегося дерева или содержащее несколько непересекающихся деревьев.
  • Центроид — вершина, при удалении которой размеры получившихся компонент связности не превышают (половины размера исходного дерева).

Двоичное дерево

undefined

Термин двоичное дерево (применяется так же термин бинарное дерево) имеет несколько значений:

N-арные деревья

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

  • N-арное дерево (неориентированное) — это дерево (обычное, неориентированное), в котором степени вершин не превосходят N+1.
  • N-арное дерево (ориентированное) — это ориентированное дерево, в котором исходящие степени вершин (число исходящих рёбер) не превосходят N.

Свойства

  • Дерево не имеет кратных рёбер и петель.
  • Любое дерево с вершинами содержит ребро. Более того, конечный связный граф является деревом тогда и только тогда, когда , где  — число вершин,  — число рёбер графа.
  • Граф является деревом тогда и только тогда, когда любые две различные его вершины можно соединить единственной простой цепью.
  • Любое дерево однозначно определяется расстояниями (длиной наименьшей цепи) между его концевыми (степени 1) вершинами.
  • Любое дерево является двудольным графом.
  • Любое дерево, множество вершин которого не более чем счётное, является планарным графом.
  • Для любых трёх вершин дерева пути между парами этих вершин имеют ровно одну общую вершину.

Подсчёт деревьев

  • Число различных деревьев, которые можно построить на нумерованных вершинах, равно (теорема Кэли).
  • Производящая функция
для числа неизоморфных корневых деревьев с вершинами удовлетворяет функциональному уравнению:
.
  • Производящая функция
для числа неизоморфных деревьев с вершинами можно представить с помощью перечисляющего ряда для корневых деревьев:
  • При верна следующая асимптотика:
где и определённые константы, , .

Кодирование деревьев

  • Дерево можно кодировать наборами из нулей и единиц. Рассмотрим, например, укладку дерева на плоскости (способ его изображения на плоскости без пересечения рёбер). Начиная с какой-либо вершины будем двигаться по ребрам дерева, сворачивая в каждой вершине на ближайшее справа ребро и поворачивая назад в концевых вершинах дерева. Проходя по некоторому ребру, записываем при движении по ребру в первый раз и при движении по ребру второй раз (в обратном направлении). Если  — число рёбер дерева, то через шагов мы вернемся в исходную вершину, пройдя по каждому ребру дважды. Полученная при этом последовательность из и (код дерева) длины позволяет однозначно восстанавливать не только само дерево , но и его укладку на плоскости. Произвольному дереву соответствуют несколько таких кодов. В частности, из этого способа кодирования вытекает следующая грубая оценка на число деревьев с вершинами:
undefined
  • Код Прюфера сопоставляет произвольному конечному дереву с вершинами последовательность из чисел от до с возможными повторениями. Например дерево на рисунке имеет код Прюфера (4,4,4,5). Между деpевьями с помеченными вершинами и их кодами Прюфера существует взаимно однозначное соответствие. Из кода Прюфера выводится формула Кэли.
  • Дерево можно задать в виде стpоки, содержащей символы, помечающие

Применение

Иерархические структуры данных в информатике

Организация типичной файловой системы компьютера представляет собой древовидную структуру, где корневой каталог выступает в качестве корня графа, папки — внутренними вершинами (узлами ветвления), а файлы — листьями (конечными узлами). Поскольку каждый объект, за исключением корня, имеет строго одного родителя, путь от начала файловой системы до любого файла уникален.

Это же свойство детерминированности пути используется для проектирования абстрактных структур данных:

Благодаря однозначности пути от корня к целевому узлу, ключевые операции — поиск, вставка и удаление элементов — выполняются за число шагов, пропорциональное высоте дерева (), а не общему числу элементов (). В сбалансированных структурах высота составляет , что обеспечивает высокую скорость обработки данных[3].

Топологическое моделирование в химии

В органической химии структурные формулы насыщенных углеводородов (алканов, общего вида ) изоморфны математическим деревьям. В этой модели атомы углерода отображаются вершинами, а одинарные ковалентные связи между ними — рёбрами графа (атомы водорода при топологическом анализе обычно опускаются как однозначно восстанавливаемые)[4].

Математик Артур Кэли впервые применил теорию перечисления деревьев для решения химической задачи — подсчёта числа изомеров алканов (соединений, имеющих одинаковый атомный состав, но разную структуру)[5].

Однако не любому теоретически возможному дереву соответствует реальное химическое соединение. В силу физико-химических свойств углерода его валентность строго ограничена четырьмя. На языке теории графов это означает, что степени вершин графа-алкана не могут превышать 4. Следовательно, множество химических изомеров является подмножеством всех возможных математических деревьев с заданным числом вершин[6].

Машинное обучение и анализ данных

В машинном обучении на основе деревьев строятся модели классификации и регрессии — деревья решений: внутренние вершины соответствуют условиям на признаках объекта, а листья — итоговому классу или значению[7]. Их востребованность в прикладных задачах связана с интерпретируемостью: путь от корня к листу читается как явное правило принятия решения, в отличие от моделей, не позволяющих проследить логику вывода. Деревья решений применяются и за пределами задач классического анализа данных — например, для автоматической классификации текстов по авторскому стилю на основе частотных характеристик текста[8].

Дерево возможных вариантов

Отдельно от графового понятия дерева в комбинаторике и теории вероятностей используется дерево возможных вариантов — способ перечисления исходов последовательности испытаний[9]. Несмотря на общее название и внешнее сходство, это самостоятельное понятие: дерево возможных вариантов не обязано быть деревом в строгом смысле связного ациклического графа с фиксированным соотношением числа вершин и рёбер.

Филогенетика

Сходную роль в биологии играет филогенетическое дерево — представление эволюционных связей между таксонами в виде ветвящейся структуры (дендрограммы), в которой длина ветви отражает степень генетического различия между сравниваемыми последовательностями[10].

⚠️ Справочный материал для ОГЭ по теме «Деревья и леса»

  • В дереве с вершинами число рёбер:
  • В лесе с вершинами и деревьями:
  • Число помеченных деревьев с вершинами (формула Кэли):
  • В любом дереве с вершинами есть не менее двух листьев (вершин степени 1).
  • Любое дерево имеет центр (одну или две смежные вершины).

Примечания

Литература

  • Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. — М.: Наука, Физматлит, 1990. — С. 53. — 384 с. — ISBN 5-02-013992-0.
  • Дональд Кнут. Искусство программирования, том 1. Основные алгоритмы = The Art of Computer Programming, vol. 1. Fundamental Algorithms. — 3-е изд. — М.: Вильямс (издательство), 2006. — 720 с. — ISBN 0-201-89683-4.
  • Оре О. Теория графов. — 2-е изд. — М.: Наука, 1980. — 336 с.
  • Харари Ф. Теория графов. — М.: Мир, 1973. — 302 с.
  • Виноградова М. Г., Федина Ю. А., Папулов Ю. Г. Теория графов в корреляциях «структура–свойство» // Журнал физической химии. — 2016. — Т. 90, № 2. — С. 1—6. — doi:10.7868/S0044453716020345.
  • Высоцкий И. Р., Ященко И. В. Математика. Вероятность и статистика. 7—9 классы. — Базовый уровень. — М.: Просвещение, 2023.
  • Форгани М., Васёв П. А., Болков М. А., Рэмзи Э. С., Берсенев А. Ю. PhyloTraVis: новый подход к визуализации филогенетического дерева // Программирование. — 2022. — № 3. — С. 78—91. — doi:10.31857/S0132347422030049.
  • Полин Я. А., Зудилова Т. В., Ананченко И. В., Войтюк Т. Е. Деревья решений в задачах классификации: особенности применения и методы повышения качества классификации // Современные наукоемкие технологии. — 2020. — № 9. — С. 59—63. — doi:10.17513/snt.38215.
  • Шевелев О. Г., Петраков А. В. Классификация текстов с помощью деревьев решений и нейронных сетей прямого распространения // Вестник Томского государственного университета. — 2006. — № 290. — С. 300—307.

Дополнительно по теме

Pause