Сколько ребер в полном графе
Перейти к содержимому

Сколько ребер в полном графе

  • автор:

Полный граф

\frac<n (n-1)><2>» width=»» height=»» /></p>
<p>n если n — нечётное, <br />иначе <i>n</i> − 1</p>
<p><b>Полный граф</b> — простой граф, в котором каждая пара различных вершин смежна. Полный граф с <img decoding=вершинами имеет n(n-1)/2рёбер и обозначается K_n. Является регулярным графом степени n-1.

Графы с K_1по K_4являются планарными. Полные графы с большим количеством вершин не являются планарными, так как содержат подграф K_5и, следовательно, не удовлетворяют критерию Понтрягина-Куратовского.

Примеры

Ниже приведены полные графы с числом вершин от 1 до 12 и количества их рёбер.

K1: 0 K2: 1 K3: 3 K4: 6
K5: 10 K6: 15 K7: 21 K8: 28
K9: 36 K10: 45 K11: 55 K12: 66
  • Теория графов

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «Полный граф» в других словарях:

ГРАФ ПЛОСКИЙ — планарный граф, граф, допускающий правильную укладку на плоскости (см. Графа укладка). Иными словами, граф G наз. плоским, если он может быть изображен на плоскости так, что вершинам соответствуют различные точки плоскости, а линии,… … Математическая энциклопедия

ГРАФ СЛУЧАЙНЫЙ — вероятностная модель, предназначенная для изучения частотных характеристик различных параметров графов. Под Г. с. обычно понимается нек рый класс графов на к ром задано распределение вероятностей. Произвольный конкретный граф Gиз наз. реализацией … Математическая энциклопедия

ГРАФ ЭКСТРЕМАЛЬНЫЙ — граф, на к ром та или иная числовая характеристика принимает свое минимальное или максимальное значение. Обычно отыскиваются экстремальные значения нек рой одной числовой характеристики при ограничениях на другие числовые характеристики и… … Математическая энциклопедия

Граф — Граф: От древневерхненемецкого gravo, gravio «предводитель, вождь»: Граф (титул)  дворянский титул; «Граф»  короткометражная немая кинокомедия Чарли Чаплина (The Count, 1916). От греч. γράφω «царапаю, черчу, пишу»: Граф… … Википедия

Граф Шпее — Тяжёлый крейсер «Адмирал граф Шпее» Graf Spee Schwerer Kreuzer Тяжёлый крейсер «Адмирал граф Шпее» на Спитхедском морском параде 1937 г. Основная информация … Википедия

ГРАФ — множество Vвершин и набор Енеупорядоченных и упорядоченных пар вершин; обозначается Г. через . Неупорядоченная пара вершин наз. ребром, упорядоченная пара дугой. Г., содержащий только ребра, наз. неориентированным; Г., содержащий только дуги,… … Математическая энциклопедия

Граф Шарль д’Артуа — Карл X Charles X … Википедия

ГРАФ ДВУДОЛЬНЫЙ — бихроматический граф, граф, множество вершин к рого можно разбить на два непересекающихся подмножества и , (т … Математическая энциклопедия

Планарный граф — Планарный граф  граф, который может быть изображен на плоскости без пересечения ребер. Более строго: Граф укладывается на некоторой поверхности, если его можно на ней нарисовать без пересечения ребер. Уложенный граф называется геометрическим … Википедия

Плоский граф — Планарный граф граф, который может быть изображен на плоскости без пересечения ребер. Более строго: Граф укладывается на некоторой поверхности, если его можно на ней нарисовать без пересечения ребер. Уложенный граф называется геометрическим, его … Википедия

Теория графов. Термины и определения в картинках

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.

Самый объёмный модуль на курсе «Алгоритмы и структуры данных» посвящён теории графов.

Граф — это топологичекая модель, которая состоит из множества вершин и множества соединяющих их рёбер. При этом значение имеет только сам факт, какая вершина с какой соединена.

Например, граф на рисунке состоит из 8 вершин и 8 рёбер.

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

В этой статье мы познакомимся с основными терминами и определениями теории графов. На курсе “Алгоритмы и Структуры данных” в компании Отус “Теория графов” изучается в самом объёмном модуле из 6 вебинаров, где мы изучаем десяток самых популярных алгоритмов.

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

Ребро — неупорядоченная пара двух вершин, которые связаны друг с другом. Эти вершины называются концевыми точками или концами ребра. При этом важен сам факт наличия связи, каким именно образом осуществляется эта связь и по какой дороге — не имеет значения; однако рёбра может быть присвоен “вес”, что позволит говорить о “нагруженном графе” и решать задачи оптимизации.

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

Смежность вершин — две вершины называются смежными, если они инцидентны одному ребру.

Смежность рёбер — два ребра называются смежными, если они инцедентны одной вершине.

Говоря проще — две вершины смежные, если они соединены ребром, два ребра смежные — если они соединены вершиной.

Петля — ребро, инцидентное одной вершине. Ребро, которое замыкается на одной вершине.

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

Кратные рёбра — рёбра, имеющие одинаковые концевые вершины, по другому их называют ещё параллельными.

Мультиграф — граф с кратными рёбрами.

Псевдомультиграф — граф с петлями и кратными рёбрами.

Степень вершины — это количество рёбер, инцидентных указанной вершине. По-другому — количество рёбер, исходящих из вершины. Петля увеливает степень вершины на 2.

Изолированная вершина — вершина с нулевой степенью.

Висячая вершина — вершина со степенью 1.

Подграф. Если в исходном графе выделить несколько вершин и несколько рёбер (между выбранными вершинами), то мы получим подграф исходного графа.

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

Полный граф — это граф, в котором каждые две вершины соединены одним ребром.

Сколько рёбер в полном графе? Это известная задача о рукопожатиях: собралось N человек (вершин) и каждый с каждым обменялся рукопожатием (ребро), сколько всего было рукопожатий? Вычисляется как сумма чисел от 1 до N — каждый новый участник должен пожать руку всем присутствующим, вычисляется по формуле: N * (N — 1) / 2.

Регулярный граф — граф, в котором степени всех вершин одинаковые.

Двудольный граф — если все вершины графа можно разделить на два множества таким образом, что каждое ребро соединяет вершины из разных множеств, то такой граф называется двудольным. Например, клиент-серверное приложение содержит множество запросов (рёбер) между клиентом и сервером, но нет запросов внутри клиента или внутри сервера.

Планарный граф. Если граф можно разместить на плоскости таким образом, чтобы рёбра не пересекались, то он называется “планарным графом” или “плоским графом”.

Если это невозможно сделать, то граф называется “непланарным”.

Минимальные непланарные графы — это полный граф К5 из 5 вершин и полный двудольный граф К3,3 из 3+3 вершин (известная задача о 3 соседях и 3 колодцах). Если какой-либо граф в качестве подграфа содержит К5 или К3,3, то он является непланарным.

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

Длина пути — количество рёбер в пути.

Цепь — маршрут без повторяющихся рёбер.

Простая цепь — цепь без повторяющихся вершин.

Цикл или Контур — цепь, в котором последняя вершина совпадает с первой.

Длина цикла — количество рёбер в цикле.

Самый короткий цикл — это петля.

Цикл Эйлера — цикл, проходящий по каждому ребру ровно один раз. Эйлер доказал, что такой цикл существует тогда, и только тогда, когда все вершины в связанном графе имеют чётную степень.

Цикл Гамильтона — цикл, проходящий через все вершины графа по одному разу. Другими словами — это простой цикл, в который входят все вершины графа.

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

Пока ещё не придуман алгоритм, который за полиномиальное время нашёл бы кратчайший цикл Гамильтона в полном нагруженном графе, однако есть несколько приближённых алгоритмов, которые за приемлимое время находят если не кратчайший, то очень короткий цикл, эти алгоритмы мы также рассматриваем на курсе Отуса — “Алгоритмы и структуры данных”.

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

Дерево — связный граф без циклов.

Между любыми двумя вершинами дерева существует единственный путь.

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

Лес — граф, в котором несколько деревьев.

Ориентированный граф или Орграф — граф, в котором рёбра имеют направления.

Дуга — направленные рёбра в ориентированном графе.

Полустепень захода вершины — количество дуг, заходящих в эту вершину.

Исток — вершина с нулевой полустепенью захода.

Полустепень исхода вершины — количество дуг, исходящих из этой вершины

Сток — вершина с нулевой полустепенью исхода.

Компонента связности — множество таких вершин графа, что между любыми двумя вершинами существует маршрут.

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

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

Мост — ребро, при удалении которого, количество связанных компонент графа увеличивается.

Это только основные термины и определения теории графов, которые мы рассматриваем на первом вебинаре модуля “Теория графов”. Цель статьи — дать наглядное и понятное представление об этих терминах, для чего и были нарисованы эти картинки.

sampletext32 / Graphs.md

Множество (S) – любое собрание определённых и различимых между собой объектов нашей интуиции, мыслимое, как единое целое.

Элементы множества – объекты, составляющие множество (числа, функции, множества внутри множеств).

Универсальное множество (U, универсум) – множество, содержащие в себе все другие возможные объекты.

Пустое множество (Ø) – множество, не содержащее в себе элементов

Парадокс: если универсум содержит все множества и сам является объектом, то он должен содержать сам себя.

  • �� ∈ �� – объект x принадлежит множеству А
  • �� ∉ �� – объект x не принадлежит множеству А
  • �� = �� – множество А равно множеству В, то есть А состоит ровно из тех же элементов, что и В

Способы задания множества

Перечисление: �� = <��, ��, ��>– a,b,c являются элементами множества, и только они

  • При перечислении элементов множества порядок их перечисления не важен: <��,��, ��>= <��, ��, ��>=
  • Перечисление невозможно, если:
    • Рассматриваемое множество состоит из элементов, которые нельзя указать по какой-то причине
    • Множество содержит бесконечное число элементов
    • Множество содержит слишком большое число элементов

    Указание свойства: �� = <��: �� − чётное число>– B является множеством чётных чисел. Способ сопоставим с предикатом P(x), принимающим значения «ИСТИНА-ЛОЖЬ»

    Комбинированный:

    • С неполным перечислением: �� =
    • Буквенные обозначения:
      • ℕ − множество натуральных чисел
      • ℤ − множество целых чисел
      • ℚ − множество рациональных чисел
      • ℝ − множество действительных чисел
      • ℂ − множество комплексных чисел

      Операции над множествами

      1. Дополнение: �� = ��̅
      2. Объединение: �� = �� ∪ ��
      3. Пересечение: �� = �� ∩ ��
      4. Разность: �� = ��\�� = �� ∩ ��
      5. Симметрическая разность: �� = ��Δ�� = ��Δ�� = (�� ∪ ��)(�� ∪ ��)
      6. Декартово произведение: �� = <��, ��, ��>> ⇒ �� = �� × �� = �� =

      Декартов квадрат: �� × �� = ��2

      Основные правила комбинаторики

      Комбинаторика – раздел математики, в котором изучаются вопросы о том, сколько различных комбинаций, подчинённых тем или иным условиям, можно составить из заданных объектов.

      Основные задачи комбинаторики:

      • Исследование задачи существования данной конфигурации
      • Подсчёт числа конфигураций
      • Приближённый подсчёт числа конфигураций
      • Перечисление конфигураций
      • Оптимизация
      • Конструирование и анализ комбинаторных алгоритмов

      Если объект А может быть выбран m способами, а объект В – n способами, то при условии, что одновременный выбор А и В невозможен, выбор «А или В» можно осуществить m + n способами

      Пример: на собрании присутствуют 10 мужчин и 15 женщин. Чтобы выбрать кого-то одного председателем, существует 10 + 15 = 25 способов выбора.

      Если объект A может быть выбран m способами, и после каждого такого выбора объект B в свою очередь может быть выбран n способами, то выбор «A и В» в указанном порядке можно осуществить m * n способами

      Пример: в ресторане клиент выбирает из 10 первых блюд и из 14 вторых.

      Выбрать набор, в который входят и первое, и второе, клиент может 10 * 14 = 140 способами.

      Факториал натурального числа – произведение всех натуральных чисел от 1 до данного.

      • ��! = 1 ∗ 2 ∗ 3 ∗ … ∗ (�� − 1) ∗ ��
      • 0! = 1
      • (�� + 1)! = ��! (�� + 1)

      Для приближённого вычисления факториала используется формула Стирлинга: ��! ≈ ������−��√2����

      Перестановка ������ – упорядоченная последовательность, составленная из всех предметов из n заданных.

      Две перестановки считаются разными, если они отличаются порядком элементов.

      Теорема: количество перестановок п элементов равно п! Доказательство: перестановку можно рассматривать как размещение n различных элементов по n различным ящикам при условии, что каждый ящик содержит ровно один элемент.

      Количество таких размещений равно ������ = ��! Пример: Даны три элемента <1,2,3>, для них существуют следующие перестановки: — 123 — 213 — 312 — 132 — 231 — 321

      То есть 6 перестановок: 3! = 1 ∗ 2 ∗ 3 = 6

      Классические задачи комбинаторики

      1. Размещение n предметов по k ящикам: Каждый ящик может вместить k предметов. Все предметы должны быть размещены, порядок не важен. При этом могут остаться незаполненные ящики. Каждый предмет размещается в один из k ящиков независимо от других: �� ∗ �� ∗ �� ∗ … ∗ �� = ����
      2. Раскраска р предметов в r цветов: Каждый предмет может быть окрашен ровно в один цвет, краски каждого цвета хватит для окраски всех предметов. Каждый предмет красится независимо от других только в один цвет, значит, число способов перекраски равно ����
      3. Количество слов длины t в заданном алфавите длины m: На каждое из t мест символ можно выбрать т способами, таким образом количество слов равно
        �� ∗ �� ∗ … ∗ �� = ���� Пример: существует 32 = 9 слов длины 2 в алфавите <1,2,3>:
        • 11
        • 12
        • 13
        • 21
        • 22
        • 23
        • 31
        • 32
        • 33

      Выборки из n по k – k-элементные подмножества данного n-множества

      1. Упорядоченные выборки – выборки, в которых важен порядок элементов:
        <��, ��,��>≠
      2. Неупорядоченные выборки – выборки, в которых не важен порядок элементов:
        <��, ��,��>= <��, ��, ��>Количество неупорядоченных выборок равно С���� – числу сочетаний из n по k
      3. Количество подмножеств фиксированной мощности: число подмножеств множества А равно 2��. С другой стороны, просуммируем количество k-элементных подмножеств при 0 ≤ �� ≤ ��.

      Получим равенство: С0�� + С1�� + ⋯ + С���� = 2��

      Бином Ньютона. Биноминальные и полиномиальные коэффициенты

      image image

      Вычисление сумм: точное и приближённое

      image image image

      Оценка сложности фрагмента программы

      image

      Объект вида (����,����)называется парой элементов множества V.

      Пара (��,��) называется графом и обозначается ��=(��,��)

      Элемент множества �� называется вершиной графа.

      Запись ����∈�� обозначает, что ���� является вершиной графа ��=(��,��).

      Множество �� – множество вершин.

      Элемент набора �� называется ребром графа. Запись ����∈�� обозначает, что ���� является ребром графа ��=(��,��). Набор ��-набор ребер.

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

      Если все пары в �� неупорядоченные ((��,��)=(��,��)=<��,��>), то граф �� называется неориентированным.

      Если каждая пара в �� упорядочена ((��,��)≠(��,��)), то граф �� называется ориентированным графом, или орграфом.

      Для оргафов используют обозначение G⃗=(V⃗,E⃗). Элементы E⃗ называются ориентированными ребрами, или дугами, элементы V ⃗ –узлами.

      Геометрическая интерпретация графа

      Геометрическая реализация (геометрическая интерпретация) – его изображение на плоскости.

      Каждой вершине графа сопоставляется точка, а каждому ребру, т.е. паре вершин – непрерывная не самопересекающаяся кривая, соединяющая эти вершины.

      В случае ориентированного графа на кривой указывают направление от начальной вершины дуги к конечной.

      Кратные ребра и петли. Простой граф

      Если в множестве �� есть несколько ребер, заданных одной и той же парой (��,��) называется кратным ребром.

      Количество вхождений ребра – его кратность.

      Если в множество �� входит ребро, заданное парой(��,��), то такое ребро пара называется петлей.

      Псевдограф – допускаются петли и кратные ребра. Мультиграф – допускаются только кратные ребра. Простой граф – в графе нет ни петель, ни кратных ребер.

      Понятия смежности и инцидентности

      Если ��=(��,��) – ребро графа ��, то вершины �� и �� называются смежными (соседними) или концами ребра ��.

      В случае ориентированного графа для дуги ��⃗= (��,��⃗⃗) вершина ��–начальная, вершина ��–конечная.

      Также говорят, что дуга ��⃗ исходит из вершины �� и заходит в вершину ��.

      Как в случае ориентированного, так и в случае неориентированного ребра говорят, что ребро �� (дуга ��⃗) инцидентно вершинам �� и ��, а также, что вершины �� и �� инцидентны ребру �� (дуге ��⃗).

      Степень вершины. Теорема о сумме степеней вершин графа, лемма о рукопожатиях.

      Степень вершины (локальная степень вершины) – количество ребер, инцидентных ей. Договоримся петлю учитывать дважды.

      Вершина, не инцидентная никакому ребру, называется изолированной.

      Граф называется конечным, если число его ребер конечно.

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

      Теорема. В конечном графе сумма степеней вершин равна удвоенному количеству ребер.

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

      • Следствие 1. В конечном графе количество ребер равно полусумме степеней вершин.
      • Следствие 2 (лемма о рукопожатиях). В конечном графе число вершин нечетной степени четно. (Количество человек, совершивших нечетное число рукопожатий, четно.)

      Полный граф. Количество ребер в полном графе

      Полный граф — простой неориентированный граф с �� вершинами и обозначается ����, если в нем любые две различные вершины смежны.

      Количество ребер в ����. Степень каждой вершины графа ���� равна (��−1), а количество ребер равно полусумме степеней вершин, то есть ��(��−1) / 2=��2��.

      Способы задания графов

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

      Матрицы инциденций неориентированных графов image image image image

      Матрицы инциденций ориентированных графов image image image

      Матрицы смежности графов. image image image image

      Граф ��=(��,��) называется подграфом графа ��=(��,��), если ��⊆��,��⊆��.

      Пути и циклы можно рассматривать как подграфы графа ��.

      Пути и циклы в графе. Связность неориентированных графов

      Цепь – путь без повторения ребер.

      Простой путь – цепь, в которой не повторяются вершины. Нетрудно видеть, что из любой цепи можно выделить простой путь.

      Путь называется замкнутым, если ����0=������.

      Замкнутый путь называется циклом, если ребра в нем не повторяются.

      Цикл называется простым, если вершины, кроме первой и последней, в нем не повторяются.

      image Длина[��,��]-пути – количество ребер в нем. image

      По определению граф ��=(��,��), где |��|=1, ��=∅, является связным.

      Из определений следует, что

      1. полный граф является связным;
      2. связный граф не обязательно полный.

      Компонента связности неориентированного графа

      Подграф ��=(��,��) неориентированного графа ��=(��;��) называется компонентой связности графа �� если:

      1. граф �� связный;
      2. к графу �� нельзя добавить ни вершины, ни ребра из графа ��, чтобы он остался связным.

      Очевидно, что связный граф состоит из одной компоненты.

      Определение дерева, свойства дерева

      Дерево – связный граф без циклов (связный ациклический граф).

      • Свойство 1. Пусть ��=(��,��)–дерево, ��,��∈��,(��,��)∉��. Если добавить ребро (��,��), то в графе появится цикл.
      • Свойство 2. Пусть ��=(��,��)–дерево, ��,��∈��,(��,��)∈��. Если удалить ребро (��,��), то граф перестанет быть связным.
      • Свойство 3. Пусть ��=(��,��)–дерево. Если |��|=��, то |��|=��−1.

      Доказательство легко проводится индукцией по числу вершин.

      • Для �� = 1утверждение, очевидно, справедливо.
      • Пусть �� > 1. Тогда в дереве существует концевая вершина ��.
      • Удаляя из дерева vи ребро (��,��), инцидентное ��, получим дерево с �� − 1 вершиной, которое в силу индуктивного предположения имеет �� − 1 ребра.
      • Следовательно, первоначальное дерево имеет��−2+1=��−1 ребро.

      Теорема. В дереве любые две вершины связаны единственным простым путем.

      image

      Пусть граф ��=(��,��) связный, его подграф ��=(��,��) называется остовным деревом, если

      1. �� — дерево;
      2. ��=��(множество вершин графа �� совпадает с множеством вершин графа ��).

      Если граф не является связным, то множество остовных деревьев его компонент связности называется остовным лесом.

      Часть III Задачи на графах и алгоритмы их решения

      Задача поиска в графах

      Дано: Граф �� = (��, ��). Надо: Найти вершину (вершины), обладающую заданным свойством P.

      Алгоритм поиска в глубину

      Алгоритм подобен щупальце, пытается дотянуться до самого дальнего элемента

      Создаём стек вершин для просмотра

      Создаём список просмотренных вершин

      Выбираем начальную вершину

      Упорядочиваем узлы по номеру и берём первую

      Выбираем произвольную вершину

      Добавляем начальную вершину в стек

      Пока стек не пуст

      • Берём элемент из стека
      • Добавляем его в список просмотренных
      • Ищем все такие узлы, которые соединены с текущим
      • Если узел ещё не посещён и ещё не в стеке
        • Добавляем его в стек

        Алгоритм поиска в ширину

        Алгоритм подобен волне, просматривает ближайшие вершины, потом вершины на расстоянии 2 шагов, 3 и т.д.

        Создаём очередь вершин для просмотра

        Создаём список просмотренных вершин

        Выбираем начальную вершину

        Упорядочиваем узлы по номеру и берём первую

        Выбираем произвольную вершину

        Добавляем начальную вершину в очередь

        Пока очередь не пуста

        • Берём элемент из очереди
        • Добавляем его в список просмотренных
        • Ищем все такие узлы, который соединены с текущим
        • Если узел ещё не посещён и ещё не в очереди
          • Добавляем его в очередь

          Задачи, которые можно решать с использованием модифицированных алгоритмов поиска

          • Задача о кратчайшем пути в заданный пункт назначения. Требуется найти кратчайший путь в заданную вершину назначения t, который начинается в каждой из вершин графа (кроме t).
          • Задача о кратчайшем пути между заданной парой вершин. Требуется найти кратчайший путь из заданной вершины u в заданную вершину v.
          • Задача о кратчайшем пути между всеми парами вершин. Требуется найти кратчайший путь из каждой вершины u в каждую вершину v.

          Определение взвешенного графа. Вес графа. Матрица весов.

          Пусть �� = (��, ��) – граф (ориентированный или неориентированный) Пусть каждому ребру �� сопоставлено некое действительное число ��(��). Тогда �� называется весовой функцией, а ��(��) – весом ребра �� (длиной, стоимостью). Граф G с весовой функцией �� называется взвешенным графом и обозначается �� = (��, ��, ��).

          Весом графа �� называется число ��(��), равное сумме весов ребер графа ��.

          Матрица весов представляет из себя матрицу смежностей, где вместо 0 и 1 указаны веса рёбер соединяющих вершины.

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

          Процесс останавливается, когда выбрано �� − 1 ребро.

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

          Этот алгоритм еще называют «алгоритм ближайшего соседа», он является модификацией «жадного» алгоритма с условием, что на каждом шаге алгоритма выбранные ребра являются ребрами связного графа без циклов (дерева).

          Кроме списка ребер остовного дерева будем поддерживать список вершин ��, еще не включенных в дерево. Для каждой вершины �� ∈ �� графа поддерживается минимальное расстояние до множества �� ∖ �� ранее включенных в него вершин.

          • Выбираем начальную вершину
          • Ищем все вершины, которые на текущий момент соединены с деревом и добавляем ближайшее.
          • Повторяем, пока все вершины не окажутся подключенными к дереву

          Задача о кратчайшем пути в сети

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

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

          • Дано: Сеть �� = (��, ��, ��) и две выделенные вершины �� и ��, |��| = ��, |��| = ��.
          • Надо: Найти кратчайший [��, ��]-путь.
            • Более общая задача — найти путь между выделенной вершиной и всеми остальными вершинами

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

            Для смешанного и ориентированного графа дополнительно должны учитываться направления ребер.

            Алгоритм Форда-Беллмана. Дерево кратчайших путей.

            Основная идея алгоритма Форда-Беллмана заключается в поэтапном вычислении кратчайших расстояний.

            Предположим, есть ориентированный взвешенный граф G, который имеет n вершин и m рёбер, и определена некая вершина v.

            Необходимо определить длины самых коротких путей от вершины v до каждой другой вершины.

            Зададим массив расстояний d[0 . n – 1], который по завершению выполнения алгоритма содержит итоговый результат.

            d[v] = 0, а другие элементы d[] = inf

            Алгоритм состоит из нескольких фаз.

            Во всех фазах выполняется просмотр всех рёбер графа, и согласно алгоритму делается попытка релаксации (rеlax, ослабления) по направлению каждого ребра (а, b) стоимости с.

            Релаксацией ребра (a, b) называется уменьшение значения d[b] до d[a] + c (если второе значение меньше первого).

            Граф, образованный множеством �� (пары соединённых вершин) и множеством выделенных дуг, можно назвать деревом кратчайших путей из вершины 1 во все остальные вершины.

            Эйлеровы пути и циклы

            Определение эйлерова пути, эйлерова цикла, эйлерова графа

            Эйлеров путь в графе — путь, проходящий через каждое ребро графа в точности один раз

            Эйлеров цикл в графе — замкнутый эйлеров путь

            Эйлеров граф — граф, в котором есть эйлеров цикл

            Критерий существования эйлерова цикла (пути) в графе)

            Теорема Эйлера 1

            Эйлеров путь в графе существует тогда и только тогда, когда граф

            1. Связный
            2. Содержит не более чем две вершины нечетной степени (0 или 2)

            Теорема Эйлера 2

            Конечный граф �� = (��, ��) содержит эйлеров цикл тогда и только тогда, когда одновременно выполнены следующие условия:

            1. �� связен;
            2. Степени всех его вершин четные.

            Теорема Эйлера 3

            Граф �� = (��, ��) содержит эйлеров цикл, тогда и только тогда, когда

            1. Множество его ребер можно разбить на простые непересекающиеся циклы.

            Алгоритм построения эйлерова цикла в эйлеровом графе

            Пользуясь последней теоремой Эйлера

            1. Выбираем любую вершину графа
            2. Пока есть цикл, проходящий через текущую вершину
              • Цикл ищем поиском в глубину
                • Добавляем все рёбра цикла в ответ
                • Удаляем все вершины из графа
            3. Для каждой вершины учтённых на прошлом шаге циклах
              • Рекурсивно повторяем шаги 2,3

            Гамильтоновы пути и циклы

            Определение гамильтонова пути, гамильтонова цикла

            Гамильтонов путь в графе — путь, проходящий через каждую вершину графа в точности один раз

            Гамильтонов цикл в графе — замкнутый гамильтонов путь

            Гамильтонов граф — граф, в котором есть гамильтонов цикл

            Оценка количества гамильтоновых циклов п полном графе

            Не известен алгоритм, который проверял бы существование гамильтонова пути в произвольном графе, используя f(n) шагов.

            Худший случай — нет гамильтоновых путей

            • В худшем случае в полном графе требуется рассмотреть все перестановки O(n!)
            • В худшем случае в неориентированном графе нужно просмотреть (n-1)!/2 перестановок.

            Достаточные условия существования гамильтонова цикла (n — число вершин графа, u,v — 2 вершины, deg(u) — степень вершины)

            • Теорема Оре
              • Если �� >= 3 и deg(��) + deg(��) >= �� для любых несмежных ��, ��, то в заданном графе есть гамильтонов цикл.
              • Если �� >= 3 и deg(��) >= �� / 2 для сех ��, то в заданном графе есть гамильтонов цикл

              Переборный алгоритм нахождения гамильтонова пути в графе, либо доказательства отсутствия ГЦ

              На основе условий:

              • В полном графе каждому гамильтонову циклу соответствует перестановка множества вершин (не одна!).
              • И наоборот – каждой перестановке соответствует гамильтонов цикл.

              Просматриваем (перебираем) все перестановки множества вершин графа.

              Для каждой перестановки проверяем: соответствует ли ей цикл в графе.

              Дано: Полный взвешенный граф �� = (��, ��, ��), |��| = ��.

              Надо: Найти гамильтонов цикл с наименьшим весом.

              Единственный способ решить эту задачу точно — перебрать все гамильтоновы циклы и выбрать тот, у которого вес наименьший.

              Эвристические алгоритмы решения задачи коммивояжера

              «Жадная» эвристика. Начинаем из вершины с наименьшим номером, выбираем ребро с минимальным весом, включаем его в путь.

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

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

              Использование остовного дерева с минимальным весом.

              Построенный цикл будет не более, чем в два раза «тяжелее» оптимального.

              • 1 шаг: строим остовное дерево с минимальным весом.
              • 2 шаг: удваиваем ребра построенного дерева.
              • 3 шаг: в полученном графе строим эйлеров цикл.
              • 4 шаг: из полученного цикла удаляем повторяющиеся вершины.
              • В результате получится гамильтонов цикл.

              Связность ориентированных графов: слабая связность, односторонняя достижимость, сильная связность

              Связный граф — граф, в котором есть хотя бы одна пара соединённых вершин.

              Сильносвязный граф — граф, в котором для любой пары вершин найдётся прямая связь (ребро). (Аналог полного графа)

              Слабосвязный граф — граф, в котором для любой пары вершин найдётся хотя бы 1 маршрут соединяющий их.

              Односторонне достижимый граф — граф, в котором для хотя бы 1 пары вершин найдётся путь A-B, но не B-A

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

              Компонента связности — Максимальный связный подграф неориентированного графа

              puuuk

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

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

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

              Является граф полным или нет, это его характеристика в целом.

              Полный ориентированный граф

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

              Двудольный граф

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *