13.07.2015 Views

Заметки о расширящих графах

Заметки о расширящих графах

Заметки о расширящих графах

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Экспандеры: построение и некоторые приложения 1А. Ромащенко (в текст включены записи, сделанные А. Шенем).Просьба сообщать о замеченных ошибках автору:email: andrei.romashchenko[AT]gmail.com1 Определения и несколько примеров примененийВ этой главе мы дадим определение экспандеров (расширяющих графов) иприведем несколько иллюстранций использования таких графов.Определение. Двудольный граф G = (L, R, E) (L и R — левая и праваядоли графов, E — множество рёбер) называется (n, m, d)-экспандером(расширяющим графом), если |L| = n, |R| = m, степень всех вершин в левойдоле L равна d, и выполняются следующие свойства расширения:(1) Для любого множества S ⊂ L, |S| ≤ n1000dмножество соседей (соседиS лежат в R) достаточно велико: |Γ(S)| > 7 8 d|S|.(2) Для любого множества S ⊂ L, такого что |S| ≤ n 2, множество соседейнемного больше самого множества S, а именно, |Γ(S)| > 9 8 |S|.Таким образом, экспандер расширяет малые множества из L почти в dраз, а относительно большие множества — хотя бы на небольшую долю. Неследует воспринимать это определение догматически: в приложениях можетбыть полезно рассмотреть экспандер, в котором константы отличны от1/(1000d), 7/8 и 9/8. Мы выбрали такие значения параметров, которые позволяютлегко доказать теорему существования и показать несколько примеровприменений.Теорема. Существуют такие n 0 , d 0 такие, что для для всех n ≥ n 0 , d ≥d 0 и m ≥ 3 4n существует (n, m, d)-экспандер.Доказательство: Выберем граф случайно. Это значит, что для каждойвершины в L мы случайно и независимо выбираем d соседей в R (такимобразом, разрешаются параллельные рёбра). Покажем, что с большой вероятностьютакой граф оказывается экспандером.Prob[первое свойство экспандера графа нарушено] ≤ ∑ S,T( ) sd |T |,mгде суммирование происходит по всем множествам S ⊂ L размера не болееn/(1000d) и по всем множествам T ⊂ R размера (7/8)d|S|. Оценим данную1 Записки скомпилированы из материалов лекций, прочитанных на мехмате МГУ и вComputer Science Club Санкт-Петербурга весной 2009 г.1


сумму сверху:n/(1000d)∑s=1C s n · C 7 8 dsm( ) sd n/(1000d)7ds ∑≤8ms=1≤( ) 7(ne/s) s me78 dsn/(1000d)∑s=1[nes ·( 8me7ds8 ds ( ) sd 7ds≤8m) 78 d · ( 7ds8m )d ] s(1)Мы утверждаем, что данная сумма не превосходит 1/10. Чтобы доказатьэто, мы оценим эту сумму сверху геометрической прогрессией со знаменателем1/20. Таким образом, нам нужно показать, что для каждого s произведениев квадратных скобках в (1) не превосходит 1/20:nes ·( ) 78me7ds8 d ·( 7ds8m) d ( ) d= de 1+ 7 7ds8 d 8 −1 ≤8m≤ O(1) · de 7 8 d ( 71000 n8 · 34 n ) 1 8 d−1 < 1/20(последнее неравенство имеет место для достаточно больших d). Обращаемвнимание: мы использовали условие m ≥ 3n/4.Prob[второе свойство экспандера нарушено] ≤ ∑ S,T( ) sd |T |, (2)m(здесь мы суммируем по всем множествам S ⊂ L таким, что |S| ≤ n/2 иT ⊂ R таким, что |T | = 9 8|S|). Мы оценим (2) сверху:n/2∑( ) sdProb[второе экспандера нарушено] ≤ Cn s · C 9 8 s 9s/8m ·≤ms=1[n/2∑( ) ] d s9s/8(ne/s) · (me/(9s/8)) ·≤ 1/10 (3)ms=1Чтобы получить последнее неравенство, мы оцениваем сумму (3) геометрическойпрогрессией. Для этого достаточно доказать равномерную оценкуна выражение в квадратных скобках:( ) d 9s/8(ne/s) · (me/(9s/8)) · ≤ O(1) ·m( ) d−2 9n/16= O(1) · (3/4) d−2 ≤ 1/203n/4(здесь мы снова использовали, что m ≥ 3/4n). Теорема доказана.Литература: [HLW].2


Первый пример применения экспандеров: коды, исправлящиеошибки.Покажем, как с помощью расширяющего графа посторить линейныйкод, позволяющий исправлять ошибки в доле δ = 1/(2000d) битов. Чтобызадать линейный код с длиной кодового слова n, достаточно описать егопроверочную матрицу H (слово x ∈ {0, 1} n является кодовым словом еслии только если Hx t = 0). Другими словами, нужно задать систему линейныхуравнений для переменных x 1 , . . . , x n ; решения этой системы и будуткодовыми словами.Зафиксируем некоторый (n, 3n/4, d)-экспандер G. Сопоставим переменныеx 1 , . . . , x n вершинам в левой доле графа. Вершинам из правой долибудут соответствовать уравнения. А именно, каждой вершине v из правойдоли G мы сопоставляем уравнениеx i1 + . . . + x is = 0 (mod 2),где x i1 , . . . , x is – это список вершин, соединённых рёбрами с v.Число уранвений равно 3n/4, так что размерность пространства решенийне меньше n/4. Это значит, что в нашем коде будет не менее 2 n/4 кодовыхслов.Остаётся доказать, что данный код действительно исправляет ошибки.Для этого нужно проверить, что расстояние между любыми кодовыми словамине может быть меньше n/(1000d) (на самом деле для расстояния этогокода можно доказать более сильную оценку; но мы ограничимся самымпростым рассуждением). Для линейного кода нужное нам условие эквивалентнотому, что в каждом ненулевом кодовом слове должно быть не менееn/(1000d) единиц.Предположим противное: пусть есть кодовое слово x 1 . . . x n (решение системылинейных уравнений, соответствующих графу G), в котором менееn/(1000d) единиц. Обозначим S множество вершин из левой доли графа, соответствующихединицам в данной битовой последовательности. Поскольку|S| < n/(1000d), можно применить первое свойство экспандера: число соседейS достаточно велико|Γ(S)| ≥ 7d|S|8Из S выходит ровно d|S| вершин. Подсчитаем среднее (по всем вершинамv ∈ Γ(S)) число ребер, которое приходит из S в v. Очевидно, это число непревосходитd|S|7d|S|/8 = 8/7 < 2Это значит, что хотя бы у одной вершины v из правой доли есть ровноодин сосед из S. Но в таком случае уравнение, соответствующее v, не выполненяетсяна наборе x 1 . . . x n . Значит, набор битов с менее чем n/(1000d)единицами не может быть кодовым словом.3


Для данного кода имеется быстрый алгоритм декодирования. Пусть даннабор битов y = (y 1 , . . . , y n ), который отличается от от некоторого словаx = (x 1 , . . . , x n ) менее чем в n/2000d битов. Мы можем найти x следующимобразом. Параллельно для каждого бита i = 1, . . . , n посчитаем числоравных единице контрольных сумм (равенств, задаваемых проверочнойматрицей), в которые этот бит входит (если все контрольные суммы равнынулю, то набор битов является кодовым словом); если это число большеd/2, меняем данный бит на противоположный. Повторяем эту процедурукоррекции, пока все контрольные суммы не обнулятся.Покажем, что на каждом шаге описанной процедуры хэмминоговскоерасстояние между кодовым словом x и декодируемым словом y уменьшаетсяв Ω(1) раз. Таким образом, через O(log n) итераций все ошибки будутисправлены (т.е. y совпадёт с x, и декодирование будет закончено).Для простоты обозначений рассмотрми случай x = (0, . . . , 0). Мы предполагаем,что число единиц в векторе y не превосходит n/2000d. Нам нужнопоказать, что на каждом шаге описанной процедуры число единиц будетуменьшаться не менее, чем в константу раз. Пусть S – множество номеровбитов y, в которых стоят единицы; представим S в виде объединения:S = S 0 ∪S 1 , где в S 0 – позиции, которые обнулятся на следующем шаге; S 1 –позиции, в которых сохранятся единицы. Наконец, обозначим T множествономеров тех позиций, в которых в начале стояли нули, а после примененияпроцедуры коррекции возникла единица. Наша задача показать, что|S 1 | + |T | ≤ c|S|для некоторой константы c < 1 (не зависящей ни от n, ни от размера S).Сначала покажем, что T содержит менее |S|/2 вершин. Предположимпротивное; выберем из T ровно |S|/2 вершин и назовём это множество T ′ .Применим к S ∪ T свойство расширения экспандера:78 d(|S| + |T ′ |) < |Γ(S ∪ T ′ )| ≤ d|S| + d 2 |T ′ |(второе неравенство следует из того, что у кажой вершины S может быть неболее d различных соседей, а у каждой вершины T — не более d/2 соседейне являющихся при этом соседями S). Сравнивая левую и правую частинеравенства, получаем |T ′ | < |S|/3, что противоречит нашему предположению.Далее, разобъем соседей (из правой доли графа) вершин S на два класса:множество U, у которых имеется ровно по одному соседу в S, и множествоV , у которые есть хотя бы два соседа в S. Посчитаем число рёбер между Sи U ∪ V двумя способами: как число рёбер, выходящих из S, и как числорёбер, выходящих из U и V в S:d|S| ≥ |U| + 2|V |(в каждую вершину V входит не менее двух рёбер из S). Таким образом,4


|V | ≤ (d|S| − |U|)/2 Применяем к S свойство экспандера:7d|S|d|S| ≤ |Γ(S)| ≤ |U| + |V | ≤8 2 − |U|2Следовательно, |U| ≥ 3 4d|S|. Разумеется, число рёбер, ведущих из S в U,тоже не меньше 3 4d|S|. Таким образом, число рёбер из S в V не больше14 d|S|.Заметим, что не менее половины соседей каждой вершины из S 1 лежатв V . Следовательно,и |S 1 | ≤ 1 2|S|. Таким образом,d2 |S 1| ≤ |E(S 1 , V )| ≤ 1 4 d|S|,|S 1 | + |T | ≤ (1/2 + 1/3)|S|т.е. число ‘ошибочных’ битов y после операции коррекции уменьшается покрайней мере в 5/6 раза.Позднее мы вернёмся к задаче о кодах, исправляющих ошибки, и рассмотримболее сложную и эффективную конструкцию кода, порождаемогоэкспандером.Отметим, что для практического применения нам в данном случае нужнаявная конструкция экспандера – нам необходим алгоритм, который позаданному n за время poly(n) строит (n, 3n/4, d)-экспандер.Литература: [HLW].Второй пример применения экспандеров: увеличение вероятностиуспеха в алгоритмах с датчиком случайных чисел.Определение Язык L принадлежит сложностному классу RP , еслисуществует полиномиальный алгоритм A такой что1. для x ∈ L для всех r ∈ {0, 1} poly(n) A(x, r) = 12. для x ∉ L не более чем для 1/2000 всех r ∈ {0, 1} poly(n) может выполнятьсяA(x, r) = 1Покажем, что для любого ε > 0 полиномиальный вероятностный алгоритмA можно модифицировать таким образом, чтобы вероятность ошибкиуменьшилась до ε, а число используемых случайных битов не изменится.Пусть исходный алгоритм использует k = k(n) случайных битов длявычислений на входах длины n. Зафиксируем (2 k , 2 k , d)-экспандер G, гдеd > 1/ε. Новый алгоритм действует следующим образом: выбирается случайнаявершина v из левой доли графа (для этого требуется k случайныхбитов); затем исходный алгоритм A последовательно запускается на всех dнаборах случайных битов, соответствующих соседям вершины v. Если все5


полученные ответы равны 1, новый алгоритм также возвращает единицу; впротивном случае возвращается ноль.Покажем, что у нового алгоритма вероятность ошибки не превосходит1/d. В самом деле, обозначим B = B(x) множество таких вершин w из правойдоли графа, которые соответствуют неверному ответу старго алгоритмана входе x; аналогично, обозначим S = S(x) множество таких вершин v излевой доли графа, которые для которых новый алгоритм даёт неверный ответна входе x. Очевидно, S состоит из вершин, все соседи которых лежатв B.Предположим, что S содержит не менее n/(1000d) вершин. Выберем срединих ровно n/(1000d) вершин и назовём это множество S ′ . По свойствуэкспандера, имеем|Γ(S ′ )| ≥ 7 8 d n= 7n/8000 > n/20001000dЭто противоречит тому, что все соседи S ′ лежат в B.В данном случае нам нужна явная в более сильном (чем в первом примере)смысле конструкция экспандера. Размер графа экспоненциално растётс увеличенем k, и нам необходим алгоритм, который по заданному номерувершины v (из левой доли графа) за время poly(k) находит список номероввсех соседей этой вершины (в правой доле графа).Литература: [HLW].Третий пример применения экспандеров: хранение множествасо сверхбыстрым запросом элементов.Мы организуем хранение m-элементного множества S ⊂ {1, . . . , n} ввиде описания X, состоящего из O(m log n) битов. При этом проверка принадлежностиa ∈ S будет производиться чрезвычайно быстро. А именно,мы построим такой вероятностный алгоритм, который по любому входу aзапрашивает из X один (sic!) бит; если этот бит оказывается равным единице,то алгоритм отвечает, что a является элементом S; в противном случаеалгоритм говорит, что a множеству не принадлежит. При этом для каждогоa ∈ {1, . . . , n} алгоритм ошибается с вероятностью не более 1/3.Чтобы постоить нужное нам хранилище X, мы сначала зафиксируемнекотрый экспандер, у которого левая доля L состоит из n вершин, праваяR из k = O(m log n) вершин, степень всех вершин левой доли одинакова иравна некоторому d, и для каждого A ⊂ L размера не более 2m|Γ(A)| ≥ 7 8 d|A|X будет состоять в разметке вершин правой доли нулями и единицами. Этуразметку нужно выбрать таким образом, чтобы у каждой вершины из S неменее 2/3 соседей были помечены единицей, а у каждой вершины не из Sне менее 2/3 соседей были помечены нулями.6


Вероятностный алгоритм для проверки a ∈ S работает очевидным образом:выбирается случайная вершина из Γ(a) и запрашивается пометкаданной вершины (в правой доле графа).Остаётся объяснить, как построить нужную нам разметку правой долиграфа. Будем строить её последовательными приближениями. Сначала пометимвсех соседей всех вершин из S единицами, а все остальные вершины– нулями. На данной разметке наш алгоритм с вероятностью 1 возвращаетправильный ответ для всех a ∈ S. Однако для a не из S проверояный алгоритмможет работать неверно. Обозначим T множество всех таких вершинвне S, у которых более d/3 соседей помечены единицей. Поменяем разметку:пометим всех соседей T нулём. Теперь разметка может стать плохойдля части вершин из S. Обозначим S ′ множество всех таких вершин из S, укоторых более d/3 соседей помечены нулями. Далее, поменяем разметку увсех соседей S ′ на единицы. После этого может вновь возникнуть множество‘неправильных’ вершин вне S, и т.д.Чтобы доказать, что данный процесс в конце концов сойдётся, нужнопоказать, что на каждом шаге число ‘проблемных’ вершин уменьшаетсяв константу раз. Поскольку все шаги аналогичны, достаточно разобратьсамый первый: докажем, что T в константу раз меньше, чем S.Мы воспользуемся тем, что для S ∪ T выполнено свойство расширения:(7/8)d(|S| + |T |) ≤ |Γ(S ∪ T )| ≤ d|S| + (2/3)d|T |Откуда получаем |T | ≤ 3/5|S|.Упражнение: Экспандер с какими параметрами нам нужен в даннойконструкции?Литература: [BMRV].2 Алгебраические экспандеры.Нашей задачей является построение ‘явной’ конструкции экспандеров. Мыограничимся экспандерами специального вида. Во-первых, мы будем рассматриватьоднородные экспандеры, т.е. такие графы, у которых число вершинв левой и правой доле совпадало. Во-вторых, будем требовать, чтобыграф был симметричен. Это значит, что вершины графа в левой и правойдолях можно занумеровать таким образом, что если в графе есть ребро,соединяющее i-ую вершину из левой доли с j-ой вершиной из правой, тодолжно быть и симметричное ему ребро, ведущее из j-ой вершины левойдоли в i-ую вершину правой.Для однородных и симметричных экспандеров двудольная конструкцияграфа представляется излишним усложенением. В самом деле, мы можем‘склеить’ соответствующие вершины левой и правой доли графа. При этоммы получим неориентированный граф с n вершинами степени d (из каждойвершины выходит d рёбер; допускаются кратные рёбра и петли). Такой графописывается матрицей смежности A, в которой a ij равно числу рёбер,7


соединяющих вершины i и j. Эта матрица симметрична; сумма чисел влюбой её строке или столбце равна d.Различные свойства графа удобно описывать в терминах этой матрицы:• (i, j)-й элемент матрицы A kвершины i в вершину j;есть число путей длины k, идущих из• если разделить матрицу A на d, то получится матрица, у которой суммалюбой строки и любого столбца равна 1. Умножение на эту матрицуописывает случайное блуждание: если p — вектор-столбец, состоящийиз вероятностей, описывающих распределение по вершинам в какой-томомент, то (Ap) — распределение через один шаг случайного блуждания(мы выбираем случайную вершину согласно распределению p ипереходим к её соседу, выбрав случайно одно из d рёбер).Последнее наблюдение показывает, что случайное блуждание по графу(из текущей вершины мы равновероятно переходим по одному из рёбер вдругую, и так далее) связано со степенями матрицы A/d: чем ближе этистепени к матрице равномерного перемешивания (в которой все элементыравны 1/n), тем более равномерно распределен результат случайногоблуждания. Изучать степени матрицы естественно в собственном базисе.Заметим, что в терминах собственных чисел матрицы A удобно выражатьнекоторые комбинаторные свойства графа. Сделаем несколько простых наблюдений:• матрица A симметрична и потому имеет ортогональный собственныйбазис над вещественным полем, с вещественными собственными значениями;• поскольку сумма всех чисел в каждой строке равна d, вектор (1, 1, . . . , 1)(соответствующий столбец) является собственным вектором и имеетсобственное значение d;• все собственные значения не превосходят d по модулю: поскольку суммыэлементов во всех строках матрицы равны d, то максимум модулейсобственного вектора при умножении на A увеличивается не более чемв d раз;• если граф состоит из нескольких компонент связности, то имеетсянесколько собственных векторов с собственным значением d (для вершинодних компонентах связности берём единицы, для других нули);• напротив, если граф связен, то собственный вектор со значением dединственный: возьмём максимальную по модулю координату этоговектора (вершину графа), она равна среднему по соседям, и потомуво всех соседях должно быть то же значение; то же верно для соседейсоседей, и т.д.;8


• для двудольного графа имеется собственный вектор со значением −d:надо в одной доле взять единицы, а в другой минус единицы;• если имеется собственный вектор со значением −d, то граф имеет двудольнуюсвязную компоненту (возьмём максимальную по модулю координату,в её соседях будет то же число с противоположным знаком,и так далее: связная компонента этой вершины делится на две доли).Литература: [AB, HLW].Геометрические свойства алгебраического экспандераОпределение. Регулярный граф степени d с n вершинами, у котороговсе собственные числа кроме одного по абсолютной величине не превосходятαd, будем называть алгебраическим (n, d, α)-экспандером.Данное определение оправдано, поскольку оценки на собственные числавлекут за собой комбинаторные свойства графа, в той или иной формеозначающие “хорошее перемешивание”.Пусть граф G имеет n вершин, степень d и второе по абсолютной величинесобственное число αd. Имеет место следующее утверждения:Лемма о перемешивании [expander mixing lemma] Пусть A и B —произвольные (возможно, пересекающиеся) множества вершин графа. Тогдачисло |E(A, B)| ребер, ведущих из A в B удовлетворяет такой оценке:d · |A| · |B|∣ |E(A, B)| − n ∣ ≤ αd√ |A| · |B|Доказательство: Обозначим 1 A и 1 B харакетристические векторы множествA и B (i-ая координата соотвествующего вектора равен единице, еслиi-ая вершина графа принадлежит A или B соответственно; в противномслучае значение координаты равно нулю).Пусть e 1 , . . . , e n — ортонормированный собственный базис матрицы Mзаданного экспандера, а λ 1 , . . . , λ n – соответствующие собственные числа.Мы считать, что собственные числа упорядочены по убывания абсолютнойвеличины:|λ 1 | ≥ |λ 2 | ≥ . . . ≥ |λ n |При этомe 1 = 1 √ n(1, 1, . . . , 1),а λ 1 = d, и |λ i | ≤ αd для i > 1. Разложим векторы 1 A и 1 B по собственномубазиса: 1 A = ∑ a i e i , 1 B = ∑ b i e i . Если M — матрица графа, тоn∑n∑|E(A, B)| = 1 A M1 B = ( a i e i )M( b i e i )i=1i=19


Выделим первый член этой суммы:|E(A, B)| = d |A| √ n · |B| √ n+i=2n∑λ i a i b iТаким образом,d · |A| · |B|n∣ |E(A, B)| − n ∣ = | ∑n∑λ i a i b i | ≤ αd| a i b i | ≤ αd·||1 A || 2·||1 B || 2 = αd·√|A||B|и лемма доказана.Теорема о рёберном расширении. Пусть граф G имеет n вершин,степень d и второе собственное число αd. Тогда для любого множества Aиз не более чем n/2 элементов не менее (1−α)d2|A| рёбер ведут вовне A.Доказательство: Второе собственное число матрицы графа M можновычислить как максимум отношения|f t Mf|||f|| 2по всем векторам с нулевой суммой координат (т.е. максимум по всем векторамиз ортогонального дополнения к первому собственному вектору e 1 =(1, 1, . . . , 1)). Для доказательства теоремы нам нужно проверить, что максимумэтого отношения не меньше d − 2h v (G), где h v (G) — коэффициентрёберного расширения:h v (G)minA⊂V, |A|≤n/2i=1i=2|E(A, Ā)||A|Пусть A есть множество вершин графа (размера не более n/2). Обозначим1 A и 1 Ā характеристические векторы самого множества A и его дополнения.Рассмотрим векторf = |Ā|1 A − |A|1 Āсумма координат которого равна нулю. Его нормаДалее,||f|| 2 = |Ā|2 · |A| + |A| 2 · |Ā| = |A| · |Ā| · nf t Mf = 2|E(A, A)| · |Ā|2 + 2|E(Ā, Ā)| · |A|2 − 2|E(A, Ā)| · |A| · |Ā|Нетрудно посчитать, что данное выражение равноdn|A| · |Ā| − |E(A, Ā)|n2Следовательно, второе собственное число M не может быть меньшеdn|A| · |Ā| − |E(A, Ā)|n2 n|E(A, Ā)| 2|E(A, Ā)|n|A||Ā| = d − |A||Ā| ≥ d −|A|10


и теорема доказана.Следствие: Диаметр всякого (n, d, α)-экспандера равен O(log n)Доказательство: Заметим, что у множества A ⊂ V размера не болееn/2 должно быть не менее (1−α)2|A| соседей (поскольку в каждую из соседнихвершин может входить не более d рёбер из A).Пусть x и y — две вершины экспандера. Рассмотрим ‘шары’ с центрами вэтих точках, т.е. множества вершин графа, удалённые от x и y соотвтественнона расстояние не более r. Пока эти шары содержат менее n/2 вершин,каждое увеличении радиуса r на единицу увеличивает число точек в шарахне менее чем в (1 − α)/2 раз. Следовательно, при r = O(log n) размерышаров превысят n/2, и они пересекутся.Отметим, что верхняя число α определяет константу в O-большом.Теорема. Для любого d в d-регулярных графах с n вершинами второепо абсолютной величине собственное число ограничено снизу: λ ≥ 2 √ d − 1−o(1) при n → ∞.Доказательство: Обозначим λ(G) второе по абсолютное величине собственноечисло d-регулярного графа G. Чтобы вычислить λ(G), рассмотримстепень графа (l-ая степень графа G есть граф с тем же множествомвершин; ребрами же становятся пути длины l в исходном графе). Матрицаl-ой степени графа есть l-ая степень матрицы исходного графа; собственныечисла при этом тоже возводятся в l-ую степень.Мы рассмотрим некоторую чётную степень графа l = 2k. Напомним,что для оценки второго собственного значение симметричной матрицы, надоограничить соответствующую ей квадратичную форму на ортогональноедополнение к первому собственному вектору e = (1, . . . , 1) и взять её максимумна единичном шаре. Таким образом,λ(G) 2k = λ(G 2k ) ≥ f t M 2k f||f|| 2для любого вектора f с нулевой суммой координат. В качестве f мы берёмвектор видаf = (0, 0, . . . , 0, 1, 0, . . . , 0, −1, 0, . . .)У этого вектора ровно две ненулевые координаты (i-ая и j-ая). Вершины iи j мы выбираем так, чтобы расстояние между ними было максимальнымвозможным (т.е., равно диаметру графа G).Для выбранного вектора f имеемf t M 2k f = [число (2k)-путей из i в i]+[число (2k)-путей из j в j]−[число (2k)-путей из i в j]Теперь выбираем k = ⌊ diameter(G)−12⌋; поскольку расстояние между i и jбольше 2k, число (2k)-путей из i в j равно нулю. Остаётся оценить числоциклов с началами и концами в i и в j. Мы оценим число циклов в графе Gснизу через число циклов в дереве степени d (такие циклы соответствуют11


циклам в G, которые можно “стянуть” в вершину по рёбрам графа). Такимобразом,λ 2k ≥ числа путей длины 2k с началом и концом в корне в дереве степени dА число циклов в регулярном дереве равно[k-ое число Каталана] · (d − 1) k = Ck 2kk + 1 (d − 1)k =22k· (d − 1)kpoly(k)Действительно, 2k рёбер цикла в дереве делятся на шаги, на которых мыудаляемся от корня, и шаги, на которых мы приближаемся к корню; каждыйраз, когда мы удалаяемся от корня, мы выбираем одно ребро из (d−1);число способов разделить 2k шагов на шаги, на которых мы приближаемсяк корню, и шаги, на которых мы удаляемся от корня (число правильныхскобочных структур) равно числу Каталана. Таким образом,λ ≥ 2 √ (1d − 1poly(k)) 1/2kОстаётся заметить, что k (диаметр графа, деленный пополам) стремится кбесконечности при росте числа вершин графа n.Литература: [HLW, AS].Алгебраические экспандеры: существованиеМы хотим доказать, что бывают графы, у которых второе по абсолютнойвеличине собственное число мало по сравнению с d. Мы докажем, что приопределённом соотношении между числом вершин и числом рёбер почти всеоднородные графы (при некотором распределении вероятностей) обладаюттаким свойством.Опишем распределение вероятностей. Будем считать, что n (число вершин)чётно. Тогда на n вершинах существуют графы степени 1 (вершиныразбиваются на пары, соединённые ребром). Будем считать все такие паросочетанияравновероятными и складывать d случайно выбранных графовстепени 1 (при этом мы учитываем кратность параллельных рёбер,если таковые возникнут). Получим некоторое распределение вероятностейна графах степени d с n вершинами.Мы обозначаем собственные числа полученного графа λ i и считаем, чтоd = |λ 1 | ≥ |λ 2 | ≥ . . . ≥ |λ n |.Второе собственное число λ 2 будем оценивать так. При возведении матрицыв степень (мы выберем десятую степень) все собственные числа возводятсяв ту же степень и след матрицы станет равнымλ 101 + λ 102 + . . . + λ 10n .12


Первое слагаемое равно d 10 ; если для какой-то матрицы вся сумма близкак d 10 , то все остальные слагаемы малы. А существование такой матрицыбудет доказано, если мы убедимся что среднее значение следа матрицы A 10(когда A выбирается случайно описанным выше способом) близко к d 10 .След A 10 равен сумме диагональных элементов, поэтому его среднеезначение равно среднему значению одного элемента, умноженному на n.А среднее значение одного элемента равно среднему числу путей длины10, начинающихся и кончающихся в данной вершине. Так что нам надодоказать, что среднее число таких путей чуть больше d 10 /n.Подсчёт удобно интепретировать в терминах вероятностей. Будем считать,что помимо d паросочетаний P 1 , . . . , P d (каждое из которых выбираетсянезависимо, причём все паросочетания равновероятны) мы отдельно(и независимо) выбираем 10 чисел ω = (ω 1 , . . . , ω 10 ) от 1 до d. После этогомы (для фиксированной вершины графа) строим путь длины 10, выходящийиз этой вершины. На первом шаге он идёт вдоль паросочетания P ω1 ,на втором — вдоль P ω2 , и так далее. Нас интересует вероятность того, чтопосле 10 шагов мы вернёмся в исходную точку: нужно доказать, что онаравна 1/n(1 + o(1)).Поменяем порядок усреднения: если усреднять сначала по выбору ω i , тополучается число петель длины 10 (делённое на d 10 ), которое затем можноусреднять по выбору P i . Мы же оцениваем в другом порядке: сначала дляданного набора ω i мы усредняем по всем графам, и лишь потом усредняемпо наборам.Все наборы ω 1 , . . . , ω 10 делятся на три категории:• гарантированно приводящие в исходную точку (независимо от выбораP d ); более точно, к этой категории относятся наборы, в которые послесокращений подряд идущих равных чисел ничего не остаётся;• наборы, состоящие из десяти разных чисел.• наборы, которые сокращаются не полностью, но в которых присутствуютравные числа (мы идём несколько раз по одному и тому жепаросочетанию, но не обязательно подряд).Для каждого типа мы оцениваем количество таких наборов, а также(для каждого набора) вероятность замкнутого пути при случайном выборепаросочетаний.• Количество наборов первого типа не превосходит O(d 5 ). В самом деле,есть некоторое (фиксированное, так как число 10 фиксировано)число способов сокращения, и для каждого способа имеется не болееd 5 способов его реализации (пять сокращающихся пар). Вероятностьзамкнутого пути равна 1.• Наборы без повторений составляют большинство (при достаточно большихd) из общего числа d 10 , и вероятность замкнуться на последнем13


шаге (при любом выборе предыдущих паросочетаний, а потому и вцелом) есть 1/(n − 1) = 1/n(1 + o(1)). (Мы пользуемся лишь тем, чтопоследнее число в наборе ранее не встречалось.)• Количество наборов второго типа есть O(d 9 ), где константа в O-обозначениисоответствует числу возможных пар позиций, где происходит совпадение(то есть 10 · 9/2).Докажем, что вероятность вернуться в исходную точку для такогонабора есть O(1/n). Разобьём это событие на случаи в зависимостиот того, когда путь в первый раз возвращается в уже пройденнуювершину и того, какой эта вершина была по счёту. Случаев снова будетне больше 10·9/2, так что достаточно рассмотреть вероятность одногоиз них.В момент перед назначенным возвращением в уже пройденную вершинууже фиксированы некоторые рёбра некоторых паросочетаний(те, что использованы в пути), а следующее ребро (по которому мыдолжны попасть в уже посещённую вершину) ещё не фиксировано.Поэтому для его конца остаётся не менее n − 10 вариантов, и вероятностьвыбрать один из них не больше 1/(n − 10) = O(1/n). (Говоряформально, мы разбиваем событие на части, соответствующие использованнымдо последнего шага перед возвращением рёбрам, и в каждойчасти оцениваем условную вероятность.)Осталось сложить все вероятности. Получаем( ) ( ( 1 1 1Od 5 · 1 + O · O + 1 ·d)n) 1 (1 + o(1)).nЕсли n ∼ d 4 , то последний член основной, и потому среднее значение следаестьn · d 10 · 1n (1 + o(1)) = d10 (1 + o(1).Следовательно, существуют и даже образуют большинство графы, у которыхслед десятой степени матрицы близок к d 10 и потому все собственныечисла (кроме первого) суть o(d). Таким образом, доказанаТеорема. Пусть γ > 0 — произвольное число. Тогда для достаточнобольших d существует граф с n = d 4 вершинами степени d, у которого всесобственные числа, кроме первого d, не превосходят γd по модулю.Упраженение. Докажите аналогичное утверждение для n = d 8 .Улучшение оценкиДалее мы покажем, как улучшить оценку и доказать существование d-регулярных графов со вторым собственным числом O(d 3/4 ) (вместо ужедоказанного o(d)). Идея рассуждения остаётся примерно той же, толькомы рассматриваем не фиксированную (десятую) степень графа, а правильноподобранную переменную степень. Удобно также немного изменить используемоераспределение на графах.14


Каждой перестановке π на множестве из n вершин соответствует графстепени 2, в котором проведены рёбра x–π(x) для всех x. Другими словами,элементы A x,π(x) и симметричные им равны 1; если же π(x) = x, то надиагонали стоит 2 (две петли).Совмещая d таких графов, получаем граф степени 2d. Выбирая d перестановокслучайно и независимо, получаем некоторое распределение награфах степени 2d, которое и будем использовать в доказательстве.Мы будем оценивать среднее значение следа A 2k для матрицы A случайновыбранного графа при подходящем k, которое подберём позже. (Чётнаястепень нужна, чтобы степени собственных чисел были положительны.)Удобно поделить матрицу на 2d, чтобы первое собственное число стало равнымединице. Посмотрев на след, получаем оценку на второе собственноечисло λ:1 + (λ/2d) 2k ≤ tr[(A/2d) 2k ]Таким образом, надо доказать существование графа, где правая часть мала.Для этого мы, как и раньше, оцениваем сверху среднее значение правойчасти.Математическое ожидание следа равно сумме математических ожиданийдиагональных элементов. Все они одинаковы, поэтому правая частьравна n, умноженному на вероятность вернуться из данной точки в себя послеk случайных шагов по случайному (в описанном смысле) графу. Такимобразом, надо (как и раньше) показать, что эта вероятность лишь немногопревосходит 1/n.Вероятностное пространство является произведением двух независимыхвыборов. Мы выбираем случайное слово длины 2k в алфавите из 2d буквπ 1 , . . . , π d , π1 −1 , . . . , π−1 d. Отдельно мы выбираем d независимых перестановокπ 1 , . . . , π d множества из n элементов. Нас интересует такое событие:начиная с фиксированной вершины и применяя выбранные перестановки(и/или обратные) в выбранном порядке, мы возвращаемся в исходную вершину.Оценим эту вероятность сначала для каждого слова отдельно, а потомусредним по всем словам. Заметим, что среди слов есть такие, от которыхпосле сокращения ничего не остаётся; для таких слов интересующая нас вероятностьравна 1. Другая ситуация: если после сокращения остаётся слово,в которое никакая буква π i не входит дважды, то вероятность равна 1/n:на последнем шаге условная вероятность вернуться в начало (при любомразвитии событий на предыдущих шагах) равна 1/n, так как предыдущиешаги никак не ограничивают последнюю перестановку. Ещё пример: еслипосле сокращения остаётся слово π 1 π 1 , то вероятность вернуться в исходнуюточку равна 1/n + 1/(n − 1): вероятность вернуться на первом шагеравна 1/n (и тогда это произойдёт и во второй раз); если же на первомшаге мы попали в другую точку, то на втором шаге значение в этой новойточке может быть любым из n − 1 вариантов (кроме неё самой).Мы увидим, что для большинства слов вероятность вернуться близкак 1/n, и потому её среднее значение тоже будет близко к 1/n. Это боль-15


шинство образуют регулярные слова. Чтобы определить, будет ли словорегулярным, представим себе его написанным по кругу и сократим (в томчисле в точке контакта начала и конца). Если останется непустое слово,не являющееся степенью (не имеющее периода, меньшего длины цикла), тоисходное слово будем называть регулярным. Нерегулярные слова, таким образом,после сокращений имеют вид XY i X −1 , где Y — несократимое слово(и потому и циклически несократимое).Лемма 1. Доля нерегулярных слов не больше O(k 2 (2/d) k ).Доказательство леммы 1. В нерегулярном слове буквы входят как минимумпарами (буквы X парны к буквам X −1 , а буквы в Y i входят в i ≥ 2копиях). Поэтому вместо (2d) 2k вариантов получается лишь (2d) k вариантов,и ещё надо умножить на число схем спаривания, которых не болееk 2 2 2k .Почему? Будем сокращать слово длины 2k слева направо (добавляемочередную букву и сокращаем её с предыдущей, если сокращается). Схемусокращения запишем символически: если добавленная буква впоследствиисократится, изображаем её левой скобкой, а ту, с которой она сократится,правой. Буквы, которые так и не сократятся. изобразим звёздочками.Утверждение (не сразу очевидное): эта схема восстанавливается, если знать,где стоят левые скобки. А именно, очередной символ, не являющийся левойскобкой, оказывается звёздочкой, если к моменту его появления вселевые скобки закрыты; если же есть незакрытые левые скобки, то очереднойсимвол будет правой скобкой, парной к последней из них. Например,“(?((????(??” однозначно реконструируется как “()(())**()*”. К каждойиз не более чем 2 2k таких последовательностей остаётся указать лишь длинуслов X и число Y , каждое не более O(k). Лемма 1 доказана.Лемма 2. Для любого регулярного слова P вероятность того, что задаваемоеP преобразование оставляет данную точку на месте (для случайныхперестановок π 1 , . . . , π d ), не превышает 1/(n − 2k) + O(k 4 /n 2 ).Доказательство леммы 2. Нам будет удобно представлять себе вероятностныйпроцесс следующим образом: вместо того, чтобы выбирать случайныеперестановки заранее, будем определять их постепенно по мере чтенияслова P , оставляя не фиксированными те части перестановок π 1 , . . . , π d ,которые пока не понадобились. В каждый момент этого процесс для каждойперестановки π i уже определённая часть представляет собой биекциюмежду двумя подмножествами множества вершин; когда мы переходим кследующей букве, может оказаться, что очередное ребро уже определеноимеющейся частью перестановок (вынужденный ход), а может оказаться,что нет (свободный ход). В последнем случае мы доопределяем нужную перестановку,соединяя вершину (равновероятно) со всеми оставшимися кандидатами.Нам будет удобна такая терминология: совпадение происходит, когда насвободном ходу мы попадаем в уже пройденную вершину. Заметим, чтопервое попадание в уже пройденную вершину всегда будет совпадением (впредыдущую вершину мы попали впервые, и потому из неё все ходы будут16


свободными, кроме возвратного, который невозможен, так как P несократимо).Поэтому интересующая нас вероятность разбивается на два случая:• мы вернулись в исходную вершину, при этом произошло ровно односовпадение;• мы вернулись в исходную точку, при этом произошло не менее двухсовпадений.Второй случай разбивается на O(k 2 ) вариантов в зависимости от моментовсовпадений (мест в слове P , где они произошли). Вероятность каждоговарианта не более 1/(n−2k) 2 . В самом деле, условная вероятность совпаденияпри фиксированной предыстории (пути до него) не больше k/(n − 2k),так как мы доопределяем перестановку в новой точке и имеется не менееn − 2k равноверороятных вариантов, из которых не более k успехов. Такимобразом вероятность второго случая не превосходит O(k 4 /n 2 ) (можносчитать, что k ≪ n, иначе оценка тривиальна).Осталось показать, что в первом случае вероятность совпадения не превосходит1/(n−2k). Это следует из того, что совпадение произойдёт в заранееизвестном месте, а именно, при движении по последней букве слова Yв разложении P = XY X −1 . Более того, до этого момента все пройденныевершины будут различны.Сейчас мы это докажем, и при этом понадобится использовать непериодичностьслова Y (из определения регулярного слова) Посмотрим намомент, когда мы впервые попадаем в уже пройденную вершину.Этот момент (как мы уже говорили) будет совпадением, поэтому достаточнодоказать, что это случается в конце слова Y . В самом деле:• после этого новые вершины в пути уже не появятся, так как из новыхвершин нужно вернуться в старые, и это будет совпадением;• свободных ходов больше не будет, так как это было бы вторым совпадением;• вынужденных ходов из каждой вершины (за исключением точки ветвения)не более двух, при этом один невозможен (возвращение по толькочто пройденному ребру означало бы, что слово P сократимо);• поэтому движение определяется почти однозначно и состоит из несколькихциклов плюс возврат в исходную вершину (по предположению мытуда возвращаемся);17


• однозначно определяются не только ходы, но и соответствующие буквыслова, поэтому разбиение на цикл и отросток совпадает с разложениемP = XY X −1 ;• поэтому мы можем сделать только один оборот (иначе Y было быпериодично).Лемма 2 доказана.Остаётся в суммарной оценке (для среднего сумм 2k-х степеней всехсобственных чисел матрицы (A/2d) 2k )1n − 2k + O(k4 /n 2 ) + O(k 2 (2/d) k ) == 1 + O(k/n) + O(k 4 /n 2 ) + O(k 2 (2/d) k )подобрать параметр k. Выберем его так, чтобы (2/d) k = 1/n 2 , то есть n =2 log d/2 n. Тогда последний член поглощается предпоследним, а тот, в своюочередь, попадает в O(k/n). Значит, найдётся матрица, у которой второесобственное число не превосходит√2k O(k)n = O(d−1/4 ),если вспомнить о выборе k из условия n 2 = (d/2) k и заметить, что (O(k)) 1/k →1 при k → ∞. Теорема доказана.Замечания.1. Мы доказали существование хотя бы одного графа с оценкой O(d 3/4 )на второе собственное число. Тоже самое рассуждение вместе с неравенствомЧебышёва показывает, что большинство графов по указанному распределениюобладает этим свойством.Можно доказать, что это распределение достаточно близко к равномерномураспределению на множестве всех 2d-регулярных графов.2. Мы рассматривали графы чётной степени; если почему-то нужен графнечётной степени, можно добавить по петле к каждой вершине, отчего собственныечисла увеличатся на единицу.3. Теорема о том, что у большинства графов второе собственное числоимеет порядок O(d 3/4 ) была доказано Бродером и Шамиром (Broder–Shamir). Намного более сложные рассуждения (Joel Friedman) позволяютдоказать, что на самом деле у большинства d-регулярных графов второесобственное число близко к 2 √ d − 1.Литература: [HLW].3 Явные конструкции графов: подстановочноеи зигзаг-произведениеДолгое время явные конструкции экспандеров были довольно сложными.Оценки собственных чисел использовали преобразование Фурье или слож-18


ные конструкции из алгебры и теории представлений. Однако позже былнайден довольно простой способ получать такие графы с помощью особых“произведений” графов. Эти произведения позволяют “собирать” большиеалгебраические экспандеры из маленьких блоков (а подходящего вида маленькиеблоки, которые и сами должны быть эспандерами, мы можем найтиперебором.)Пусть даны два графа G(n, D) и H(D, d). Запись в скобках указываетпараметры: число вершин и степень каждой вершины (одинаковую длявсех вершин). Пусть при этом число вершин второго графа равно степенипервого (как на рисунке).Мы определим три различных произведения для этих графов. Для этогокаждую вершину первого графа заменим маленькой копией второго графа,прикрепив рёбра первого графа к вершинам второго. (В маленьком графекак раз нужное число вершин.) Внимание: в прикреплении есть произвол —конкретный выбор соответствия в каждой вершине не играет роли. Получитсяграф с nD вершинами и рёбрами двух типов — большими из первогографа и малыми из второго. (На рисунке — сплошные и пунктирные линии.)19


Простое подстановочное произведение (replacement product): Построенныйвыше граф в точности и есть простое подстановочное произведениеG и H. В полученном графе nD вершин (n ‘галактик’ по D вершин в каждой);степень каждой вершине равна d + 1 (из каждой вершины выходитодно сплошное и d пунктирных рёбер).Сбалансированное подстановочное произведение (balanced replacementproduct): Отличие состоит лишь в том, что мы берём каждое сплошное реброс кратностью d. таким образом, в полученном графе-произведении изкаждой вершины выходит 2d рёбер: d сплошных и d пунктирных.Зигзаг-произведение (zig-zag product): Вершины у зигзаг-произведениябудут те же, но рёбра совсем другие. Мы берём все пути дины 3 видапунктир – сплошной – пунктири объявляем их рёбрами зигзаг-произведения. Другими словами, каждоесплошное ребро порождает d 2 рёбер зигзаг-произведения (соединяющихпары пунктир-соседей концов сплошного ребра), как показано на рисунке(рёбра зигзаг-произведения кривые):Легко видеть, что все вершины зигзаг-произведения имеют степень d 2 (каждоеиз двух пунктирных рёбер можно выбрать d способами).Опишем матрицу графа, полученного в результате зигзаг-произведения.Для этого мы рассмотрим две матрицы размера nD × nD (координаты соответствуютвершинам графа). Первая матрица ˜H есть матрица графа срёбрами из пунктирных линий, вторая матрица ˜G соответстует графу стеми же вершинами, но с рёбрами из сплошных линий. (Обозначения показывают,что эти матрицы происходят из соответственно первого и второгографов, участвующих в зигзаг-произведении). В ˜H каждый столбец и каждаястрока содержат d единиц, а в ˜G — только одну единицу. Отметим,что ˜G задаёт перестановку на множестве вершин, и её норма равна единице.Ясно, что матрицей зигзаг-произведения будет произведение матриц˜H ˜G ˜H.Далее мы докажем оценки для второго собственного числа зигзаг-произведенияи сбалансированного подстановочного произведения.Зигзаг-произведение: оценка второго собственного числаДокажем, что зигзаг-произведение двух графов, у которых малы вторые(по абсолютной величине) собственные числа, тоже имеет небольшое второесобственное число.Теорема. Зигзаг-произведение алгебраического (n, D, α)-экспандера Gи алгебраического (D, d, β)-экспандера H является алгебраическим экспандеромс параметрами (nD, d 2 , ≤ α + 2β + β 2 ).20


Замечание. На самом деле можно улучшить оценку для второго собственногочисла до α+β, но мы ограничимся доказательством более слабогоутверждения.Доказательство Чтобы оценить второе собственное значение симметричнойматрицы, надо ограничить квадратичную форму на ортогональноедополнение к первому собственному вектору e 0 = (1, . . . , 1) и взять её максимумна единичном шаре. Другими словами, модуль второго собственногочисла матрицы ˜H ˜G ˜H есть максимум выражения|f ⊤ ˜H ˜G ˜Hf|по всем векторам f длины nD, имеющим единичную длину и ортогональных0 (то есть имеющих нулевую сумму координат). Чтобы оценить это выражение,разложим f в сумму f = f ‖ +f ⊥ следующим образом: координатыf ‖одинаковы в каждой из ‘галактик’ (копий графа H), а для f ⊥ на каждойкопии графа H сумма координат равна нулю. Чтобы оценить значениеквадратичной формы на произвольном векторе f ⊥ e 0 , мы отдельно изуимдействие матриц ˜G и ˜H на векторы f ‖ и f ⊥ :(a)˜Hg = d · g, поскольку внутри каждой копии H веса (координаты) вектораg одинаковы, и каждый из них распространяется в d соседей втой же галактике.(b) ‖ ˜Hh‖ ≤ βd · ‖h‖, поскольку вектор h в каждой копии H ортогоналенпервому собственному вектору матрицы графа H, а все остальныесобственные векторы этой матрицы не превосходят (по модулю) βd.(Если в каждой компоненте норма оператора не превосходит βd, тоэто верно и для всего оператора.)(c) |g ⊤ ˜Gg| ≤ α‖g‖ 2 ; в самом деле, квадратичная форма в левой части содержитодин ненулевой член для каждого ребра, позаимствованногоиз графа G (теперь это ребро соединяет две вершины из разных галактик).Поэтому выражение внутри знака модуля из левой части равно(ĝ) ⊤ Ĝĝ, где Ĝ — матрица смежности графа G, а ĝ получается из gсклеиванием равных значений в каждой компоненте. При этом суммакоординат в ĝ (как и в исходном векторе f) равна нулю. Поэтомуданное выражение (по предположению о графе G) оценивается какαm‖ĝ‖ 2 , что равно как раз α‖g‖ 2 .Теперь мы можем оценить искомое выражение:|f ⊤ ˜H ˜G ˜Hf| = |(g + h)⊤ ˜H ˜G ˜H(g + h)| ≤≤ |g ⊤ ˜H ˜G ˜Hg| + 2|g⊤ ˜H ˜G ˜Hh| + |h⊤ ˜H ˜G ˜Hh|.Первое из трёх слагаемых равно d 2 |g ⊤ ˜Gg| по свойству (a) и потому не превосходитαd 2 ‖g‖ 2 по (b). Второе слагаемое не превосходит 2·(βd)·d·‖g‖·‖h‖21


(матрица ˜G есть матрица перестановки и сохраняет норму). Наконец, третьеслагаемое не превосходит (βd) 2 ‖h‖ 2 по аналогичным причинам. В этихоценках можно заменить ‖g‖ и ‖h‖ на ‖f‖ и получить(α + 2β + β 2 )‖f‖ 2 ,что и требовалось. Теорема доказана.Упражнение: Улучшите оценку до (α + β + β 2 )‖f‖ 2 .Эффективное построение экспандеровПостроим последовательность явно заданных графов одной и той жестепени с растущим числом вершин, имеющих малые собственные числа.Основная идея: возводя матрицу в квадрат, мы не меняем число вершинграфа и уменьшаем (возводим в квадрат) нормализованное (т.е. делённоена степень графа) второе собственное число. Зато мы увеличиваем (тожевозводим в квадрат) степень вершины. Но это можно скомпенсироватьзигзаг-умножением на фиксированный граф H.Более подробно, фиксируем граф H(d 4 , d, 1/10) для некоторого d (длядостаточно больших d такой граф, как мы видели, существует). Затем построимпоследовательность графов G 0 , G 1 , . . ., положив• G 0 = H 2 . Параметры: (d 4 , d 2 , 1/100).• G n+1 есть зигзаг-произведение G 2 n и H. По индукции доказывается,что экспандер G n имеет параметры (d 4n+4 , d 2 , ≤ 1/2). В самом деле,после возведения в квадрат получаем (d 4n+4 , d 4 , 1/4), а умножение наH(d 4 , d, 1/10) даёт число вершин d 4n+8 , степень каждой вершины d 2и третий параметр14 + 2 1 10 + 110 2 < 1 2 ,что завершает доказательство.В каком смысле мы получаем явно заданную последовательность графов?Эти графы можно выписать за полиномиальное время от числа вершин.Но в приложениях нам может понадобиться явно заданная последовательностьв более сильном смысле: кодируя вершины последовательностямибитов, можно требовать полиномиальной вычислимости функции вращения〈x, i〉 ↦→ N(x, i), где x — код вершины, i — порядковый номер ребра,N(x, i) — код второго конца этого ребра. В этом случае время вычислениядолжно быть полиномиально относительно длины кода вершины, то естьлогарифма от числа вершин – это существенно более сильное свойство.Как происходит вычисление функции N в построенной последовательности?Номер ребра представляет собой пару чисел, каждое от 1 до d. Вершинаграфа G n+1 представляет собой пару: одна вершина G 2 n (=вершинаG n ) и одна вершина H. Движение по ребру: сначала идём по ребру H, попадаемв какую-то вершину H (в диапазоне 1 . . . d 4 ), воспринимаем её какпару чисел в диапазоне 1 . . . d 2 , рекурсивно идём по двум рёбрам графа G n22


и затем делаем ещё ход в H. Таким образом, вычисление N для графа G n+1использует два вызова аналогичного вычисления для G n , что приводит кэкспоненциальной оценке по n, и полиномиальной вычислимости функцииN не получается.Однако можно модифицировать конструкцию, используя не предыдущийграф G n , а граф с половинным индексом. Для начала выберем графH с параметрами (d 8 , d, 1/10), а затем построим последовательностьG 0 : (1, d 2 , 1/2)G 1 : (d 8 , d 2 , 1/2)G 2 : (d 16 , d 2 , 1/2). . .G n : (d 8n , d 2 , 1/2). . .Начальные графы G 0 и G 1 построить легко (G 0 — это граф, состоящий изединственной вершины и d 2 петель, граф G 1 можно получить из H размножениемрёбер в d раз, что не меняет собственных чисел). Затем можновоспользоваться рекуррентной формулойG n = (G ⌊(n−1)/2⌋ ⊗ G ⌈(n−1)/2⌉ ) 2 z○H,где ⊗ обозначает тензорное произведение, а z○ — зигзаг-произведение. Тензорноепроизведение в скобках имеет параметры (d 8(n−1) , d 4 , 1/2), после возведенияв квадрат получается (d 8(n−1) , d 8 , 1/4) и после зигзаг произведение(d 8n , d 2 , 1/2) (в силу того же вычисления с 1/4 и 1/10, что и раньше).Преимущество новой конструкции в том, что при вычислении функции‘вращения’ N два рекурсивных вызова относятся к половинным значениямn; глубина рекурсии теперь стала логарифмической по n, и общее времявычисления полиномиально по n.Оценка собственных чисел для сбалансированного подстановочногопроизведенияДокажем немного другую оценку на собственные числа: будем оцениватьне их малость второго собственного числа, а его отделённость от единицы.Для разнообразия будем иметь дело с подстановочным произведением (хотяаналогичная оценка возможна и для зигзаг-произведения).Теорема. Пусть графы G и H являются алгебраическими экспандерамис параметрами (n, D, 1−ε) и (D, d, 1−δ) соответственно. Тогда их сбалансированноеподстановочное произведение G r○H имеет параметры (nD, 2d, 1−εδ 2 /24).Доказательство. Удобно описывать происходящее в терминах блужданий(соответствующих нормализованным матрицам, полученных делениемматрицы смежности на степень графа). Блуждание по взвешенному23


произведению является полусуммой двух блужданий: ‘локального’, где мыдвижемся внутри одной ‘галактики’ в соответствии с матрицей графа H, иглобального, где мы движемся по рёбрам графа G (а выбор ребра определяетсятекущей H-координатой: вершин в графе H как раз столько, сколькорёбер в G, и мы предполагаем, что фиксировано какое-то соответствие).Таким образом, матрицу блуждания можно записать какU = 1 2Ĝ + 1 2Ĥ,где Ĝ и Ĥ — матрицы перехода по ‘локальным’ и ‘глобальным’ рёбрам.Чтобы оценить второе собственное число U, достаточно оценить второе собственноечисло U 3 = ( 1 2Ĝ + 1 2Ĥ)3 и доказать, что оно не больше 1 − εδ 2 /8(а затем воспользоваться неравенством Бернулли).В разложении для U 3 будет восемь членов. Все эти члены имеют дваинвариантных подпространства: одномерное — векторы, у которых все координатыравны (все восемь членов на этом подпространстве единичные,и при каждом стоит коэффициент 1/8), и ортогональное к нему (векторы,сумма координат которых равна нулю), где максимальное собственноезначение (и тем самым норма ограничения на это подпространство) и естьинтересующий нас параметр. Если бы мы доказали, что для одного из этихвосьми произведений второе собственное число не больше 1 − εδ 2 , то это быгарантировало, что для U 3 это второе собственное число не больше 1−εδ 2 /8,поскольку у оставшихся семи произведений норма не больше 1.Какое из восьми слагаемых выбрать? Кажется, что наилучшие шансына перемешивание у ĤĜĤ (сначала перемешиваем внутри галактики спомощью графа H, потом идём по ребру большого графа, потом перемешиваемвнутри другой галактики — как в зизаг-произведении). Если быперемешивание внутри галактики было полным (переход в случайную точкугалактики), то такой переход был бы переходом в случайную вершинуслучайной соседней галактики. Соответствующее преобразование являетсятензорным произведением G и полного перемешивания, и потому имеетвторое собственное число 1 − ε, как у G.Это много лучше, чем нам надо (1 − ε вместо 1 − εδ 2 /8), что не удивительно:мы самовольно заменили перемешивание вдоль H полным перемешиванием.Поскольку переход по ребрам H не является полным перемешиванием,нам придётся усложнить рассуждение (при этом вместо 1 − ε мыполучим для второго собственного числа более скромную оценку 1−εδ 2 /8).Лемма. Пусть S — матрица блуждания по некоторому графу (первоесобственное число равно 1), и все остальные собственные числа по модулюне превосходят 1 − δ. Тогда S можно представить в виде (1 − δ)A + δB, гдеA — матрица с нормой не больше 1, а B — матрица полного перемешивания(все матричные элементы равны 1/(число вершин)).Доказательство: вычитая из S матрицу δB, мы уменьшаем первое собственноечисло (единицу) на δ, а остальные не трогаем, так что все собственныечисла становятся не больше 1 − δ по модулю.24


Теперь мы можем повторить примерно те же рассуждения, что и выше,но уже с тремя слагаемыми. Применим лемму к блужданию по графу Hи разложим его в сумму (1 − δ)A + δB. Это разложение можно провестив каждой галактике и получить разложение Ĥ = (1 − δ)Â + δ ˆB, где Â —некоторый оператор с нормой не больше 1, а B — то самое полное перемешиваниевнутри галактик, о котором мы говорили выше.Повторяем прежнее рассуждение, но в разложенииU = 1 2Ĝ + 1 − δ Â + δ 2 2 ˆBбудет уже не 8, а 27 слагаемых. В одном из слагаемых (в ˆBĜ ˆB) второе собственноезначение не превосходит 1 − ε, а остальные представляют собойоператоры с нормой не больше 1 с некоторыми скалярными коэффициентами(сумма коэффициентов при этих 27 слагаемых равна единице). Поэтомувторое собственное значение U не больше 1 − εδ 2 /8, что и требовалось доказать.Ниже мы воспользуемся конструкцией подстановочного произведения идоказанной только что теоремой, чтобы получить теорему Рейнгольда. Асейчас мы применим полученные оценки чтобы описать ещё одну явнуюконструкцию алгебраических экспандеров. Прежде всего мы выберем алгебраическийэкспандер H с параметрами (d 50 , d/2, 1/100), а также алгебраическиеэкспандеры G 1 и G 2 с параметрами (d 100 , d, < 1/2) и (d 200 , d, < 1/2)соответственно (такие графы существуют для всех достаточно больших d).Далее построим последовательностьG n = (G ⌊(n−1)/2⌋ ⊗ G ⌈(n−1)/2⌉ ) 50 r○H,Упражнение: Проверьте, что G n является алгебраическим экспандером спараметрами (d 100n , d, < 1−1/50); функция вращения для такого графа G nвычисляется за полиномиальное от n время.Ещё один вариант явного построения экспандеровВсе явные последовательности экспандеров, которые мы строили, формировалисьвокруг ‘затравочного’ экспандера H с подходящими параметрами,который мы находили перебором (длина перебора не зависела от n,так что мы имели право использовать его в полиномиальном по n алгоритме).Сейчас мы опишем алгебраическую конструкцию, которая позволяетстроить нужный нам ‘затравочный’ граф без перебора.Пусть q – простое число. Рассмотрим граф AP q , вершинами которогоявляются все пары (a, b) ∈ Z 2 , а рёбрами соединены такие вершины (a, b),(c, d), чтоac = b + d mod qПолезно представлять себе пару (a, b) точкой аффинной плоскости над Z q ,а (c, d) – прямой с уравнением y = cx−d, которая проходит через эту точку.25


Таком образом, граф состоит из q 2 вершин, и степень каждой вершиныравна q. Покажем, что второе по абсолютной величине собственное числографа равно √ q.Можно заранее догадаться, что данный граф обладает хорошими свойствамиперемешивания. В самом деле, вторая степень этого графа (соответствующаяблужданию по графу AP q по путям длины два) очень близка кполному перемешиванию. Поэтому удобно произвести спектральный анализне для самого AP q , а для его квадрата.Обозначим A матрицу графа AP q . Будем считать, что вершины (a, b)нумеруются сначала по первой, а потом по второй координате. Таким образом,матрица A состоит из q 2 квадратных блоков размера q × q; в каждомтаком блоке (i-ом по горизонтали, j-ом по вертикали) ребра соответствуютпереходу из вершин вида (i, ∗) в вершины (j, ∗).Матрицу A 2 легко выписать в явном виде. Действительно, A 2 описываетпути длины 2 на AP q . Если i ≠ j, то есть ровно один такой путь из (i, k)в (j, l) (поскольку на плоскости есть ровно одна прямая, которая проходитчерез точки (i, k) и (j, l)). Если k ≠ l, то из (i, k) в (i, l) нет путей длиныдва (мы не рассматриваем вертикальные прямые на плоскости). Наконец,из для каждой вершины (i, k) имеется q циклов длины два.Таким образом, матрица A 2 имеет вид⎛⎜⎝qI J J . . . JJ qI J . . . J. . . . . . . . . . . . . . .J J J . . . qIгде I — диагональная единичная матрица q × q, а J q — матрица q × q, вкоторой на всех местах стоят единицы.В тензорных обозначениях это можно записать так:⎞⎟⎠A 2 = I q×q ⊗ (qI q×q ) + (J q×q − I q×q ) ⊗ J q×qУ матрицы I q×q все собственные числа равны единице; у J q×q есть собственноечисло 1 кратности один и собственное число 0 кратности (q − 1).Простой подсчёт показывает, что у A 2 спектр состоит из чисел q 2 (кратность1), 0 (кратность (q − 1)) и q (кратность q(q − 1)). Следовательно, усамой матрицы A второе собственное число равно √ q.Зафиксируем простое число q и рассмотрим следующую последовательностьграфов:AP 1 = AP q ⊗ AP iAP k+1 = AP k z○ AP qПо свойству зигзаг-произведения, AP k является алгебраическим экспандеромс параметрами (q 2(k+1) , q 2 , O( i √ q)). Таком образом, при k = 7 (для достаточнобольших q) мы получаем граф, который можно брать в качествеграфа H в нашей основной конструкции явно заданных экспандеров.26


4 Графы КэлиВ этом разделе мы определим графы Кэли и приведём несколько простейшихпримеров спектрального анализа таких графов.Пусть G — произвольная группа, а S ⊂ G — симметричное множествоэлементов группы (если h ∈ S, то h −1 ∈ S). Графом Кэли (G, S) называетсяграф, вершинами которого являются все элементы группы G; вершины aи b соединяются ребром, если a = bh для некоторого h ∈ S (поскольку Sсимметрично, данное определение корректно).Пример 0. G– произвольная группа, S = G. Графом Кэли (G, S) будетполный графы с |G| вершинами (с петлями).Пример 1. G = Z n , S = {1, −1}. Графом Кэли (G, S) будет цикл длиныn.Пример 2. G = Z k 2; S состоит из естественных образующих группы:S = {e i = (0, 0, . . . , 0, 1, 0, . . . , 0), i = 1, . . . , n} (у e i единица стоит в позицииномер i; остальные координаты нулевые). Графом Кэли (G, S) будет графрёбер n-мерного гиперкуба.Для спектрального анализа графа Кэли полезно рассмотреть неприводимыепредставления группы G. Для конечных абелевых групп нужно изучитьхарактеры G:Определение. Характерами группы G называют гомомомерфизмы вмультипликативную группу комплексных чисел ξ : G → C ∗Теорема Пусть G = {a 1 , . . . , a n } — конечная абелева группа, S ⊂ G — еёсимметричное подмножество, ξ — один из характеров группы. Тогда вектор(ξ(a 1 ), . . . , ξ(a n )) является собственным для матрицы группы Кэли (G, S);соответствующее этому вектору собственное число равно∑ξ(h)h∈SДоказательство: Подействуем на вектор (ξ(a 1 ), . . . , ξ(a n )) матрицей Mграфа Кэли. Вычислим значение в i-ой координате полученного в результатевектора. Понятно, что там должна стоять сумма величин ξ(a j ) по всемa j , которые соединены ребром с a i . Это значит, что a j получается из a iумножением на некоторый элемент из S. Таким образом, i-ая координатаM(ξ(a 1 ), . . . , ξ(a n )) t равна∑ξ(h)Тем самым, теорема доказана.h∈Sξ(a i h) = ξ(a i ) ∑ h∈SВозвращение к примеру 1. Характер группы Z n однозначно определяетсяего значением на элементе 1 (при этом характер должен отобразитьэлементы группы в корни из единицы степени n). Таким образом, мы получаемn линейно независимых характеров ξ k , определяемых условиемξ k (1) = e 2πk/n27


Соответственно, собственные числа графа равны λ k = ξ k (1) + ξ k (−1) =2 cos(2πk/n), k = 0, 1, . . . , n − 1.Возвращение к примеру 2. Характеры группы Z n 2 однозначно определяютсязначениями на образующих e i (ξ(e i ) может быть равно 1 или−1). Таким образом, мы имеем 2 n линейно независимых характеров ξ b1...b n(b 1 . . . b n – строка битов):ξ b1...b n(a 1 , . . . , a n ) =Cобственные числа графа Кэли равныn∏i=1(−1) aibiλ b1...b n= [число нулей в строке b 1 . . . b n ] − [число единиц в строке b 1 . . . b n ]т.е. собственными числами будут значения n, n − 2, n − 4, . . . , −n (кратностисобственных чисел будут равны соответствующему биномиальному коэффициенту).Ещё один пример: Покажем, как построить экспандер из кода, исправляющегоошибки.Пусть для линейного кода C : {0, 1} k → {0, 1} n расстояние между любымидвумя (несовпадающими) кодовыми словами ε-близко к n/2: Еслиy 1 = C(x 1 ), y 2 = C(x 2 ) (x 1 ≠ x 2 ), то( 1 2 − ε)n ≤ dist(y 1, y 2 ) ≤ ( 1 2 + ε)nТакой код можно получить, например, как конкатенацию алгебро–геометрическогокода и кода Адамара. Поскольку код линейный, в каждом кодовом слове(кроме нулевого) должно быть не менее ( 1 2 − ε)n и не более ( 1 2+ ε)n единиц.Обозначим G порождающую матрицу кода. Это матрица размерностиn × k над Z 2 ; её столбцы образуют базис в пространстве кодовых слов.Обозначим S множество строк матрицы G (n векторов из Z k 2) и рассмотримграф Кэли C(Z k 2, S). Полученный граф состоит из 2 k вершин, и степеньего равна n. Остаётся вычислить его собственные числа. Это делается также, как в Примере 2. Имеется 2 k линейно независимых характеров ξ b1...b k(где b 1 . . . k n – строка битов):ξ b1...b k(a 1 , . . . , a k ) =k∏i=1(−1) aibiДля каждого набора ¯b = (b 1 . . . b k ) сумма значений ξ b1...b k(a 1 , . . . , a k ) по всем(a 1 , . . . , a k ) из S есть в точности сумма битов в кодовом слове C(¯b) (действительно,нужно множить матрицу G на вектор-столбец ¯b и просуммироватьбиты в полученном кодовом слове). Обозначим y(¯b) = G¯b t Таким образом,соответствующие собственные числа графа Кэли равныλ b1...b k= [число нулей в строке y(¯b)]−[число единиц в строке y(¯b)] = n−2[число единиц в строке y(¯b)]28


Следовательно, все собственные числа (кроме λ 0...0 = n) по модулю не превосходят2εn.Таким образом, мы получили экспандер с N = 2 n вершинами, степеньюO(log N) и вторым собственным числом 2εN. Степень данного графа неконстанта (как в рассмотренных нами ранее явных конструкциях графов,основанных на зигзаг и перестановочном произведении), а логарифм числавершин. Зато структура полученного графа согласована с аддитивнойструктурой Z n 2 . Это свойство бывает полезно в некоторых приложениях,см., например, [BSSVW].Графы Рамануджана.d-регулярный граф называется графом Рамануджана, если его второепо модулю собственное число не превосходит 2 √ d − 1. Любоцкий, Сарнак,Филлипс и Маргулис указали явную конструкцию графов Кэли, являющихсяграфами Рамануджана. Опишем эту конструкцию.Пусть p и q простые числа, p = 1 mod 4 и q = 1 mod 4. В качестве группыG возьмём P GL(2, Z/qZ), т.е. невырожденные матрицы 2 × 2 над полемвычетов по модулю q, профакторизованные по отношению пропорциональности(с обычной операцией матричного умножения).Далее мы зададим в этой группе симметричное множество S. Выберемтакое целое i, что i 2 = −1 mod q. Можно доказать, что тогда имеется ровно(p + 1) целочисленное решение уравненияa 2 0 + a 2 1 + a 2 2 + a 2 3 = pтакое, что a 0 положительно и нечётно, а a 1 , a 2 , a 3 чётны. Каждой такойчетвёрке сопоставим матрицу( )a0 + iaA =1 a 2 + ia 3−a 2 + ia 3 a 0 − ia 1Эти матрицы и образуют множество S.Нетрудно понять, что граф Кэли (G, S) состоит из Θ(q 3 ) вершин, и степенькаждой вершины равна (p + 1). Свойства данного графа зависят отсоотношения p и q. Рассмотрим случай, когда p является квадратичнымвычетом по модулю q. Тогда полученный граф Кэли состоит из двух связныхкомпонент (поскольку все матрицы из S лежат в подгруппе G индексадва — подгруппе матриц, определитель которых является квадратичнымвычетом). Обозначим X p,q связную компоненту полученного графа. Можнодоказать, что у X p,q второе по абсолютной величине собственное числоне превосходит 2 √ p, т.е. мы получили граф Рамануджана. Однако доказательстоэтого факта непросто и использует серьёзную алгебру. Полноедоказательство этой теоремы можно найти в [Sar].29


5 Некоторые применения экспандеров в computerscienceПрименение экспандеров 1: Алгоритм РейнгольдаРанее мы видели, что зигзаг и подстановочное произведение позволяют‘собирать’ из маленьких экспандеров (маленькие экспандеры можно найтиперебором) сколь угодно большие экспандеры с ограниченной степеньюи достаточно малым вторым собственным числом. Теперь мы рассмотримещё одно замечательное одно применение этих операций. Мы докажем теоремуРейнгольда (Omer Reingold) о дерандомизации одного из самых знаменитыхвероятностных алгоритмов – алгоритма проверки s-t-связности внеориентированном графе (задача UPATH) с логарифмической памятью.Описание задачи UPATH: задан неориентированный граф G = (V, E),в котором выделены две вершины s, t ∈ V . Требуется выяснить, есть ли вграфе путь из вершины s в вершину t.Теорема Задача UPATH может быть решена вероятностным алгоритмомс логарифмической памятью.Вероятностный алгоритм для решения задачи UPATH устроен оченьпросто: нужно сделать N = poly(|V |) (выбор полинома мы утоним чутьпозже) шагов случайного блуждания по графу, начав с вершины s. Если заN шагов нам удастся побывать в вершине t, мы точно знаем, что в графеесть путь из s в t. В противном случае мы полагаем, что такого пути нет.В каждый момент работы алгоритма нам требуется помнить номер текущегошага блуждания (от 1 до N) и номер вершины, в которой мы в данныммомент находимся. Для хранения этой инофрмации достаточно памяти размераO(log |V |).Ясно, что если пути из s в t нет, то алгоритм выдаст правильный ответ.Остаётся оценить вероятность другой ошибки: путь из s в t существует, ноза N шагов блуждания мы его не обнаружим. Без ограничения общностиможно считать, что граф регулярен и недвудолен (мы всегда можем добитьсяэтого, добавив в граф некоторое количество петель). Далее покажем,что при случайном блуждании по связному однородному и недвудольномуграфу распределение вероятностей на вершинах быстро приближается коднородному. Ключевое свойство графа:Лемма В d-регулярном однородном и недвудольном графе с n вершинамищель между первым и вторым по абсолютной величине собственнымичислами не может быть меньше 1/ poly(n), т.е.λ/d ≥ 1 − Θ(1/n c )для некоторой константы c (не зависящей ни от n, ни от d).Доказательство: Прежде всего, без ограничения общности можно считать,что граф связен (если это не так, мы перейдём рассмотрению однойсвязной компоненты).30


Далее, если у графа есть отрицательные собственные числа, мы перейдёмот исходного графа G к его квадрату G 2 . При возведении в квадратвсе собственные числа также возведутся в квадрат и станут положительными(щель между перым и вторым по модулю собственным числом такжеизмениться в полином раз — умножится на O(d)). Важно отметить, что посколькуисходный граф G не был двудольным, в его квадрате максимальноесобственное число имеет кратность 1 (связный недвудольный граф при возведениив квадрат остаётся свзным).Таким образом, остаётся доказать лемму для связного графа, у котороговсе собственные значения положительны. Обозначим ¯f = (f 1 , . . . , f n )собственный вектор, соответствующий второму собственному числу G 2 (онортогонален первому собственному вектору (1, 1, . . . , 1), т.е., ∑ f i = 0).Всегда можно считать, что норма ¯f равна единице. Тогда найдётся координатаi такая, что |f i | ≥ 1/ √ n. Предположим для определённости, что f iположительно. Поскольку сумма всех координат ¯f равна нулю, то найдётсяи координата j, для которой f j ≤ 0.Рассмотрим в графе кратчайший путь из i-ой вершины в j-ую: f i − . . . −f j . В этом пути найдётся хотя бы одно ребро f s − f l , для которого|f s − f l | ≥ |f i − f j |/n ≥ 1n √ nИтак, мы нашли в графе такую пару вершин, соединённых ребром, чторазница |f s − f l | не меньше 1/n 1.5 .Просуммируем (f s − f t ) 2 по всем рёбрам (s, t) графа. При этом каждоеребро мы считаем по одному разу:∑s≤t, (s,t)∈E(f s −f t ) 2 =∑s≤t, (s,t)∈E(f 2 s +f 2 t −2f s f t ) = dn∑fs 2 − ¯f t M ¯f = 2d 2 −2λ(здесь M обозначает матрицу графа, d — его степень). Обратите внимание:эта равенство верно независимо от того, если в графе петли. Данная суммаснизу ограничена (f s −f l ) 2 ≥ 1 n 3 . Следовательно, разность d−λ ограниченаснизу Θ(1/n 3 ). Лемма доказана.С помошью леммы легко оценить корректность работы нашего алгоритма.Обозначим ¯p(i) распределение веротяностей на вершинах после iшагов случайного блуждания по графу (распределение ¯p(0) сосредоточенов единственной вершине s). Пусть обозначим равномерное распределениеū = ( 1 n , . . . 1 n) на вершинах компоненты связности s, и разложим ¯p(i) в суммуū и некоторого вектора из его ортогонального дополнения:¯p(i) = ū + ¯q(i),где сумма координат вектора ¯q(i) равна нулю. Если M — нормализованнаяматрица графа, то ¯q(i + 1) = M ¯q(i). На подпространстве векторов снулевой суммой норма линейного оператора M равна (нормализованному)s=131


второму собственному числу графа; по лемме это число не может быть больше1 − Θ(1/n c ), где n есть число вершин в компоненте связности вершиныt. Следовательно, на каждом шаге норма ¯q(i) уменьшается по крайней мерев (1 − Θ(1/n c )) раз, и через poly(n) шагов распределение ¯p(i) станеточень близко к равномерному (на компоненте связности графа). Таким образом,если s и t принадлежат одной компоненте связности, то вероятностьпопасть через poly(n) шагов в вершину t будет близка к 1/n. Если же увеличитьчисло шагов ещё в полином раз, то веротяность хотя бы раз побыватьв t станет близка к единице.Рейнгольд придумал, как дерандомизовать алгоритм блуждания на графебез значительного увеличения используемой памяти:Теорема Задача UPATH может быть решена детерминированным алгоритмомс логарифмической памятью.Прежде чем доказывать теорему, заметим, что мы уже умеем решатьна логарифмической памяти задачу UPATH для (n, d, 0.99)-экспандеров. Всамом деле, мы знаем, что диаметр такого экспандера равен O(log n). Мыможем перебрать все пути длины C log n с началом в вершине s и проверить,ведёт ли хотя бы один из них в t; такая проверка очевидно требует лишьлогарифмической памяти (и полиномиального времени).Чтобы решить задачу для произвольного графа G, мы превратим егов экспандер с помощью произведения. Для этой цели годится и зигзагпроизведение,и сбалансированное подстановочное произведение. В оригинальнойработе Рейнгольда применялось загзаг-произведение (этот способдаёт лучшие оценки для мультипликативной константы в оценке размерапамяти алгоритма). Мы приведём немного другое рассжудение, воспользовавшисьсбалансированным подстановочным произведением (для этого унас уже доказана нужная оценка для собственных чисел подстановочногопризведения).Доказательство теоремы: Мы предполагаем, что нам задан (в видеоракула) неориентированный граф G с n вершинами, без петель и параллельныхрёбер. Далее мы построим на основе G несколько ‘воображаемых’графов; мы сможем моделировать блуждание по каждому из этих вообраемыхграфов с помощью исходного оракула и дополнительной памятиразмера O(log n).Воображаемый граф G ′ : заменим в исходном графе каждую вершинустепени deg > 3 на цикл длины deg; рёбра, входившие ранее в данную вершинумы по одному присоединим к вершинам этого цикла. Таким образом,в графе G ′ степень каждой вершины не превосходит 3. Обозначим через n ′число вершин в G ′ (это число не превосходит poly(n)).Воображаемый граф G ′′ : Добавим к каждой из вершин G 1 нужное числопетель так, чтобы получился d-регулярный граф (константу d мы выберемтак, чтобы существовал алгебраический (d 50 , d/2, < 0.01)-экспандер H).Воображаемые графы G i : G 0 = G ′′ ; каждый следующий граф G i+132


определяется рекурсивно:G i+1 = (G i r○H) 50При этом каждый граф G i будет экспандером с параметрами(n ′ · d 50i , d 50 , < 1 − ε i )Если ε i достаточно мало, то число ε i+1 получается из ε i умножением сначалана (0.99) 2 /24 (свойство подстановочного произведения), а затем умножениемна 50 (для малых x имеем (1 − x) 50 ≈ 1 − 50x). Таком образом,ε i+1 ≈ 2ε i .Применим Лемму о втором собственном числе произвольного регулярногографа к G 0 : ε 0 ≥ Θ(1/(n ′ ) c ). Следовательно, для k = O(log n) граф G iоказывается экспандером, у которого нормализованное второе собственноечисло не превосходит 0.99.Вершины G i получаются как тензорное произведение вершины графаG ′′ и i копий вершин графа H. Подстановочное произведение устроено так,что вопрос о существовании пути из s в t в исходном графе G эквивалентенвопросу о существовании пути в G i из вершин, у которых первая тензорнаякомпонента равна s, в вершины, у которых первая тензорная компонентарана t. Поскольку для k = O(log n) у графа G i второе собственное число непревосходит 0.99, мы можем проверить данное свойство, перебрав все путилогарифмической длины.Остаётся заметить, что моделирование блуждания по графу G k моделируетсяна логарфимической памяти. В самом деле, для хранения номеравершины G k нам нужно хранить набор из (i+1) компонент; самая первое содержитнекоторый номер вершины G 0 = G ′′ , а каждая следующая — номеродной из вершин H. Ребро в графе G i есть путь длины 50 в графе (G i r○H).Остаётся понять, как организовать рекурсивный вызов для моделированияодного шага по ребру (G i r○H). Если ребро является локальным (соответствуетпереходу внутри ‘галактики’ вершин, являющейся копией H), то намнужно только пересчитать координаты в i-ой компоненте в соответствии сматрицей графа H. Если же ребро соединяет вершины двух соседних галактик,мы рекурсивно вызываем операцию перехода для графа G i−1 ; (приэтом запись в i-ой компоненте текущей вершины нужно интерпретироватькак номер ребра, по которому мы выходим из текущей вершины в графеG i−1 ). Рекурсивный вызов возврашает, во-первых, номер новой вершины vграфа G i−1 (это содержимое компонент с 0-ой по (i − 1)-ую), а также номерребра графа G i , по которому мы только что прошли, с точки зрения вершиныv, в которую мы попали (этот номер мы запишем в i-ую компонентутекущей вершины).Мы предлагаем читателю убедиться, что организация рекурсии требуетлишь O(1) ячеек памяти на каждую компоненту i = 1, . . . , i max = O(log n).Таким образом, вся процедура работает на зоне O(log n)Литература: [AB, Rei]33


Применение экспандеров 2: Коды Земора (Zémor codes)Будем называть кодом отображение C : {0, 1} k → {0, 1} n . Образы этогоотображения (n-битные строки C(x)) называют кодовыми словами. Расстоянимкода C называется минимум хэмминговского расстояния междукодовыми словами:dist C = minx≠x ′{dist(C(x), C(x′ ))}Будем обозначать параметры такого кода тройкой чисел (n, k, dist).Если расстояние кода равно dist, говорят, что код позволяет исправлятьe = ⌈ dist−12⌉ ошибок. Это значит, что если в кодовом слове y = C(x)выбрать не более e позиций и заменить соответствующие биты на противоположные,то по полученному слову y ′ можно однозначно восстановитьисходное кодовое слово y и соответствующее x = C −1 (x).В практических приложениях желательно иметь коды с достаточно большойскоростью k/n и по возможности большим кодовым расстоянием. Нетруднополучить следующие оценки. С одной стороны, всякого (n, k, dist)-кода2 k ≤2 nC 0 n + . . . + C ⌈ dist−12 ⌉n(граница Хэмминга). Если мы хотим, чтобы код позволял исправлять δnошибок (и кодовое расстояние было больше 2δn), данное неравенство даётасимптотическую оценку k n≤ (1 − h(δ)) + o(n), где h(p) = −p log p − (1 −p) log(1 − p). С другой стороны, нетрудно показать, что если2 k


то существует линейный код с параметрами (n, k, d) (граница Варшамова–Гилберта).Данное упражнение показывает, что коды (и даже линейные коды) сопределёнными параметрами существуют. Трудность состоит в том, чтобыполучить эффективную конструкцию такого кода (с полиномиальнымиалгоритмами кодирования и декодирования) для больших k и n. Далее мыприведём конструкцию Земора, позволяющую с помощью экспандеров строитькоды с достаточно хорошим (хотя и заведомо неоптимальным) соотношениемпараметров, для которых есть быстрые алгоритмы кодирования идекодирования.Рассмотрим сбалансированный двудольный граф G = (L, R, E), у которогопо m вершин в левой и правой доле, и степень каждой вершиныравна d. Будем считать, что m × m-матрица смежности данного графа совпадаетс матрицей алгебраического экспандера с параметрами (m, d, α) длянекоторого достатончо малого α.В графе G имеется n = dm рёбер. Далее мы опишем линейный код спараметрами (n, k, dist) (параметры k и dist мы уточним ниже). Преждевсего, каждому ребру графа припишем переменную x i , i = 1, . . . , n. Далеемы припишем каждой вершине графа некоторое семейство линейных уравненийс переменными x i (над полем Z 2 ). Вся эта совокупность уравнений ибудет задавать пространство кодовых слов.Для начала выберем проверочную матрицу H для линейного (d, k ′ , 2δd)-кода с максимальным возможным k ′ (k ′ ≈ d(1 − h(2δ)), см. упражнениевыше). Матрица H имеет размер (d − k ′ ) × d (она состоит из ≈ (dh(2δ))линейно независимых d-битовых строк.) Для фиксированного d такую матрицуможно найти перебором. Далее, сопоставим каждой вершине нашегографа систему уравнений, состоящую в умножении H на вектор-столбец,составленный из x i , приписанных рёбрам, выходящим из данной вершины.Таким образом, каждая вершина даёт k ′ ≈ dh(2δ) уравнений. Общеечисло уравнений, таким образом, составляет примерно 2mdh(2δ). Это значит,что размерность пространства решений этой системы ≈ n−2mdh(2δ) =(1 − 2h(2δ))n (таким образом, скорость кода равна (1 − 2h(2δ)). Остаётсяпонять, сколько ошибок позволяет исправлять данный код.Утверждение Расстояние построенного линейного кода не меньше 2δ(2δ−α)n.Доказательство: Рассмотрим ненулевое кодовое слово ¯x = (x 1 . . . x n ) сминимальным числом единиц (минимальным весом). Обозначим E ′ множестворёбер, соответствующих ненулевым битам этого кодового слова. НазовёмS и T множества вершин из левой и правой долей графа, в которыевходит хотя бы одно ребро из E ′ . Поскольку набор битов ¯x является кодовымсловом, он удовлетворяет уравнениям, приписанным всем вершинамграфа. Но матрица H устроена так, что она может аннулировать толькотакой d-битовый вектор, в котором есть хотя бы 2δd единиц (либо уж всебиты равны нули). Следовательно, в каждую из вершин S и T входит не ме-35


нее 2δd рёбер E ′ . Таким образом, |E ′ | ≥ 2δd2(|S| + |T |) (в знаменателе стоиткоэффициент 2, т.к. у ребра есть два конца — в левой и в правой доле).Поскольку двудольный граф G построен из (m, d, α)-экспандера, мы можемприменить лемму о перемешивании:Получаем|E ′ | ≤ |E(S, T )| ≤ d|S||T |m + αd√ |S||T |δ(|S| + |T |) ≤ |S||T |n+ α √ |S|T | ≤(|S| + |T |)24n+ α (|S| + |T |)2(среднее геометрическое не превосходит среднего арифметического). Следовательно,|S| + |T | ≥ 2m(2δ − α). Вспомним, что |E ′ | ≥ δd(|S| + |T |).Получается, что число рёбер в E ′ не может быть меньше 2δ(2δ − α)n, иутверждение доказано.Вывод: мы научились строить линейный код с параметрами(n, (1 − 2h(2δ))n, 2δ(2δ − α)n)Данная конструкция имеет смысл если h(2δ) < 1/2; это условие выполненодля δ < 0.01.Нетрудно описать для данного кода полиномиальный алгоритм кодирования(указание: достаточно применить метод Гаусса и выписать общее решениесистемы уравнений, задающих пространство кодовых слов). Сложнеедело обстоит с процедурой декодирования искаженных кодовых слов. Оказывается,для любого ε > 0 можно построить быстрый алгоритм, которыйвосстанавливает кодовое слово, в котором испорчено не более ( 2δ(2δ−α)2−ε)nбитов (на сколь угодно малую долю ε меньше, чем половина кодового расстояния).Процедура декодирования устроена следующим образом. Попеременнодля всех вершин левой и правой доли графа мы производим локальнуюпроцедуру декодирования: для каждой вершины берём все входящие внеё рёбра; если значения d соответствующих переменных x i не удовлетворяютпроверочной матрице H, мы меняем их на ближайшее кодовое словдлины d (так, чтобы все контрольные суммы в данной вершине стали равнынулю). Поскольку на каждом шаге мы применяем процедуру коррекции квершинам в одной доле графа, каждое ребро может участвовать только водной такой процедуре, так что коллизий не возникает (именно здесь существенноо,что граф двудольный). Повторяем процедуру попеременно длялевой и правой доли графа, пока все контрольные суммы не обнулятся.Утверждение: Зафиксируем произвольное ε > 0. Если y отличается отодного из кодовых слов (построенно выше кода) не более чем в (1 − ε) δ 2 ( δ 2 −γ) битах, то приведённый алгоритм декодирования сходится через O(log n)итераций (и выдаёт соответствующее кодовое слово).36


Доказательство: Чтобы упростить обозначения, мы ограничимся случаем,когда исходное слово y близко к кодовому слову, состоящему из однихнулей (таким образом, в y не более (1 − ε) δ 2 ( δ 2− γ)n единиц).На каждом шаге процесса декодирования каждое реьро графа помеченонулём или единицей (в самом начале единицами помечено не более (1 −ε) δ 2 ( δ 2−γ)n рёбер). Нам нужно доказать, что через O(log n) шагов все рёбрабудут помечены нулями.Рассмотрим пометки на рёбрах графа после i-ого шага процедуры декодирования(на нечётных шагах мы обрабатываем вершины левой долеграфа; на чётных шагах — вершины правой доли). Обозначим S i и T i множествовершин в левой и правой долях графа соответственно, в которыепосле i-ой итерации входит хотя бы одно ребро с пометкой 1. Далее мыдокажем, что существует такая константа c < 1, что• для нечётных i (на i-ом шаге обрабатывались вершин левой доли)|T i+1 | ≤ c|S i |• для чётных i (на i-ом шаге обрабатывались вершин левой доли) |S i+1 | ≤c|T i |Из этих неравенств немедленно следует доказываемое нами Утверждение— на каждом шаге число ‘обеспокоенных’ единицами вершин (в той долеграфа, где только что произошла очередная коррекция) уменьшается вконстанту раз. Данные неравенства мы индукцией по i.Прежде чем делать шаг индукции, сделаем простое наблюдения:Наблюдение: Пусть S i есть число вершин правой доли графа, в которыевходят единичные рёбра после очередного шага декодирвания в левой доле.Сравним |S i | с числом единичных рёбер, которые входили в вершины T i доi-го шага декодирования. Если очередной шаг декодирования не обнулилавсе рёбра, входящие в некоторую вершину, это значит, что в неё входило неменее δd/2 единичных рёбер. Таким образом, для нечётных i получаем|S i | ≤ число единичных рёбер, входивших в вершины S i до i-ого шагаδd/2(Аналогичное неравенство выполнено и для правой доли графа и шагов счётными номерами.) В частности, мы получаем|S 1 | ≤ (1 − ε) δ 2 ( δ 2 − γ)nδd/2Далее по индукции мы покажем, что |S i | для всех нечётных i и |T i | для всехчётных i не превосходят (1 − ε)( δ 2 − γ)n/(d)Теперь мы готовы сделать шаг индукции. Рассмотрим случай нечётногоi (для чётных номеров рассуждения симметричны). Применим Лемму оперемешивании:|E(S i , T i+1 )| ≤ d|S i| · |T i+1m+ dm √ |S i ||T i+1 | ≤ d|S i| · |T i+1m37+ dγ |S i| + |T i+1 |2


(мы заменили среднее геометрическое на среднее арифметическое). Сделанныевыше наблюдения позволяют оценить снизу |E(S i , T i+1 )| величиной|T i+1 | · (δd/2), а |S i | оценить сверху (1 − ε)( δ 2− γ)n/(2d). Получаем(δd/2)|T i+1 | ≤ (1 − ε)( δ 2 − γ)nm|T i+1 | + dγ |S i| + |T i+1 |,2Поскольку n = md, это неравенство можно переписать в виде|T i+1 ||S i |Утверждение доказано.≤γ/2δ/2 − γ/2 − (1 − ε(δ/2 − γ)) < 1Другие Интересные конструкции экспандерных кодов можно найти в[Spi]; см. также обзор [Gu]. Подробнее о коде Земора см. [Zem].Применение экспандеров 3: Надёжные схемы из функциональныхэлементовВ этом разделе мы обсуждаем задачу построения надёжных схем изфункциональных элементов. Мы предполагаем, что читатель знаком с понятиемсхемы из функциональных элементов, вычисляющей булеву функциюf : B n → B. Мы будем предполагать, что зафиксирован некоторыйконечный полный базис булевых функций B, и каждой внутренней вершинесхемы сопоставляется некоторая функция g ∈ B, причём арность g совпадаетс входной степенью вершины (строго говоря, нужно ещё зафиксироватьсоответствие между входящими рёбрами и аргументами g). Входным вершинамсхемы (вершинам с входной степенью 0) сопоставляются x 1 , . . . , x n(аргументы функции, которую должна вычислять схема.Пусть задана схема из N функциональных элементов, вычисляющаянекоторую функцию f : B n → B. Рассмотрим работу данной схемы ‘сошибками’. Будем предполагать, что каждый из функциональных элементовнезависимо от других элементов (и от входов схемы) с некоторой веротяностьюε ‘ломается’, становится ‘сбойным’. Будем называть данное распределениесбоев ε-случайным. Мы считаем, что сбойные элементы схемыпереходят во власть злонамеренного противника, который по своему произволуопределяет их выходы. При этом выходы на остальных (несбойных)функциональных элементах определяются по обычным правилам.Определение Схема из функциональных элементов (ε, δ)-надёжно вычисляетфункцию f, если для любого набора входных значений, при ε-случайном выборе сбойных элементов, с вероятностью не менее (1−δ) схемавыдаёт правильное значение функции, как бы ни действовал противник.Теорема[фон Нейманн] Для произвольного полного базиса булевых функцийB, для всех достаточно малых ε найдётся δ = O(ε) такое, что всякаябулева функция может быть вычислена (ε, δ)-надёжной схемой в данномбазисе.38


Доказательство: Прежде всего заметим, что если теорема верна дляодного полного базиса, то она обязана выполняться и для любого другогобазиса, быть может с другими ε и δ (поскольку элементы одного базисаможно моделировать блоками, составленными из элементов другого базиса).Без ограничения общности мы можем считать, что наш базис состоит извсех булевых функий трёх аргументов. Мы покажем, что любую обычнуюбулеву схему можно переделать в (ε, δ)-надёжную. Доказательство проведёминдукцией по глубине формулы.Итак, пусть выход (обычной) булевой схемы вычислется применениемфункионального элемента b к тройке значений f 1 , f 2 , f 3 . Каждое из значенийf 1 , f 2 , f 3 в свою очередь вычисляются некоторыми подсхемами (бытьможет, пересекающимися). Глубины этих подсхем заведомо меньше, чемглубина всей схемы; поэтому мы можем считать, что для f 1 , f 2 , f 3 уже имеются(ε, δ)-надёжные схемы T 1 , T 2 , T 3 . Если к выходам схем T 1 , T 2 , T 3 применитьопрерацию b, то вероятность получить неверный ответ не превосходит(3δ + ε) (итоговый результат может оказаться неверным, если хотя бы одноиз значений f i вычислено неправильно или если сбой произошёл в самомэлементе b). Назвоём построенную схему R. Чтобы уменьшить вероятностьошибки, мы изготовим три копии схемы R и применим к выходам этихтрёх схем функцию большинства. Вероятность того, что и после этого мыполучим ошиочный ответ, не превосходит3(3δ + ε) 2 + ε(ошибка должна случиться хотя бы в двух из трех независимых копий схемыC либо в итоговом вычсилении большинства). Для малых ε и подходящегоδ = O(ε) получаем3(3δ + ε) 2 + ε ≤ δи теорема доказана.Отметим, что приведённая конструкция может экспоненциально увеличитьразмер схемы, хотя её глубина увеличивается лишь в константу раз.Упражнение: Докажите, что для всех достаточно малых ε найдётсяδ = O(ε) такое, что функцию большинства majority(x 1 , . . . , x n ) можно вычислить(ε, δ)-надёжной схемой размера poly(n).Далее мы докажем более сильный вариант теоремы фон Нейманна:Теорема Для произвольного полного базиса булевых функций B, длявсех достаточно малых ε найдётся δ = O(ε) такое, что всякая булева схемаC из N эелементов может быть переделана (за время poly(N)) в (ε, δ)-надёжную схему размера O(N log N).Доказательство: Прежде чем доказывать теорему, введём определение:Определение Двудольный граф называется (k, d, α, β)-компрессором,если1. в левой и правой долях графа содержится по k вершин;39


2. степень каждой вершины равна d;3. пусть A — произвольное множество вершин левой доли графа, и |A| ≤αk; обозначим B множество таких вершин правой доли графа, у которыхбольшинство соседей принадлежат A; тогда размер B не превосходитβk.Лемма о компрессоре Если 4α(γ 2 +α) < β < 1/2, то матрица смежностиалгебраического (k, d, γ)-экспандера задаёт (k, d, α, β)-компрессор (двудольныйграф с 2 × k вершинами также задаётся матрицей k × k).Отложим доказательство леммы и покажем, как она помогает доказатьтеорему. Зафиксируем некоторый параметр k (в последствии мы выберемk = O(log N)). Долее, построим (k, d, α, β)-компрессор такой, что β +Γε < α(константа Γ не зависит от k и определяется соотношением числа d и базиса,над которым мы строим схему; подробнее значение Γ мы обсудим ниже).Теперь мы преобразовываем заданную нам схему C в эквивалентную ей(ε, δ)-надёжную схему C ′ . Для этого мы заменим каждый функциональныйэлемент на некотрый блок из O(k) элементов (устройство такого блока мысейчас опишем). Если в схеме C выход элемента номер i подавался на входэлементу номер j, то в новой схеме C ′ от блока номер i к блоку номер jбудет идти ‘кабель’ из k проводов. В идеальной ситуации (когда нет ошибок)сигналы во всех проводах этого кабеля будут одинаковы; более того, этобудет ровно тот сигнал, который проходил по соответствующему проводу висходной схеме (при тех же значениях входов схемы).Теперь опишем устройство блока, соответствующего одному из элементовсхемы C. Мы объясним конструкцию на простейшем примере: пустьв C присутствовал функциональный элемент конъюнкция; наша задача —построить надёжный блок, успешно моделирующий этот функциональныйэлемент при ‘умеренном’ количестве ошибок. В этот блок будут входить 2kсигналов (два кабеля по k проводов). Мы сводим соответствующие проводаиз этих кабелей (первый с первым, второй со вторым, и т.д.) и для каждойпары вычисляем конъюнкцию. Получаем k результирующих сигналов.Затем пропускаем эти сигналы через корректор: это схема с k входами и kвыходами; каждый выход вычисляется как большинство среди некоторыхd входов; а правило, по которому каждому из выходов сопоставляются dвходов, есть (k, d, α, β)-компрессор. Отметим, что блок реализуется схемойглубины O(1) и состоит из O(k) функциональных элементов (константызависят от выбора базиса).С помощью оценки вероятнсти больших уклонений (неравенство Чернова)легко показать, что если k = Ω(log N), то с большой вероятностью нив одном из N описанных блоков не случится больше Γεk (число Γ определяетсяглубиной схемы-корректора, т.е. зависит от выбора базиса). В такомслучае, если каждый из входных кабелей несет не более αk ‘неправильных’сигналов (т.е. сигналов, отличных от значения в соответствующем проводеисходной схемы C), то и среди k выходных сигналов не более αk ошибочных.Действительно, перед применением корректора неправильные сигналы обо-40


их входов складываются – их может стать 2α. Затем мы пропускаем сигналычерез компрессор, и доля ошибок уменьшается до β. Наконец, нужноучесть ещё O(εk) новых ошибок, которые могли случиться в самом блоке.Всего на выходе имеем долю ошибок β + O(ε) < α.Чтобы закончить конструкцию, нам нужно вычленить из k-жильногокабеля на выходе последнего блока один сингнал с ответом. Для этого намнужно вычислить большинство среди значений этих k сигналов. Это можноделать разными способами; например, можно применить ‘экспоненциальную’конструкцию фон Нейманна (при вычислении фукнции большинствасреди O(log N) значений данный метод даст схему размера poly(log N), см.Упраженение выше).Доказательство леммы о компрессоре: Пусть e 1 , . . . , e k — ортонормированныйсобственный базис матрицы M заданного (k, d, γ)-экспандера,а λ 1 , . . . , λ k – соответствующие собственные числа. Мы будем считать, чтособственные числа упорядочены по убывания абсолютной величины. Приэтомe 1 = √ 1 (1, 1, . . . , 1),kа λ 1 = d (по условию леммы остальные собственные числа по модулю непревосходят γk). Пусть A – некоторое множество вершин графа, и |A| ≤ αk.Обозначим f = (f 1 , . . . , f k ) характеристический вектор этого множества(f i = 1 если и только если i-ая вершина графа принадлежит A). Ясно, что||f|| 2 ≤ αk. Оценим норму вектора Mf.||Mf|| 2 = (Mf, Mf) = (f, M 2 f) =k∑λ 2 i (f, e i ) 2 = α 2 d 2 k +i=1k∑λ 2 i (f, e i ) 2Поскольку все собственные числа кроме первого по модулю не превосходятγk, получаем||Mf|| 2 ≤ α 2 d 2 k + (γd) 2i=2k∑(f, e i ) 2 ≤ α 2 d 2 k + (γd) 2 ||f|| 2 ≤ (α 2 d 2 + αγ 2 d 2 )ki=2Далее, для выбранного A мы рассмотрим множество B, которое состоитиз всех вершин графа, у которых не менее d/2 соседей лежат в A. Этозначит, что B состоит из таких вершин i = 1, . . . , n, что в i-ой координатевектора f ′ = (Mf) стоит число не менее d/2. Получаем|B| ≤i=1Литература: [Gacs]k∑( ) f′ 2≤ 4 d 2 ||Mf||2 ≤ 4(α 2 + αγ 2 )k ≤ βkd/241


Список литературы[HLW] S. Hoory, N. Linial, A. Wigderson. Expander graphs and theirapplications. Bulletin of the AMS, vol. 43, Number 4, Oct. 2006, pp.439–561.[AB] S. Arora, B. Barak. Computational Complexity: A modern Approach.(Draft version is available online: http://www.cs.princeton.edu/theory/complexity/)[AS] N. Alon, J. H. Spencer. The Probabilistic Method. 2nd ed. Wiley-Interscience Publication. Русский перевод: Н. Алон, Дж. Спенсер. Вероятностныйметод. Бином. Лаборатория знаний, 2007[BMRV] H. Buhrman, P.B. Miltersen, J. Radhakrishnan, S. Venkatesh. AreBitvectors optimal? SIAM J. Comput., 31(6):1723–1744, 2002.[Zem] G. Zémor. On Expander codes. IEEE Trans. on Inf. Theory. 47(2), 835–837, 2001.[Sar] P. Sarnak. Some applications of modular forms. Cambridge UniversityPress, 1990. Русский перевод: П. Сарнак. Модулярные формы и их приложения.Москва, Фазис, 1998.[Rei] O. Reingold. Undirected st-connectivity in log-space. In Proceedings of the37th Annual ACM Symposium on Theory of Computing, pages 376–385,2005.[Gu] V. Guruswami. Error-correcting Codes and Expander Graphs. SIGACTNews Complexity Theory Column 45, 2004.[Spi] D. Spielman. Constructing error-correcting codes from expander graphs.In Emerging Applications of Number Theory, IMA volumes in mathematicsand its applications, volume 109, 1996.[BSSVW] E. Ben-Sasson, M. Sudan, S. Vadhan, A. Wigderson. Randomnessefficientlow-degree tests and short PCPs via epsilon-biased sets. STOC2003, 612–621.[Gacs] P. Gács. Book chapter on reliable computation.http://www.cs.bu.edu/ gacs/papers/iv-eng.pdf42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!