Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дмимл.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
442.3 Кб
Скачать

36. Графы-деревья . Свойства. Теорема а.Кэли

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

  • Дерево не имеет кратных рёбер и петель.

  • Любое дерево с   вершинами содержит   ребро. Более того, конечный связный граф является деревом тогда и только тогда, когда  , где   — число вершин,   — число рёбер графа.

  • Граф является деревом тогда и только тогда, когда любые две различные его вершины можно соединить единственной простой цепью.

  • Любое дерево однозначно определяется расстояниями (длиной наименьшей цепи) между его концевыми (степени 1) вершинами.

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

  • Для любых трёх вершин дерева, пути между парами этих вершин имеют ровно одну общую вершину.

Теорема Кэли о числе деревьев — названное в честь А. Кэли явное выражение в теории графов для числа деревьев с данным числом пронумерованных вершин. А именно, оказывается, что на n вершинах, пронумерованных числами от 1 до n, существует ровно   различных деревьев.

37. Гамильтонов граф

Гамильтонов граф — в теории графов это граф, содержащийгамильтонову цепь или гамильтонов цикл.

Гамильтонов путь (или гамильтонова цепь) — путь (цепь), содержащий каждую вершину графа ровно один раз. Гамильтонов путь, начальная и конечная вершины которого совпадают, называется гамильтоновымциклом. Гамильтонов цикл является простым остовным циклом (см.Словарь терминов теории графов). Задача определения содержит ли данный граф гамильтонов цикл является NP-полной.

Необходимое условие

Если неориентированный граф G содержит гамильтонов цикл, тогда в нём не существует ни одной вершины x(i) с локальной степенью p(x(i)) < 2. Доказательство следует из определения.

38,39. Транспортная сеть.

В теории графов транспортная сеть  — ориентированный граф   , в котором каждое ребро  имеет неотрицательную пропускную способность   и поток  . Выделяются две вершины:источник   и сток   такие, что любая другая вершина сети лежит на пути из   в  . Транспортная сеть может быть использована для моделирования, например, дорожного трафика.

Целочисленная транспортная сеть — транспортная сеть, все пропускные способности ребер которой — целые числа.

  • Поток (flow) — функция   со следующими свойствами для любых вершин   и  : Ограничение пропускной способности (capacity constraints). Поток не может превысить пропускную способность: 

  • Антисимметричность (skew symmetry). Поток из   в   должен быть противоположным потоку из   в  : 

  • Сохранение потока (flow conservation):   для всех  , кроме источника и стока.

Величина потока (value of flow) — сумма потоков из источника  . В дальнейшем мы докажем, что она равна сумме потоков в сток  .

40. Теорема форда-фалкерсона, алгоритм

Теорема Форда—Фалкерсо́на — теорема о максимальном потоке в графе.

Звучит так: величина максимального потока равна величине минимального разреза.

Достаточность: любой поток между вершинами t и s меньше или равен величине любого сечения. Пусть дан некоторый поток и некоторое сечение. Величина данного потока складывается из величин «грузов», перевозимых по всем возможным путям из вершины t в s. Каждый такой путь обязан иметь общее ребро с данным сечением. Так как по каждому ребру сечения суммарно нельзя перевести «груза» больше, чем его пропускная способность, поэтому сумма всех грузов меньше или равна сумме всех пропускных способностей рёбер данного сечения. Утверждение доказано.

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

На этой теореме основан алгоритм Форда — Фалкерсона поиска максимального потока в графе, он же является доказательством необходимости данной теоремы, то есть оно является конструктивным.

  1. Обнуляем все потоки. Остаточная сеть изначально совпадает с исходной сетью.

  2. В остаточной сети находим любой путь из источника в сток. Если такого пути нет, останавливаемся.

  3. Пускаем через найденный путь (он называется увеличивающим путём или увеличивающей цепью) максимально возможный поток:

    1. На найденном пути в остаточной сети ищем ребро с минимальной пропускной способностью  .

    2. Для каждого ребра на найденном пути увеличиваем поток на  , а в противоположном ему — уменьшаем на  .

    3. Модифицируем остаточную сеть. Для всех рёбер на найденном пути, а также для противоположных им рёбер, вычисляем новую пропускную способность. Если она стала ненулевой, добавляем ребро к остаточной сети, а если обнулилась, стираем его.

  4. Возвращаемся на шаг 2.