27
Дискретные структуры МФТИ, осень 2013 Александр Дайняк www.dainiak.com

Автоморфизмы графов. Перечисление графов

Embed Size (px)

Citation preview

Page 1: Автоморфизмы графов. Перечисление графов

Дискретные структурыМФТИ, осень 2013

Александр Дайнякwww.dainiak.com

Page 2: Автоморфизмы графов. Перечисление графов

Графы и их представления

• Следует чётко различать сам граф (абстрактный объект, пара множеств) и его представление (например, изображение на плоскости). • Графы существуют вне зависимости от их изображений.

Например, граф

можно по-разному «изобразить»:

Page 3: Автоморфизмы графов. Перечисление графов

Графы и их представления

• И наоборот, два разных графа могут «структурно» представлять собой одно и то же: графы

и

Page 4: Автоморфизмы графов. Перечисление графов

Изоморфизм графов

• Графы, которые неотличимы со структурной точки зрения, называются изоморфными• Формально, графы и без петель и кратных рёбер изоморфны,

если существует биекция

такая, что

• Сама биекция называется изоморфизмом между и

Page 5: Автоморфизмы графов. Перечисление графов

Изоморфизм графов

• Иначе говоря, и изоморфны, если их вершины можно «занумеровать» так, что вершины с одинаковыми «номерами» либо смежны и в , и в , либо несмежны в обоих этих графах• Пример:• , • , • Изоморфизм:

Page 6: Автоморфизмы графов. Перечисление графов

Изоморфизм графов

• Упражнение. Данное выше формальное определение изоморфных графов «работает» только для графов без петель и кратных рёбер. Дайте формальное определение изоморфизма, пригодное для мульти- и псевдографов.

Page 7: Автоморфизмы графов. Перечисление графов

Изоморфизм графов

• Поскольку изоморфные графы с точки зрения структуры идентичны, мы часто будем считать их одним и тем же графом• Любая характеристика графа (числовая или качественная),

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

инвариантами

Page 8: Автоморфизмы графов. Перечисление графов

Изоморфизм графов

Если требуется определить, являются ли два данных графа изоморфными, то• для доказательства неизоморфности графов надо указать

инвариант, значение которого различается у этих графов• для доказательства изоморфности нужно указать, какая вершина

первого графа соответствует какой вершине второго

Page 9: Автоморфизмы графов. Перечисление графов

Автоморфизмы

Автоморфизм графа — это изоморфизм графа с самим собой (перестановка вершин, переводящая граф сам в себя). Пример автоморфизмов:

12

4

5

6

3 1→2 1→41→1Множество всех автоморфизмов графа образует группу, обозначаемую

Page 10: Автоморфизмы графов. Перечисление графов

Автоморфизмы

Автоморфизм графа — это изоморфизм графа с самим собой. Примеры:• У графа группа автоморфизмов равна

• У графа группа автоморфизмов изоморфна

• У графа группа автоморфизмов состоит из одной тождественной подстановки

Page 11: Автоморфизмы графов. Перечисление графов

Различные графы vs. Неизоморфные графыБудем рассматривать графы на множестве вершин . Каждому -вершинному графу соответствует несколько различных изоморфных графов на множестве вершин :

16

452

312

456

3

⋯ ⋯⋯

Page 12: Автоморфизмы графов. Перечисление графов

Количество графов

Утверждение.Количество графов на вершинах , изоморфных заданному -вершинному графу , равно .

Page 13: Автоморфизмы графов. Перечисление графов

Количество графов

Пусть — граф на вершинах .Занумеровать вершины можно способами:

𝑣1

𝑣2

𝑣3

1

2

3 2

1

3 1

3

2 3

1

2 2

3

1 3

2

1

Page 14: Автоморфизмы графов. Перечисление графов

Количество графов

Полученные графов на вершинах распадаются на классы одинаковых графов:

𝑣1

𝑣2

𝑣3

1

2

3 2

1

3 1

3

2 3

1

2 2

3

1 3

2

1

Page 15: Автоморфизмы графов. Перечисление графов

Количество графов

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

Значит, число классов равно .

1

2

3 2

1

3 1

3

2 3

1

2 2

3

1 3

2

1

Page 16: Автоморфизмы графов. Перечисление графов

Количество графов

• Каждому -вершинному графу соответствуют ровно различных изоморфных графов на множестве • Число различных графов на равно

• Отсюда получаем формулу

(суммирование ведётся по всем неизоморфным графам на вершинах)

Page 17: Автоморфизмы графов. Перечисление графов

Количество графов

Теорема (без доказательства).

Количество неизоморфных графов на вершинах асимптотически равно

То есть у «подавляющего большинства» графов группа автоморфизмов состоит из одной (тождественной) подстановки.

Page 18: Автоморфизмы графов. Перечисление графов

Количество неизоморфных деревьевТеорема (без доказательства).Количество неизоморфных -вершинных деревьев асимптотически равно

где и

Докажем существенно более простую оценку:количество неизоморфных -вершинных деревьев не превосходит .

Page 19: Автоморфизмы графов. Перечисление графов

Количество неизоморфных деревьевТеорема.Количество неизоморфных -вершинных деревьев не превосходит , где — число Каталана.

Следствие.Количество неизоморфных -вершинных деревьев не превосходит .

Page 20: Автоморфизмы графов. Перечисление графов

Количество неизоморфных деревьевДоказательство:

Будем рассматривать корневые деревья, т.е. деревья с выделенной вершиной-корнем.

Сопоставим каждому корневому дереву c вершинами правильную последовательность из пар скобок, так, что неизоморфным деревьям соответствуют разные последовательности.

Page 21: Автоморфизмы графов. Перечисление графов

Количество неизоморфных деревьев• Одновершинному корневому дереву сопоставим пустую

последовательность• Пусть в корневом дереве не менее двух вершин.

Рассмотрим поддеревья, «прицепленные» к корню, и будем считать их корнями те вершины, которыми они прицеплены.Пусть этим деревьям сопоставлены последовательности . Тогда дереву сопоставим последовательность .

Page 22: Автоморфизмы графов. Перечисление графов

Количество неизоморфных деревьевПример:

()(())() ()

((())( )) (())( )( )

∅ ∅∅ ∅

Видно, что оценка теоремы неточна: «код» дерева получится другим, например, при другом упорядочении поддеревьев.

Page 23: Автоморфизмы графов. Перечисление графов

Формула Кэли для числа различных деревьевФормула Кэли.Количество различных деревьев на множестве вершин в точности равно .

Доказательство:• Идея знакомая: кодирование (H. Prüfer). • Каждому дереву на вершинах поставим в соответствие вектор

длины , компоненты в котором равны от до .

Page 24: Автоморфизмы графов. Перечисление графов

Доказательство формулы Кэли:кодирование Прюфера• Последовательно проделываем:• Берём лист дерева с наименьшим номером, удаляем его, а его соседа

выписываем• Поступаем так, пока в дереве не останется всего две вершины

• Выписанный вектор и будет кодом дерева

Page 25: Автоморфизмы графов. Перечисление графов

Доказательство формулы Кэли:кодирование ПрюфераАлгоритм кодирования дерева:

• Берём лист дерева с наименьшим номером, удаляем его, а его соседа выписываем

• Поступаем так, пока в дереве не останется всего две вершины

52

1

3 46

51

3 46

51

36

1

36

3

6

Код дерева:

Page 26: Автоморфизмы графов. Перечисление графов

Доказательство формулы Кэли:кодирование ПрюфераАлгоритм декодирования дерева:• Пусть дан код • Рассмотрим список номеров • Последовательно делаем:• Находим в наименьшее , не входящее в • Удаляем из и удаляем первый элемент из • Пару этих элементов объявляем ребром дерева• Когда список закончился, то в должно остаться два элемента. Они

образуют последнее ребро дерева.

Page 27: Автоморфизмы графов. Перечисление графов

Доказательство формулы Кэли:кодирование ПрюфераПример. Пусть код такой: Значит,

A B ребро 627

3

1

4

5

8