Основы теории графов 04: метрики на деревьях

36
Основы теории графов осень 2013 Александр Дайняк www.dainiak.com

Upload: alex-dainiak

Post on 07-Jul-2015

99 views

Category:

Education


7 download

DESCRIPTION

Доказываем теорему Зарецкого о существовании дерева с заданными расстояниями между вершинами. [Слайды курса, прочитанного в МФТИ в 2013 году.]

TRANSCRIPT

Page 1: Основы теории графов 04: метрики на деревьях

Основы теории графовосень 2013

Александр Дайняк

www.dainiak.com

Page 2: Основы теории графов 04: метрики на деревьях

Расстояния в графе

• Расстояние между парой вершин 𝑢, 𝑣 — это длина кратчайшей цепи, соединяющей эти вершины. Обозначение: 𝑑 𝑢, 𝑣

• Диаметр графа — это максимальное из расстояний между парами вершин. Обозначение:

diam 𝐺 = max𝑢,𝑣

𝑑 𝑢, 𝑣

• Диаметральная цепь — это цепь, соединяющая пару вершин, расстояние между которыми равно диаметру

𝑢

𝑣

𝑑 𝐺 = 𝑑 𝑢, 𝑣 = 3

Page 3: Основы теории графов 04: метрики на деревьях

Расстояния в графе

• Эксцентриситет вершины 𝑣 — это величинаmax𝑢

𝑑 𝑢, 𝑣

• Центр графа — это вершина, имеющая минимальный эксцентриситет (центров у графа может быть много)

• Радиус графа — это эксцентриситет центраОбозначение: 𝑟 𝐺

• Для любого связного графа 𝐺 выполнено:𝑟 𝐺 ≤ diam 𝐺 ≤ 2 ⋅ 𝑟 𝐺

Page 4: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

• В дереве любой конец диаметральной цепи является листом

• В дереве ровно один центр, если диаметр дерева кратен 2, и ровно два центра иначе. Причём, если центра два, то они соседи.

• В любом дереве 𝑇

𝑟 𝑇 =1

2⋅ diam 𝑇

Page 5: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

• Докажем, что в дереве один или два центра.

• Пусть дано произвольное 𝑇.

• «Обстрижём» 𝑇: удалим из 𝑇 все листья.

• Получим новое дерево 𝑇′, в котором центры останутся теми же, что и в 𝑇

Page 6: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

• Прямая задача о расстояниях: в заданном графе найти расстояние между некоторыми/всеми парами вершин.

• Обратная задача: по заданным расстояниям попытаться восстановить граф.

Page 7: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Обратная задача о расстояниях в деревьях актуальна, например, при построении деревьев классификации

Page 8: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Расстояния между вершинами могут быть заданы матрицей расстояний:

𝐷 =𝑑11 ⋯ 𝑑1𝑛⋮ ⋱ ⋮

𝑑𝑛1 ⋯ 𝑑𝑛𝑛

В матрице расстояний 𝑑𝑖𝑗 ≔ 𝑑 𝑣𝑖 , 𝑣𝑗 .

В общем случае расстояния могут быть заданы необязательно для всех пар вершин.

Page 9: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Вопросы:

• При каких условиях на матрицу 𝐷 существует реализующее её дерево?

• Если дерево существует, является ли оно единственным?

• Как это дерево построить?

Page 10: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Рассмотрим необходимые условия существования дерева:

1. Для любых 𝑖, 𝑗 выполнены соотношения𝑑𝑖𝑖 = 0, 𝑑𝑖𝑗 = 𝑑𝑗𝑖 > 0

Page 11: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

2. Для любых 𝑖, 𝑗, 𝑘 величина 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 является чётным числом.

𝑣𝑗𝑣𝑖

𝑣𝑘

Page 12: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

3. Для любых 𝑖, 𝑗, 𝑘, 𝑙 из чисел 𝑑𝑖𝑗 + 𝑑𝑘𝑙, 𝑑𝑖𝑘 + 𝑑𝑗𝑙, 𝑑𝑖𝑙 + 𝑑𝑗𝑘 два числа равны между собой и не меньше третьего.

𝑣𝑗𝑣𝑖

𝑣𝑘 𝑣𝑙

𝑣𝑗𝑣𝑖

𝑣𝑘 𝑣𝑙

𝑣𝑗𝑣𝑖

𝑣𝑘 𝑣𝑙

𝑑𝑖𝑘 + 𝑑𝑗𝑙 = 𝑑𝑖𝑙 + 𝑑𝑗𝑘 >

> 𝑑𝑖𝑗 + 𝑑𝑘𝑙

𝑑𝑖𝑗 + 𝑑𝑘𝑙 = 𝑑𝑖𝑙 + 𝑑𝑗𝑘 >

> 𝑑𝑖𝑘 + 𝑑𝑗𝑙

𝑑𝑖𝑘 + 𝑑𝑗𝑙 = 𝑑𝑖𝑙 + 𝑑𝑗𝑘 =

= 𝑑𝑖𝑗 + 𝑑𝑘𝑙

Page 13: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Теорема. Следующие три условия являются необходимыми и достаточными для существования дерева:

1. Для любых 𝑖, 𝑗 выполнены соотношения 𝑑𝑖𝑖 = 0, 𝑑𝑖𝑗 = 𝑑𝑗𝑖 > 0

2. Для любых 𝑖, 𝑗, 𝑘 величина 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 является чётным неотрицательным числом

3. Для любых 𝑖, 𝑗, 𝑘, 𝑙 из чисел 𝑑𝑖𝑗 + 𝑑𝑘𝑙, 𝑑𝑖𝑘 + 𝑑𝑗𝑙, 𝑑𝑖𝑙 + 𝑑𝑗𝑘два числа равны между собой и не меньше третьего

При этом если в 𝐷 учтены все листья, то такое дерево будет единственным.

Page 14: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

План доказательства достаточности:

• Индукция по размеру матрицы

• По матрице 𝐷 строим некоторую матрицу 𝐷′ меньшей размерности

• Доказываем, что если для 𝐷 выполнены условия 1—3, то они выполнены и для 𝐷′

• Указываем способ построения по дереву 𝑇′, соответствующего матрице 𝐷′, дерева 𝑇, соответствующего матрице 𝐷

Page 15: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Идея перехода к новой матрице:

Допустим, у нас уже есть дерево 𝑇, соответствующее матрице 𝐷, и все листья дерева участвуют в 𝐷.

Дерево 𝑇 можно «сильно остричь», удалив не листья, а сразу целые «висячие цепочки». Висячая цепочка — от листа дерева до вершины степени 3 или первой нелистовой вершины, участвующей в 𝐷.

Page 16: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Надо понять, как меняются длины путей при переходе к «сильно обстриженному» дереву, и куда переходят вершины, по которым строилась исходная матрица 𝐷.

Для этого надо понять, как по матрице 𝐷 определить длины цепочек, которыми висячие вершины присоединены к дереву.

1

2

3

4 5

6

7

1

2,3

4,5

6,7

Page 17: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Вспомним про величины 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘.

Длина цепочки, которой 𝑣𝑗 присоединяется к дереву, равна 1

2⋅ min𝑝,𝑞≠𝑗

𝑑𝑝𝑗 + 𝑑𝑗𝑞 − 𝑑𝑝𝑞

(Для невисячих вершин длина такой цепочки принимается равной нулю)

1

2

3

4 5

6

7

1

2,3

4,5

6,7

Page 18: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Обозначим 𝑐𝑗 ≔1

2⋅ min𝑝,𝑞≠𝑗

𝑑𝑝𝑗 + 𝑑𝑗𝑞 − 𝑑𝑝𝑞

Если мы обстригаем одну из цепочек, оканчивающуюся на листе 𝑗, при этом переводя 𝑗 в другой конец этой цепочки, то расстояния от 𝑗𝑛𝑒𝑤 до остальных вершин сократятся на длину цепочки:

𝑑𝑖𝑗𝑛𝑒𝑤 = 𝑑𝑖𝑗

𝑜𝑙𝑑 − 𝑐𝑗

1

2

3

4 5

6

7

1𝑛𝑒𝑤

2

3

4 5

6

7

Page 19: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Обозначим 𝑐𝑗 ≔1

2⋅ min𝑝,𝑞≠𝑗

𝑑𝑝𝑗 + 𝑑𝑗𝑞 − 𝑑𝑝𝑞

Если мы «сильно обстригаем» дерево, смещая листьясоответствующим образом, то расстояния в новом дереве вычисляются по формулам 𝑑𝑖𝑗

𝑛𝑒𝑤 = 𝑑𝑖𝑗𝑜𝑙𝑑 − 𝑐𝑖 − 𝑐𝑗

1

2

3

4 5

6

7

1

2,3

4,5

6,7

Page 20: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Обратно, если у нас есть дерево 𝑇′, реализующее матрицу 𝐷𝑛𝑒𝑤, то дерево, реализующее матрицу 𝐷, можно построить, присоединив к соответствующим вершинам дерева 𝑇′, цепочки длины 𝑐𝑖

1

2

3

4 5

6

7

1

2,3

4,5

6,7

Page 21: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Всё, сказанное до сих пор — идея доказательства. Для формального обоснования и индукции сделаем следующее:

• Рассмотрим матрицу 𝐷′ = 𝑑𝑖𝑗′ , в которой 𝑑𝑖𝑗

′ ≔ 𝑑𝑖𝑗 − 𝑐𝑖 − 𝑐𝑗при 𝑖 ≠ 𝑗, и 𝑑𝑖𝑖

′ ≔ 0

• Докажем, что если исходный набор чисел 𝑑𝑖𝑗 удовлетворяет условиям 1—3, то и набор чисел вида 𝑑𝑖𝑗

′ тоже удовлетворяет этим условиям, кроме условия положительности всех 𝑑𝑖𝑗

′ при 𝑖 ≠ 𝑗

• Докажем, что в матрице 𝐷′ есть совпадающие строки/столбцы, так что можно, отождествив их, получить матрицу 𝐷′ меньшей размерности, в которой уже все недиагональные элементы положительны

Page 22: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Проверяем выполнение условия 3 для 𝑑𝑖𝑗′ :

𝑑𝑖𝑗′ + 𝑑𝑘𝑙

′ = 𝑑𝑖𝑗 − 𝑐𝑖 − 𝑐𝑗 + 𝑑𝑘𝑙 − 𝑐𝑘 − 𝑐𝑙 =

= 𝑑𝑖𝑗 + 𝑑𝑘𝑙 − 𝑐𝑖 + 𝑐𝑗 + 𝑐𝑘 + 𝑐𝑙

Аналогично𝑑𝑖𝑘′ + 𝑑𝑗𝑙

′ = 𝑑𝑖𝑘 + 𝑑𝑗𝑙 − 𝑐𝑖 + 𝑐𝑗 + 𝑐𝑘 + 𝑐𝑙

и𝑑𝑖𝑙′ + 𝑑𝑗𝑘

′ = 𝑑𝑖𝑙 + 𝑑𝑗𝑘 − 𝑐𝑖 + 𝑐𝑗 + 𝑐𝑘 + 𝑐𝑙 .

Отсюда следует, что и для 𝑑𝑖𝑗′ условие 3 выполняется, раз оно

выполнено для 𝑑𝑖𝑗.

Page 23: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Проверяем выполнение условия 2 для 𝑑𝑖𝑗′ :

𝑑𝑖𝑗′ + 𝑑𝑗𝑘

′ − 𝑑𝑖𝑘′ = 𝑑𝑖𝑗 − 𝑐𝑖 − 𝑐𝑗 + 𝑑𝑗𝑘 − 𝑐𝑗 − 𝑐𝑘 −

−𝑑𝑖𝑘 + 𝑐𝑖 + 𝑐𝑘 = 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 − 2𝑐𝑗 == 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 − min

𝑝,𝑞≠𝑗𝑑𝑝𝑗 + 𝑑𝑗𝑞 − 𝑑𝑝𝑞 ≥ 0

Очевидно также, что числа 𝑑𝑖𝑗′ + 𝑑𝑗𝑘

′ − 𝑑𝑖𝑘′ чётны, так что условие

2 выполняется.

Page 24: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Проверяем неотрицательность 𝑑𝑖𝑗′ :

𝑑𝑖𝑗′ = 𝑑𝑖𝑗 − 𝑐𝑖 − 𝑐𝑗 =

= 𝑑𝑖𝑗 −12min𝑝,𝑞≠𝑖

𝑑𝑝𝑖 + 𝑑𝑖𝑞 − 𝑑𝑝𝑞 − 12min𝑟,𝑠≠𝑗

𝑑𝑟𝑗 + 𝑑𝑗𝑠 − 𝑑𝑟𝑠 ≥

≥ 𝑑𝑖𝑗 −12 𝑑𝑗𝑖 + 𝑑𝑖𝑘 − 𝑑𝑗𝑘 − 1

2 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 = 0

Page 25: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Теперь покажем, что если 𝑑𝑖𝑗′ = 0, то для любого 𝑘 выполнено

𝑑𝑖𝑘′ = 𝑑𝑗𝑘

′ .

Это означает, что если в 𝐷′ есть нулевой недиагональный элемент, то соответствующие строки и столбцы совпадают, а значит в 𝐷′ уже не будет нулевых недиагональных элементов.

Page 26: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Пусть 𝑑𝑖𝑗′ = 0. Тогда и 𝑑𝑗𝑖

′ = 0.

Для любого 𝑘 имеем 𝑑𝑖𝑗′ + 𝑑𝑗𝑘

′ − 𝑑𝑖𝑘′ ≥ 0 ⇒ 𝑑𝑗𝑘

′ ≥ 𝑑𝑖𝑘′

Аналогично𝑑𝑗𝑖′ + 𝑑𝑖𝑘

′ − 𝑑𝑗𝑘′ ≥ 0 ⇒ 𝑑𝑖𝑘

′ ≥ 𝑑𝑗𝑘′

Отсюда 𝑑𝑖𝑘′ = 𝑑𝑗𝑘

′ .

Page 27: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Осталось доказать теперь, что найдутся 𝑖 ≠ 𝑗, такие, что 𝑑𝑖𝑗′ = 0.

Это будет означать, что у матрицы 𝐷′ размерность меньше, чем у 𝐷, а значит можно будет провести индукцию по размерности матрицы.

Page 28: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Лемма. Для любых 𝑖 ≠ 𝑗 найдётся 𝑘 ∉ 𝑖, 𝑗 , такое, что

𝑐𝑗 =1

2𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 .

Доказательство.

По определению 𝑐𝑗, существуют 𝑘, 𝑙, для которых 2𝑐𝑗 = 𝑑𝑙𝑗 + 𝑑𝑗𝑘 −𝑑𝑙𝑘.

Так как 𝑐𝑗 =1

2min𝑝,𝑞≠𝑗

𝑑𝑝𝑗 + 𝑑𝑗𝑞 − 𝑑𝑝𝑞 , то 2𝑐𝑗 ≤ 𝑑𝑙𝑗 + 𝑑𝑗𝑖 − 𝑑𝑙𝑖,

отсюда𝑑𝑙𝑗 + 𝑑𝑗𝑘 − 𝑑𝑙𝑘 ≤ 𝑑𝑙𝑗 + 𝑑𝑗𝑖 − 𝑑𝑙𝑖

Page 29: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Итак,𝑑𝑙𝑗 + 𝑑𝑗𝑘 − 𝑑𝑙𝑘 ≤ 𝑑𝑙𝑗 + 𝑑𝑗𝑖 − 𝑑𝑙𝑖 ,

поэтому 𝑑𝑗𝑘 + 𝑑𝑙𝑖 ≤ 𝑑𝑗𝑖 + 𝑑𝑙𝑘. Отсюда и из условия 3 получаем𝑑𝑗𝑖 + 𝑑𝑙𝑘 = 𝑑𝑗𝑙 + 𝑑𝑖𝑘.

Имеем 2𝑐𝑗 = 𝑑𝑙𝑗 + 𝑑𝑗𝑘 − 𝑑𝑙𝑘 = 𝑑𝑗𝑘 + 𝑑𝑙𝑗 − 𝑑𝑙𝑘 == 𝑑𝑗𝑘 + 𝑑𝑗𝑖 − 𝑑𝑖𝑘 = 𝑑𝑖𝑗 + 𝑑𝑗𝑘 − 𝑑𝑖𝑘 ,

что и требовалось.

Page 30: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Теперь доказываем, что найдутся 𝑖 ≠ 𝑗, такие, что 𝑑𝑖𝑗′ = 0.

Возьмём произвольные 𝑖 ≠ 𝑗1. По лемме, найдётся 𝑗2 ≠ 𝑗1, такой, что 𝑐𝑗1 =

1

2𝑑𝑖𝑗1 + 𝑑𝑗1𝑗2 − 𝑑𝑖𝑗2

Аналогично, найдётся 𝑗3 ≠ 𝑗2, для которого𝑐𝑗2 =

12 𝑑𝑖𝑗2 + 𝑑𝑗2𝑗3 − 𝑑𝑖𝑗3

И так далее. Получаем последовательность 𝑗𝑚 .

Пусть 𝑗𝛼 = 𝑗𝛽 — первое повторение в этой последовательности(𝛽 ≥ 𝛼 + 2).

Page 31: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Пусть 𝑗𝛼 = 𝑗𝛽, 𝛼 < 𝛽. Преобразуем ∑𝑐𝑗𝑚:

2 ⋅

𝑚=𝛼

𝛽−1

𝑐𝑗𝑚 =

𝑚=𝛼

𝛽−1

𝑑𝑖𝑗𝑚 + 𝑑𝑗𝑚𝑗𝑚+1− 𝑑𝑖𝑗𝑚+1

=

=

𝑚=𝛼

𝛽−1

𝑑𝑖𝑗𝑚 − 𝑑𝑖𝑗𝑚+1+

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1=

= 𝑑𝑖𝑗𝛼 − 𝑑𝑖𝑗 𝛽−1 +1+

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1=

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1

Page 32: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Ещё немного преобразований:

0 =

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1− 2 ⋅

𝑚=𝛼

𝛽−1

𝑐𝑗𝑚 =

=

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1−

𝑚=𝛼

𝛽−1

𝑐𝑗𝑚 −

𝑚=𝛼

𝛽−1

𝑐𝑗𝑚+1− 𝑐𝑗𝛼 + 𝑐𝑗𝛽 =

=

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1− 𝑐𝑗𝑚 − 𝑐𝑗𝑚+1

=

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1

Page 33: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

В итоге получаем:

𝑚=𝛼

𝛽−1

𝑑𝑗𝑚𝑗𝑚+1

′ = 0

Отсюда 𝑑𝑗𝑚𝑗𝑚+1

′ = 0 при всех 𝛼 ≤ 𝑚 < 𝛽.

Таким образом, в матрице 𝐷′ есть ненулевой недиагональный элемент (например, 𝑑𝑗𝛼𝑗𝛼+1).

Значит, размерность матрицы 𝐷′ строго меньше размерности 𝐷′, а значит, и размерности 𝐷.

Page 34: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

• Размерность матрицы 𝐷′ строго меньше размерности 𝐷′, а значит и размерности 𝐷.

• Условия 1—3 для 𝐷′ выполнены.

• Следовательно, можно доказать теорему индукцией по размерности матрицы.

• Базис индукции: 𝐷 ∈ ℝ1×1 или 𝐷 ∈ ℝ2×2. В случае 𝐷 ∈ ℝ1×1, дерево 𝑇 — одна вершина. В случае 𝐷 ∈ ℝ2×2 в качестве 𝑇 берётся цепь длины 𝑑12, концы этой цепи и будут вершинами, соответствующимистрокам/столбцам 𝐷.

Page 35: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Индуктивный переход:

• Пусть дана 𝐷, и для матриц меньших размерностей соответствующие деревья существуют.

• Строим по 𝐷 матрицу 𝐷′, как описано ранее. При этом некоторые строки/столбцы 𝐷′ соответствуют группам строк/столбцов 𝐷.Для 𝐷′, по предположению, есть дерево 𝑇′.

Page 36: Основы теории графов 04: метрики на деревьях

Расстояния в деревьях

Индуктивный переход:

• Строим дерево 𝑇 для исходной матрицы 𝐷.Пусть группе строк 𝑗1, … , 𝑗𝑠 матрицы 𝐷 соответствует строка 𝑗матрицы 𝐷′, а этой строке соответствует вершина 𝑣𝑗 дерева 𝑇′. Тогда в дереве 𝑇 к вершине 𝑣𝑗 протягиваем цепочки длин 𝑐𝑗1 , … , 𝑐𝑗𝑠 , а концы этих цепочек объявляем вершинами 𝑣𝑗1 , … , 𝑣𝑗𝑠 .

1

2

3

4 5

6

7

1

2,3

4,5

6,7