Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hashlag/dm-semester-2


https://github.com/hashlag/dm-semester-2

Last synced: 3 days ago
JSON representation

Awesome Lists containing this project

README

        

# dm-semester-2

## Коллоквиум 3

1. [Инцидентность вершин и ребер](#инцидентность-вершин-и-ребер)
2. [Смежность вершин и ребер](#смежность-вершин-и-ребер)
3. [Ребро, ориентированное ребро, петля, кратное ребро](#ребро-ориентированное-ребро-петля-кратное-ребро)
4. [Изолированная вершина, висячая вершина и висячее ребро](#изолированная-вершина-висячая-вершина-и-висячее-ребро)
5. [Простой граф, ориентированный граф](#простой-граф-ориентированный-граф)
6. [Мультиграф, псевдограф](#мультиграф-псевдограф)
7. [Взвешенный, направленный граф](#взвешенный-направленный-граф)
8. [Нуль граф, пустой граф, тривиальный граф](#нуль-граф-пустой-граф-тривиальный-граф)
9. [Изоморфизм графов. Помеченный граф](#изоморфизм-графов-помеченный-граф)
10. [Способы представления графа.](#способы-представления-графа)
11. [Описание кратных ребер и петель в матрице смежности](#описание-кратных-ребер-и-петель-в-матрице-смежности)
12. [Описание кратных ребер и петель в матрице инцидентности](#описание-кратных-ребер-и-петель-в-матрице-инцидентности)
13. [Степень вершины в графе (ориентированный и неориентированный графы)](#степень-вершины-в-графе-ориентированный-и-неориентированный-графы)
14. [Лемма о рукопожатиях для неориентированного графа](#лемма-о-рукопожатиях-для-неориентированного-графа)
15. [Лемма о рукопожатиях для ориентированного графа](#лемма-о-рукопожатиях-для-ориентированного-графа)
16. [Подграф](#подграф)
17. [Надграф](#надграф)
18. [Собственный подграф, Несобственный подграф](#собственный-подграф-несобственный-подграф)
19. [Частичный граф.](#частичный-граф)
20. [Регулярный (однородный) граф, полный граф](#регулярный-однородный-граф-полный-граф)
21. [Дополнение, объединение, пересечение графов](#отождествление-вершин)
22. [Путь. Цепь. Простая цепь](#путь-цепь-простая-цепь)
23. [Замкнутый путь, цикл и простой цикл](#замкнутый-путь-цикл-и-простой-цикл)
24. [Двудольный граф. Критерий двудольности](#двудольный-граф-критерий-двудольности)
25. [Вершинно простой путь, Реберно простой путь](#вершинно-простой-путь-реберно-простой-путь)
26. [Лемма о простом пути](#лемма-о-простом-пути)
27. [Связность в неориентированном графе, компоненты связности. Связный граф](#связность-в-неориентированном-графе-компоненты-связности-связный-граф)
28. [Слабая связность, компоненты слабой связности. Слабо связный граф](#слабая-связность-компоненты-слабой-связности-слабо-связный-граф)
29. [Сильная связность, компоненты сильной связности. Сильно связный граф](#сильная-связность-компоненты-сильной-связности-сильно-связный-граф)
30. [Реберная двусвязность. Компоненты реберной двусвязности. Минимальная компонента](#реберная-двусвязность-компоненты-реберной-двусвязности-минимальная-компонента)
31. [Разрезающее множество. Разрез](#разрезающее-множество-разрез)
32. [Мост определение + 2 эквивалентных определения на выбор](#мост-определение--2-эквивалентных-определения-на-выбор)
33. [Лемма о цикле и мосте](#лемма-о-цикле-и-мосте)
34. [Лемма про удаление моста](#лемма-про-удаление-моста)
35. [Вершинная двусвязность. Компоненты вершинной двусвязности. Минимальная компонента](#вершинная-двусвязность-компоненты-вершинной-двусвязности-минимальная-компонента)
36. [Блок определение (через неразделимый подграф) + 1 из эквивалентных определения на выбор](#блок-определение-через-неразделимый-подграф--1-из-эквивалентных-определения-на-выбор)
37. [Точка сочленения: 2 эквивалентных определения](#точка-сочленения-2-эквивалентных-определения)
38. [Лемму о точке сочленения на выбор любая](#лемма-о-точке-сочленения---на-выбор)
39. [Эксцентриситет](#эксцентриситет)
40. [Радиус, Диаметр и центр](#радиус-диаметр-и-центр)
41. [Планарный граф](#планарный-граф)
42. [Грань планарного графа](#грань-планарного-графа)
43. [Формула Эйлера](#формула-эйлера)
44. [Необходимые условия планарности](#необходимые-условия-планарности)
45. [Критерий планарности](#критерий-планарности)
46. [Дерево ( 2 определения)](#дерево--2-определения)
47. [Граф блоков и точек сочленения](#граф-блоков-и-точек-сочленения)
48. [Граф компонент реберной двусвязности](#граф-компонент-реберной-двусвязности)
49. [Остов графа](#остов-графа)
50. [Цикломатическое число](#цикломатическое-число)
51. [Цикл, ассоциированный с остовом](#цикл-ассоциированный-с-остовом)
52. [Фундаментальная система циклов](#фундаментальная-система-циклов)
53. [Минимальное остовное дерево](#минимальное-остовное-дерево)
54. [Безопасное ребро](#безопасное-ребро)
55. [Разрез](#разрез)
56. [Ребро пересекающее разрез](#ребро-пересекающее-разрез)
57. [Лемма о безопасном ребре](#лемма-о-безопасном-ребре)
58. [Расстояние между двумя вершинами графа](#расстояние-между-двумя-вершинами-графа)
59. [Кратчайший путь между двумя вершинами](#кратчайший-путь-между-двумя-вершинами)
60. [Лемма о белых путях](#лемма-о-белых-путях)
61. [Эйлеров путь](#эйлеров-путь)
62. [Отличие эйлерова и полуэйлерова графов](#отличие-эйлерова-и-полуэйлерова-графов)
63. [Эквивалентные определения эйлерова графа](#эквивалентные-определения-эйлерова-графа)
64. [Теорема о покрытии ребер графа путями](#теорема-о-покрытии-ребер-графа-путями)
65. [Критерий эйлеровости](#критерий-эйлеровости)
66. [Произвольно вычерчиваемый граф](#произвольно-вычерчиваемый-граф)
67. [Теорема о произвольно вычерчиваемом графе](#теорема-о-произвольно-вычерчиваемом-графе)
68. [Принцип построения Произвольно вычерчиваемого графа](#принцип-построения-произвольно-вычерчиваемого-графа)
69. [Гамильтонов путь, полугамильтонов граф](#гамильтонов-путь-полугамильтонов-граф)
70. [Гамильтонов граф, гамильтонов цикл](#гамильтонов-граф-гамильтонов-цикл)
71. [Теорема Оре](#теорема-оре)
72. [Теорема Дирака](#теорема-дирака)
73. [Теорема Гуйя-Ури](#теорема-гуйя-ури)
74. [Для любого ли гамильтонова графа будут выполняться условия теорем о гамильтоновости и почему?](#для-любого-ли-гамильтонова-графа-будут-выполняться-условия-теорем-о-гамильтоновости-и-почему)

## Коллоквиум 4
1. [Метод математической индукции](#метод-математической-индукции)
2. [Определение сочетания (не формулой)](#определение-сочетания-не-формулой)
3. [Формулы для сочетаний без повторений](#формулы-для-сочетаний-без-повторений)
4. [Формулы для сочетаний с повторениями](#формулы-для-сочетаний-с-повторениями)
5. [Определение размещения (не формулой)](#определение-размещения-не-формулой)
6. [Формулы для размещений без повторений](#формулы-для-размещений-без-повторений)
7. [Формулы для размещений с повторениями](#формулы-для-размещений-с-повторениями)
8. [Определение перестановки (не формулой)](#определение-перестановки-не-формулой)
9. [Формула перестановок без повторениями](#формула-перестановок-без-повторениями)
10. [Формула перестановок с повторениями](#формула-перестановок-с-повторениями)
11. [Отличие перестановок и размещений](#отличие-перестановок-и-размещений)
12. [Принцип Дирихле](#принцип-дирихле)
13. [Принцип сложения](#принцип-сложения)
14. [Принцип умножения](#принцип-умножения)
15. [Принцип включения-исключения - формула](#принцип-включения-исключения-формула)
16. [Лексикографический порядок на строках](#лексикографический-порядок-на-строках)
17. [Формирование следующей в лексикографическом порядке перестановки](#формирование-следующей-в-лексикографическом-порядке-перестановки)
18. [Формирование следующего в лексикографическом порядке сочетания той же длины](#формирование-следующего-в-лексикографическом-порядке-сочетания-той-же-длины)
19. [Теорема об эквивалентности формул задающих сочетания (правило симметрии)](#теорема-об-эквивалентности-формул-задающих-сочетания-правило-симметрии)
20. [Теорема Вандермонда](#теорема-вандермонда)
21. [Следствие из теоремы Вандермонда](#следствие-из-теоремы-вандермонда)
22. [Биномиальная теорема](#биномиальная-теорема)
23. [Теорема о сумме сочетаний (следствие из биномиальной)](#теорема-о-сумме-сочетаний-следствие-из-биномиальной)
24. [Теорема о коэффициентах биномиального треугольника](#теорема-о-коэффициентах-биномиального-треугольника)
25. [Алфавит, символ](#алфавит-символ)
26. [Слово / цепочка](#слово-цепочка)
27. [Длина цепочки](#длина-цепочки)
28. [Пустая цепочка](#пустая-цепочка)
29. [Степень алфавита](#степень-алфавита)
30. [Степень языка](#степень-языка)
31. [Конкатенация цепочек](#конкатенация-цепочек)
32. [Конкатенация языков](#конкатенация-языков)
33. [Замыкание Клини](#замыкание-клини)
34. [Формальный язык](#формальный-язык)
35. [Множество регулярных языков](#множество-регулярных-языков)
36. [Регулярное выражение](#регулярное-выражение)
37. [Регулярный язык](#регулярный-язык)
38. [Детерминированный конечный автомат](#детерминированный-конечный-автомат)
39. [Недетерминированный конечный автомат](#недетерминированный-конечный-автомат)
40. [Язык автомата](#язык-автомата)
41. [Теорема Клини](#теорема-клини)

___

## Инцидентность вершин и ребер

> *x* — ребро с концами *u* и *v*, *{u, v}*, тогда *x* инцидентно *u* и *v*, *u* и *v* инцидентны *x*

## Смежность вершин и ребер

> вершины *u* и *v* называются смежными, если являются концами
одного ребра

> ребра *x* и *y* называются смежными, если имеют общую вершину

## Ребро, ориентированное ребро, петля, кратное ребро
> Ребро - неупорядоченная пара *{u, v}*, где *u*, *v* принадлежат V - множеству вершин графа

> Ориентированное ребро - упорядоченная пара *{u, v}*, где *u*, *v* принадлежат V - множеству вершин графа

> Петля - ребро, соединяющее вершину с самой собой

> Кратное ребро: ребро *a* - кратно ребру *b*, если *a* и *b* соединяют однии те же вершины

## Изолированная вершина, висячая вершина и висячее ребро

> Изолированная вершина — вершина
без петель также не являющаяся концом ни одного из ребер
>
> Висячая вершина — вершина, в которую вдет только одно ребро, которое в свою очередь также называется висячим
>
> Висячее ребро - ребро, инцидентное висячей вершине

## Простой граф, ориентированный граф
> Простой граф - граф, не содержащий кратных ребер и петель

> Ориентированный граф - множество вершин *V* и ориентированных ребер *E*

## Мультиграф, псевдограф

> Мультиграф — граф с
параллельными ребрами
>
> Псевдограф — граф, который может содержать:
> * петли
> * и/или параллельные ребра

## Взвешенный, направленный граф

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

## Нуль граф, пустой граф, тривиальный граф
> Нуль граф - граф без ребер

> Пустой граф - граф без вершин

> Тривиальный граф - граф из одной вершины

## Изоморфизм графов. Помеченный граф

> Графы G и G' изоморфны — между их множествами вершин существует взаимно-однозначное
соответствие с сохранением смежности

> Помеченный граф - граф, в котором вершины отличаются друг от друга пометками

## Способы представления графа.
> 1. Диаграмма

> 2. Список смежности

> 3. Матрица смежности — матрица A [V x V] , в которой в ячейке a_ij записано:
> - (неориентир.): число ребер, соединяющих вершины V_i и V_j.
> - (ориентир.): a_ij = 1, если из V_i в V_j идет дуга, иначе 0

> 4. Матрица инцидентности
> - для **неориентированного** графа — матрица A размера |V|x|E|, для которой a_ij = 1, если вершина v_i инцидентна
ребру e_j, иначе a_ij = 0
> - Матрица инцидентности (для **ориентированного** графа) — матрица A размера |V|x|E|, для которой a_ij = 1, если
> вершина v_i начало дуги e_j, a_ij = -1, если вершина v_i конец дуги e_j, иначе a_ij = 0

## Описание кратных ребер и петель в матрице смежности
Матрица смежности:

> В **неориентированном** графе кратные ребра кратно увеличивают значения в симметричных ячейках **(i, j) и (j, i)**.
>
> Если i = j, то в **неориентированном**
графе петля учитывается **дважды**.

> В **ориентированном** графе кратные дуги кратно
увеличивают значение в ячейке **(i, j)**.
>
> Если i = j, то в **ориентированном**
графе петля учитывается **единожды**.

## Описание кратных ребер и петель в матрице инцидентности

**очев.** (см. определение)

## Степень вершины в графе (ориентированный и неориентированный графы)
> в **неориентированном**: число ребер, инцидентных этой вершине

> в **ориентированном**:
> - степень входа (deg_+) - число входящих ребер
> - степень выхода (deg_-) - число исходящих ребер

## Лемма о рукопожатиях для неориентированного графа
> Сумма степеней всех вершин графа — четное число, равное удвоенному числу ребер графа.

> Следствие: произвольный граф содержит четное число вершин нечетной
степени.

## Лемма о рукопожатиях для ориентированного графа
> Сумма входящих и исходящих степеней всех вершин графа — четное число, равно удвоенному числу дуг графа.

## Подграф
> Граф G'(V', E') является **подграфом** G(V, E), если V' ⊆ V, E' ⊆ E. Таким образом каждая вершина или ребро подграфа являются вершиной или ребром исходного графа.

## Надграф
> **Надграф** — граф, полученный путем добавления
новых ребер и/или вершин в исходный граф.

## Собственный подграф, Несобственный подграф
> Собственный подграф - не пустой и не совпадающий с исходным подграф

> пустой или совпадающий с исходным подграф

## Частичный граф

> Частичный граф — состоящий из множества вершин исходного графа и подмножества множества ребер.

*Каждый граф частичен сам себе.*

## Регулярный (однородный) граф, полный граф
> Регулярный (однородный) граф — такой граф что степени всех его вершин равны.
> - Cтепень регулярности — степень вершины регулярного графа.

> Полный граф - простой граф с максимальной степенью вершин

## Дополнение, объединение, пересечение графов
> Дополнение графа до полного — добавляет в исходный граф ребра до полного и удаляет ребра исходного.

> Объединение графов G(V, E) и G'(V', E') — объединяет множества вершин и ребер этих графов

> Пересечение графов G(V, E) и G'(V', E') — пересекает множества вершин и ребер этих графов

## Подразбиение ребра
> Подразбиение ребра — операция, состоящая из удаления ребра *e_0* = (*u*, *v*) и добавления двух новых ребер *e_1* = (*u*, *q*), *e_2* = (*q*, *v*) где *q* — новая вершина степени 2.

## Отождествление вершин
> Если v и v' — вершины различных компонент графа G, то мы можем создать новый граф G' путём отождествления v и v' в G в новую вершину v в G'. Ребро инцидентное *v* и *v'* переходит в петлю.

## Путь. Цепь. Простая цепь
> Путь — последовательность вида v_1, e_1, v_2, e_2, ... v_n, e_n, v_n+1 где e_i ∊ E, v_i ∊ V.

> Цепь — путь без повторяющихся ребер.

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

## Замкнутый путь, цикл и простой цикл
> Замкнутый путь — такой путь, что его конец и начало совпадают (v_1 = v_n+1).
>
> Цикл — замкнутая цепь.
>
> Простой цикл — замкнутая простая цепь *n* ≥ 3.

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

> Критерий двудольности: граф является двудольным тогда и только тогда, когда все циклы в графе имеют чётную длину.

## Вершинно простой путь, Реберно простой путь
> Вершинно простой путь - путь, в котором каждая из вершин графа встречается не более одного раза

> Реберно простой путь - путь, в котором каждое из ребер графа встречается не более одного раза

## Лемма о простом пути
> Если между двумя вершинами графа - *u*, *v* существует *(u, v)* - путь, то существует и простая *(u, v)* - цепь

## Связность в неориентированном графе, компоненты связности. Связный граф
> Вершины *u* и *v* связаны, если в графе существует путь *u* --> *v*.

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

> Граф связен, если состоит из одной компоненты связности. В противном случае граф называется несвязным.

*Связность — отношение эквивалентности.*

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

> Компонента связности это максимальный по включению слабо связный подграф

> Ориентированный граф *G* связен, если состоит из одной компоненты слабой
связности

## Сильная связность, компоненты сильной связности. Сильно связный граф
> Сильная связность пары вершин — есть как путь u --> v, так и v --> u.

> Компонента связности это максимальный по включению сильно связный подграф

> Граф *G* сильно связен, если состоит из одной компоненты
сильной связности

*Минимальная компонента сильной связности – вершина!*

## Реберная двусвязность. Компоненты реберной двусвязности. Минимальная компонента
> Вершины u и v графа G называются реберно двусвязными, если между ними существует два реберно непересекающихся пути.

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

> Минимальная компонента - вершина

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

> Разрез — минимальное по включению разрезающее множество графа.

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

> Эквивалентные определения
> 1. Мост — ребро, соединяющее две компоненты реберной двусвязности
> 2. Ребро *x* — мост в графе *G*, если существует разбиение множества вершин *V* на два подмножества
*U* и *W* такие, что для любых *u ∈ U* и *w ∈ W*
ребро *x* принадлежит любому простому пути *(u, w)*
> 3. Ребро *x* — мост в графе *G*, если существуют такие вершины *u* и *w*, что любой простой путь между этими
вершинами проходит через *x*

## Лемма о цикле и мосте
> Ребро является мостом тогда и только тогда, когда оно не принадлежит ни одному циклу.

## Лемма про удаление моста
> При удалении моста число компоненты связности увеличивается на единицу

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

> Компоненты - блоки (подграфы, множества ребер которых - классы эквивалентности вершинной двусвязности,
а множества вершин - множества концов ребер из соответствующих классов)

> Минимальная компонента - ребро

## Блок определение (через неразделимый подграф) + 1 из эквивалентных определения на выбор
> Блок — максимальный неразделимый подграф *(связный граф неразделим, если не содержит точек сочленения)*

> *G* — связный граф, содержащий не менее трех вершин
Тогда эквивалентно:
> 1) *G* — блок
> 2) любые вершины *u* и *v* принадлежат некоторому общему циклу
> 3) в *G* любые вершина и ребро (не петля) принадлежат некоторому общему
циклу
> 4) в *G* любые 2 ребра (не петли) принадлежат общему циклу
> 5) в *G* для любых 2 вершин и ребра (не петля) существует простая цепь,
соединяющая эти вершины и проходящая через это ребро
> 6) в *G* для любых вершин *u*, *v* и *w* существует простая *(u, w)* -цепь, проходящая
через *v*
> 7) в *G* для любых вершин *u*, *v* и *w* существует простая *(u, w)* -цепь, которая не
проходит через *v*

## Точка сочленения: 2 эквивалентных определения
> 1. Точка сочленения — вершина, при удалении которой, увеличивается
число компонент связности.

> 2. Вершина, принадлежащая как минимум двум блокам

## Лемма о точке сочленения - на выбор
> **Лемма 1**
>
> Пусть *v* произвольная вершина связного не одноэлементного графа.
Тогда эквивалентно:
> 1) *v* — точка сочленения
> 2) существуют различные *u* и *w* не равные *v*, т.ч. *v* принадлежит любой простой *(u, w)* −цепи
> 3) существует разбиение множества вершин *G* - *v* на два непустых подмножества *U* и *W* такое,
что для любых *u* ∈ *U* и *w* ∈ *W* : *v* принадлежит любой простой *(u, w)* −цепи

> **Лемма 2**
>
> Любые 2 блока связного графа *G* имеют не более одной общей вершины

> **Лемма 3**
>
> Пусть *G* — блок, содержащий не менее трех вершин,
тогда любые две его вершины принадлежат некоторому общему циклу

> **Лемма 4**
>
> Пусть *G* - блок, содержащий не менее трех вершин,
тогда любые его вершина и ребро лежат на некотором общем цикле

## Эксцентриситет
> Эксцентриситет *v* — расстояние до самой дальней от *v* вершины графа.

## Радиус, Диаметр и центр
> Радиусом графа называется минимальный эксцентриситет среди всех его вершин

> Диаметром графа называется максимальный эксцентриситет среди всех вершин графа

> Центр - вершина, эксцентриситет которой равен радиусу.

## Планарный граф
> Планарным называется граф, который можно уложить на плоскости

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

## Грань планарного графа
> Грань планарного графа - максимальный участок плоскости, такой, что любые точки этого участка
могут быть соединены кривой, не пересекающей ребро графа.
>
> Харари: области, на которые граф разбивает плоскость, называются ***гранями***. Неограниченная область
называется Внешней гранью.

## Формула Эйлера
> Для произвольного плоского связного графа G с V вершинами, E ребрами и F гранями справедливо следующее соотношение:
>
> ***V − E + F = 2***

## Необходимые условия планарности
> 1. Для любого простого связного планарного графа с *V* вершинами и *E* ребрами, где *V ≥ 3*,
выполняется неравенство ***E ≤ 3V − 6***
> 2. В любом планарном графе есть вершина, степень которой не превосходит 5
> 3. Для любого простого связного планарного двудольного графа с *V* вершинами и *E* ребрами,
где ***V ≥ 3***, выполняется неравенство ***E ≤ 2V − 4***

## Критерий планарности
> Критерий планарности Понтрягина-Куратовского:
>
> Граф планарен тогда и только тогда, когда он не
содержит подграфов, гомеоморфных графам *K_5* или *K_3,3*

## Дерево ( 2 определения)
> Связный ациклический граф

> Граф, в котором любые две вершины соединены единственным простым путем

## Граф блоков и точек сочленения
> Двудольный граф, где одна доля — точки сочленения, другая — блоки, сжатые в виде вершин.

## Граф компонент реберной двусвязности
> Cвязный граф, где компоненты реберной двусвязности сжаты в виде вершин и соединяются мостами исходного графа.

## Остов графа
> Cвязный, ацикличный, частичный граф исходного графа.

## Цикломатическое число
> Количество ребер, которые необходимо удалить, чтобы получить остов

## Цикл, ассоциированный с остовом
> Цикл, полученный добавлением к остову ребра исходного графа, не принадлежащего остову

## Фундаментальная система циклов
> Множество циклов графа, ассоциированное с остовом (полученное путем поочередного добавления каждого ребра из множества удаленных ребер к остову).

## Минимальное остовное дерево
> Минимальное остовное дерево графа G = (V, E) — это его ациклический связный подграф, в который входят все его вершины, обладающий минимальным суммарным весом ребер.

## Безопасное ребро
*Пусть G' — подграф некоторого минимального остовного дерева графа G = (V, E).*

> Ребро (*u*, *v*) ∉ *G'* называется безопасным, если при добавлении его в *G'*, *G'* ∪ {(*u*, *v*)} также является подграфом некоторого минимального остовного дерева графа *G*.

## Разрез
> Разрезом неориентированного графа *G* = (*V*, *E*) называется разбиение *V* на два непересекающихся подмножества: *S* и *T* = *V* ∖ *S*. Обозначается как ⟨*S*, *T*⟩.

## Ребро пересекающее разрез
> Ребро (*u*, *v*) ∈ *E* пересекает разрез ⟨*S*, *T*⟩, если один из его концов принадлежит множеству *S*, а другой — множеству *T*.

## Лемма о безопасном ребре
> Рассмотрим произвольный разрез какого-либо подграфа минимального остова. Тогда ребро минимального веса, пересекающее этот разрез, является безопасным.

## Расстояние между двумя вершинами графа
> Расстояние между _u_ и _v_ - _d(u, v)_ — длина минимального маршрута из _u_ в _v_.

## Кратчайший путь между двумя вершинами
> Путь с минимальным суммарным весом ребер

## Лемма о белых путях
> Не существует такого момента выполнения поиска в глубину, в который бы существовало ребро из черной вершины в белую.

- если вершина белая, значит, мы в ней еще не были, вершина не пройдена;
- серая — вершина проходится в текущей процедуре dfs
- черная — вершина пройдена, все итерации dfs от нее завершены.

## Эйлеров путь
> Эйлеров путь - проходит через все ребра графа по одному разу

## Отличие эйлерова и полуэйлерова графов
> Эйлеров граф — содержит эйлеров цикл
>
> Полуэйлеров граф — содержит эйлеров путь, но не содержит эйлеров цикл

## Эквивалентные определения эйлерова графа
> Для не одноэлементного связного графа следующие условия эквивалентны:
> 1) 𝐺 − эйлеров;
> 2) все вершины имеют четную степень;
> 3) множество всех ребер 𝐺 можно разбить на циклы.

## Теорема о покрытии ребер графа путями
> Если _G_ − граф, в котором 2*N* вершин имеет нечетную степень, то _G_ можно покрыть _N_ реберно-простыми путями.

## Критерий эйлеровости
> _G(V, E)_ - эйлеров тогда и только тогда, когда:
> - все вершины имеют четную степень;
> - все компоненты связности кроме одной не содержат рёбер.

_Следствие: если в графе только две вершины имеют нечетную степень, то в нем есть Эйлеров путь_

## Произвольно вычерчиваемый граф
> _G_ − произвольно вычерчиваемый из вершины _v_, если любая цепь с началом в _v_ может быть продлена до
эйлерова цикла графа _G_

## Теорема о произвольно вычерчиваемом графе
> _G_ − не одноэлементный эйлеров граф произвольно вычерчиваем из _v <=> v_ принадлежит любому циклу графа
_G_

## Принцип построения Произвольно вычерчиваемого графа
> 1. Произвольный лес + вершина 𝑣
> 2. Соединить все вершины с 𝑣
> - нечетной степени - нечетным числом ребер
>
> - четной степени - четным числом ребер
> 3. Можно добавить петель в 𝑣

## Гамильтонов путь, полугамильтонов граф
> Гамильтонов путь — проходит через все вершины графа по одному разу
>
> Полугамильтонов граф - содержит гамильтонов путь

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

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

## Теорема Оре
> Если 𝑛 ≥ 3 и для любых несмежных вершин сумма степеней будет не менее числа вершин в
неориентированном графе, то этот граф гамильтонов

## Теорема Дирака
> Если в неориентированном графе 𝑛 ≥ 3 и минимальная степень вершины не менее половины
от общего числа вершин, то этот граф гамильтонов

## Теорема Гуйя-Ури
> ориентированный граф:
>
> Если _G_ — сильно связный ориентированный граф c _n_ вершинами и для каждой 𝑣 ∈ _V(G)_ выполняется:
>
> *deg_+(v) >= n/2*
>
> *deg_-(v) >= n/2*

## Для любого ли гамильтонова графа будут выполняться условия теорем о гамильтоновости и почему?
> Нет. Теоремы Оре, Дирака и Гуйа-Ури - это **_достаточные_** условия гамильтоновости графа.

___

# extra
## Симметричные дуги
> Дуги вида (*u*, *v*) и (*v*, *u*) в некотором графе.

*u*, *v* ∊ V(G)

(*u*, *v*), (*v*, *u*) ∊ E(G)

## Стягивание ребра

> Ребро *e* удаляется, а две его инцидентные вершины, *u* и *v*, сливаются в новую вершину *w*, где рёбра, инцидентные *w*, соответствуют рёбрам, инцидентным либо *u*, либо *v*. Ребро инцидентное *u* и *v* **НЕ** переходит в петлю на *w*.

*Частный случай отождествления вершин*

## Хроматическое число

> Хроматическим числом графа называется минимальное число цветов, которыми можно раскрасить вершины графа так, что никакое ребро не будет иметь начало и конец одного цвета.

## Клика, кликовое число

> Кликой в неориентированном графе G = (V,E) называется подмножество вершин C ⊆ V, такое что для любых двух вершин в C существует ребро, их соединяющее. Эквивалентно утверждению, что подграф, порождённый
C, является полным.

> Кликовое число графа — это число вершин в наибольшей клике графа.

## Гомеоморфизм графов

> Графы *G* и *G'* изоморфны если изоморфны некоторый *G_0*, являющийся подразбиением *G*, и, некоторый *G_0'*, являющийся подразбиением *G'*.

---

## Метод математической индукции
> Метод доказательства утверждения, зависящих от натурального аргумента.
> P(n), зависящее от натурального числа n - справедливо для любого n, если:
> - P(1) является истинным утверждением
> - P остается истинным утверждением, если n увеличить на единицу: P(n + 1) является истинным утверждением
>
## Определение сочетания (не формулой)
> Неупорядоченный набор размера k из n элементов - C(n, k)
## Формулы для сочетаний без повторений
> $$ \frac {n!}{(n-k)! \cdot k!} $$
## Формулы для сочетаний с повторениями
> $$ \frac {(n + k - 1)!}{(n - 1)! \cdot k!} $$
## Определение размещения (не формулой)
> Упорядоченная последовательность длины k из n элементов - A(n, k)
## Формулы для размещений без повторений
> $$ \frac {n!}{(n - k)!} $$
## Формулы для размещений с повторениями
> $$ n^k $$
## Определение перестановки (не формулой)
> Переупорядочение набора элементов - P(n)
## Формула перестановок без повторений
> $$ n! $$
## Формула перестановок с повторениями
> $$ \frac {n!}{n_1! \cdot n_2! \cdot \ldots \cdot n_k!} $$
## Отличие перестановок и размещений
> Перестановки задействуют все элементы набора, а размещения
только часть его элементов.
## Принцип Дирихле
> Если поместить n + 1 объект в n контейнеров, то по крайней мере в
одном контейнере будет более одного объекта.
>
> Если m объектов помещены в n контейнеров, то по крайней мере в одном контейнере
> находятся не более m/n с округлением вверх объектов, а также
> по крайней мере в одном контейнере
> находятся не менее m/n с округлением вниз объектов

## Принцип сложения
> Пусть S_1, S_2, ..., S_m - попарно непересекающиеся множества.
Пусть для каждого i, множество S_i содержит n_i элементов.
Тогда выбрать один элемент из них можно n_1 + n_2 +...+ n_m способами.
## Принцип умножения
> Пусть задана последовательность событий E_1, E_2, ..., E_m таких, что E_1 осуществляется n_1 способами,
> E_2 - n_2 способами и т.д. Тогда вся эта последовательность (упорядоченная) может быть осуществлена n_1 * n_2 *...* n_m способами.
## Принцип включения-исключения - формула
> Пусть S, T - любые множества. Тогда количество вариантов выбора одного элемента из них равно
> |S u T| = |S| + |T| - |S ^ T|
## Лексикографический порядок на строках
> A = a_1 a_2 a_3 ... a_n
> B = b_1 b_2 b_3 ... b_m
>
> A лексикографически меньше B, если выполняется одно из условий:
> - a_i = b_i для всех 0 <= i <= n, при этом n < m
> - (∃k <= min(n, m) : a_k < b_k) && (∀i, j < k : a_i = b_j)
> -
## Формирование следующей в лексикографическом порядке перестановки
>
## Формирование следующего в лексикографическом порядке сочетания той же длины
>
## Теорема об эквивалентности формул задающих сочетания (правило симметрии)
>
## Теорема Вандермонда
>
## Следствие из теоремы Вандермонда
>
## Биномиальная теорема
>
## Теорема о сумме сочетаний (следствие из биномиальной)
>
## Теорема о коэффициентах биномиального треугольника
>
## Алфавит, символ
> Алфавит — конечное непустое множество символов. Условимся обозначать алфавит большой греческой буквой Σ
>
> Символ — объект, имеющий собственное содержание и уникальную читаемую форму.

## Слово / цепочка
> Слово или цепочка — конечная последовательность символов некоторого алфавита.

## Длина цепочки
> Длина цепочки — число символов в цепочке. Длину некоторой цепочки w обычно обозначают |w|.
## Пустая цепочка
> Пустая цепочка — цепочка, не содержащая ни одного символа.
> Эту цепочку, обозначаемую ε, можно рассматривать как цепочку в любом алфавите.
> Для любой строки α∈Σk верно: αε = εα = α

## Степень алфавита
> Выражение множества всех цепочек определенной длины,
состоящих из символов данного алфавита. Σ^k — множество всех цепочек длины k, состоящих из символов
алфавита Σ

## Степень языка
>

## Конкатенация цепочек
> Σk — множество цепочек длины k над алфавитом Σ.
>
> Σ∗ = ⋃(k=0, ∞) Σk — множество всех цепочек (объединение множеств цепочек длин k: от 0 до ∞) над алфавитом Σ.
>
> Пусть α, β ∈ Σ∗. Тогда α⋅β или αβ обозначает их конкатенацию, то есть цепочку, в которой последовательно записаны
> цепочки α и β.

## Конкатенация языков
> Язык, состоящий из конкатенации цепочек данных языков.

## Замыкание Клини
> L* - множество всех строк конечной длины, порожденное
элементами множества L

## Формальный язык
> Формальный язык над алфавитом Σ - некоторое подмножество 𝛴∗

## Множество регулярных языков
> Множество регулярных языков REG над алфавитом Σ = {c1,c2,…,ck} — множество, которое может быть получено из языков,
> каждый из которых содержит единственное слово — c_i или ε, и пустого языка при помощи последовательных применений
> операций объединения, конкатенации или замыкания Клини и никаких других.

## Регулярное выражение
> Регулярное выражение над алфавитом Σ={c1,c2,…,ck} — способ порождения языка над Σ.
> Определяется рекурсивно следующим образом:
>
> - Для любого i слово c_i является регулярным выражением, задающим язык из одного слова c_i.
> - ε является регулярным выражением, задающим язык из одной пустой строки, а ∅ — пустой язык.
> - Если α1 и α2 являются регулярными выражениями, задающими языки L1 и L2 соответственно,
то (α1)|(α2) — регулярное выражение, задающее L1 ⋃ L2
> - Если α1 и α2 являются регулярными выражениями, задающими языки L1 и L2 соответственно, то (α1)(α2) —
регулярное выражение, задающее L1L2
> - Если α1 является регулярным выражением, задающим язык L1, то (α1)∗ — регулярное выражение, задающее L∗1
> - Операции указаны в порядке возрастания приоритета, при этом скобки повышают приоритет аналогично арифметическим выражениям.

Утверждение: по построению очевидно, что множество языков, порождаемых регулярными выражениями, совпадает со
множеством регулярных языков.

## Регулярный язык
> Множество слов, порождаемых некоторым регулярным выражением

## Детерминированный конечный автомат
> набор из пяти элементов - Σ, 𝑄, 𝑠 ∈ 𝑄, 𝑇 ⊆ 𝑄,
> 𝛿: 𝑄 × Σ ⟶ 𝑄, где:
> - Σ— алфавит
> - 𝑄 — множество состояний
> - 𝑠 — начальное (стартовое) состояние
> - 𝑇 — множество допускающих состояний
> - 𝛿 — функция переходов

## Недетерминированный конечный автомат
> набор из пяти элементов - Σ, 𝑄, 𝑠 ∈ 𝑄, 𝑇 ⊆ 𝑄,
> 𝛿: 𝑄 × Σ ⟶ 2^𝑄, где:
> - Σ — алфавит
> - 𝑄 — множество состояний
> - 𝑠 — начальное (стартовое) состояние
> - 𝑇 — множество допускающих состояний
> - 𝛿 — функция переходов

## Язык автомата
> L(A) - язык автомата А - множество всех принимаемых им слов.
> Произвольный язык является автоматным, если существует ДКА, допускающий
> те и только те слова, которые принадлежат языку.

Строка принимается автоматом, если последнее состояние принадлежит множеству F (терминальных) — иначе отвергается.

## Теорема Клини
> REG = AUT
Классы регулярных и автоматных языков совпадают