Дискретная математика понятие дерева

Деревья

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

Ниже дано несколько определений дерева. Сначала в геометрических терминах изучается понятие центральности дерева. Затем рассматриваются деревья, естественным образом связанные с произвольным связным графом, именно деревья блоков и точек сочленения. Наконец, будет показано, как каждый остов графа G приводит к набору его независимых циклов, и обратно, для каждого ко-остова можно построить набор независимых коциклов.

Описание деревьев

Граф называется ациклическим, если в нем нет циклов.Дерево— это связный ациклический граф. Каждый граф, не содержащий циклов, называетсялесом. Таким образом, компонентами леса являются деревья. Существуют 23 различных дерева с восемью вершинами. Известны и другие определения дерева. В теореме 4.1 отражены некоторые из них.

Теорема.Для графа G следующие утверждения эквивалентны:

(2) любые две вершины в G соединены единственной простой цепью;

(3) G — связный граф и p=q+1;

(4) G — ациклический граф и p=q+1;

(5) G — ациклический граф, и если любую пару несмежных вершин

соединить ребром х, то в графе G + x будет точно один простой цикл;

(6) G — связный граф, отличный от Кр для р>=З, и если любую пару несмежных вершин соединить ребром х, то в графе G + x будет точно один простой цикл;

(7) G — граф, отличный от КзUК1 и КзUК2, p=q+1, и если любую пару несмежных вершин соединить ребром х, то в графе G + x будетточно один простой цикл.

Доказательство.(1) влечет (2). Поскольку G — связный граф, то любые две его вершины соединены простой цепью. Пусть Р1 и P2— две различные простые цепи, соединяющие вершины и и v, и пусть w — первая вершина, принадлежащая Р2 (при переходе по P1 из и в v), такая, что w принадлежит и P1 и Р2, но вершина, предшествующая ей в P1, не принадлежит Р2. Если w’ — следующая за w вершина в Р1 принадлежащая также Р2, то сегменты (части) цепей P1 и Р2, находящиеся между вершинами w и w’, образуют простой цикл в графе G. Поэтому, если G — ациклический граф, то между любыми двумя его вершинами существует самое большее одна простая цепь.

(2) влечет (3). Ясно, что граф G — связный. Соотношение р =q+1 докажем по индукции. Утверждение очевидно для связных графов с одной и двумя вершинами. Предположим, что оно верно для графов, имеющих меньше р вершин. Если же граф G имеет р вершин, то удаление из него любого ребра делает граф G несвязным в силу единственности простых цепей; более того, получаемый граф будет иметь в точности две компоненты. По предположению индукции в каждой компоненте число вершин на единицу больше числа ребер. Таким образом, общее число ребер в графе G должно равняться р — 1.

Читайте также:  Чем обработать дерево от мха

(3) влечет (4). Предположим, что в графе G есть простой цикл длины п. Этот цикл содержит nвершин иnребер, а для любой из р —nвершин, не принадлежащих циклу, существует инцидентное ей ребро, которое лежит на геодезической, идущей от некоторой вершины цикла. Все такие ребра попарно различны; отсюда q>p, т. е. пришли к противоречию.

(4) влечет (5). Так как G — ациклический граф, то каждая его компонента является деревом. Если всего k компонент, то, поскольку в каждой из них число вершин на единицу больше числа ребер, имеем p = q + k. В нашем случае должно быть k=1, так что G — связный граф. Таким образом, G — дерево и любые две его вершины соединяет простая единственная цепь. Если к дереву G добавить ребро uv, то ребро вместе с единственной простой цепью, соединяющей вершины uи v, образует простой цикл, который также единствен в силу единственности простой цепи.

(5) влечет (6). Поскольку каждый полный граф КР для р>3 содержит простой цикл, граф G не может быть одним из этих графов. Граф G должен быть связным, так как в ином случае можно было бы добавить ребро х, соединяющее две вершины из разных компонент графа G, и граф G + x был бы ациклическим.

(6) влечет (7). Докажем, что любые две вершины графа G соединены единственной простой цепью, а тогда, поскольку (2) влечет (3), получим p=q+1. Ясно, что в графе G любые две вершины соединены простой цепью. Если какая-то пара вершин графа G соединена двумя простыми цепями, то из доказательства того, что (1) влечет (2), следует наличие у графа G простого цикла Z. В Z не может быть более трех вершин, так как иначе, соединив ребром х две несмежные вершины в Z, получим граф G + x, имеющий более одного простого цикла (если же в Z нет несмежных вершин, то в графе G более одного цикла). Таким образом, цикл Z есть К.3, и он должен быть собственным подграфом графа G, поскольку по предположению G не является полным графом КР с р>3. Так как G — связный граф, то можно предположить, что в G есть другая вершина, смежная с некоторой вершиной подграфа К3. Тогда ясно, что если к графу G добавлять ребро, то его можно добавить так, чтобы в графе G + x образовались, по крайней мере два простых цикла. Если больше нельзя добавить новых ребер, не нарушая для графа G второго условия из (6), то G есть КР с р>3 вопреки предположению.

(7) влечет (1). Если граф G имеет простой цикл, то этот цикл должен быть треугольником, являющимся компонентой графа G, что было показано в предыдущем абзаце. В этой компоненте соответственно три вершины и три ребра. Все остальные компоненты графа G должны быть деревьями, но для того, чтобы выполнялось соотношение p = q + l, должно быть не более одной компоненты, отличной от указанного треугольника. Если это дерево содержит простую цепь длины 2, то к графу G можно так добавить ребро х, чтобы образовать в графе G + x два простых цикла. Следовательно, этим деревом может быть или К1 или K2. Значит, граф G — или Кз U K1или К3U К2, а эти графы мы исключили из рассмотрения. Таким образом, G- ациклический граф. Но если G — ациклический граф и p=q+1, то G связен, поскольку (4) влечет (5), а (5) влечет (6). Итак,

Читайте также:  Какую толстянку называют денежным деревом

G -дерево, и теорема доказана.

Так как для нетривиального дерева di = 2q=2(p— 1), то в дереве должно быть, по крайней мере, две вершины со степенями, меньшими 2.

Следствие.В любом нетривиальном дереве имеется, по крайней мере, две висячие вершины.

Этот результат также следует из теоремы.

Источник

8. Остовы и деревья

Понятие дерева широко используется во многих областях математики и информатики. Например, как инструмент при вычислениях, как удобный способ хранения данных, способ сортировки или поиска данных.

Достаточно развитое генеалогическое дерево образует дерево.

Типичное частичное организационное дерево для университета.

Если дерево имеет хотя бы одно ребро, оно имеет две вершины со степенью 1. Вершины со степенью 1 называются листьями. Другие вершины называются внутренними вершинами.

Предположим, что дерево представляет физический объект, подвижный в вершинах, и подвесим дерево за одну из его вершин:

Если подвесить за вершину V3 или V4

Вершина в верхней части называется корнем дерева, если корень определен, то дерево называется корневым. При необходимости корневое дерево Т можно заменить на ориентированное корневое дерево Т’, порожденное корневым деревом Т.

Если корень выбран, уровень вершины V определяется длиной единственного пути из корня в вершину V. Высотой дерева называется длина самого длинного пути от корня дерева до листа.

Если рассматривается корневое ориентированное дерево Т’, порожденное данным корневым деревом Т, тогда вершина u называется родителем вершины v; a v называется сыном вершины u, если существует ориентированное ребро из u в v.

Если u — родитель v и v1, тогда v и v1 называются братьями.

Если существует ориентированный путь из вершины u в вершину v, тогда u называется предком вершины v, a v называется потомком вершины u.

Если наибольшая из степеней выхода для вершин дерева равна m, тогда дерево называется mарным деревом.

В частном случае, когда m = 2, дерево называется бинарным деревом.

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

Связный граф G(V,E), не имеющий циклов, называется деревом.

ТЕОРЕМА (основные свойства деревьев):

Пусть граф G(V,E) имеет n вершин. Тогда следующие утверждения эквивалентны:

  1. G является деревом;
  2. G не содержит циклов и имеет n-1 рёбер;
  3. G связен и имеет n-1 рёбер;
  4. G связен, но удаление » ребра нарушает связность;
  5. » две вершины графа G соединены ровно одним путём;
  6. G не имеет циклов, но добавление » ребра порождает ровно один цикл.

Ориентированное дерево представляет собой ориентированный граф без циклов, в котором полустепень захода каждой вершины (за исключением одной, например v1) не больше 1, а полустепень захода вершины v1 (называемой также корнем) равна нулю. Вершину v ордерева называют потомком вершины u, если $ путь из u в v. В этом же случае вершину u называют предком вершины v. Вершину, не имеющую потомков, называют листом. Высота ордерева – это наибольшая длина пути из корня в лист. Уровень вершины ордерева – длина пути из корня в эту вершину. Ордерево называют бинарным, если полустепень исхода любой его вершины не превосходит 2. Пусть задан неориентированный граф. Остовным деревом (остовом) связного графа называется любой его остовный подграф, являющийся деревом. Граф и два его остовных дерева (удаленные ребра показаны пунктиром).Задачи о кратчайших расстояниях на графах.

  1. Построение минимального остовного дерева (кратчайшей связывающей сети) – соединение всех узлов сети с помощью путей наименьшей длины.
  2. Задача о нахождении дерева кратчайших расстояний – нахождение кратчайшего пути из одной вершины в любую другую.
  3. Построение матрицы кратчайших расстояний – нахождение кратчайших путей для любой пары вершин.
Читайте также:  Random forest дерево решений

Необходимо проложить линии коммуникаций (дороги, линии связи, электропередач и т.п.) между n заданными «точечными» объектами, при условии: во-первых, известны «расстояния» между каждой парой объектов (это может быть геометрическое расстояние или стоимость прокладки коммуникаций между ними), во-вторых, объекты могут быть связаны как непосредственно, так и с участием произвольного количества промежуточных объектов. При допущении, что разветвления возможны только в этих же n объектах, задача сводится к нахождению кратчайшего остовного дерева (SST — shortest spanning tree, или MST — minimal spanning tree) во взвешенном графе, вершины которого соответствуют заданным объектам, а веса ребер равны «расстояниям» между ними. Определение.Весостовного дерева взвешенного графа G равен сумме весов, приписанных ребрам остовного дерева. Будем обозначать (T). Минимальным остовным деревом (МОД) называется такое остовное дерево графа G, что вес T меньше или равен весу любого другого остовного дерева графа G. Вес минимального остовного дерева будем обозначать min(T). Задача 1:найти кратчайшее остовное дерево (минимальный покрывающий остов) взвешенного графа. Пусть дан неориентированный связный граф со взвешенными ребрами. Вес ребра (xi,xj) обозначим cij. Из всех остовов графа необходимо найти один, у которого сумма весов на ребрах наименьшая. Стоимость остовного дерева вычисляется как сумма стоимостей всех рёбер, входящих в это дерево. Построение остова графа G, имеющего наименьший вес, имеет широкое применение при решении некоторого класса задач прикладного характера. Например: Пусть, например, G=(V, E, ) служит моделью железнодорожной сети, соединяющей пункты v1, v2, …, vnV, а (vi, vj) – расстояние между пунктами vi и vj. Требуется проложить сеть телеграфных линий вдоль железнодорожной сети так, чтобы все пункты v1, v2, …, vn были связаны между собой телеграфной сетью, протяженность которой была бы наименьшей. Рассмотрим два способа построения минимального остовного дерева взвешенного графа: алгоритм Крускала и алгоритм Прима. Алгоритм Крускала: 1) Выбрать в графе G ребро e минимального веса, не принадлежащее множеству E и такое, что его добавление в E не создает цикл в дереве T. 2) Добавить это ребро во множество ребер E. 3) Продолжить, пока имеются ребра, обладающие указанными свойствами. Пример. Для данного взвешенного графа найти минимальное корневое остовное дерево, используя алгоритм Крускала. Определить высоту построенного дерева. Алгоритм Крускала. Выбираем ребро с минимальным весом. Это ребро, (, ) с весом, равным 4. Пусть вершина будет корнем дерева. Далее выбираем ребра, инцидентные вершинам , и имеющие минимальный вес. Это ребро (, ) с весом 5. Затем к вершине присоединяем ребро (,) с весом 7. Далее, добавляем ребро (, ) с весом 7 и ребро (,) с весом 6. Минимальный вес построенного дерева равен: min(T)=4+5+7+7+6=29.

Источник

Оцените статью