Сколько отверстий в этой сети? Это в каком-то смысле вопрос запутанный – подобно вопросу о количестве отверстий в соломинке или в брюках. Однако я уже дал вам на него ответ – в точности написанное выше число: количество ребер минус количество вершин плюс 1. Каждый раз, вырезая ребро из цикла, вы избавляетесь от одного отверстия. Когда больше вырезать нечего, у вас остается граф без отверстий вообще: дерево. Это не просто метафора, а фундаментальный инвариант для любых видов пространства под названием
Итак, мы вернулись к геометрии деревьев. Дерево, которое получается в конце описанной игры с вырезанием ребер, называется
Вы можете также изобразить остовное дерево, где вершины будут точками, а ребра – отрезками прямых; это больше похоже на то, как мы рисовали граф для разбиения избирательных участков.
У большинства графов сколько-нибудь приличного размера не одно остовное дерево, а много. Физик XIX века Густав Кирхгоф вывел формулу для их количества, однако она не отвечает на все возникающие вопросы, так что даже спустя столетие в этой области ведутся активные исследования. Здесь есть регулярность и структура. Например, сколько тупиков в случайном лабиринте? Конечно, чем больше лабиринт, тем больше в нем тупиков, но что, если мы зададимся вопросом, какую долю от мест в лабиринте занимают тупики? Очень крутая теорема Манны, Дхара и Мажумдара[660]
1992 года показывает, что при увеличении размеров лабиринта эта доля не сходится ни к 1, ни к 0, а по какой-то причине стремится к числу (8 / π2) (1–2 / π), чуть менее 0,3. Вы можете подумать, что число остовных деревьев в случайном графе будет более или менее случайным числом. Нет. Моя коллега Мелани Матчетт Вуд доказала в 2017 году[661], что если ваш граф выбирается случайным образом[662], то количество остовных деревьев будет четным с чуть большей вероятностью, чем нечетным. Точнее говоря, вероятность того, что количество остовных деревьев нечетно, будет бесконечным произведением:(1 – 1
/2) (1 – 1/8) (1 – 1/32) (1 – 1/128)…где знаменатель каждой дроби вчетверо больше предыдущего. Снова геометрическая прогрессия! Это произведение примерно равно 0,419, то есть довольно далеко от 0,5. Такая асимметрия – признак какой-то более глубокой геометрической структуры на совокупности всех остовных деревьев; оказывается, существует осмысленный способ сказать, когда последовательность остовных деревьев образует арифметическую прогрессию![663]
Но чтобы объяснить это, мне пришлось бы углубиться в захватывающие подробности, а мы еще не спасли демократию. Поэтому вернемся к нашим избирательным округам.
Как только у вас в руках окажется остовное дерево, разделить сеть на части не составит труда: просто сделайте проигрывающий ход, убрав ребро и разъединив граф. Любой ваш выбор разделит граф на две части; если немножко постараться, то можно найти ребро, которое делает их примерно равными по размеру. (Если не выходит, возьмите другое дерево и начните заново.) Получится приблизительно такая картинка: и слева, и справа одну из частей я выделил, а другую – нет.
Теперь вы более или менее знаете, как работает ReCom[664]
: берете удвоенный округ, выбираете наугад остовное дерево (например, проведя игру со случайным удалением ребер[665]), выбираете в нем случайное ребро, режете его – и ваш граф распадается ровно на два новых округа.