МатВектор

Command Palette

Search for a command to run...

🔀 Дискретка

Формула Кэли

англ. Cayley's formula

Полный граф на n помеченных вершинах имеет ровно n^{n−2} остовных деревьев: два города — одна сеть, четыре — 16, десять — сто миллионов. Доказывает код Прюфера.

Сколько разных сетей можно натянуть на n городов, соединив их без циклов и без изолированных точек? На языке графов: сколько остовных деревьев у полного графа ? Малые случаи прозаичны: для — единственная дорога, для — три «вилки», для — уже 16. Закономерность на глаз не видна, а ответ красив: формула Кэли даёт ровно . Показатель выглядит загадочно — и в этом вся прелесть.

число остовных деревьев полного графа на n помеченных вершинах; для n = 2, 3, 4 получаем 1, 3 и 16

Главная улика — код Прюфера (1918). Каждому дереву на n помеченных вершинах сопоставим последовательность длины n−2 из номеров вершин: найди минимальный лист, запиши номер его соседа, откуси лист — и так, пока не останутся две вершины. Строку можно однозначно развернуть обратно в дерево, а вариантов строки ровно , каждый учтён один раз. Биекция закрыла вопрос подсчёта одним махом — и заодно объяснила странный показатель: дереву остаётся «что сказать» ровно n−2 раза, потому что у дерева всегда есть листья.

Зачем считать деревья. Масштаб: для формула даёт — сто миллионов остовных деревьев, и на этом фоне почти чудом выглядят жадные алгоритмы Прима и Крускала, находящие минимальный остов за секунды, не перебирая и тысячной доли вариантов. Химия: изомеры углеводородов — это непомеченные деревья, и Кэли пришёл к подсчёту деревьев именно от молекул. Олимпиадная практика: через код Прюфера доказывают, например, что в случайном дереве ожидаемое число листьев около . Полный контекст остовов — в уроке деревья и алгоритмы.

Быстрая проверка руками — любимое задание семинаров: перечислите деревья (четыре звезды плюс двенадцать путей), затем возьмите и выписывайте коды Прюфера — строки из цифр 1–5 длины 3, всего . Напомнить, чем дерево отличается от «просто графа», поможет термин дерево, стартовая точка по теме — урок графы: основы, а все формулы графов на одном листе — в шпаргалке по графам и алгоритмам.

Частые вопросы

Почему в показателе именно n−2?

Из-за кода Прюфера: пока вершин больше двух, у дерева есть лист, и каждое удаление листа даёт один символ строки. Останавливаемся на двух вершинах — значит, символов n−2. Дереву «есть что рассказать» о своих внутренних вершинах.

Сколько остовных деревьев у K₂, K₃, K₄?

(одна дорога), (три вилки с разными центрами), (четыре звезды плюс двенадцать путей). Малые случаи — лучшая проверка формулы перед экзаменом.

Применима ли формула Кэли к неполному графу?

Нет: она считает деревья полного графа, использующие все его рёбра. Для произвольного графа G работает матричная теорема Кирхгофа — число остовных деревьев равно любому главному минору матрицы Кирхгофа (степени минус смежности).