<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stelnov</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stelnov"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Stelnov"/>
		<updated>2026-05-19T14:02:06Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62888</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62888"/>
				<updated>2017-12-22T15:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Теорема о паросочетаниях */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;. Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
# Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;. Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;. По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда: &amp;lt;tex&amp;gt;\Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt; Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
В качестве множества вершин графа возьмём &amp;lt;tex&amp;gt;V = \mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; (таким образом, граф будет содержать &amp;lt;tex&amp;gt;n^{2}&amp;lt;/tex&amp;gt; вершин). Каждая вершина &amp;lt;tex&amp;gt;(x, y)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; соединяется рёбрами со следующими восьмую вершинами:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(все арифметические вычисления производятся по модулю &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;). Таким образом, степень каждой вершины графа равна 8. При достаточно больших &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в этом графе не будет кратных рёбер.&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://compsciclub.ru/media/course_class_attachments/expanders-notes-spb-appendix.pdf Приложение к лекциям об экспандерах (CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62887</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62887"/>
				<updated>2017-12-22T15:32:30Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
В качестве множества вершин графа возьмём &amp;lt;tex&amp;gt;V = \mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; (таким образом, граф будет содержать &amp;lt;tex&amp;gt;n^{2}&amp;lt;/tex&amp;gt; вершин). Каждая вершина &amp;lt;tex&amp;gt;(x, y)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; соединяется рёбрами со следующими восьмую вершинами:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(все арифметические вычисления производятся по модулю &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;). Таким образом, степень каждой вершины графа равна 8. При достаточно больших &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в этом графе не будет кратных рёбер.&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://compsciclub.ru/media/course_class_attachments/expanders-notes-spb-appendix.pdf Приложение к лекциям об экспандерах (CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62886</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62886"/>
				<updated>2017-12-22T15:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Маргулис-Габбер-Галил */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
В качестве множества вершин графа возьмём &amp;lt;tex&amp;gt;V = \mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; (таким образом, граф будет содержать &amp;lt;tex&amp;gt;n^{2}&amp;lt;/tex&amp;gt; вершин). Каждая вершина &amp;lt;tex&amp;gt;(x, y)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt; соединяется рёбрами со следующими восьмую вершинами:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(все арифметические вычисления производятся по модулю &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;). Таким образом, степень каждой вершины графа равна 8. При достаточно больших &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в этом графе не будет кратных рёбер.&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62885</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62885"/>
				<updated>2017-12-22T15:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Маргулис-Габбер-Галил */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\cfrac{\mathbb Z}{n \mathbb Z}&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62884</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62884"/>
				<updated>2017-12-22T15:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb \cfrac{Z}{n} \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62883</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62883"/>
				<updated>2017-12-22T15:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{\tfrac{1 - \epsilon}{\epsilon}} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62882</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62882"/>
				<updated>2017-12-22T14:53:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра &amp;lt;tex&amp;gt;\{v, pi_{i}(v)\}&amp;lt;/tex&amp;gt; попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено небольше &amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leqslant \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leqslant \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leqslant k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leqslant n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leqslant \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leqslant k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leqslant &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leqslant \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Теорема о паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leqslant \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;(-1, 1)&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leqslant 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leqslant 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и [[PCP-теорема|Теорема PCP]]. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leqslant d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62881</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62881"/>
				<updated>2017-12-22T14:31:44Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leqslant \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leqslant \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62870</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62870"/>
				<updated>2017-12-21T17:44:09Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Конструирование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия {{---}} алгебраическая и теоретико {{---}} групповая, вторая {{---}} аналитическая, использующая аддитивную комбинаторику, и третья {{---}} комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62869</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62869"/>
				<updated>2017-12-21T17:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62868</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62868"/>
				<updated>2017-12-21T17:34:22Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Спектральное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt; {{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62867</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62867"/>
				<updated>2017-12-21T17:32:35Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Спектральное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum\limits_{i=1}^{n} v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62866</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62866"/>
				<updated>2017-12-21T17:31:33Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Лемма о перемешивании */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу и Линайл показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62865</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62865"/>
				<updated>2017-12-21T17:29:19Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Однородный (комбинаторный) экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \cfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\cfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \cfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\cfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62864</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62864"/>
				<updated>2017-12-21T17:25:26Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Коды, исправляющие ошибки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \cfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62863</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62863"/>
				<updated>2017-12-21T17:24:50Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Спектральное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\cfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62862</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62862"/>
				<updated>2017-12-21T17:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Основные определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' (англ. ''set of neighbors'') для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62861</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62861"/>
				<updated>2017-12-21T17:17:06Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Основные определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Множество соседей''' для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62860</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62860"/>
				<updated>2017-12-21T17:16:33Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Граф-экспандер''' (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62858</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62858"/>
				<updated>2017-12-21T17:14:32Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'') называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62856</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62856"/>
				<updated>2017-12-21T17:13:24Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' (англ. ''Bipartite expander'' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62855</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62855"/>
				<updated>2017-12-21T17:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Лемма о перемешивании */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\cfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\cfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(\tfrac{1}{\lambda})))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62854</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62854"/>
				<updated>2017-12-21T17:07:15Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Хранение множества со сверхбыстрым запросом элементов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, \ldots , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, \ldots , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;\cfrac{1}{3}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \cfrac{7d|A|}{8}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями. &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;\cfrac{2}{3}&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;\cfrac{d}{3}&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{7d}{8}(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + \cfrac{2d|T|}{3}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant \cfrac{3|S|}{5}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62853</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62853"/>
				<updated>2017-12-21T16:54:31Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;\cfrac{1}{d}&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;\cfrac{n}{1000d}&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7nd}{8 \cdot 1000d} = \cfrac{7n}{8000} &amp;gt; \cfrac{n}{2000}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62852</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62852"/>
				<updated>2017-12-21T16:48:01Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Коды, исправляющие ошибки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = \tfrac{1}{2000d}&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62851</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62851"/>
				<updated>2017-12-21T16:44:29Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Спектральное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{\tfrac{1}{2}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62850</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62850"/>
				<updated>2017-12-21T16:42:17Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Реберное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;\cfrac{n}{2}&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62849</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62849"/>
				<updated>2017-12-21T16:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Однородный (комбинаторный) экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;\bigg(\cfrac{ne}{k}\bigg)^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[\bigg(\cfrac{s}{n}\bigg)^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62848</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62848"/>
				<updated>2017-12-21T16:36:02Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[(\tfrac{s}{n})^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\cfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
\bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;\cfrac{ne}{2 ^ {\epsilon d}}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;\cfrac{ne}{2^{\epsilon d}} &amp;lt; \cfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62847</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62847"/>
				<updated>2017-12-21T16:29:47Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[(\tfrac{s}{n})^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;\tfrac{|T|}{m}&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq \cfrac{1}{2}&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot \tfrac{1}{2} ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &amp;lt;tex&amp;gt;ne \cdot \tfrac{1}{2}^{\epsilon d} &amp;lt; \tfrac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62846</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62846"/>
				<updated>2017-12-21T16:22:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Однородный (комбинаторный) экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' (англ. ''combinatorial expander'') называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq \tfrac{n}{2} \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;\tfrac{d}{2}&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;\tfrac{n}{2}&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{\tfrac{d|S|}{2}} \leq \sum\limits_{s = 1}^{\tfrac{n}{2}} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{\tfrac{n}{2}}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{\tfrac{sd}{2}} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{\tfrac{n}{2}} \bigg[(\tfrac{s}{n})^{\tfrac{d}{2} - 2 - \epsilon} \cdot (1 + \epsilon)^{\tfrac{d}{2}} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq \tfrac{n}{2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;\tfrac{1}{2}&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62840</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62840"/>
				<updated>2017-12-20T22:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: объединил основные определения и определения расширений&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Однородный (комбинаторный) экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Двудольный экспандер ====&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== теорема о Паросочетаниях ====&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62839</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62839"/>
				<updated>2017-12-20T22:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62838</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62838"/>
				<updated>2017-12-20T22:18:56Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Теория графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62837</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62837"/>
				<updated>2017-12-20T22:17:56Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Теория Графов]]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62836</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62836"/>
				<updated>2017-12-20T22:16:34Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62835</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62835"/>
				<updated>2017-12-20T22:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Маргулис-Габбер-Галил */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62834</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62834"/>
				<updated>2017-12-20T22:13:41Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Приложения и полезные свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62833</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62833"/>
				<updated>2017-12-20T22:12:59Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Приложения и полезные свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} Сеть сортировки]]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62832</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62832"/>
				<updated>2017-12-20T22:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Приложения и полезные свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} ?]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[[wikipedia:SL_(complexity)|Wikipedia {{---}} SL complexity]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62831</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62831"/>
				<updated>2017-12-20T22:09:15Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части &amp;lt;tex&amp;gt;(2)&amp;lt;/tex&amp;gt; было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма &amp;lt;tex&amp;gt;(1)&amp;lt;/tex&amp;gt; меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[[wikipedia:Cheeger_constant|Wikipedia {{---}} константа Чигера]]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[[wikipedia:Spectral theorem|Wikipedia {{---}} спектральная теорема]]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\frac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;[[wikipedia:Cayley_graph|Wikipedia {{---}} граф Кэли]]&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[[wikipedia:Expander_code|Wikipedia {{---}} корректирующие коды]]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[[wikipedia:Pseudorandom_number_generator|Wikipedia {{---}} генератор псевдослучайных чисел]]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[[wikipedia:Sorting_network|Wikipedia {{---}} ?]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[[wikipedia:Computer_network|Wikipedia {{---}} компьютерные сети]]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[[wikipedia:Erdős–Rényi model|Wikipedia {{---}} Erdős–Rényi model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf|Lifts, discrepancy and nearly optimal spectral gap]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[[wikipedia:Chernoff_bound|Wikipedia {{---}} граница Чернова]]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[[wikipedia:Randomized_algorithm|Wikipedia {{---}} теория дерандомизации]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62830</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62830"/>
				<updated>2017-12-20T21:45:43Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Маргулис-Габбер-Галил */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером и Галилом &amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62829</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62829"/>
				<updated>2017-12-20T21:43:44Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Реберное расширение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62828</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62828"/>
				<updated>2017-12-20T21:42:38Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* теорема о паросочетаниях */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о Паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62827</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62827"/>
				<updated>2017-12-20T21:38:44Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L \ |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62826</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62826"/>
				<updated>2017-12-20T21:36:39Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Двудольный экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt; \leq \ \sum\limits_{S, T}\bigg(\cfrac{|T|}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* \bigg(\cfrac{(1 - \epsilon)sd}{m}\bigg)^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg(\cfrac{ne}{s}\bigg)^{s} \cdot &lt;br /&gt;
\bigg(\cfrac{me}{(1 - \epsilon)sd}\bigg)^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{k} &lt;br /&gt;
\bigg[\cfrac{ne}{s} \cdot &lt;br /&gt;
\bigg(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m}\bigg)^{\epsilon d}\bigg]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62825</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62825"/>
				<updated>2017-12-20T21:27:09Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Однородный (комбинаторный) экспандер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq \bigg(\cfrac{|T|}{n}\bigg)^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;\bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Вероятность, что свойство экспандерности графа нарушено &amp;lt;tex&amp;gt;\leq \sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{S, T} \bigg(\cfrac{|T|}{n}\bigg)^{(d/2)|S|} \leq \sum\limits_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum\limits_{s = 1}^{n/2}&lt;br /&gt;
  \bigg(\cfrac{ne}{s}\bigg)^{s} \cdot&lt;br /&gt;
  \bigg(\cfrac{ne}{(1 + \epsilon)s}\bigg)^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  \bigg(\cfrac{(1 + \epsilon)s}{n}\bigg)^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{s = 1}^{n/2} \bigg[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\bigg]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Prob[&amp;lt;/tex&amp;gt;свойство экспандерности графа нарушено&amp;lt;tex&amp;gt;] \leq \ \sum_{S, T}^{}(\cfrac{|T|}{m})^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* (\cfrac{(1 - \epsilon)sd}{m})^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{k} &lt;br /&gt;
(\cfrac{ne}{s})^{s} \cdot &lt;br /&gt;
(\cfrac{me}{(1 - \epsilon)sd})^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} &lt;br /&gt;
\big[\cfrac{ne}{s} \cdot &lt;br /&gt;
(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m})^{\epsilon d}\big]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят 1. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62824</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62824"/>
				<updated>2017-12-20T21:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S: S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S: S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее 1. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к 1) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq (\cfrac{|T|}{n})^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;(\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Prob[свойство экспандерности графа нарушено] &amp;lt;tex&amp;gt;\leq \sum_{S, T} (\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{S, T}(\cfrac{|T|}{n})^{(d/2)|S|} \leq \sum_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{n/2} &lt;br /&gt;
  (\cfrac{ne}{s})^{s} \cdot&lt;br /&gt;
  (\cfrac{ne}{(1 + \epsilon)s})^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  (\cfrac{(1 + \epsilon)s}{n})^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{n/2} \big[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\big]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S: S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Prob[&amp;lt;/tex&amp;gt;свойство экспандерности графа нарушено&amp;lt;tex&amp;gt;] \leq \ \sum_{S, T}^{}(\cfrac{|T|}{m})^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T: T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* (\cfrac{(1 - \epsilon)sd}{m})^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{k} &lt;br /&gt;
(\cfrac{ne}{s})^{s} \cdot &lt;br /&gt;
(\cfrac{me}{(1 - \epsilon)sd})^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} &lt;br /&gt;
\big[\cfrac{ne}{s} \cdot &lt;br /&gt;
(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m})^{\epsilon d}\big]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят 1. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S: S \supseteq L |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S: S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x: x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S: S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62823</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62823"/>
				<updated>2017-12-20T19:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. Различные формализации этих понятий дают различные типы экспандеров: [[Графы-экспандеры#Реберное расширение|рёберный расширитель]], [[Графы-экспандеры#Вершинное расширение|вершинный расширитель]], и [[Графы-экспандеры#Спектральное расширение|спектральный расширитель]].&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее 1. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к 1) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq (\cfrac{|T|}{n})^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;(\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Prob[свойство экспандерности графа нарушено] &amp;lt;tex&amp;gt;\leq \sum_{S, T} (\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{S, T}(\cfrac{|T|}{n})^{(d/2)|S|} \leq \sum_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{n/2} &lt;br /&gt;
  (\cfrac{ne}{s})^{s} \cdot&lt;br /&gt;
  (\cfrac{ne}{(1 + \epsilon)s})^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  (\cfrac{(1 + \epsilon)s}{n})^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{n/2} \big[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\big]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Prob[&amp;lt;/tex&amp;gt;свойство экспандерности графа нарушено&amp;lt;tex&amp;gt;] \leq \ \sum_{S, T}^{}(\cfrac{|T|}{m})^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* (\cfrac{(1 - \epsilon)sd}{m})^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{k} &lt;br /&gt;
(\cfrac{ne}{s})^{s} \cdot &lt;br /&gt;
(\cfrac{me}{(1 - \epsilon)sd})^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} &lt;br /&gt;
\big[\cfrac{ne}{s} \cdot &lt;br /&gt;
(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m})^{\epsilon d}\big]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят 1. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S \supseteq L |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders2009.pdf Определения и несколько примеров применений]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62822</id>
		<title>Графы-экспандеры</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D1%80%D0%B0%D1%84%D1%8B-%D1%8D%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D1%8B&amp;diff=62822"/>
				<updated>2017-12-20T15:15:08Z</updated>
		
		<summary type="html">&lt;p&gt;Stelnov: /* Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф-экспандер (или расширяющийся граф, англ. ''expander graph'') {{---}} в комбинаторике сильно разреженный [[Основные определения теории графов#Ориентированные графы|граф]], при этом связность определяется по вершинам, дугам или спектру. Это конечный ненаправленный ''мультиграф'', в котором любое подмножество вершин, не являясь «слишком большим», имеет «сильную» связность. Различные формализации этих понятий дают различные типы экспандеров: [[Графы-экспандеры#Реберное расширение|рёберный расширитель]], [[Графы-экспандеры#Вершинное расширение|вершинный расширитель]], и [[Графы-экспандеры#Спектральное расширение|спектральный расширитель]].&lt;br /&gt;
&lt;br /&gt;
Любой связный граф является экспандером, однако различные связные [[Основные определения теории графов#Ориентированные графы|графы]] имеют различные параметры расширителя. [[Основные определения теории графов#Часто используемые графы|Полный граф]] имеет лучшие параметры расширителя, но имеет наибольшую возможную степень. Неформально говоря, граф является хорошим экспандером, если он имеет низкую степень и высокий параметр расширителя.&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Множество соседей для множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; называется &amp;lt;tex&amp;gt;\Gamma(S) = \{v: \exists w \in S:\ (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' в графе могут присутствовать кратные ребра и петли. Если у каждой вершины есть петли, то &amp;lt;tex&amp;gt;\forall S \supseteq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Однородный (комбинаторный) экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Однородный (комбинаторный) экспандер''' называется [[Основные определения теории графов#Ориентированные графы|граф]] &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon) \ (n = |V|&amp;lt;/tex&amp;gt;, d {{---}} степень каждой вершины, константа &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1)&amp;lt;/tex&amp;gt;, если выполняется условие: &lt;br /&gt;
для &amp;lt;tex&amp;gt;\ \forall S \subseteq V, \ |S| \leq n/2 \ \ \exists \ \Gamma(S)&amp;lt;/tex&amp;gt;, которое достаточно велико, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; (1 + \epsilon)|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' чем больше &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, тем сильнее свойство расширения. &lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число меньшее 1. Тогда для всех достаточно больших четных &amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt; и всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует однородный (комбинаторный) экспандер с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Мы выберем граф случайно и покажем, что с положительной (и даже довольно близкой к 1) вероятностью такой граф оказывается экспандером. Отсюда будет следовать, что экспандеры существуют.&lt;br /&gt;
&lt;br /&gt;
Оценим вероятность того, что полученный в результате граф не является экспандером, если найдется множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; (состоящее из не более, чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин), все соседи которого лежат в некотором множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, состоящем из &amp;lt;tex&amp;gt;\lfloor (1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt; вершин.&lt;br /&gt;
&lt;br /&gt;
Зафиксируем некоторые множества вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Зафиксируем номер перестановки &amp;lt;tex&amp;gt;\pi_{i}&amp;lt;/tex&amp;gt;. Вероятность того, что для каждой вершины &amp;lt;tex&amp;gt;v \in S&amp;lt;/tex&amp;gt; второй конец ребра {&amp;lt;tex&amp;gt;v, pi_{i}(v)&amp;lt;/tex&amp;gt;} попадёт в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cfrac{|T|}{n} \cdot \cfrac{|T| - 1}{n - 1} \cdot \ldots \cdot \cfrac{|T| - |S| + 1}{n - |S| + 1} \leq (\cfrac{|T|}{n})^{|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку мы выбираем &amp;lt;tex&amp;gt;d/2&amp;lt;/tex&amp;gt; перестановок независимо, вероятность того, что данное событие произойдёт для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;(\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом, &lt;br /&gt;
&lt;br /&gt;
Prob[свойство экспандерности графа нарушено] &amp;lt;tex&amp;gt;\leq \sum_{S, T} (\cfrac{|T|}{n})^{(d/2)|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где суммирование происходит по всем множествам вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; и по всем множествам &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;\lfloor(1 + \epsilon)|S|\rfloor&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим сумму:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{S, T}(\cfrac{|T|}{n})^{(d/2)|S|} \leq \sum_{s = 1}^{n/2} \dbinom{s}{n} \cdot \dbinom{(1 + \epsilon)s}{n} \cdot (\cfrac{(1 + \epsilon)s}{n})^{sd/2}&amp;lt;/tex&amp;gt;. (1)&lt;br /&gt;
&lt;br /&gt;
Каждый биномиальный коэффициент &amp;lt;tex&amp;gt;\dbinom{k}{n}&amp;lt;/tex&amp;gt; можно оценить сверху величиной &amp;lt;tex&amp;gt;(\cfrac{ne}{k})^{k}&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{n/2} &lt;br /&gt;
  (\cfrac{ne}{s})^{s} \cdot&lt;br /&gt;
  (\cfrac{ne}{(1 + \epsilon)s})^{(1 + \epsilon)s} \cdot &lt;br /&gt;
  (\cfrac{(1 + \epsilon)s}{n})^{sd/2} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{n/2} \big[(s / n)^{d/2 - 2 - \epsilon} \cdot (1 + \epsilon)^{d/2} \cdot \cfrac{e^{1 + \epsilon} }{(1 + \epsilon)^{1 + \epsilon} }\big]^s&amp;lt;/tex&amp;gt;. (2)&lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;s \leq n/2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;1 + \epsilon &amp;lt; 2&amp;lt;/tex&amp;gt;. Таким образом, можно подобрать такое&lt;br /&gt;
&amp;lt;tex&amp;gt;d = d(\epsilon)&amp;lt;/tex&amp;gt;, чтобы выражение в квадратных скобках в правой части (2) было меньше &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; при всех значениях &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;. Следовательно, сумма (1) меньше единицы. Что означает, что с положительной вероятностью случайный граф является экспандером с параметрами &amp;lt;tex&amp;gt;(n, d, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Двудольный экспандер ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Двудольный экспандер''' называется [[Двудольные графы|двудольный граф]] &amp;lt;tex&amp;gt;G = (L,\ R,\ E)\ (L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; {{---}} вершины левой и правой доли соответственно, &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; {{---}} ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;) с параметрами &amp;lt;tex&amp;gt;(n,\ m,\ d,\ e)\ (n = |L|,\ m = |R|,\ d&amp;lt;/tex&amp;gt; - степень всех вершин в левой доле), если выполняется условие: для &amp;lt;tex&amp;gt;\forall S \subseteq L \ |S| \leq k \ \ |\Gamma(S)| &amp;gt; (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание 1:''' чем меньше значение &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; в данном определении, тем сильнее свойство расширения. &lt;br /&gt;
&lt;br /&gt;
'''Замечание 2:''' в приложениях как правило используют двудольные экспандеры с &amp;lt;tex&amp;gt;\epsilon &amp;lt; 1/2&amp;lt;/tex&amp;gt;, а для применения в теории кодирования (для построения экспандерных кодов) часто требуются двудольные экспандеры с ещё меньшими значениями &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt; {{---}} некоторое положительное число. Тогда для &amp;lt;tex&amp;gt;\forall \ n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k \leq n&amp;lt;/tex&amp;gt; найдется &amp;lt;tex&amp;gt;d = O(\log n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = O(dk)&amp;lt;/tex&amp;gt; такие, что &amp;lt;tex&amp;gt;\exists&amp;lt;/tex&amp;gt; двудольный экспандер с параметрами &amp;lt;tex&amp;gt;(n, m, d, k, \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Выберем случайный граф, то есть для &amp;lt;tex&amp;gt;\forall \ v \in L&amp;lt;/tex&amp;gt; случайно и независимо выбираем &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; соседей в &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; (разрешаются кратные ребра). Покажем с большой вероятностью такой граф оказывается экспандером. &lt;br /&gt;
&lt;br /&gt;
Граф не является экспандером, если &amp;lt;tex&amp;gt;\exists T \subset R: \ |T| = (1 - \epsilon)d|S|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\exists S \subset L: \ \Gamma(S) = T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поскольку при случайном выборе графа мы приводим все &amp;lt;tex&amp;gt;nd&amp;lt;/tex&amp;gt; рёбер случайно и независимо, то для &amp;lt;tex&amp;gt;\forall&amp;lt;/tex&amp;gt; ребра вероятность того, что его правый конец окажется в фиксированном множестве &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, равна &amp;lt;tex&amp;gt;|T|/m&amp;lt;/tex&amp;gt;. Следовательно, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Prob[&amp;lt;/tex&amp;gt;свойство экспандерности графа нарушено&amp;lt;tex&amp;gt;] \leq \ \sum_{S, T}^{}(\cfrac{|T|}{m})^{sd}&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
где суммирование происходит по всем множествам &amp;lt;tex&amp;gt;S \subset L \ |S| \leq k \ \forall T \subset R \ |T| = (1 - \epsilon)d|S| &amp;lt;/tex&amp;gt;. Оценим данную сумму сверху:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} \dbinom{s}{n} \* \dbinom{(1 - \epsilon)sd}{m} \* (\cfrac{(1 - \epsilon)sd}{m})^{sd}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценивая биномиальные коэффициенты, получаем, что сумма не превосходит&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\sum_{s = 1}^{k} &lt;br /&gt;
(\cfrac{ne}{s})^{s} \cdot &lt;br /&gt;
(\cfrac{me}{(1 - \epsilon)sd})^{(1 - \epsilon)sd} \cdot &lt;br /&gt;
(\cfrac{(1 - \epsilon)sd}{m})^{sd} &lt;br /&gt;
\leq &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum_{s = 1}^{k} &lt;br /&gt;
\big[\cfrac{ne}{s} \cdot &lt;br /&gt;
(\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot &lt;br /&gt;
(1 - \epsilon)sd}{m})^{\epsilon d}\big]^{s}&lt;br /&gt;
&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt;m = Const * kd&amp;lt;/tex&amp;gt; (с достаточно большим значением &amp;lt;tex&amp;gt;Const&amp;lt;/tex&amp;gt;), чтобы для всех возможных s выполнялось неравенство &amp;lt;tex&amp;gt;\cfrac{e^{(1 - \epsilon)/\epsilon} \cdot (1 - \epsilon)sd}{m} \leq 1/2&amp;lt;/tex&amp;gt;. Тогда выражение в квадратных скобках не превосходит &amp;lt;tex&amp;gt;ne \cdot (1/2) ^{\epsilon d}&amp;lt;/tex&amp;gt;. Остаётся выбрать &amp;lt;tex&amp;gt;d &amp;gt; \cfrac{1}{\epsilon}\log(2en)&amp;lt;/tex&amp;gt;, и мы получаем &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;ne \cdot (1/2)^{\epsilon d} &amp;lt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для выбранных значений параметров сумм не превосходят 1. Это означает, что с положительной вероятностью случайный двудольный граф является экспандером c параметрами &amp;lt;tex&amp;gt;(n, \ m, \ k, \ d, \ \epsilon)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Замечание:''' константы в &amp;lt;tex&amp;gt;O&amp;lt;/tex&amp;gt; зависят от &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== теорема о паросочетаниях ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный граф]].&lt;br /&gt;
&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет совершенное паросочетание тогда и только тогда, когда &amp;lt;tex&amp;gt;\forall S \supseteq L |S| \leq \Gamma(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Будем доказывать по индукции&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;|L| = 1&amp;lt;/tex&amp;gt; очевидно &lt;br /&gt;
&lt;br /&gt;
Предположим, что верно для &amp;lt;tex&amp;gt;L: |L| &amp;lt; m&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим два случая:&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\forall S \supseteq L, |S| \neq 0&amp;lt;/tex&amp;gt; строго расширяется, то есть &amp;lt;tex&amp;gt;|\Gamma(S)| &amp;gt; |S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выберем &amp;lt;tex&amp;gt;\forall x \supset V(L) : (x, y) \in E&amp;lt;/tex&amp;gt;. Тогда рассмотрим двудольный граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt;, у которого левая доля &amp;lt;tex&amp;gt;L^{*} = L \diagdown {x}&amp;lt;/tex&amp;gt;, а правая &amp;lt;tex&amp;gt;R^{*} = R \diagdown {y}&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\forall S \supset L&amp;lt;/tex&amp;gt; удовлетворяет строгому неравенству теоремы, то каждое подмножество &amp;lt;tex&amp;gt;L^{*}&amp;lt;/tex&amp;gt; удовлетворяет неравенству, поскольку только одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; была удалена из &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;. Следовательно, по предположению индукции меньший граф &amp;lt;tex&amp;gt;G^{*}&amp;lt;/tex&amp;gt; имеет паросочетание. К этому паросочетанию добавляем ребро (x, y) что дает совершенное паросочетание.&lt;br /&gt;
&lt;br /&gt;
2. Пусть &amp;lt;tex&amp;gt;\exists\ T \in L, \ |T| \neq 0&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;|\Gamma(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\measuredangle&amp;lt;/tex&amp;gt; порожденные графы &amp;lt;tex&amp;gt;G_{1} = T \cup \Gamma(T)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2} = L \diagdown T \cup R \diagdown \Gamma(T)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По предположению индукции &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; имеет совершенное паросочетание (Заметим, что предположение индукции не может использовано непосредственно на &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;S \supseteq L \diagdown T&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \Gamma_{G_{2}}(S) = \Gamma_{G}(S \cup T) \diagdown \Gamma_{G}(T) \ \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;|\Gamma_{G_{2}}| \geqslant |S \cup T| - |T| = |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Неравенство верно, поскольку &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; удовлетворяет &amp;lt;tex&amp;gt;|\Gamma_{G}(S \cup T)| \geqslant |S \cup T|&amp;lt;/tex&amp;gt; и по предположению &amp;lt;tex&amp;gt;|\Gamma_{G}(T)| = |T|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Следовательно, &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; также удовлетворяет неравенству теоремы и по предположению индукции имеет паросочетание. Объединение совершенных паросочетаний &amp;lt;tex&amp;gt;G_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;G_{2}&amp;lt;/tex&amp;gt; {{---}} паросочетание для &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Определения расширений ==&lt;br /&gt;
===Реберное расширение===&lt;br /&gt;
''Рёберное расширение'' (также ''изопериметрическое число'' или константа Чигера&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Cheeger_constant]&amp;lt;/ref&amp;gt;) &amp;lt;tex&amp;gt;h(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(G) = \min\limits_{0 &amp;lt; |S|\leqslant \frac{n}{2}} \cfrac{|\partial_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где минимум берётся по всем непустым множествам &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не более чем &amp;lt;tex&amp;gt;n/2&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;\partial(S)&amp;lt;/tex&amp;gt; — ''граничные дуги'' множества &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть, множество дуг с единственной вершиной в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Вершинное расширение===&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{out}(G)&amp;lt;/tex&amp;gt; (также ''вершинное раширение'') графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{out}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{out}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S)&amp;lt;/tex&amp;gt; — ''внешняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин из &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{\text{out}}(S) = \{v \in V(G) \diagdown S: \exists w \in S (v, w) \in E\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Вершинное изопериметрическое число'' &amp;lt;tex&amp;gt;h_{in}(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_{in}(G) = \min\limits_{0 &amp;lt; |S|\leqslant \cfrac{n}{2}} \cfrac{|\Gamma_{\text{in}}(S)|}{|S|}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;\Gamma_{in}(S)&amp;lt;/tex&amp;gt; — ''внутренняя граница'' &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, то есть множество вершин &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, имеющих как минимум одного соседа в &amp;lt;tex&amp;gt;V(G)\setminus S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Gamma_{in}(S) = \Gamma(S) \diagdown \Gamma_{in}(S)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Спектральное расширение===&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является [[Основные определения теории графов#Часто используемые графы|d-регулярным]], возможно определение в терминах [[Алгебра|линейной алгебры]] на основе собственных значений [[Матрица смежности графа|матрицы смежности]] &amp;lt;tex&amp;gt;A = A(G)&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt; {{---}} число дуг между вершинами &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;. Поскольку &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; является симметричной, согласно спектральной теореме&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0]&amp;lt;/ref&amp;gt;, &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; имеет &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; действительных собственных значений &amp;lt;tex&amp;gt;\lambda_{1} \ge \lambda_{2} \ge \cdots \ge \lambda_{n}&amp;lt;/tex&amp;gt;. Известно, что эти значения лежат в промежутке &amp;lt;tex&amp;gt;[-d, d]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Граф регулярен тогда и только тогда, когда вектор &amp;lt;tex&amp;gt;u\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;u_{i}=1&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; является собственным вектором матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, а его собственное число будет постоянной степенью графа. Таким образом, мы имеем &amp;lt;tex&amp;gt;Au = du&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; — собственный вектор матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; с собственными значениями &amp;lt;tex&amp;gt;\lambda_{1} = d&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; — степень вершин графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Спектральный зазор графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; определяется как &amp;lt;tex&amp;gt;d-\lambda_{2}&amp;lt;/tex&amp;gt; и является мерилом спектрального расширения графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Известно, что &amp;lt;tex&amp;gt;\lambda_{n} = -d&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Двудольные графы|двудольный]]. Во многих случаях, например в [[Графы-экспандеры#Лемма о перемешивании|лемме о перемешивании]], необходимо ограничить снизу не только зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\lambda_{2}&amp;lt;/tex&amp;gt;, но и зазор между &amp;lt;tex&amp;gt;\lambda_{1}&amp;lt;/tex&amp;gt; и вторым максимальным по модулю собственным значением:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\{|\lambda_{2}|, |\lambda_{n}|\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку это собственное значение соответствует некоторому собственному вектору, ортогональному &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, его можно определить, используя отношение Рэлея:&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda=\max\limits_{0\neq v\perp u} \cfrac{\|Av\|_2}{\|v\|_2},&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|v\|_2=\left(\sum_{i=1}^n v_i^2\right)^{1/2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{---}} евклидова норма вектора &amp;lt;tex&amp;gt;v\in \mathbb {R} ^{n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нормализованная версия этого определения также широко используется и более удобна для получения определённых результатов. В таком случае рассматривается матрица &amp;lt;tex&amp;gt;{\tfrac {1}{d}}A&amp;lt;/tex&amp;gt;, являющаяся матрицей переходов графа G. Все её собственные значения лежат между &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. Если граф не регулярен, спектр графа может быть определён аналогичным образом, используя собственные значения [[Матрица Кирхгофа|матрицы Кирхгофа]]. Для направленного графа используются сингулярные значения матрицы сопряжения A, которые равны квадратным корням из собственных значений симметричной матрицы &amp;lt;tex&amp;gt;A^TA&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Конструирование==&lt;br /&gt;
Существуют три основные стратегии создания семейств графов расширений. Первая стратегия — алгебраическая и теоретико-групповая, вторая — аналитическая, использующая аддитивную комбинаторику, и третья — комбинаторная, использующая зигзаг-произведение и связанные комбинаторные произведения.&lt;br /&gt;
===Маргулис-Габбер-Галил===&lt;br /&gt;
[[Алгебра|Алгебраическое]] конструирование, основанное на графах Кэли&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Cayley_graph&amp;lt;/ref&amp;gt;, известно для различных вариантов экспандеров. Следующее конструирование принадлежит Маргулису и было проанализировано Габбером (Gabber) и Галилом (Galil)&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt;. Для любого натурального &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; строим граф, &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; со множеством вершин &amp;lt;tex&amp;gt;\mathbb Z _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathbb {Z} _{n}=\mathbb Z /n \mathbb Z&amp;lt;/tex&amp;gt; . Для любой вершины &amp;lt;tex&amp;gt;(x,y)\in \mathbb {Z} _{n}\times \mathbb {Z} _{n}&amp;lt;/tex&amp;gt;, её восемь соседей будут&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \pm 2y,y), (x \pm (2y+1),y), (x,y \pm 2x), (x,y \pm (2x+1)).&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполняется следующая теорема:&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; граф &amp;lt;tex&amp;gt;G_{n}&amp;lt;/tex&amp;gt; второе по величине собственное число удовлетворяет неравенству&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\lambda(G)\leq 5 \sqrt{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Граф Рамануджана===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] называется графом Рамануджана, если его второе по модулю собственное число &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} - o(1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Замечание:''' случайный [[Основные определения теории графов#Часто используемые графы|d-регулярный граф]] с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами почти является графом Рамануджана, так как выполняется неравенство &amp;lt;tex&amp;gt; \lambda \leq 2\sqrt {d-1} + \epsilon&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1 - o(1)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры применения экспандеров==&lt;br /&gt;
===Коды, исправляющие ошибки===&lt;br /&gt;
С помощью расширяющего графа можно посторить линейный код, позволяющий исправлять ошибки в доле &amp;lt;tex&amp;gt;\delta = 1/(2000d)&amp;lt;/tex&amp;gt; битов. Чтобы задать линейный код с длиной кодового слова n, достаточно описать его проверочную матрицу &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;слово &amp;lt;tex&amp;gt;x \in \{0, 1\}^n&amp;lt;/tex&amp;gt; является кодовым словом если и только если &amp;lt;tex&amp;gt;Hx^t = 0)&amp;lt;/tex&amp;gt;. Другими словами, нужно задать систему линейных уравнений для переменных &amp;lt;tex&amp;gt;x_1, \ldots , x_n&amp;lt;/tex&amp;gt; решения этой системы и будут кодовыми словами.&lt;br /&gt;
===Увеличение вероятности успеха в алгоритмах с датчиком случайных чисел===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; принадлежит сложностному [[RP|классу ''RP'']], если существует полиномиальный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; такой что&lt;br /&gt;
1. для &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
2. для &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt; не более чем для 1/2000 всех &amp;lt;tex&amp;gt;r \in \{0, 1\}^{poly(n)}&amp;lt;/tex&amp;gt; может выполняться &amp;lt;tex&amp;gt;A(x, r) = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Покажем, что для любого &amp;lt;tex&amp;gt;\epsilon &amp;gt; 0&amp;lt;/tex&amp;gt; полиномиальный вероятностный алгоритм A можно модифицировать таким образом, чтобы вероятность ошибки уменьшилась до &amp;lt;tex&amp;gt;\epsilon&amp;lt;/tex&amp;gt;, а число используемых случайных битов не изменится.&lt;br /&gt;
&lt;br /&gt;
Пусть исходный алгоритм использует &amp;lt;tex&amp;gt;k = k(n)&amp;lt;/tex&amp;gt; случайных битов для вычислений на входах длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Зафиксируем &amp;lt;tex&amp;gt;(2^k, 2^k, d)&amp;lt;/tex&amp;gt; - экспандер &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d &amp;gt; 1/\epsilon&amp;lt;/tex&amp;gt;. Новый алгоритм действует следующим образом: выбирается случайная вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; из левой доли графа (для этого требуется &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; случайных битов); затем исходный алгоритм &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно запускается на всех &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; наборах случайных битов, соответствующих соседям вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если все полученные ответы равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, новый алгоритм также возвращает единицу; в противном случае возвращается ноль.&lt;br /&gt;
Покажем, что у нового алгоритма вероятность ошибки не превосходит &amp;lt;tex&amp;gt;1/d&amp;lt;/tex&amp;gt;. В самом деле, обозначим &amp;lt;tex&amp;gt;B = B(x)&amp;lt;/tex&amp;gt; множество таких вершин &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; из правой доли графа, которые соответствуют неверному ответу старого алгоритма на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;; аналогично, обозначим &amp;lt;tex&amp;gt;S = S(x)&amp;lt;/tex&amp;gt; множество таких вершин v из левой доли графа, которые для которых новый алгоритм даёт неверный ответ на входе &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; состоит из вершин, все соседи которых лежат в B. Предположим, что &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; содержит не менее &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин. Выберем среди них ровно &amp;lt;tex&amp;gt;n/(1000d)&amp;lt;/tex&amp;gt; вершин и назовём это множество &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt;. По свойству экспандера, имеем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(S')| \geqslant  \cfrac{7}{8}d\cfrac{n}{1000d}=7n/8000 &amp;gt; n/2000&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это противоречит тому, что все соседи &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; лежат в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В данном случае нам нужна явная в более сильном (чем в первом примере) смысле конструкция экспандера. Размер графа экспоненциално растёт с увеличенем &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, и нам необходим алгоритм, который по заданному номеру вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (из левой доли графа) за время &amp;lt;tex&amp;gt;poly(k)&amp;lt;/tex&amp;gt; находит список номеров всех соседей этой вершины (в правой доле графа).&lt;br /&gt;
&lt;br /&gt;
===Хранение множества со сверхбыстрым запросом элементов===&lt;br /&gt;
Мы организуем хранение m-элементного множества &amp;lt;tex&amp;gt;S \subset \{1, . . . , n\}&amp;lt;/tex&amp;gt; в виде описания &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, состоящего из &amp;lt;tex&amp;gt;O(m log n)&amp;lt;/tex&amp;gt; битов. При этом проверка принадлежности &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt; будет производиться чрезвычайно быстро. А именно, мы построим такой вероятностный алгоритм, который по любому входу &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; запрашивает из &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; один бит; если этот бит оказывается равным единице, то алгоритм отвечает, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; является элементом &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;; в противном случае алгоритм говорит, что &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; множеству не принадлежит. При этом для каждого &amp;lt;tex&amp;gt;a \in \{1, . . . , n\}&amp;lt;/tex&amp;gt; алгоритм ошибается с вероятностью не более &amp;lt;tex&amp;gt;1/3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы построить нужное нам хранилище &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, мы сначала зафиксируем некоторый экспандер, у которого левая доля &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин, правая &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;k = O(m log n)&amp;lt;/tex&amp;gt; вершин, степень всех вершин левой доли одинакова и равна некоторому &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;, и для каждого &amp;lt;tex&amp;gt;A \subset L&amp;lt;/tex&amp;gt; размера не более &amp;lt;tex&amp;gt;2m&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\Gamma(A)| \geqslant \frac{7}{8}d|A|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будет состоять в разметке вершин правой доли нулями и единицами. Эту разметку нужно выбрать таким образом, чтобы у каждой вершины из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены единицей, а у каждой вершины не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; соседей были помечены нулями.&lt;br /&gt;
&lt;br /&gt;
Остаётся объяснить, как построить нужную нам разметку правой доли графа. Будем строить её последовательными приближениями. Сначала пометим всех соседей всех вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; единицами, а все остальные вершины – нулями. На данной разметке наш алгоритм с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; возвращает правильный ответ для всех &amp;lt;tex&amp;gt;a \in S&amp;lt;/tex&amp;gt;. Однако для &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проверочный алгоритм может работать неверно. Обозначим T множество всех таких вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены единицей. Поменяем разметку: пометим всех соседей &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; нулём. Теперь разметка может стать плохой для части вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; множество всех таких вершин из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, у которых более &amp;lt;tex&amp;gt;d/3&amp;lt;/tex&amp;gt; соседей помечены нулями. Далее, поменяем разметку у&lt;br /&gt;
всех соседей &amp;lt;tex&amp;gt;S'&amp;lt;/tex&amp;gt; на единицы. После этого может вновь возникнуть множество ‘неправильных’ вершин вне &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, и т.д.&lt;br /&gt;
&lt;br /&gt;
Чтобы доказать, что данный процесс в конце концов сойдётся, нужно показать, что на каждом шаге число ‘проблемных’ вершин уменьшается в константу раз. Поскольку все шаги аналогичны, достаточно разобрать самый первый: докажем, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; в константу раз меньше, чем &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Мы воспользуемся тем, что для &amp;lt;tex&amp;gt;S \cup T&amp;lt;/tex&amp;gt; выполнено свойство расширения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(7/8)d(|S|+|T|) \leqslant |\Gamma(S \cup T)| \leqslant d|S| + (2/3)d|T|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откуда получаем &amp;lt;tex&amp;gt;|T| \leqslant 3/5|S|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Приложения и полезные свойства==&lt;br /&gt;
Первоначально интерес к экспандерам возник с целью построения устойчивой сети (телефонов или компьютеров) — число дуг графов расширения с ограниченным значением регулярности растет линейно по отношению к числу вершин.&lt;br /&gt;
&lt;br /&gt;
Экспандеры нашли широкое применение в теории вычислительных машин и систем, для построения алгоритмов, в корректирующих кодах&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Expander_code]&amp;lt;/ref&amp;gt;, экстракторах, генераторах псевдослучайных чисел&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandom_number_generator]&amp;lt;/ref&amp;gt;, сетях сортировки&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sorting_network]&amp;lt;/ref&amp;gt; и компьютерных сетях&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Computer_network]&amp;lt;/ref&amp;gt;. Они также используются для доказательства многих важных результатов в теории вычислительной сложности, таких как ''SL''&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/SL_(complexity)]&amp;lt;/ref&amp;gt;=''L''&amp;lt;ref&amp;gt;[Omer Reingold Undirected connectivity in log-space // Journal of the ACM. — 2008. — Т. 55, вып. 4. — DOI:10.1145/1391289.1391291]&amp;lt;/ref&amp;gt; и Теорема PCP&amp;lt;ref&amp;gt;[Irit Dinur The PCP theorem by gap amplification // Journal of the ACM. — 2007. — Т. 54, вып. 3. — С. 12. — DOI:10.1145/1236457.1236459]&amp;lt;/ref&amp;gt;. В криптографии экспандеры используются для создания [[Универсальное семейство хеш-функций|хеш-функций]].&lt;br /&gt;
&lt;br /&gt;
===Лемма о перемешивании===&lt;br /&gt;
Лемма о перемешивании утверждает, что для любых двух подмножеств вершин &amp;lt;tex&amp;gt;S,T\subseteq V&amp;lt;/tex&amp;gt; число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; примерно равно числу рёбер в случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе. Приближение тем лучше, чем меньше &amp;lt;tex&amp;gt;\lambda =\max\{|\lambda _{2}|&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;|\lambda _{n}|\}&amp;lt;/tex&amp;gt;. В случайном &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;-регулярном графе, также как и в случайном графе Эрдёша — Реньи&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model]&amp;lt;/ref&amp;gt; с вероятностью &amp;lt;tex&amp;gt;{\tfrac {d}{n}}&amp;lt;/tex&amp;gt; выбора ребра, ожидается &amp;lt;tex&amp;gt;{\tfrac {d}{n}}\cdot |S|\cdot |T|&amp;lt;/tex&amp;gt; рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более формально, пусть &amp;lt;tex&amp;gt;E(S, T)&amp;lt;/tex&amp;gt; обозначает число рёбер между &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Если эти два множества пересекаются, дуги в пересечении считаются дважды, так что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E(S,T)=2|E(G[S\cap T])|+E(S\setminus T,T)+E(S,T\setminus S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Лемма о перемешивании утверждает, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left|E(S,T)-{\cfrac {d\cdot |S|\cdot |T|}{n}}\right|\leq d\lambda {\sqrt {|S|\cdot |T|}}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
где &amp;lt;tex&amp;gt;\lambda &amp;lt;/tex&amp;gt; — абсолютное значение нормализованного второго по величине собственного значения.&lt;br /&gt;
&lt;br /&gt;
Недавно Билу (Bilu) и Линайл (Linial) показали, что обратное тоже верно, то есть, при условии выполнения неравенства из леммы второе по величине собственное значение равно &amp;lt;tex&amp;gt;O(d\lambda \cdot (1+\log(1/\lambda )))&amp;lt;/tex&amp;gt;&amp;lt;ref&amp;gt;[http://www.cs.huji.ac.il/~nati/PAPERS/raman_lift.pdf]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Блуждания по экспандеру===&lt;br /&gt;
Согласно границе Чернова&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Chernoff_bound]&amp;lt;/ref&amp;gt;, если выбирать много независимых случайных значений из интервала &amp;lt;tex&amp;gt;[-1, 1]&amp;lt;/tex&amp;gt;, с большой степенью вероятности среднее выбранных значений будет близко к [[Математическое ожидание случайной величины|математическому ожиданию]] случайной переменной. Лемма о блуждании по экспандеру, согласно статьям Аджтари, Комлоша и Семереди&amp;lt;ref&amp;gt;[M. Ajtai,J. Komlós,E. Szemerédi Proceedings of the 19th Annual ACM Symposium on Theory of Computing // ACM. — 1987. — С. 132–140. — ISBN 0-89791-221-7. — DOI:10.1145/28395.28410]&amp;lt;/ref&amp;gt; и Гилмана&amp;lt;ref&amp;gt;[D. Gillman A Chernoff Bound for Random Walks on Expander Graphs // SIAM Journal on Computing. — Society for Industrial and Applied Mathematics, 1998. — Т. 27, вып. 4,. — С. 1203–1220. — DOI:10.1137/S0097539794268765]&amp;lt;/ref&amp;gt;, утверждает, что то же самое верно и для блужданий по экспандеру. Это полезно в теории дерандомизации&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Randomized_algorithm]&amp;lt;/ref&amp;gt;, поскольку блуждание по экспандеру использует много меньше случайных бит, чем случайная независимая выборка.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
* [[Алгебра]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
*[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B0%D0%BD%D0%B4%D0%B5%D1%80_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2) Экспандер (теория графов)]&lt;br /&gt;
*[https://compsciclub.ru/courses/expanders/2017-spring/classes/ Экспандеры и их применения (курс CS club)]&lt;br /&gt;
*[https://www.mccme.ru/~anromash/courses/expanders-notes-2014.pdf Экспандеры: конструкции и приложения]&lt;br /&gt;
*[http://www.tcs.tifr.res.in/~prahladh/teaching/05spring/ Expanders in Computer Science]&lt;br /&gt;
*[http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf S. Hoory, N. Linial, A. Wigderson. Expander graphs and their applications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439 561.]&lt;br /&gt;
*[ H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. Are Bitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.]&lt;/div&gt;</summary>
		<author><name>Stelnov</name></author>	</entry>

	</feed>