\documentclass[a4paper,oneside,12pt]{extbook}

\usepackage[T2A]{fontenc}
\usepackage[english,russian]{babel}
\usepackage[
  left=2cm,right=2cm,
  top=2.5cm,bottom=2.5cm
]{geometry}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{braket} % \set
\usepackage{hyperref}

\renewcommand{\emptyset}{\varnothing}
\renewcommand{\qedsymbol}{$\blacksquare$}
\newcommand{\link}{\hyperref}
\newcommand{\ds}{\displaystyle}

\input{style.tex}

\begin{document}

\chapter*{Введение}

\section{Декартово произведение. Бинарные отношения. Пустое и универсальное
отношения. Операции над отношениями: пересечение, объединение, дополнение,
обращение, умножение.}

\begin{definition}
  Пусть $A$, $B$ --- два непустых множества. Декартовым произведением $A$ и $B$
  называется множество $A \times B = \set{(a, b) : a \in A,\, b \in B}$
  \label{def:decart-cross}
\end{definition}

\begin{definition}
  Бинарным отношением между множествами A и B называется всякое подмножество
  $A \times B$. $\rho \subseteq A \times B$.
  \label{def:bin-rel}
\end{definition}

\begin{definition}
  Пустое отношение --- это отношение, не содержащее ни одной пары. Обозначение:
  $\emptyset$.
  \label{def:empty-set}
\end{definition}

\begin{definition}
  Универсальное отношение содержит все возможные упорядоченные пары.
  $\forall \rho: \emptyset \subseteq \rho \subseteq A \times B$.
  \label{def:universal-set}
\end{definition}

\begin{definition}[Операции над отношениями]
  Пусть $\rho, \sigma \subseteq A \times B$.
  \begin{enumerate}
    \item
      Пересечение: $\rho \cap \sigma = \set{(a, b) \in A \times B : (a, b) \in
      \rho \land (a, b) \in \sigma}$
    \item
      Объединение: $\rho \cap \sigma = \set{(a, b) \in A \times B : (a, b) \in
      \rho \lor (a, b) \in \sigma}$
    \item
      Дополнение: $\overline{\rho} = \set{(a, b) \in A \times B : (a, b) \not\in
      \rho}$
    \item
      Обращение: $\rho^{-1} \subseteq B \times A,\, \rho^{-1} = \set{(b, a) \in
      B \times A : (a, b) \in \rho}$
    \item
      Умножение. Пусть $\rho \subseteq A \times B,\, \sigma \subseteq B \times
      C$. Тогда $\rho \circ \sigma \subseteq A \times C,\, \rho \circ \sigma =
      \set{(a, c) \in A \times C : (\exists b \in B) (a, b) \in \rho \land (b,
      c) \in \sigma}$.
  \end{enumerate}
  \label{def:rel-op}
\end{definition}


\section{Операции над матрицами: пересечение, сложение, дополнение,
транспонирование, умножение. Связь между операциями над матрицами и
отношениями.}

\begin{definition}[Операции над матрицами]
  $M(m, n)$ --- множество всех двоичных булевых матриц размерности $m \times n$.
  Пусть $M, N \in M(m, n)$.

  \begin{enumerate}
    \item Пересечение: $M \land N : (M \land N)_{ij} = M_{ij} \cdot N_{ij}$
    \item Сложение: $M + N : (M + N)_{ij} = M_{ij} + N_{ij}$
    \item Дополнение: $M' : (M')_{ij} = (M_{ij})'$
    \item Транспонирование: $M^T \in M(n, m),\, (M^T)_{ij} = M_{ji}$
    \item
      Умножение $M \in M(m, n),\, N \in M(n, p)$: $MN \in M(m, p),\,
      (MN)_{ik} = \sum_{j = 1}^n M_{ij} N_{jk}$
  \end{enumerate}
  \label{def:mat-op}
\end{definition}

\begin{theorem}[Связь между операциями над отношениями и их матрицами]
  Пусть $\rho, \sigma \in A \times B (|A| = m, |B| = n)$. Тогда
  \begin{enumerate}
    \item $M(\rho \cap \sigma) = M(\rho) \land M(\sigma)$
    \item $M(\rho \cup \sigma) = M(\rho) + M(\sigma)$
    \item $M(\overline\rho) = (M(\rho))'$
    \item $M(\rho^{-1}) = (M(\rho))^T$
    \item
      $\rho \subseteq A \times B,\, \sigma \subseteq B \times C : M(\rho \circ
      \sigma) = M(\rho) M(\sigma)$
  \end{enumerate}
  \label{def:mat-rel-op}
\end{theorem}


\section{Срез отношения через элемент и через множество. Тождественное
отношение. Классификация отношений: рефлексивность, антирефлексивность,
симметричность, антисимметричность. Отношение эквивалентности, отношение
порядка.}

\begin{definition}
  Срезом отношения $\rho \subseteq A \times B$ через элемент $a \in A$
  называется множество $\rho(a) = \set{b \in B : (a, b) \in \rho} \subseteq B$.
  \label{def:slice-elem}
\end{definition}

\begin{definition}
  Срезом отношения $\rho \subseteq A \times B$ через подмножество $X \subseteq
  A$ называется множество $\rho(a) = \ds\bigcup_{a \in X} \rho(a) \subseteq B$.
  \label{def:slice-set}
\end{definition}

\begin{definition}
  Отношения между элементами одного и того же множества называются отношениями
  на множестве $A$. $\rho \subseteq A \times A$.
  \label{def:self-rel}
\end{definition}

\begin{definition}
  Тождественное отношение на множестве $A$ обозначается $\Delta \subseteq A
  \times A$.
  \begin{align*}
    (x, y) \in \Delta &\iff x = y \\
    M(\Delta) = E&,\, E = \begin{cases}
      0, &i \neq j \\
      1, &i = j
    \end{cases}
  \end{align*}
  \label{def:identity-rel}
\end{definition}

\begin{definition}[Классификация отношений]
  \begin{enumerate}
    \item
      Отношение $\rho \subseteq A \times A$ называется рефлексивным $(\forall x
      \in A) ((x, x) \in \rho)$. В матрице отношения элементы главной диагонали
      равны 1.
    \item
      Отношение $\rho \subseteq A \times A$ называется рефлексивным $(\forall
      x \in A) ((x, x) \not\in \rho)$. В матрице отношения элементы главной
      диагонали равны 0.
    \item
      Отношение $\rho \subseteq A \times A$ симметрично $\iff (\forall x, y
      \in A) ((x, y) \in \rho \implies (y, x) \in \rho)$. Матрица отношения
      симметрична относительно главной диагонали.
    \item
      Отношение $\rho \subseteq A \times A$ антисимметрично $\iff (\forall x,
      y \in A) ((x, y) \in \rho \land (y, x) \in \rho) \implies (x = y)$. В
      матрице отношения элементы, симметричные единицам относительно главной
      диагонали, равны нулю (исключение --- сама главная диагональ).
    \item
      Отношение $\rho \subseteq A \times A$ транзитивно $\iff (\forall x, y, z
      \in A) ((x, y) \in \rho \land (y, z) \in \rho \implies (x, z) \in \rho)$.
  \end{enumerate}
  \label{def:rel-classification}
\end{definition}

\begin{definition}
  Отношением эквивалентности на $A$ называется отношение $\varepsilon \subseteq
  A \times A$, которое одновременно рефлексивно, симметрично и транзитивно.
  \label{def:equivalence}
\end{definition}

\begin{definition}
  Отношение $\omega \subseteq A \times A$ называется отношением порядка, если
  оно рефлексивно, антисимметрично и транзитивно.
  \label{def:order}
\end{definition}


\chapter{Основные алгебраические конструкции для графов}


\section{Типы графов: ориентированные графы, неориентированные графы, диграфы,
полные графы, вполне несвязные графы. Симметризация.}

\begin{definition}
  Орграфом $\vec{G} = (V, \alpha)$, где $V$ --- конечное непустое множество, а
  $\alpha \subseteq V \times V$. Элементы множества $V$ называются вершинами, а
  элементы множества $\alpha$ --- дугами. $V$ --- множество вершин, $\alpha$
  --- отношение смежности.
  \label{def:orgraph}
\end{definition}

$(u, v) \in \alpha$ --- значит из $u$ в $v$ есть дуга. Если $u = v$, то есть
$(u, u) \in \alpha$, то дуга называется петлёй. Говорят, что дуга $(u, v)$
инцидентна вершинам $u$ и $v$, то есть своим концам.

\begin{definition}
  Говорят, что $\vec{G} = (U, \alpha)$ изоморфен $\vec{H} = (V, \beta)$, если
  существует биекция $\varphi : U \to V$, которая сохраняет отношение смежности:
  $(\forall u_1, u_2 \in U) ((u_1, u_2) \in \alpha \iff (\varphi(u_1),
  \varphi(u_2)) \in \beta$.
  \label{def:isomorphism}
\end{definition}

\begin{definition}
  Граф $G = (V, \alpha)$ называется неориентированным (или просто графом), если
  отношение смежности $\alpha$ антирефлексивно и симметрично. Нет петель, дуги
  встречаются парами. $(u, v), (v, u)$ --- ребро, обозначается $\set{u, v}$.
  \label{def:graph}
\end{definition}

\begin{definition}
  Каждому орграфу $\vec{G} = (V, \alpha)$ естественным образом можно сопоставить
  неориентированный граф, который называется его симметризацией. Это граф $(V,
  (\alpha \cup \alpha^{-1}) \backslash \Delta)$, то есть дуги заменяются рёбрами
  и исключаются петли.
  \label{def:symmetrization}
\end{definition}

\begin{definition}
  Орграф $\vec{G} = (V, \alpha)$ называется направленным графом или диграфом,
  если его отношение смежности антисимметрично (то есть в диграфе нет встречных
  дуг, за исключением быть может петель).
  \label{def:digraph}
\end{definition}

\begin{definition}
  Орграф $\vec{G} = (V, \alpha)$ называется полным, если его отношение смежности
  универсально, то есть $\alpha = V \times V$. Если число вершин орграфа равно
  $n$, то полный орграф обозначают $\vec{K_n}$.
  \label{def:full-orgraph}
\end{definition}

\begin{definition}
  Неориентированный граф называется полным, если его отношение смежности $\alpha$
  имеет вид $(V \times V) \backslash \Delta$. Обозначается $K_n$.
  \label{def:full-graph}
\end{definition}

\begin{definition}
  Орграф $\vec{G} = (V, \alpha)$ называется вполне несвязным (нуль-графом), если
  его отношение смежности пусто. Обозначается $0_n$.
  \label{def:null-graph}
  \label{def:fully-disconnected}
\end{definition}

Очевидно, что для каждого $n$ существует единственный граф $K_n$, $\vec{K_n}$,
$0_n$.

\begin{definition}
  Диграф $\vec{G}$ называется полным, если в каждой вершине имеется петля и
  между двумя различными вершинами существует единственная дуга. Полный диграф
  называется турниром.
  \label{def:full-digraph}
  \label{def:tournament}
\end{definition}

\section{Степени вершин. Спецификация.}

\begin{definition}
  Степенью исхода вершины $v$ называется число $d^+$, равное количеству дуг в
  $\vec{G}$, имеющих $v$ своим началом. $d^+(v) = |\alpha(v)|$.
  \label{def:out-degree}
\end{definition}

\begin{definition}
  Степенью захода вершины $v$ называется число $d^-$, равное количеству дуг в
  $\vec{G}$, имеющих $v$ своим концом. $d^-(v) = |\alpha^{-1}(v)|$.
  \label{def:in-degree}
\end{definition}

\begin{definition}
  Спецификацией орграфа называется вектор вида $\left(v_1^{(d_1^+, d_1^-)},
  \dots, v_n^{(d_n^+, d_n^-)}\right)$, где $d_i^+ = d^+(v_i)$, $d_i^- =
  d^-(v_i)$.
  \label{def:specification}
\end{definition}

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

\section{Двудольные графы. Звёзды.}

\begin{definition}
  Граф называется двудольным, если его множество вершин может быть разбито на
  два подмножества $V_1$ и $V_2$. $V = V_1 \cup V_2$, $V_1 \cap V_2 = \emptyset$
  и для любого ребра $\set{u, v}$ (или дуги $(u, v)$) $u$ и $v$ принадлежат
  различным множествам.
  \label{def:bipartite}
\end{definition}

\begin{definition}
  Двудольный граф, который содержит все возможные рёбра, отвечающие этому
  условию, называется полным двудольным графом. И обозначается $K_{m,n}$, где
  $n$ и $m$ --- количество вершин $n = |V_1|$, $m = |V_2|$.
  \label{def:full-bipartite}
\end{definition}

\begin{definition}
  Полный двудольный граф вида называется звездным графом или звездой.
  \label{def:star}
\end{definition}

\section{Операции над графами: дополнение, объединение, соединение, декартово
произведение, тензорное произведение, сильное произведение. n-мерная решетка,
n-мерный тор.}

\begin{definition}[Операции над графами]
  Пусть $G = (V, \alpha)$ --- некоторый неориентированный граф.
  \begin{enumerate}
    \item
      Дополнение: $G = (V, \alpha) \to G' = (V, \overline\alpha \backslash
      \Delta)$
    \item
      Объединение: $G_1 = (V_1, \alpha_1)$, $G_2 = (V_2, \alpha_2)$, $G_1 \cup
      G_2 = G = (V_1 \cup V_2, \alpha_1 \cup \alpha_2)$.
    \item
      Соединение: $G_1 = (V_1, \alpha_1)$ и $G_2 = (V_2, \alpha_2)$, $V_1 \cap
      V_2 = \emptyset$, $G_1 + G_2 = (V_1 \cup V_2, \alpha_1 \cup \alpha_2 \cup
      (V_1 \times V_2) \cup (V_2 \times V_1)$.
    \item
      Декартовым или прямым произведением двух графов $G_1 = (U, \alpha_1)$ и
      $G_2 = (V, \alpha_2)$ называется граф $G_1 \cdot G_2$ с множеством вершин
      $U \times V$, в котором вершины $(u_1, v_1)$ и $(u_2, v_2)$ смежны тогда и
      только тогда, когда либо $u_1 = u_2$, а $v_1$ смежна с $v_2$, либо $v_1 =
      v_2$, а $u_1$ смежна с $u_2$.
    \item
      Тензорным произведением двух графов $G_1 = (U, \alpha_1)$ и $G_2 = (V,
      \alpha_2)$ называется граф $G_1 \times G_2$ с множеством вершин $U \times
      V$, в котором различные вершины $(u_1, v_1)$ и $(u_2, v_2)$ смежны
      тогда и только тогда, когда смежны $u_1$ и $u_2$ и $v_1$ с $v_2$:
      $(u_1, u_2) \in \alpha_1 \land (v_1, v_2) \in \alpha_2$.
    \item
      Сильным произведением двух графов $G_1 = (U, \alpha_1)$ и $G_2 = (V,
      \alpha_2)$ называется граф $G_1 \times G_2$ с множеством вершин $U \times
      V$, в котором различные вершины $(u_1, v_1)$ и $(u_2, v_2)$ смежны тогда
      и только тогда, когда выполняется одно из трёх условий:
      \begin{enumerate}
        \item
          смежны $u_1$ с $u_2$ и $v_1$ с $v_2$ : $(u_1, u_2) \in \alpha_1
          \land (v_1, v_2) \in \alpha_2$ (как в тензорном);
        \item
          $u_1 = u_2$, а $v_1$ смежна с $v_2$: $(v_1, v_2) \in \alpha_2$
          (как в декартовом);
        \item
          $v_1 = v_2$, а $u_1$ смежна с $u_2$: $(u_1, u_2) \in \alpha_1$
          (как в декартовом);
      \end{enumerate}

      Сильное произведение является объединением тензорного и декартова
      произведений.
  \end{enumerate}
\end{definition}

\begin{definition}
  $n$-мерной решёткой называется граф, являющийся декартовым произведением $n$
  цепей.
  \label{def:mesh-graph}
\end{definition}

\begin{definition}
  $n$-мерным тором называется граф, являющийся декартовым произведением $n$
  циклов.
  \label{def:torus-graph}
\end{definition}

\section{Теорема Эйлера о степенях вершин. Однородные графы.}

Пусть $G = (V, \alpha)$ --- неориентированный граф. Вершина $v \in V$ называется
чётное или нечётное в зависимости от чётности её степени.

\begin{theorem}[Эйлера, о степенях вершин]
  Пусть $G = (V, \alpha)$ --- неориентированный граф с $n$ вершинами и $m$
  рёбрами. Тогда справедливы следующие три утверждения:
  \begin{enumerate}
    \item $\ds\sum_{i = 1}^n d(v_i) = 2m$;
    \item Количество нечётных вершин чётно;
    \item Сущестует по крайней мере две вершины с одинаковой степенью.
  \end{enumerate}
  \label{thm:euler}
\end{theorem}
\begin{proof}
  \begin{enumerate}
    \item
      $\set{u, v}$ --- ребро в $G$. Это ребро один раз будет учитываться в
      $d(u)$ и один раз в $d(v)$, таким образом, в сумме степеней вершин каждое
      ребро будет учитываться дважды;
    \item
      $\ds 2m = \sum_{i = 1}^n d(v_i) = \sum d(v_i)_\text{чёт} + \sum
      d(v_i)_\text{нечёт}$

      Так как $2m$ --- чётное, то сумма чётных степеней и нечётных степеней
      также должна быть чётной. Такое может быть только если сумма нечётных
      степеней --- чётное число, то есть нечётных вершин чётное число.
    \item
      Вершина $v$ называется изолированной, если её степень равна 0, то есть она
      не смежна ни с одной другой вершиной. Вершина $u$ называется полной, если
      она смежна со всеми вершинами.

      Таким образом, степень произвольной вершины в графе $0 \leq d(v) \leq n -
      1$. Заметим, что одновременно в графе не может быть полной и изолированной
      вершин.
  \end{enumerate}
\end{proof}

\begin{definition}
  Однородные (регулярные) графы --- это графы, у которых степени всех вершин
  одинаковые. Обозначаются через $R_{n,p}$, где $p$ --- порядок, $n$ --- число
  вершин.
  \label{def:regular-graph}
\end{definition}

\section{Степенное множество. Теорема о степенном множестве.}

\begin{definition}
  Степенным множеством графа называется множество чисел, являющихся степенями
  его вершин.
  \label{def:degree-set}
\end{definition}

\begin{theorem}[О стененном множестве, Капур, Полимени, Уолл]
  Для любого множества натуральных чисел $A = \set{d_1, \dots, d_k}$ ($d_1 < d_2
  < \dots < d_k$ для удобства) существует граф с $(d_k + 1)$ вершинами, для
  которых $A$ является степенным множеством.
  \label{thm:degree-set}
\end{theorem}
\begin{proof}
  Доказательство по ММИ.
  \begin{enumerate}
    \item
      $k = 1, A = \set{d}$. Граф $K_{d + 1}$. В полном $(d + 1)$ вершинном графе
      каждая вершина соединена с остальными, таким образом число вершин $d + 1$,
      их степень --- $d$.
    \item
      $k = 2, A = \set{d_1, d_2}, d_1 < d_2$. Рассмотрим граф $G = K_{d_1} +
      0_{d_2 - d_1 + 1}$. $d(u) = (d_1 - 1) + (d_2 - d_1 + 1) = d_2$, $d(v) =
      d_1$. Количество вершин: $d_2 - d_1 + 1 + d_1 = d_2 + 1$.
    \item
      Пусть верно для $k$. Докажем для $k + 1$.
      \begin{align*}
        A &= \set{d_1, \dots, d_k, d_{k + 1}} \quad d_1 < \dots < d_k < d_{k + 1} \\
        A^* &= \set{d_2 - d_1, \dots, d_k - d_1} \implies |A^*| = k - 1
      \end{align*}

      Существует граф $G_0$ с $d_k - d_1 + 1$ вершинами, для которого $A^*$ ---
      степенное множество
      \begin{equation*}
        G = K_{d_1} + (0_{d_{k + 1} - d_k} \cup G_0)
      \end{equation*}

      Количество вершин в $G$: $d_1 + (d_{k + 1} - d_k) + (d_k - d_1 + 1) =
      d_{k + 1} + 1$.

      \begin{align*}
        d(u) &= (d_1 - 1) + (d_{k + 1} - d_k) + (d_k - d_1 + 1) = d_{k + 1} \\
        d(v) &= d_1 \\
        d(w) &= d_{G_0}(w) + d_1
      \end{align*}

      Степени вершин в $G_0$ --- это $d_2 - d_1, \dots, d_k - d_1$.
  \end{enumerate}
\end{proof}

\section{Вектор степеней. Критерии графичности вектора Гавела-Хакими. Процедура
layoff. Критерий графичности Эрдеша-Галлаи.}

\begin{definition}
  Вектор степеней графа --- вектор, составленный из степеней вершин графа $G$ в
  порядке невозрастания
  \label{def:degree-vector}
\end{definition}

\begin{definition}
  Говорят, что граф является реализацией своего вектора степеней или степенного
  множества.
\end{definition}

\begin{definition}
  Если вектор является вектором степеней некоторого графа, то говорят, что он
  графический.
\end{definition}

Очевидно, что для графичности вектора необходимо, чтобы выполнялась теорема
Эйлера. Если в векторе $n$ элементов, то для графичности необходимо, чтобы
значения элементов были от $0$ до $n - 1$.

Однако это условия не являются достаточными. Существуют эффективные критерии
графичности заданного вектора.

\begin{theorem}[Критерий графичности вектора]
  Пусть вектор $d = (d_1, \dots, d_n)$, $d_1 \geq d_2 \geq \dots \geq d_n$.
  Производный вектор $d^i$ получается из $d$ удалением элемента $d_i$ и
  уменьшением на единицу первых $d_i$ компонент в получившемся после удаления
  векторе.

  Если $d^i$ при каком-либо $i = \overline{1, n}$ является графическим, то и
  $d$ является графическим.

  Если $d$ является графическим, то существует производный вектор $d^i$ также
  является графическим.
  \label{thm:graphic-crit-vec}
\end{theorem}

\begin{corollary}
  Процедура layoff (layout):
  \begin{enumerate}
    \item
      Берутся $n$ точек, которым присваиваются метки $d_1, \dots, d_n$. В
      качестве ведущей выбирается вершина с наибольшим значением метки $d =
      d_1$.
    \item
      Ведущая вершина соединяется ребром с $d$ вершинами, имеющими максимальное
      значение меток (исключая саму ведущую).
    \item
      Ведущая вершина получает значение метки 0, а вершина, с которой она была
      соединена, получает предудыщее значение минус 1. Если все вершины имеют
      метку 0, то алгоритм завершён.
    \item
      Выбирается новая ведущая вершина с максимальным значением метки и
      переходим на шаг 2.
  \end{enumerate}
  \label{cor:layoff}
\end{corollary}

\begin{theorem}[Критерий графичности, Эрдёш, Галлаи]
  Пусть дан вектор $d = (d_1, \dots, d_n)$, $d_1 \geq \dots \geq d_n$. Он
  графичен $\iff \for k = \overline{1, n}$ выполняется $\ds\sum_{i = 1}^k
  d_i \leq k(k - 1) + \sum_{i = k + 1}^n \min\set{k, d_i}$.
  \label{thm:graphic-crit}
  \label{thm:erdes-gallai}
\end{theorem}

\section{Переключения ребер. Функциональные и контрфункциональные графы.}

\begin{definition}
  Пусть $\set{a, b}$ и $\set{c, d}$ --- два ребра графа $G$. Переключением
  этих рёбер в графе $G$ называется $G^* = G - \set{a, b} - \set{c, d} +
  \set{a, d} + \set{b, c}$.
  \label{def:switch}
\end{definition}

\begin{theorem}
  С помощью соответствующей цепочки переключений рёбер можно осуществить переход
  от любой реализации вектора степеней к любой другой его реализации.
\end{theorem}

\begin{definition}
  Орграф $\vec{G} = (V, \alpha)$ называется функциональным, если степень исхода
  любой его вершины равна 1, и контрфункциональным, если степень захода каждой
  вершины равна 1.
  \label{def:functional}
  \label{def:contrafunctional}
\end{definition}

Пусть на конечном множестве $V$ задана некоторая функция $f : V \to V$ со
значениями в этом множестве. Сопоставим этой функции орграф, рассматривая
функцию как отношение: если $f(u) = v$ --- это значит $(u, v) \in \alpha$.

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

\section{Изоморфизм и вложение. Немое изображение, абстрактные графы. Униграфы.}

\begin{definition}
  Если вектор степеней имеет единственную реализацию, то говорят, что вектор
  степеней определяет униграф. Заметим, что все графы с числом вершин меньше
  пяти являются униграфами.
  \label{def:unigraph}
\end{definition}

\begin{definition}
  Минимальным по числу вершин и рёбер неуниграфом является граф реализации
  вектора степеней $(2, 2, 2, 1, 1)$.
\end{definition}

\begin{definition}
  $\vec{G} = (U, \alpha),\, \vec{H} = (V, \beta)$. Говорят, что $\vec{G}$
  изоморфен $\vec{H}$, если существует биекция $\varphi : U \to V$, которая
  сохраняет отношение смежности: $(\forall u_1, u_2 \in U) ((u_1, u_2) \in
  \alpha \iff (\varphi(u_1), \varphi(u_2)) \in \beta)$.
  \label{def:isomorph}
\end{definition}

\begin{definition}
  $\vec{G} = (U, \alpha),\, \vec{H} = (V, \beta)$. Говорят, что $\vec{G}$
  вкладывается в $\vec{H}$, если существует инъекция $\varphi : U \to V$, для
  которой выполняется: $(\forall u_1, u_2 \in U) ((u_1, u_2) \in \alpha \implies
  (\varphi(u_1), \varphi(u_2)) \in \beta)$.
  \label{def:enclosure}
\end{definition}

\begin{definition}
  Метод канонических представителей:
  \begin{enumerate}
    \item Определить способ кодирования объектов;
    \item Среди всех кодов изоморфных объектов выбирается канонический код;
    \item
      Порождаются все возможные уникальные структуры вместе с их кодами,
      содержащие всех канонических представителей;
    \item
      Порождённая структура принимается, если её код канонический, в противном
      случае --- исключается.
  \end{enumerate}
\end{definition}

\section{Автоморфизм. Подобные вершины, подобные ребра. Тождественные
(ассиметричные графы). Симметричные графы.}

\begin{definition}
  Изоморфизм графа на себя называется автоморфизмом. Очевидно, что любой граф
  имеет как минимум один автоморфизм --- тождественное отображение.
  \label{def:automorphism}
\end{definition}

\begin{definition}
  Графы, которые имеют только этот автоморфизм, называются асимметричными или
  тождественными. Минимальный по числу вершин --- $0_1$, затем от 6 вершин.
  \label{def:asymm-graph}
  \label{def:identity-graph}
\end{definition}

\begin{definition}
  Вершины $u$ и $v$ называются подобными, если существует автоморфизм $\varphi :
  \varphi(u) = v$.
\end{definition}

\begin{definition}
  Граф, все вершины которого подобны, называется вершинно-симметричным
  (вершинно-транзитивным).
\end{definition}

\begin{definition}
  Два ребра $\set{u_1, v_1}$ и $\set{u_2, v_2}$ называются подобными, если
  существует автоморфизм $\varphi$, такой, что образом первого ребра будет
  второе ребро ($\varphi(\set{u_1, v_1}) = \set{u_2, v_2}$). Если $\varphi(u) =
  u_2, \varphi(v_1) = v_2$, или $\varphi(u_1) = v_2, \varphi(v_2) = v_1$.
\end{definition}

\begin{definition}
  Граф, у которого все рёбра подобны, называется рёберно-симметрическим (или
  рёберно-транзитивным).
\end{definition}

\begin{definition}
  Граф, являющийся вершинно-симметрическим и рёберно-симметрическим, называется
  симметричным. А граф, обладающий только одним видом симметричности ---
  полусимметричным.
  \label{def:symm-graph}
\end{definition}

$K_{m, n}$ --- всегда рёберно-симметрический, если $m \neq n$. $K_{m, m}$ ---
симметричный.

\section{Часть графа и подграф. Максимальный подграф. Колода.}

\begin{definition}
  Пусть $\vec{G} = (V, \alpha)$. $\vec{G}^* = V^*, \alpha^*) : V^* \subseteq V,
  \alpha^* \subseteq \alpha \cap (V^* \times V^*)$ --- часть графа. То есть
  часть графа состоит из некоторых его вершин и некоторых соединяющих их дуг
  (рёбер).
  \label{def:graph-part}
\end{definition}

\begin{definition}
  Пусть $\vec{G} = (V, \alpha)$. $\vec{G}^* = V^*, \alpha^*) : V^* \subseteq V,
  \alpha^* = \alpha \cap (V^* \times V^*)$ --- подграф. То есть подграф состоит
  из некоторых вершин графа и всех дуг (рёбер), соединяющих эти вершины в графе.
  \label{def:subgraph}
\end{definition}

\begin{definition}
  Максимальным подграфом орграфа $\vec{G} = (V, \alpha)$ называется орграф,
  получающийся удалением одной вершины и всех связанных с ней дуг.
  \label{def:max-subgraph}
\end{definition}

\begin{definition}
  $P(\vec{G})$ (колода графа) --- список максимальных подграфов.
  \label{def:pack}
\end{definition}

\section{Реконструируемость графов. Гипотезы Келли-Улама и Харари.}

\begin{definition}
  Граф $G$ называется реконструкцией графа $H$, если его колода совпадает с
  колодой графа $H : P(G) = P(H)$.
\end{definition}

\begin{definition}
  Говорят, что граф $G = (V, \alpha)$ называется реконструируемым, если он
  изоморфен всякой своей реконструкции.
\end{definition}

\begin{definition}[Гипотеза Келли-Улама]
  Гипотеза вершинной реконструируемости --- все неориентированные графы с числом
  вершин больше двух являются вершинно-реконструируемыми.

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

  Для ориентированных графов существует бесконечные семейства пар
  нереконструируемых орграфов.
  \label{def:kelly-ulam-conjecture}
\end{definition}

\begin{definition}[Гипотеза Харари]
  Гипотеза рёберное реконструируемости --- всякий неориентированный граф с
  числом рёбер больше трёх является рёберно-реконструируемым.
  \label{def:harari-conjecture}
\end{definition}

\section{Инварианты. Примеры полных инвариантов.}

\begin{definition}
  Инвариантом графа называется один или более параметров графа, которые являются
  одинаковыми для всех изоморфных графов.
  \label{def:invariant}
\end{definition}

\begin{definition}
  Инвариант называется полным, если он различен для всех неизоморфных графов.
\end{definition}

\textbf{TODO:} Добавить примеры полных инвариантов.

\section{Отказоустойчивые реализации. Вершинные и реберные расширения.
Минимальные, неприводимые, тривиальные, точные расширения.}

\begin{definition}
  Под отказом элемента системы будем понимать удаление из графа системы
  соответствующей вершины и всех её рёбер или дуг.
  \label{def:fault-vert}
\end{definition}

\begin{definition}
  Под отказом связи между элементами будем понимать удаление из графа системы
  соответствующего связи ребра или дуги.
  \label{def:fault-edge}
\end{definition}

\begin{definition}
  Говорят, что система $\Sigma^*$ $k$-отказоустойчиво моделирует систему
  $\Sigma$, если граф $G(\Sigma)$ вкладывается в любой граф, получающийся из
  графа $G(\Sigma^*)$ удалением любых $k$ вершин и всех связанных с ними
  рёбер (вершинная отказоустойчивость).

  Система $\Sigma^*$ --- $k$-отказоустойчивая реализация системы $\Sigma$.
\end{definition}

\begin{definition}
  Система $\Sigma^*$ называется оптимальной $k$-отказоустойчивой реализацией
  (вершинной) системы $\Sigma$, если выполняются следующие условия:
  \begin{enumerate}
    \item Система $\Sigma^*$ является $k$-ОУР (вершинной) системы $\Sigma$;
    \item Система $\Sigma^*$ имеет минимально возможное число вершин;
    \item
      Из всех систем, удовлетворяющих условиям 1 и 2 система $\Sigma^*$ имеет
      минимально возможное число рёбер.
  \end{enumerate}
  \label{def:optimal-impl}
\end{definition}

\begin{definition}
  Граф $G^*$ является вершинным (рёберным) $k$-расширением графа $G$, если граф
  $G$ вкладывается в любой граф, получающийся из $G^*$ удалением любых $k$
  вершин и связанных с ними рёбер (просто рёбер).
\end{definition}

\begin{definition}
  Граф $G^*$ называется $k$-неприводимым расширением (вершинным или рёберным)
  графа $G$, есть $G^*$ является $k$-расширением, а никакая его часть
  (собственная) не является $k$-расширением графа $G$.
\end{definition}

\begin{definition}
  Граф $G^*$ называется тривиальным расширением графа $G$, если $G^* = G + K_k$,
  то есть тривиальное $k$-расширение получается из графа добавлением $k$
  вершин и связи их между собой и всеми вершинами графа $G$.

  Очевидно, что тривиальное расширение является и вершинным, и рёберным
  $k$-расширением графа.
\end{definition}

\begin{definition}
  Граф $G^* = (V^*, \alpha^*)$ называется минимальным вершинным $k$-расширением
  графа $G = (V, \alpha)$, если выполняются три условия:
  \begin{enumerate}
    \item $G^*$ является вершинным $k$-расширением графа $G$;
    \item $G^*$ имеет на $k$ вершин больше, чем $G$: $|V^*| = |V| + k$;
    \item
      Среди всех графов, удовлетворяющих условиям 1 и 2, $G^*$ имеет минимально
      возможное число рёбер.
  \end{enumerate}

  Очевидно, что любой граф имеет минимальное вершинное $k$-расширение.
\end{definition}

\begin{definition}
  Граф $G^* = (V^*, \alpha^*)$ называется минимальным рёберным $k$-расширением
  графа $G = (V, \alpha)$, если выполняются три условия:
  \begin{enumerate}
    \item $G^*$ является рёберным $k$-расширением графа $G$;
    \item $G^*$ имеет столько же вершин, сколько и $G$: $|V^*| = |V|$;
    \item
      Среди всех графов, удовлетворяющих условиям 1 и 2, $G^*$ имеет минимально
      возможное число рёбер.
  \end{enumerate}

  Не всякий граф имеет минимальное рёберное $k$-расширение.
\end{definition}

\section{Минимальные вершинные расширения, основные свойства. Леммы. Минимальные
вершинные 1"=расширения цепей. Точные расширения. Минимальные вершинные
1-расширения циклов.}

\begin{lemma}
  Если в графе $G$ минимальная из степеней вершин $d > 0$, то МВ-kР не содержит
  вершин степени меньше $d + k$.
\end{lemma}

\begin{lemma}
  Если в графе $G$ максимальная из степеней вершин есть $d$, и таких вершин
  $m$, то МВ-kР содержит не менее, чем $(m + k)$ вершин степени не ниже $d$.
\end{lemma}

\begin{lemma}
  Если в графе $G$ максимальная из степеней вершин есть $d$, то МВ-kР содержит
  не менее, чем $kd$ дополнительных рёбер.
\end{lemma}

\begin{lemma}
  \textbf{TODO:} ЧТО??

  $G = (V, \alpha)$, $d > 0$ --- минимальная из степеней вершин.

  $G^* = (V^*, \alpha^*)$ и в $G^*$ $d(v) < d + k$.
\end{lemma}

\begin{lemma}
  Рассмотрим граф, получающийся из $G^*$ удалением $k$ вершин, смежных с $v$.
  (Если $d(v) < k$, то удаление всех вершин, смежных с $v$, и $k - d(v)$
  произвольных вершин, отличных от $v$).

  В получившемся графе степень вершины $v < d$. Очевидно, что $G$ нельзя будет
  вложить в получившийся граф, это противоречит предположению $\implies
  d(v) < d + k$.
\end{lemma}

\begin{lemma}
  \textbf{TODO:} ЧТО?? №2

  $G = (V, \alpha)$, $d > 0$ --- максимальная из степеней вершин.

  $G^* = (V^*, \alpha^*)$ и в $G^*$ менее чем $m + k$ вершин имеют степень $\geq
  d$.
\end{lemma}

\begin{lemma}
  Рассмотрим граф, получающийся из $G^*$ удалением $k$ вершин наибольшей степени.
  В получившемся графе меньше, чем $m$ вершин будут иметь степень не меньшую
  $d$. И, очевидно, что граф $G$ нельзя будет вложить в получившийся граф.
\end{lemma}

\begin{lemma}
  $G = (V, \alpha)$, $d > 0$ --- максимальная из степеней вершин.

  В $G^*$ по крайней мере на $k$ вершин степени $\geq d$ больше, чем в графе
  $G$.

  Рассмотрим граф, получающийся удалением $k$ вершин максимальной степени.
  Исходный граф по условию вкладывается в получившийся граф, а сам граф
  отличается от МВ-kР не менее, чем на $dk$ рёбер.
\end{lemma}

\begin{definition}
  Граф $G = (V, \alpha)$ называется $n$-вершинной цепью и обозначается $P_n$,
  или его вершины $V = \set{v_1, \dots, v_n}$ могут быть занумерованы таким
  способом, чтобы $\alpha$ имело вид:
  \begin{equation*}
    \alpha = \set{\set{v_i, v_{i + 1}}, i = \overline{1, n - 1}}
  \end{equation*}
\end{definition}

\begin{definition}
  Вершины $u$ и $v$ называются подобными, если существует автоморфизм $\varphi :
  \varphi(u) = v$.
\end{definition}

\begin{definition}
  Граф, все вершины которого подобны, называется вершинно"=симметрическим
  (вершинно"=транзитивным).
\end{definition}

\begin{theorem}[О МВ-1В цепи, Хейз]
  Единственным с точностью до изоморфизма МВ-1Р цепи $P_n$ является цикл
  $C_{n + 1}$.
\end{theorem}
\begin{proof}
  По лемме ??? для любого МВ-1Р цепи не может содержать вершин степени меньше
  двух. Очевидно, что $C_{n + 1}$ является В-1Р цепи $P_n$.

  С другой стороны, цикл $C_{n + 1}$ имеет все вершины степени 2, то есть имеет
  минимально возможное число рёбер $\implies C_{n + 1}$ --- МВ-1Р цепи $P_n$.

  Докажем, что других не существует.

  Предположим, $G^* = (V^*, \alpha^*)$ также является МВ-1Р цепи $P_n$. Тогда
  $G^*$ также будет отличаться от цепи $P_n$ на два дополнительных ребра, причём
  степени всех вершин должны быть равны двум. Очевидно, что добавить в этом
  случае два ребра можно единственно возможным способом, то есть $G^* \cong
  C_{n + 1}$.
\end{proof}

\begin{definition}
  Точным вершинным $k$-расширением графа $G = (V, \alpha)$ называется граф
  $G^* = (V^*, \alpha^*)$: любой граф, получающийся из $G^*$ удалением
  произвольных $k$ вершин вместе с рёбрами, изоморфен $G$.

  Цикл $C_{n + 1}$ является ТВ-1Р цепи $P_n$.
\end{definition}

\textbf{TODO:} Лекция 3, страница 67 --- Лекция 5

\section{Минимальные реберные расширения, основные свойства. Минимальные
реберные 1-расширения цепей и циклов.}

\dots

\section{Связь точных расширений и симметричности.}

\dots



\chapter{Основные типы неориентированных графов}

\section{Пути в графе. Цепи и циклы в графе. Эксцентриситет, радиус и диаметр.
Центр и окраина. Связность.}

\begin{definition}
  Путём называется последовательность рёбер, в которой каждые два соседних ребра
  имеют общую вершину, и никакое ребро не встречается более одного раза. При этом
  считается, что оба конца каждого ребра, кроме первого и последнего, являются
  концами соседних с ним рёбер.
  \label{def:path}
\end{definition}

\begin{definition}
  Путь называется циклическим, если его первая и последняя вершины совпадают.
  \label{def:cyclic-path}
\end{definition}

\begin{definition}
  Путь, любая вершина которого принадлежит не более, чем двум его рёбрам,
  называется простым.
  \label{def:simple-path}
\end{definition}

\begin{definition}
  Простой циклический путь называется циклом. Простой путь, не являющийся
  циклом, называется цепью.
  \label{def:chain}
\end{definition}

\section{Теорема о связности двух нечетных вершин. Достаточное условие
связности.}

\dots

\section{Точки сочленения, мосты.}

\dots

\section{Деревья. Лист и корень. Характеристическая теорема о деревьях. Теорема
о центре дерева.}

\dots

\section{Изоморфизм деревьев: алгоритм Эдмондса, алгоритм WAV. Кодирование
деревьев.}

\dots

\section{Уровневые коды. Канонические коды. Код Прюфера.}

\dots

\section{Сеть. Остовное (покрывающее) дерево. Алгоритмы Прима и Краскала.}

\dots

\section{Укладки графов. Укладки на сфере и в пространстве. Планарные графы.
Планарность деревьев.}

\dots

\section{Грань. Теорема Эйлера и её обобщения. Триангуляция, максимально плоский
граф. Следствия из теоремы: если всякая грань k-элементный цикл, число ребер в
триангуляции, необходимое условие планарности, степень вершины в триангуляции.}

\dots

\section{Графы типа 1 и типа 2. Стягивание ребра, минор. Критерии планарности
(Понтрягин-Куратовский, Вагнер). Прямолинейное изображение. Род поверхности, род
графа, число скрещиваний.}

\dots

\section{Эйлеровы графы. Критерий эйлеровости графа. Критерий существования
эйлерова пути.}

\dots

\section{Гамильтоновы графы. Доказательство с нулевым разглашением гамильтонова
цикла. Теорема Оре. Теорема Дирака (следствие т. Оре). Достаточное условие Поша.
Достаточное условие Хватала.}

\dots

\section{Замыкание. Критерий и достаточное условие Бонди-Хватала.}

\dots




\chapter{Пути в орграфах}

\section{Источники и стоки. Фактор-граф. Конденсация и ее свойства.
Бесконтурность конденсации.}
% Лекция 12

\begin{definition}
  Источником в орграфе называется такая его вершина, которая не достижима ни из
  какой другой его вершины.
  \label{def:source}
\end{definition}

\begin{definition}
  Стоком в орграфе называется вершина, из которой не достижима никакая другая
  вершина орграфа.
  \label{def:sink}
\end{definition}

\begin{definition}
  Пусть $\vec{G} = (V, \alpha)$ --- некоторый орграф, а $\theta \subseteq V
  \times V$ --- отношение эквивалентности на множестве его вершин.

  Фактор-графом орграфа $\vec{G}$ по эквивалентности $\theta$ называется орграф
  $\vec{G}/\theta$, вершинами которого являются классы эквивалентности отношения
  $\theta$, при этом из вершины $\theta(u)$ проведена дуга в $\theta(v)$, если
  существуют вершины $u' \in \theta(u), v' \in \theta(v) : (u', v') \in \alpha$.
  \label{def:factor}
\end{definition}

\begin{definition}
  Конденсация орграфа $\vec{G} = (V, \alpha)$ --- это фактор-граф
  $\vec{G}/\varepsilon$ (по отношению взаимной достижимости).

  Так как классами отношения $\varepsilon$ являются сильные компоненты орграфа,
  то они и будут вершинами конденсации.
  \label{def:condensation}
\end{definition}

% TODO: свойства конденсации

\begin{theorem}[Бесконтурность конденсации]
  Конденсация всякого орграфа является бесконтурным графом.
  \label{thm:acyclic-condensation}
\end{theorem}
\begin{proof}
  Предположим, что это не так. Пусть $\vec{G} = (V, \alpha)$ и в
  $\vec{G}/\varepsilon$ существует нетривиальный контур. $\varepsilon(u_1) \to
  \varepsilon(u_2) \to \dots \to \varepsilon(u_k),\, k > 1$.

  В любом классе отношения $\varepsilon$ орграфа $\vec{G}$ все вершины
  взаимно достижимы. $\varepsilon(u_1) \to \varepsilon(u_2) \to \dots \to
  \varepsilon(u_k) \to \varepsilon(u_1)$.

  По определению конденсации в $\vec{G}$ существуют вершины $u_1' \in
  \varepsilon(u_1),\, u_2' \in \varepsilon(u_2) : (u_1', u_2') \in \alpha$ в
  орграфе $\vec{G}$. Вершина $u_2$ достижима из $u_1$.

  Аналогично, $u_3$ достижима из $u_2$ и так далее. $u_k$ достижима из $u_{k -
  1}$, $u_1$ достижима из $u_k$.

  В силу транзитивности получаем, что вершина $u_1$ достижима из $u_2$ и
  наоборот. То есть $u_1$ и $u_2$ взаимно достижимы. По определению
  конденсации $u_1$ и $u_2$ должны принадлежать одному классу $\varepsilon$.
  \emph{Это противоречие}.
\end{proof}

\section{Раскраски графов. Критерий двудольности. Теорема о 5 красках}

\begin{definition} \label{def:coloring}
  Рассмотрим граф $G = (V, \alpha)$. Каждой его вершине припишем некоторый цвет
  так, чтобы смежные вершины имели разные цвета. Обозначим цвета числами $1,
  \dots, p$. Тогда раскраску графа можно рассматривать как функцию $f : V \to
  \set{1, p}$ если $\set{v_i, v_j} \in \alpha \implies f(v_i) \neq f(v_j)$.
  При этом говорят, что граф $G$ допускает раскраску в $p$ цветов или является
  $p$-раскрашиваемым.
\end{definition}

\begin{definition} \label{def:chroma-num}
  Минимальное значение $p$, при котором граф является $p$-раскрашиваемым,
  называется его хроматическим числом и обозначается $\chi(G)$. Аналогичным
  образом можно рассматривать раскраску ребер. Соответствующий хроматическому
  числу параметр в этом случае называется хроматическим индексом.
\end{definition}

Интерес представляет описание графов с заданным хроматическим числом. Например,
$\chi(G) = 1$ --- вполне несвязные $O_n$. Графы с $\chi(G) = 2$ --- это
двудольные графы, отличные от вполне несвязных.

\begin{theorem}[Кёнига, Критерий двудольности]
  Граф является двудольным $\iff$ он не содержит циклов нечётной длины.
  \label{thm:konig} \label{thm:crit-bipart}
\end{theorem}

\begin{theorem}[О 5 красках, Хивуд]
  Всякий планарный граф допускает раскраску в 5 цветов, то есть $\chi(G) \leq
  5$.
  \label{thm:5-colors}
\end{theorem}
\begin{proof}
  Очевидно, что $\forall G = (V, \alpha),\, n \leq 5$, допускает раскраску
  в 5 цветов.

  Доказательство по ММИ. Пусть $n$-вершинный планарный граф с $n > 5$
  допускает раскраску в 5 цветов. Покажем, что граф $H$ с $(n + 1)$ вершинами
  тоже допускает раскраску в 5 цветов.

  В силу планарности $H$ в нём существует вершина $v$ со степенью меньше или
  равной 5. Рассмотрим два случая:
  \begin{enumerate}
    \item
      $d(v) < 5$. Тогда $H - \set{v}$ --- по предположению 5-раскрашиваемый.
      Возвращаясь к графу $H$, остальные раскрашиваем как $H - \set{v}$, а
      вершину $v$ в цвет, отличный от цвета смежных вершин.
    \item
      $d(v) = 5$. $v_1, \dots, v_5$ не могут быть все попарно смежными (иначе
      будет $K_5$). То есть как минимум одна пара этих вершин, несмежных между
      собой. Пусть это $v_1$ и $v_2$. Рассмотрим граф, получающийся из $H$
      объединением $v_1$ и $v_2$ (\link[def:factor]{фактор-граф} по отношению
      $\theta$, где $\set{v_1, v_2}$). По предположению этот граф допускает
      раскраску пятью цветами. Возвращаясь к $H$, оставляем раскраску, а $v_1$ и
      $v_2$ раскрашиваем в цвет $\set{v_1, v_2}$.
  \end{enumerate}
\end{proof}

\end{document}
