Конструирование комбинаторных объектов и их подсчёт — различия между версиями
| Mervap (обсуждение | вклад)  (OGF + EGF) | Mervap (обсуждение | вклад)  м (?) | ||
| Строка 86: | Строка 86: | ||
| :<tex dpi="150">f{n,k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{T_{k}+i-1}{i} s_{n-ik, k-1}</tex>. | :<tex dpi="150">f{n,k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{T_{k}+i-1}{i} s_{n-ik, k-1}</tex>. | ||
| − | Количество таких деревьев с <tex dpi="130">n</tex> вершинами образуют последовательность <tex dpi="130"> 1, 1, 2, 4, 9, 20, 48, 115, 286, 719, 1842, 4766, 12486, 32973, 87811, 235381, 634847 \ldots</tex>  <ref>[http://oeis.org/A000081  | + | Количество таких деревьев с <tex dpi="130">n</tex> вершинами образуют последовательность <tex dpi="130"> 1, 1, 2, 4, 9, 20, 48, 115, 286, 719, 1842, 4766, 12486, 32973, 87811, 235381, 634847 \ldots</tex>  <ref>[http://oeis.org/A000081 Number of unlabeled rooted trees with n node]</ref>   | 
| [[File:Forests.png|670px]] | [[File:Forests.png|670px]] | ||
| Строка 139: | Строка 139: | ||
| В итоге, <tex dpi="130">C_{n}=\dfrac{1}{n}\sum_{i=0}^{s-1}k^{\mathrm{gcd}(n,i)}</tex>. | В итоге, <tex dpi="130">C_{n}=\dfrac{1}{n}\sum_{i=0}^{s-1}k^{\mathrm{gcd}(n,i)}</tex>. | ||
| − | == | + | ==Метод производящих функций== | 
| Такие большие группы часто анализируют с помощью [[Производящая функция|производящих функций]]. Один из популярных методов {{---}} метод символов (англ. ''Symbolic method''). Он использует внутреннюю структуру объектов для получения производящих функций. В случае непомеченных объектов, как и в анализе в нашей статье, считается что нет объектов нулевого веса. Иногда для удобства их добавляют, чтобы показать наличие одного пустого множества. | Такие большие группы часто анализируют с помощью [[Производящая функция|производящих функций]]. Один из популярных методов {{---}} метод символов (англ. ''Symbolic method''). Он использует внутреннюю структуру объектов для получения производящих функций. В случае непомеченных объектов, как и в анализе в нашей статье, считается что нет объектов нулевого веса. Иногда для удобства их добавляют, чтобы показать наличие одного пустого множества. | ||
| При непомеченных объектах рассмотренные классы имеют следующие производящие функции: | При непомеченных объектах рассмотренные классы имеют следующие производящие функции: | ||
| Строка 156: | Строка 156: | ||
| |} | |} | ||
| − | Однако порой некоторые комбинаторные классы удобнее обозначать как помеченные. Например, {{---}} помеченные графы. С помеченными объектами используется экспоненциальная производящая функция | + | Однако порой некоторые комбинаторные классы удобнее обозначать как помеченные. Например, {{---}} помеченные графы. С помеченными объектами используется экспоненциальная производящая функция <ref>[[wikipedia:exponential generating function | Wikipedia {{---}} Exponential generating function]]</ref>. В данном случае для некоторых рассмотренных классов используются следующие производящие функции: | 
| {| class="wikitable"   | {| class="wikitable"   | ||
| Строка 163: | Строка 163: | ||
| |-align="center" | |-align="center" | ||
|   !<tex dpi="130">Pset(A)</tex>||<tex dpi="130">\exp(A(z))</tex> |   !<tex dpi="130">Pset(A)</tex>||<tex dpi="130">\exp(A(z))</tex> | ||
| − | |||
| − | |||
| |-align="center" | |-align="center" | ||
|   !<tex dpi="130">Pair(A,B)</tex>||<tex dpi="130">A(z)B(z)</tex> |   !<tex dpi="130">Pair(A,B)</tex>||<tex dpi="130">A(z)B(z)</tex> | ||
Версия 01:19, 3 января 2018
Содержание
Последовательности (Seq)
| Утверждение: | 
| Пусть  — множество из различных объектов,  — множество всех последовательностей из элементов ,  — количество объектов веса от  до . Мы считаем, что нет объектов веса , так как в противном случае существует бесконечное количество последовательностей любого веса. Тогда, количество последовательностей веса  можно вычислить как . Причем , так как есть единственный способ составить пустую последовательность. | 
| Докажем по индукции. База . 
 Переход. 
 | 
Подсчет битовых векторов длины
Пусть , — множество всех битовых векторов, .
Тогда, .
Подсчет Seq из маленьких и больших элементов
Пусть , , — множество всех последовательностей из маленьких и больших элементов, , .
Тогда, , где — -ое число Фибоначчи [1].
Подсчет подвешенных непомеченных деревьев с порядком на детях
Пусть — количество таких деревьев с вершинами, . — множество всех последовательностей из данных деревьев. — количество последовательностей с суммарным количество вершин . Чтобы получить дерево из вершин, достаточно взять вершину, и подвесить к ней последовательность деревьев с суммарным количеством вершин . Тогда:
- .
- , где — -ое число Каталана.
Множества (PSet)
| Утверждение: | 
| Пусть  — множество из различных объектов,  — множество всех множеств, составленных из элементов ,  — количество объектов веса от  до . Мы также считаем, что нет объектов веса . Тогда количество множеств суммарного веса  можно вычислить как , где  — количество таких множеств, которые содержат объекты, вес которых не больше чем . Причем , так как не набирать никакой вес есть один способ, а , , так как нельзя набрать положительный вес из ничего. | 
| Изначально у нас есть только пустое множество веса . Рассмотрим очередной этап вычисления . Для данных и у нас уже имеется множество, которое необходимо дополнить. Мы можем сделать это добавляя от до элементов веса (при условии, что столько различных элементов имеется) в данное множество. Следовательно, у нас образуется новые множества, которые будет необходимо дополнить элементами веса меньше (чтобы избежать повторений) суммарного веса , где — количество элементов веса которое мы добавили в данное множество. Довольно легко заметить, что данные операции полностью соответствуют описанной выше формуле. | 
Количество PSet из элементов 0 и 1
Пусть , — множество всех множеств из , , . Тогда , где .
- .
- .
- .
- .
- Для , .
Количество разбиений на слагаемые
Пусть , — множество всех разбиений на слагаемые, , . Тогда,
- , где , что, как несложно заметить, соответствует формуле, полученной методом динамического программирования.
Мультимножества (MSet)
| Утверждение: | 
| Пусть  — множество из различных объектов,  — множество всех мультимножеств [2] из элементов ,  — количество объектов веса . Тогда количество мультимножеств из объектов суммарного веса  можно вычислить как , где  — количество таких мультимножеств, которые содержат объекты, вес которых не больше чем . | 
| Рассуждения аналогичны рассуждениям , однако теперь мы можем брать один и тот же элемент несколько раз. То есть для подсчета вместо обычных сочетаний нужно использовать сочетания с повторениями. | 
Количество MSet из элементов 0 и 1
Пусть , — множество всех множеств из , , .
- Тогда, , где
- .
- .
- .
- .
- .
Подсчет подвешенных непомеченных деревьев без порядка на детях
Пусть — количество таких деревьев с вершинами, . — множество всех лесов из данных деревьев, так как лес можно интерпретировать как мультимножество из деревьев. — количество лесов с суммарным количество вершин . — количество таких лесов из вершин, что деревья в них содержат не более чем вершин. Чтобы получить дерево из вершин, достаточно взять вершину и подвесить к ней лес деревьев с суммарным количеством вершин . Тогда:
- .
- .
- .
Количество таких деревьев с вершинами образуют последовательность [3]
Пары (Pair)
| Утверждение: | 
| Пусть ,   — множества из различных объектов,  — множество всех пар объектов, составленных из элементов  и .  — количество объектов веса , составленных из элементов , а  — соответственно для . Тогда количество пар из объектов суммарного веса  можно вычислить как . | 
| Чтобы составить пару веса нужно взять один элемент веса и элемент веса , что полностью соответствует данной формуле. | 
Количество подвешенных неполных двоичных деревьев
Пусть — количество таких деревьев с вершинами, . — множество всех пар из данных деревьев. Чтобы получить двоичное дерево из вершин, достаточно взять вершину и подвесить к ней левого и правого сына с суммарным количеством вершин . Тогда:
- , где — -ое число Каталана.
Циклы (Cycle)
| Утверждение: | 
| Пусть  — множество из различных объектов,  — множество всех циклов [4] из элементов ,  — количество объектов веса . 
 Тогда количество циклов веса можно вычислить как , где — количество циклов веса длины .По лемме Бёрнсайда , где — количество стабилизаторов для циклического сдвига на . | 
| Очевидно, что длина цикла веса может быть от до . Посмотрим сколько существует циклов каждой длины. Это можно сделать по лемме Бёрнсайда. | 
Найдем в общем случае.
Пусть — наибольший общий делитель. Заметим, что в -ой перестановке на -ой позиции стоит элемент . Также, заметим, что элемент переходит в элемент , где . Из этого следует, что длина цикла для -ой перестановки равна , где — наименьшее общее кратное.
Также заметим, что если вес нельзя равномерно распределить по всей длине цикла, то стабилизатор равен .
Где — число способов упорядочить набор из элементов суммарного веса и
, причем .
Задача об ожерельях
Решим данным способом задачу об ожерельях. Пусть необходимый вес — это количество бусинок, а — количество цветов. Причем каждая бусинка весит . То есть .
так как невозможно набрать вес менее, чем бусинами при весе бусин .
. Поскольку все бусины имеют одинаковый вес , то
В итоге, .
Метод производящих функций
Такие большие группы часто анализируют с помощью производящих функций. Один из популярных методов — метод символов (англ. Symbolic method). Он использует внутреннюю структуру объектов для получения производящих функций. В случае непомеченных объектов, как и в анализе в нашей статье, считается что нет объектов нулевого веса. Иногда для удобства их добавляют, чтобы показать наличие одного пустого множества. При непомеченных объектах рассмотренные классы имеют следующие производящие функции:
| , где — функция Эйлера. | 
|---|
Однако порой некоторые комбинаторные классы удобнее обозначать как помеченные. Например, — помеченные графы. С помеченными объектами используется экспоненциальная производящая функция [5]. В данном случае для некоторых рассмотренных классов используются следующие производящие функции:
| . | 
|---|
См.также
- Лемма Бёрнсайда и Теорема Пойа
- Числа Каталана
- Генерация комбинаторных объектов в лексикографическом порядке




