Граф, Теория графов, история, классификация, описание, применение

Лекция



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

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

Граф, Теория графов, история, классификация, описание, применение

В математике , теории графов являются изучением графов, которые являются математическими структурами , используемых для моделирования попарных отношений между объектами. Граф в этом контексте состоит из вершин (также называемых узлами или точками ), которые соединены ребрами (также называемыми связями или линиями ). Различают неориентированные графы , где ребра соединяют две вершины симметрично, и ориентированные графы , где ребра связывают две вершины асимметрично; см. граф (дискретная математика)для более подробных определений и других разновидностей обычно рассматриваемых типов графов. Графы - один из основных объектов изучения дискретной математики .

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

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

История возникновения теории графов

Родоначальником теории графов считается Леонард Эйлер. В 1736 году в одном из своих писем он формулирует и предлагает решение задачи о семи кенигсбергских мостах, ставшей впоследствии одной из классических задач теории графов. Термин «граф» впервые ввел Сильвестр, Джеймс Джозеф в 1878 году в своей статье в Nature .

Граф, Теория графов, история, классификация, описание, применение

Проблема Кенигсбергского моста

Статья Леонарда Эйлера о семи мостах Кенигсберга, опубликованная в 1736 году, считается первой статьей в истории теории графов. В этой статье, а также в статье, написанной Вандермондом по проблеме рыцаря , продолжался анализ места, инициированный Лейбницем . Изучена формула Эйлера , связывающее число ребер, вершин и граней выпуклого многогранника и обобщена Коши и L'Huilier , и представляет собой начало ветви математики известной как топологии .

Спустя более чем столетие после статьи Эйлера о мостах в Кенигсберге и пока Листинг вводил понятие топологии, Кэли руководствовался интересом к определенным аналитическим формам, возникающим из дифференциального исчисления, для изучения определенного класса графов - деревьев . Это исследование имело большое значение для теоретической химии . Используемые им техники в основном касаются перечисления графов с определенными свойствами. Теория перечислительных графов возникла затем на основе результатов Кэли и фундаментальных результатов, опубликованных Полиа в период с 1935 по 1937 год. Они были обобщены Де Брейном.в 1959 году. Кэли связал свои результаты о деревьях с современными исследованиями химического состава. Слияние идей из математики с идеями из химии положило начало тому, что стало частью стандартной терминологии теории графов.

В частности, термин «граф» был введен Сильвестром в статье, опубликованной в 1878 году в журнале Nature , где он проводит аналогию между «квантовыми инвариантами» и «ко-вариантами» алгебры и молекулярных диаграмм:

«[…] Таким образом, каждый инвариант и ковариант становится выражаемым с помощью графа, в точности идентичного диаграмме Кекулеана или химикографу. […] Я даю правило геометрического умножения графов, то есть для построения графа из произведения не- или ко-варианты, чьи отдельные графы даны. […] »(курсив, как в оригинале).

Первый учебник по теории графов был написан Денесом Кенигом и опубликован в 1936 году. Другая книга Фрэнка Харари , опубликованная в 1969 году, «считалась во всем мире окончательным учебником по этому предмету» и позволили математикам, химикам, инженерам-электрикам и социологам общаться друг с другом. Харари пожертвовал все гонорары на финансирование премии Полиа .

Одной из самых известных и стимулирующих проблем в теории графов является проблема четырех цветов : «Верно ли, что любая карта, нарисованная на плоскости, может иметь области, окрашенные в четыре цвета, таким образом, что любые две области, имеющие общую границу, имеют различные цвета?" Эта проблема была впервые поставлена Фрэнсисом Гатри в 1852 году, и первое письменное упоминание о ней содержится в письме Де Моргана, адресованном Гамильтону в том же году. Было предложено много неверных доказательств, в том числе Кэли, Кемпе и др. Исследование и обобщение этой проблемы Тейтом , Хивудом , Рэмси и Хадвигеромпривело к изучению раскрасок графов, вложенных на поверхности произвольного рода . Переформулировка Тейта породила новый класс проблем - проблемы факторизации , особенно изученные Петерсеном и Кенигом . Работы Рамсея по раскраске и, в частности, результаты, полученные Тураном в 1941 году, положили начало другой ветви теории графов, экстремальной теории графов .

Проблема четырех цветов оставалась нерешенной более века. В 1969 году Генрих Хееш опубликовал метод решения проблемы с помощью компьютеров. Компьютерное доказательство, произведенное в 1976 году Кеннетом Аппелем и Вольфгангом Хакеном, фундаментально использует понятие «разрядки», разработанное Хишем. Доказательство включало проверку свойств 1936 конфигураций на компьютере и не было полностью принято в то время из-за его сложности. Более простое доказательство, учитывающее только 633 конфигурации, было дано двадцатью годами позже Робертсоном , Сеймуром , Сандерсом и Томасом

Автономное развитие топологии с 1860 по 1930 годы способствовало развитию теории графов благодаря работам Джордана , Куратовски и Уитни . Еще одним важным фактором общего развития теории графов и топологии стало использование методов современной алгебры. Первым примером такого использования является работа физика Густава Кирхгофа , который опубликовал в 1845 году свои законы Кирхгофа для расчета напряжения и тока в электрических цепях .

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

Терминология теории графов

Терминология теории графов поныне не определена строго. В частности, в монографии Гудман, Хидетниеми, 1981 сказано: «В программистском мире нет единого мнения о том, какой из двух терминов „граф“ или „сеть“. Мы выбрали термин „сеть“, так как он, по-видимому, чаще встречается в прикладных областях». Аналогичная ситуация с терминами «вершина/точка».

Виды графов:

  • неориентированный (неорграф)
  • ориентированный (орграф)

Определения

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

Граф

Граф, Теория графов, история, классификация, описание, применение

Граф с тремя вершинами и тремя ребрами.

В одном ограниченном , но очень общем смысле этого термина, граф является упорядоченная пара Граф, Теория графов, история, классификация, описание, применение в составе:

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

Чтобы избежать двусмысленности, этот тип объекта можно назвать именно неориентированным простым графом .

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

В более общем смысле этого слова, допускающего наличие нескольких ребер, граф - это упорядоченная тройка Граф, Теория графов, история, классификация, описание, применение в составе:

  • Граф, Теория графов, история, классификация, описание, применение, А набор из вершин (также называемые узлами или точки );
  • Граф, Теория графов, история, классификация, описание, применение, А набор из ребер (называемая также ссылка или линия );
  • Граф, Теория графов, история, классификация, описание, применение, функция инцидентности, отображающая каждое ребро в неупорядоченную пару вершин (то есть, ребро связано с двумя различными вершинами).

Во избежание двусмысленности этот тип объекта можно назвать именно неориентированным мультиграфом .

Цикл является ребром , который соединяет вершину саму с собой. Графы, как это определено в двух определениях выше, не могут иметь циклов, потому что цикл, соединяющий вершину Граф, Теория графов, история, классификация, описание, применение самому себе является ребром (для неориентированного простого графа) или инцидентно (для неориентированного мультиграфа) Граф, Теория графов, история, классификация, описание, применение которого нет в Граф, Теория графов, история, классификация, описание, применение. Поэтому, чтобы разрешить циклы, определения должны быть расширены. Для неориентированных простых графов определение Граф, Теория графов, история, классификация, описание, применение следует изменить на Граф, Теория графов, история, классификация, описание, применение. Для неориентированных мультиграфов определение Граф, Теория графов, история, классификация, описание, применение следует изменить на Граф, Теория графов, история, классификация, описание, применение. Чтобы избежать двусмысленности, эти типы объектов можно назвать неориентированными циклами разрешения простого графа и циклами разрешения неориентированного мультиграфа соответственно.

Граф, Теория графов, история, классификация, описание, применение и Граф, Теория графов, история, классификация, описание, применениеобычно считаются конечными, и многие из хорошо известных результатов неверны (или сильно отличаются) для бесконечных графов, потому что многие из аргументов терпят неудачу в бесконечном случае . Более того, Граф, Теория графов, история, классификация, описание, применение часто считается непустым, но Граф, Теория графов, история, классификация, описание, применениеможет быть пустым набором. Порядок графа называется Граф, Теория графов, история, классификация, описание, применение, его количество вершин. Размер графа называется Граф, Теория графов, история, классификация, описание, применение, его количество ребер. Степень или валентность вершины есть число ребер, инцидентных к нему, где петля подсчитанных дважды.

В неориентированном простом графе порядка n максимальная степень каждой вершины равна n - 1, а максимальный размер графа равен n ( n - 1) / 2 .

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

Направленный граф

Направленный граф

Граф, Теория графов, история, классификация, описание, применение

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

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

В одном ограниченном , но очень общем смысле этого термина, ориентированный граф является упорядоченной парой Граф, Теория графов, история, классификация, описание, применение в составе:

  • Граф, Теория графов, история, классификация, описание, применение, А набор из вершин (также называемые узлами или точки );
  • Граф, Теория графов, история, классификация, описание, применение, А набор из ребер (также называемые ориентированных ребер , направленные ссылки , направленные линии , стрелка или дуги ) , которые упорядоченные пары вершин (то есть, ребро связанно с двумя различными вершинами).

Во избежание двусмысленности этот тип объекта можно назвать именно ориентированным простым графом .

В краю Граф, Теория графов, история, классификация, описание, применение направлено из Граф, Теория графов, история, классификация, описание, применение к Граф, Теория графов, история, классификация, описание, применение, вершины Граф, Теория графов, история, классификация, описание, применение и Граф, Теория графов, история, классификация, описание, применениеназываются концами ребра, Граф, Теория графов, история, классификация, описание, применениехвост края и }Граф, Теория графов, история, классификация, описание, применениеглава края. Об этом говорит сайт https://intellect.icu . Говорят, что край соединяется Граф, Теория графов, история, классификация, описание, применениеи быть инцидентом на Граф, Теория графов, история, классификация, описание, применение и дальше Граф, Теория графов, история, классификация, описание, применение. Вершина может существовать в графе и не принадлежать ребру. Край Граф, Теория графов, история, классификация, описание, применениеназывается перевернутый край из Граф, Теория графов, история, классификация, описание, применение. Множественные ребра , недопустимые в соответствии с приведенным выше определением, - это два или более ребра с одинаковым хвостом и одинаковой головой.

В более общем смысле этого слова, допускающего наличие нескольких ребер, ориентированный граф - это упорядоченная тройка Граф, Теория графов, история, классификация, описание, применение в составе:

  • }Граф, Теория графов, история, классификация, описание, применение, А набор из вершин (также называемые узлами или точки );
  • }Граф, Теория графов, история, классификация, описание, применение, А набор из ребер (также называемых ориентированных ребер , направленных ссылок , направленных линий , стрелок или дуг );
  • Граф, Теория графов, история, классификация, описание, применение, функция инцидентности, отображающая каждое ребро в упорядоченную пару вершин (то есть ребро связано с двумя различными вершинами).

Во избежание двусмысленности этот тип объекта можно назвать именно ориентированным мультиграфом .

Цикл является ребром , который соединяет вершину саму с собой. Направленные графы, как определено в двух определениях выше, не могут иметь циклов, потому что цикл, соединяющий вершину Граф, Теория графов, история, классификация, описание, применение самому себе является ребром (для ориентированного простого графа) или инцидентно (для ориентированного мультиграфа) Граф, Теория графов, история, классификация, описание, применение которого нет в Граф, Теория графов, история, классификация, описание, применение. Поэтому, чтобы разрешить циклы, определения должны быть расширены. Для ориентированных простых графов определение Граф, Теория графов, история, классификация, описание, применение следует изменить на Граф, Теория графов, история, классификация, описание, применение. Для направленных мультиграфов определение Граф, Теория графов, история, классификация, описание, применение следует изменить на Граф, Теория графов, история, классификация, описание, применение. Чтобы избежать двусмысленности, эти типы объектов можно назвать в точности ориентированным простым графом, разрешающим циклы, и ориентированным мультиграфом, разрешающим циклы (или колчаном ) соответственно.

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

Способы хранения и описаний графов

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

1. Матрица смежности (Adjacency Matrix)

Описание:
Квадратная матрица n x n, где n — количество вершин.
Ячейка [i][j] содержит:

  • 1 (или вес) — если есть ребро из i в j

  • 0 — если ребра нет

Преимущества:

  • Быстрый доступ O(1) к информации о наличии ребра

  • Удобно для плотных графов

Недостатки:

  • Занимает O(n²) памяти — неэффективно для разреженных графов

2. Список смежности (Adjacency List)

Описание:
Для каждой вершины хранится список всех соседних вершин (в виде массива, списка или хэш-таблицы).

Пример:

A: B, C B: A C: A 

Преимущества:

  • Компактное хранение: O(n + m) где m — число ребер

  • Удобно для разреженных графов

Недостатки:

  • Поиск наличия конкретного ребра занимает O(k), где k — степень вершины

3. Список ребер (Edge List)

Описание:
Просто список всех ребер как пар (или троек, если взвешенный граф):

(A, B), (A, C), (B, C) или (A, B, 3) — если вес 3 

Преимущества:

  • Простой и универсальный формат

  • Удобен для перебора ребер

Недостатки:

  • Медленный поиск конкретных ребер

  • Неэффективен для некоторых алгоритмов

4. Матрица инцидентности (Incidence Matrix)

Описание:
Матрица n x m, где n — вершины, m — ребра.
Если вершина i инцидентна ребру j, то ячейка [i][j] = 1 (или -1, если направленный граф).

Преимущества:

  • Четко отражает связи вершина–ребро

  • Подходит для теоретических задач и матричных вычислений

Недостатки:

  • Занимает много памяти

  • Не так интуитивно понятна, как список смежности

5. Списки предков и потомков

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

Пример (неориентированный граф):

Вершины: A, B, C Ребра: (A, B), (A, C) 
  • Матрица смежности:

  A B C
A 0 1 1  
B 1 0 0  
C 1 0 0
  • Список смежности:

A: B, C  B: A  C: A 
  • Список ребер:

(A, B), (A, C) 

6. Представление графа через теорию множеств

Граф можно задать как упорядованную пару множеств:

G=(V,E)

где:

  • V — множество вершин (nodes)

  • E⊆V ×V — множество ребер (edges)

Неориентированный граф:

  • E⊆{{u,v}∣u,v∈V, u=v}

  • Ребра — неупорядованные пары

Пример:

V={A,B,C}E={{A,B},{A,C}}

Ориентированный граф (орграф):

  • }E⊆{(u,v)∣u,v∈V}

  • Ребра — упорядованные пары

Пример:

V={A,B,C}

E={(A,B),(A,C)}

Взвешенный граф:

Дополнительно задается функция весов:

}w:E→R

Пример:

V={A,B,C}
E={(A,B),(B,C)}
w(A,B)=3,
w(B,C)=5

Преимущества описания через множества:

  • Формально и однозначно

  • Удобно для доказательств и математических рассуждений

  • Основа для построения других представлений (матриц, списков и т.п.)

Вот как можно представить граф в виде структуры класса FSM (Finite State Machine) — конечного автомата — на языке программирования, например на Python, с учетом всех представлений (включая теорию множеств).

FSM как граф — ключевые элементы:

  • Состояния — вершины графа (V)

  • Переходы — ребра графа (E)

  • Переходы могут быть направленными (как в ориентированном графе)

  • Могут быть взвешенными (если добавить события, действия или веса)

Вот как можно реализовать граф в виде FSM (конечного автомата) на — JavaScript, в стиле классов ES6.

FSM как граф (на JavaScript)

class FSM {
  constructor() {
    this.states = new Set();               // Множество вершин (состояний)
    this.transitions = new Map();          // Отображение: fromState -> Map(toState -> event)
  }

  addState(state) {
    this.states.add(state);
    if (!this.transitions.has(state)) {
      this.transitions.set(state, new Map());
    }
  }

  addTransition(fromState, toState, event = null) {
    this.addState(fromState);
    this.addState(toState);
    this.transitions.get(fromState).set(toState, event);
  }

  getStates() {
    return Array.from(this.states);
  }

  getTransitions() {
    const result = [];
    for (const [from, edges] of this.transitions.entries()) {
      for (const [to, event] of edges.entries()) {
        result.push({ from, to, event });
      }
    }
    return result;
  }

  print() {
    console.log("States:", this.getStates());
    console.log("Transitions:");
    for (const { from, to, event } of this.getTransitions()) {
      console.log(`  ${from} → ${to} ${event ? `(event: ${event})` : ''}`);
    }
  }
}

Пример использования (граф A → B и A → C):

const fsm = new FSM();
fsm.addTransition("A", "B", "go_to_B");
fsm.addTransition("A", "C", "go_to_C");
fsm.print();

Вывод в консоль:

States: [ 'A', 'B', 'C' ] 
Transitions: 
   A → B (event: go_to_B)
   A → C (event: go_to_C) 

Как это связано с теорией множеств:

// Множество состояний:
const V = new Set(["A", "B", "C"]);

// Множество переходов (ребер как упорядованные пары):
const E = new Set([
  ["A", "B"],
  ["A", "C"]
]);

// Веса или события переходов:
const w = new Map([
  [["A", "B"], "go_to_B"],
  [["A", "C"], "go_to_C"]
]);

JavaScript не поддерживает множества пар напрямую, но концептуально это приближает к записи графа как:

G=(V,E),

w:E→События

Выбор структуры зависит от задач:

Задача Рекомендуемый способ
Поиск соседей Список смежности
Проверка наличия ребра Матрица смежности
Частые операции с ребрами Список ребер
Теоретический анализ Матрица инцидентности

Применения теории графов

Графы могут использоваться для моделирования многих типов отношений и процессов в физических, биологических, социальных и информационных системах. Многие практические задачи можно представить в виде графов. Подчеркивая их применение к системам реального мира, термин сеть иногда определяется как обозначение графа, в котором атрибуты (например, имена) связаны с вершинами и ребрами, а субъект, который выражает и понимает системы реального мира как сеть. называется сетевой наукой .

Информатика(компьютерных науках)

  • В информатике и программировании (граф-схема алгоритма, автоматы)

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

Лингвистика

Теоретико-графические методы в различных формах оказались особенно полезными в лингвистике , поскольку естественный язык часто хорошо поддается дискретной структуре. Традиционно синтаксис и композиционная семантика следуют древовидным структурам, выразительная сила которых заключается в принципе композиционности , моделируемой в виде иерархического графа. Более современные подходы, такие как грамматика структуры фраз, управляемой заголовком, моделируют синтаксис естественного языка с использованием типизированных структур признаков , которые представляют собой направленные ациклические графы . В лексической семантикеособенно применительно к компьютерам, моделирование значения слова легче, когда данное слово понимается в терминах связанных слов; Поэтому семантические сети важны в компьютерной лингвистике . Тем не менее, другие методы в фонологии (например, теория оптимальности , которая использует решетчатые графы ) и морфологии (например, морфология конечного состояния, использующая преобразователи конечного состояния ) распространены при анализе языка как графа. Действительно, полезность этой области математики для лингвистики принесла такие организации, как TextGraphs , а также различные проекты «Сети», такие как WordNet , VerbNet и другие.

Физика и химия

  • В химии (для описания структур, путей сложных реакций , правило фаз также может

продолжение следует...

Продолжение:


Часть 1 Граф, Теория графов, история, классификация, описание, применение
Часть 2 - Граф, Теория графов, история, классификация, описание, применение

См.также

  • Словарь терминов теории графов
  • Связность графов
Основные определения теории графов
  • Основные определения: граф, ребро, вершина, степень, петля, путь, цикл
  • Лемма о рукопожатиях
  • Теорема о существовании простого пути в случае существования пути
  • Теорема о существовании простого цикла в случае существования цикла
  • Матрица смежности графа
  • Матрица инцидентности графа
  • Циклическое пространство графа
  • Фундаментальные циклы графа
  • Дерево, эквивалентные определения
  • Алгоритмы на деревьях
  • Двудольные графы
  • Дополнительный, самодополнительный граф
  • Теоретико-множественные операции над графами
  • Реберное ядро
  • Факторизация графов
  • Группы графов
  • Гиперграфы
  • Алгебра графов
  • Барицентр дерева
Связность в графах
  • Отношение связности, компоненты связности
  • Отношение реберной двусвязности
  • Отношение вершинной двусвязности
  • Точка сочленения, эквивалентные определения
  • Мост, эквивалентные определения
  • Граф компонент реберной двусвязности
  • Граф блоков-точек сочленения
  • k-связность
  • Теорема Менгера
  • Теорема Менгера, альтернативное доказательство
  • Вершинная, реберная связность, связь между ними и минимальной степенью вершины
  • Задача о динамической связности оффлайн
  • Задача о динамической связности
Остовные деревья

Построение остовных деревьев

  • Остовные деревья: определения, лемма о безопасном ребре
  • Алгоритм Прима
  • Алгоритм Краскала
  • Алгоритм Борувки
  • Теорема Тарьяна (критерий минимальности остовного дерева)
  • Алгоритм двух китайцев
  • Минимально узкое остовное дерево
  • Остовное дерево в планарном графе
  • Максимальное количество попарно непересекающихся остовных деревьев в графе с n вершинами

Свойства остовных деревьев

  • Матрица Кирхгофа
  • Связь матрицы Кирхгофа и матрицы инцидентности
  • Подсчет числа остовных деревьев с помощью матрицы Кирхгофа
  • Количество помеченных деревьев
  • Коды Прюфера
Обходы графов
  • Теорема Татта о существовании регулярного графа заданного размера с заданным обхватом

Эйлеровы графы

  • Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов
  • Покрытие ребер графа путями
  • Алгоритм построения Эйлерова цикла
  • Произвольно вычерчиваемые из заданной вершины графы
  • Графы де Брюина
  • Деревья Эйлерова обхода

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

  • Гамильтоновы графы
  • Теорема Хватала
  • Теорема Дирака
  • Теорема Оре
  • Теорема Поша
  • Теорема Гуйя-Ури
  • Алгоритм нахождения Гамильтонова цикла в условиях теорем Дирака и Оре
  • Теорема Гринберга
  • Турниры
  • Теорема Редеи-Камиона
Укладки графов
  • Укладка графа на плоскости
  • Формула Эйлера
  • Непланарность K5K5 и K3,3K3,3
  • Укладка дерева
  • Укладка графа с планарными компонентами реберной двусвязности
  • Укладка графа с планарными компонентами вершинной двусвязности
  • Теорема Понтрягина-Куратовского
  • Теорема Вагнера
  • Род, толщина, крупность, число скрещиваний
  • Двойственный граф планарного графа
  • Теорема Фари
  • Гамма-алгоритм
  • Разрез в планарных графах
Раскраски графов
  • Раскраска графа
  • Двудольные графы и раскраска в 2 цвета
  • Хроматический многочлен
  • Формула Зыкова
  • Формула Уитни
  • Теорема Брукса
  • Хроматическое число планарного графа
  • Верхние и нижние оценки хроматического числа
  • Проблема четырех красок
  • Многочлен Татта
  • Теория Рамсея
  • Реберная раскраска двудольного графа
  • Теорема Турана об экстремальном графе
  • Гипотеза Хивуда
Обход в глубину
  • Обход в глубину, цвета вершин
  • Лемма о белых путях
  • Использование обхода в глубину для проверки связности
  • Использование обхода в глубину для поиска цикла
  • Использование обхода в глубину для топологической сортировки
  • Использование обхода в глубину для поиска компонент сильной связности
  • Использование обхода в глубину для поиска точек сочленения
  • Построение компонент вершинной двусвязности
  • Использование обхода в глубину для поиска мостов
  • Построение компонент реберной двусвязности
Кратчайшие пути в графах
  • Обход в ширину
  • Алгоритм Форда-Беллмана
  • Алгоритм Дейкстры
  • Алгоритм Флойда
  • Алгоритм Джонсона
  • Алгоритм Левита
  • Алгоритм A*
  • Алгоритм D*
  • Эвристики для поиска кратчайших путей
Задача о паросочетании
  • Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях
  • Алгоритм Форда-Фалкерсона для поиска максимального паросочетания
  • Алгоритм Куна для поиска максимального паросочетания
  • Теорема Холла
  • Связь максимального паросочетания и минимального вершинного покрытия в двудольных графах
  • Связь вершинного покрытия и независимого множества
  • Реберное ядро
  • Матрица Татта и связь с размером максимального паросочетания в двудольном графе
  • Теорема Татта о существовании полного паросочетания
  • Паросочетания в недвудольных графах. Алгоритм вырезания соцветий
  • Декомпозиция Эдмондса-Галлаи
  • Лапы и минимальные по включению барьеры в графе
  • Пересечение всех максимальных по включению барьеров
  • Задача об устойчивом паросочетании
  • Совершенное паросочетание в кубическом графе
  • Теорема о существовании совершенного паросочетания в графе, полученном из регулярного удалением ребер
Задача о максимальном потоке
  • Определение сети, потока
  • Разрез, лемма о потоке через разрез
  • Дополняющая сеть, дополняющий путь
  • Сложение и разность потоков
  • Теорема Форда-Фалкерсона
  • Алгоритм Форда-Фалкерсона, реализация с помощью поиска в глубину
  • Алоритм Эдмондса-Карпа
  • Алгоритм масштабирования потока
  • Блокирующий поток
  • Схема алгоритма Диница
  • Теоремы Карзанова о числе итераций алгоритма Диница в сети с целочисленными пропускными способностями
  • Алгоритм Голдберга-Тарьяна
  • Алгоритм поиска блокирующего потока в ациклической сети
  • Метод проталкивания предпотока
  • Алгоритм "поднять-в-начало"
  • Теорема о декомпозиции
  • Теорема о декомпозиционном барьере
  • Циркуляция потока
  • Алгоритм Штор-Вагнера нахождения минимального разреза
  • Алгоритм Каргера для нахождения минимального разреза
  • Примеры сведения к задачам поиска потока
Задача о потоке минимальной стоимости
  • Поток минимальной стоимости
  • Теорема Форда-Фалкерсона о потоке минимальной стоимости
  • Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети
  • Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости
  • Использование потенциалов Джонсона при поиске потока минимальной стоимости
  • Сведение задачи о назначениях к задаче о потоке минимальной стоимости
  • Венгерский алгоритм решения задачи о назначениях
  • Алгоритм отмены цикла минимального среднего веса
Случайные графы
  • Введение: определения, наличие треугольников, связность, диаметр два
  • Теорема о гигантской компоненте. Поиск в ширину в случайном графе
  • Теорема о существовании порога для монотонных свойств

А как ты думаешь, при улучшении теория графов, будет лучше нам? Надеюсь, что теперь ты понял что такое теория графов, графы, граф, способы описания графов и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Дискретная математика. Теория множеств . Теория графов . Комбинаторика.

создано: 2014-08-16
обновлено: 2025-07-15
492



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Дискретная математика. Теория множеств . Теория графов . Комбинаторика.

Термины: Дискретная математика. Теория множеств . Теория графов . Комбинаторика.