В комбинаторике символический метод — это метод подсчёта комбинаторных объектов . Он использует внутреннюю структуру объектов для вывода формул для их производящих функций . Метод в основном связан с Филиппом Флажоле и подробно описан в Части А его книги с Робертом Седжвиком «Аналитическая комбинаторика» , в то время как остальная часть книги объясняет, как использовать комплексный анализ для получения асимптотических и вероятностных результатов для соответствующих производящих функций.
В течение двух столетий производящие функции появлялись посредством соответствующих рекуррентных соотношений их коэффициентов (как можно увидеть в основополагающих работах Бернулли , Эйлера , Артура Кэли , Шредера , Рамануджана , Риордана , Кнута , Контета и т. д.). Затем постепенно стало понятно, что производящие функции охватывают многие другие грани исходных дискретных комбинаторных объектов и что это можно сделать более прямым формальным способом: рекурсивная природа некоторых комбинаторных структур преобразуется посредством некоторых изоморфизмов в заслуживающие внимания тождества соответствующих производящих функций. После работ Полиа в 1970-х годах в этом духе были достигнуты дальнейшие успехи с использованием общих языков для спецификации комбинаторных классов и их генерирующих функций, как это было обнаружено в работах Фоаты и Шютценбергера [1] по перестановкам, Бендера и Голдмана по префабам [2] и Джояла по комбинаторным видам [3] .
Обратите внимание, что этот символический метод перечисления не имеет отношения к «символическому методу Блиссара», который является просто еще одним старым названием теневого исчисления .
Символический метод в комбинаторике представляет собой первый шаг многих анализов комбинаторных структур, которые затем могут привести к быстрым схемам вычислений, к асимптотическим свойствам и предельным законам , к случайной генерации , причем все они пригодны для автоматизации посредством компьютерной алгебры .
Рассмотрим задачу распределения объектов, заданных производящей функцией, в набор из n слотов, где группа перестановок G степени n действует на слоты, чтобы создать отношение эквивалентности заполненных конфигураций слотов, и спросим о производящей функции конфигураций по весу конфигураций относительно этого отношения эквивалентности, где вес конфигурации является суммой весов объектов в слотах. Сначала мы объясним, как решить эту задачу в маркированном и немаркированном случае, и используем решение для мотивации создания классов комбинаторных структур .
Теорема перечисления Полиа решает эту проблему в немаркированном случае. Пусть f ( z ) будет обычной производящей функцией (OGF) объектов, тогда OGF конфигураций задается подставленным индексом цикла
В маркированном случае мы используем экспоненциальную производящую функцию (EGF) g ( z ) объектов и применяем теорему о маркированном перечислении , которая гласит, что EGF конфигураций определяется как
Мы можем перечислить заполненные конфигурации слотов, используя либо PET в немаркированном случае, либо теорему о перечислении с метками в маркированном случае. Теперь мы спрашиваем о производящей функции конфигураций, полученных, когда имеется более одного набора слотов, с группой перестановок, действующей на каждый из них. Очевидно, что орбиты не пересекаются, и мы можем добавить соответствующие производящие функции. Предположим, например, что мы хотим перечислить немаркированные последовательности длиной два или три некоторых объектов, содержащихся в наборе X . Есть два набора слотов, первый из которых содержит два слота, а второй — три слота. Группа, действующая на первый набор, — это , а на второй слот — . Мы представляем это следующим формальным степенным рядом по X :
где термин используется для обозначения множества орбит под G и , что очевидным образом обозначает процесс распределения объектов из X с повторением в n слотов. Аналогично рассмотрим помеченную задачу создания циклов произвольной длины из множества помеченных объектов X . Это дает следующую серию действий циклических групп:
Очевидно, мы можем придать значение любому такому степенному ряду частных (орбит) относительно групп перестановок, где мы ограничиваем группы степени n классами сопряженности симметрической группы , которые образуют уникальную область факторизации. (Орбиты относительно двух групп из одного и того же класса сопряженности изоморфны.) Это мотивирует следующее определение.
Класс комбинаторных структур — это формальный ряд
где («А» означает «атомы») — это множество простых чисел UFD и
Далее мы немного упростим нашу запись и запишем, например,
для классов, указанных выше.
Теорема в теории символической комбинаторики Флажоле–Седжвика рассматривает проблему перечисления помеченных и непомеченных комбинаторных классов посредством создания символических операторов, которые позволяют переводить уравнения, включающие комбинаторные структуры, напрямую (и автоматически) в уравнения относительно производящих функций этих структур.
Пусть будет классом комбинаторных структур. OGF , где X имеет OGF , и EGF , где X помечен EGF, задаются как
и
В маркированном случае у нас есть дополнительное требование, чтобы X не содержал элементов нулевого размера. Иногда будет удобно добавить единицу к , чтобы указать на наличие одной копии пустого множества. Можно присвоить значение обоим (наиболее распространенным примером является случай немаркированных множеств) и Для доказательства теоремы просто примените PET (теорему перечисления Пойа) и маркированную теорему перечисления.
Сила этой теоремы заключается в том, что она позволяет строить операторы на производящих функциях, представляющих комбинаторные классы. Таким образом, структурное уравнение между комбинаторными классами напрямую переводится в уравнение в соответствующих производящих функциях. Более того, в отмеченном случае из формулы очевидно, что мы можем заменить на атом z и вычислить результирующий оператор, который затем может быть применен к EGF. Теперь мы приступим к построению наиболее важных операторов. Читатель может пожелать сравнить с данными на странице индекса цикла .
Этот оператор соответствует классу
и представляет собой последовательности, т.е. слоты не переставляются и есть ровно одна пустая последовательность. Мы имеем
и
Этот оператор соответствует классу
т.е. циклы, содержащие хотя бы один объект. У нас есть
или
и
Этот оператор, вместе с оператором множеств SET и их ограничениями на определенные степени, используются для вычисления статистики случайных перестановок . Существует два полезных ограничения этого оператора, а именно на четные и нечетные циклы.
Помеченный оператор четного цикла CYC even есть
что дает
Это подразумевает, что помеченный нечетный оператор цикла CYC odd
дается
Сериал - это
т. е. симметричная группа применяется к слотам. Это создает мультимножества в немаркированном случае и наборы в маркированном случае (в маркированном случае мультимножеств нет, поскольку метки отличают несколько экземпляров одного и того же объекта от набора, помещаемого в разные слоты). Мы включаем пустой набор как в маркированный, так и в немаркированный случай.
Немаркированный случай выполняется с помощью функции
так что
Оценивая получаем
Для отмеченного случая имеем
В маркированном случае мы обозначаем оператор как SET , а в немаркированном случае как MSET . Это происходит потому, что в маркированном случае нет мультимножеств (метки различают составляющие составного комбинаторного класса), тогда как в немаркированном случае есть мультимножества и множества, причем последние задаются как
Обычно начинают с нейтрального класса , содержащего один объект размера 0 ( нейтральный объект , часто обозначаемый как ), и одного или нескольких атомарных классов , каждый из которых содержит один объект размера 1. Затем теоретико-множественные отношения, включающие различные простые операции, такие как непересекающиеся объединения , произведения , множества , последовательности и мультимножества, определяют более сложные классы в терминах уже определенных классов. Эти отношения могут быть рекурсивными . Элегантность символической комбинаторики заключается в том, что теоретико-множественные или символические отношения напрямую переводятся в алгебраические отношения, включающие производящие функции.
В этой статье мы будем следовать соглашению об использовании заглавных букв алфавита для обозначения комбинаторных классов и соответствующих им простых букв для порождающих функций (таким образом, класс имеет порождающую функцию ).
В символической комбинаторике обычно используются два типа производящих функций — обычные производящие функции , используемые для комбинаторных классов непомеченных объектов, и экспоненциальные производящие функции , используемые для классов помеченных объектов.
Тривиально показать, что производящие функции (обычные или показательные) для и являются и , соответственно. Непересекающееся объединение также просто — для непересекающихся множеств и , подразумевает . Отношения, соответствующие другим операциям, зависят от того, говорим ли мы о помеченных или не помеченных структурах (и об обычных или показательных производящих функциях).
Ограничение объединений до непересекающихся объединений является важным; однако в формальной спецификации символической комбинаторики слишком сложно отслеживать, какие множества являются непересекающимися. Вместо этого мы используем конструкцию, которая гарантирует отсутствие пересечения ( однако будьте осторожны; это также влияет на семантику операции ). При определении комбинаторной суммы двух множеств и мы помечаем членов каждого множества отдельным маркером, например, для членов и для членов . Тогда комбинаторная сумма будет:
Это операция, которая формально соответствует сложению.
С немаркированными структурами используется обычная генерирующая функция (OGF). OGF последовательности определяется как
Произведение двух комбинаторных классов и задается путем определения размера упорядоченной пары как суммы размеров элементов в паре. Таким образом, для и , . Это должно быть довольно интуитивное определение. Теперь заметим, что количество элементов в размера n равно
Используя определение ОГФ и некоторую элементарную алгебру, мы можем показать, что
Последовательность построения , обозначенная как, определяется как
Другими словами, последовательность является нейтральным элементом, или элементом , или упорядоченной парой, упорядоченной тройкой и т. д. Это приводит к соотношению
Конструкция множества (или powerset ) , обозначаемая как, определяется как
что приводит к соотношению
где расширение
использовался для перехода с линии 4 на линию 5.
Конструкция мультимножества , обозначенная как является обобщением конструкции множества. В конструкции множества каждый элемент может встречаться ноль или один раз. В мультимножестве каждый элемент может встречаться произвольное количество раз. Следовательно,
Это приводит к соотношению
где, аналогично приведенной выше конструкции множества, мы расширяем , меняем местами суммы и заменяем OGF на .
Другими важными элементарными конструкциями являются:
Выводы для этих конструкций слишком сложны, чтобы показать их здесь. Вот результаты:
Многие комбинаторные классы могут быть построены с использованием этих элементарных конструкций. Например, класс плоских деревьев (то есть деревьев, вложенных в плоскость, так что порядок поддеревьев имеет значение) задается рекурсивным отношением
Другими словами, дерево — это корневой узел размера 1 и последовательность поддеревьев. Это дает
мы решаем для G ( z ) путем умножения , чтобы получить
вычитание z и решение для G(z) с использованием квадратной формулы дает
Другой пример (и классическая комбинаторная задача) — целочисленные разбиения . Сначала определим класс положительных целых чисел , где размер каждого целого числа — это его значение:
Тогда OGF равен
Теперь определим набор разделов как
OGF — это
К сожалению, замкнутой формы для не существует ; однако, ОГФ можно использовать для вывода рекуррентного соотношения или, используя более продвинутые методы аналитической комбинаторики, вычислить асимптотическое поведение последовательности подсчета.
Упомянутые выше элементарные конструкции позволяют нам определить понятие спецификации . Эта спецификация позволяет нам использовать набор рекурсивных уравнений с несколькими комбинаторными классами.
Формально спецификация для набора комбинаторных классов представляет собой набор уравнений , где — выражение, атомами которого являются и , а операторами — перечисленные выше элементарные конструкции.
Класс комбинаторных структур называется конструируемым или специфицируемым, если он допускает спецификацию.
Например, множество деревьев, глубина листьев которых четная (соответственно, нечетная), можно определить с помощью спецификации с двумя классами и . Эти классы должны удовлетворять уравнению и .
Объект слабо помечен, если каждый из его атомов имеет неотрицательную целочисленную метку, и каждая из этих меток различна. Объект ( сильно или хорошо ) помечен , если, кроме того, эти метки включают в себя последовательные целые числа . Примечание: некоторые комбинаторные классы лучше всего определять как помеченные структуры или непомеченные структуры, но некоторые легко допускают обе спецификации. Хорошим примером помеченных структур является класс помеченных графов .
С маркированными структурами используется экспоненциальная производящая функция (EGF). EGF последовательности определяется как
Для маркированных структур мы должны использовать другое определение для продукта, чем для немаркированных структур. Фактически, если бы мы просто использовали декартово произведение, полученные структуры даже не были бы хорошо маркированы. Вместо этого мы используем так называемый маркированный продукт , обозначаемый
Для пары и мы хотим объединить две структуры в одну. Для того чтобы результат был хорошо маркирован, это требует некоторой перемаркировки атомов в и . Мы ограничим наше внимание перемаркировками, которые соответствуют порядку исходных меток. Обратите внимание, что все еще существует несколько способов сделать перемаркировку; таким образом, каждая пара членов определяет не одного члена в произведении, а набор новых членов. Подробности этой конструкции можно найти на странице Теорема о перечислении с метками .
Чтобы помочь этому развитию, давайте определим функцию , которая берет в качестве аргумента (возможно, слабо) помеченный объект и перемаркирует его атомы в согласованном порядке, так что он хорошо помечен. Затем мы определяем помеченный продукт для двух объектов и как
Наконец, помеченный продукт двух классов и есть
EGF можно вывести, заметив, что для объектов размером и существуют способы перемаркировки. Таким образом, общее количество объектов размером равно
Это биномиальное соотношение свертки для членов эквивалентно умножению EGF,
Построение последовательности определяется аналогично немаркированному случаю:
и снова, как и выше,
В маркированных структурах набор элементов соответствует точно последовательностям. Это отличается от немаркированного случая, где некоторые перестановки могут совпадать. Таким образом , для мы имеем
Циклы также проще, чем в случае без меток. Цикл длины соответствует различным последовательностям. Таким образом, для , мы имеем
В маркированных структурах min-boxed product является вариацией исходного product, которая требует элемент в product с минимальной меткой. Аналогично, мы также можем определить max-boxed product, обозначенный как , тем же способом. Тогда мы имеем,
или эквивалентно,
Возрастающее дерево Кэли — это помеченное неплоское и корневое дерево, метки которого вдоль любой ветви, исходящей из корня, образуют возрастающую последовательность. Тогда пусть будет классом таких деревьев. Рекурсивная спецификация теперь
Операторы CYC even , CYC odd , SET even и SET odd представляют циклы четной и нечетной длины, а также множества четной и нечетной мощности .
Числа Стерлинга второго рода можно вывести и проанализировать с помощью структурного разложения
Разложение
используется для изучения беззнаковых чисел Стирлинга первого рода и для вывода статистики случайных перестановок . Подробный анализ экспоненциальных производящих функций, связанных с числами Стирлинга в символической комбинаторике, можно найти на странице Числа Стирлинга и экспоненциальные производящие функции в символической комбинаторике .
{{cite book}}
: |journal=
проигнорировано ( помощь )