Подсчет деревьев — различия между версиями
Cuciev (обсуждение | вклад) (Extra fact added) |
Cuciev (обсуждение | вклад) м (Unmarked trees cosmetics & additions) |
||
Строка 3: | Строка 3: | ||
Описание всех используемых далее комбинаторных объектов можно найти в статье [[Конструирование комбинаторных объектов и их подсчёт|"конструирование комбинаторных объектов и их подсчёт"]]. | Описание всех используемых далее комбинаторных объектов можно найти в статье [[Конструирование комбинаторных объектов и их подсчёт|"конструирование комбинаторных объектов и их подсчёт"]]. | ||
= Непомеченные [[Дерево, эквивалентные определения|деревья]] = | = Непомеченные [[Дерево, эквивалентные определения|деревья]] = | ||
− | = | + | = Бинарные деревья = |
− | + | {{Утверждение | |
− | :<tex dpi="150">T_{n}= | + | |statement=Число непомеченных бинарных деревьев: <tex>T(s) = C_{n}</tex> (<tex dpi="150">n</tex>-ое [[Числа Каталана|число Каталана]]). |
+ | |proof= | ||
+ | Устройство бинарного дерева в терминах комбинаторных классов выражается следующим образом <tex>T = \varepsilon + z\times T\times T</tex>.<br> | ||
+ | В терминах производящих функций эта конструкция выглядит следующим образом <tex>T(s) = 1 + s{T(s)}^2</tex>. | ||
+ | Решением данного уравнения будет <tex>T(s) = \frac{1 - \sqrt{1 - 4s}}{2s}</tex>. | ||
+ | Тогда: | ||
+ | :<tex dpi="150">T_{n}={Pair(T, T)}_{n-1}=\sum\limits_{i=0}^{n-1}T_{i}T_{n-i-1}=C_{n}</tex>, где <tex dpi="150">C_{n}</tex> {{---}} <tex dpi="150">n</tex>-ое [[Числа Каталана|число Каталана]]. | ||
+ | }} | ||
+ | |||
+ | {{Утверждение | ||
+ | |statement=Производящая функция числа непомеченных полных бинарных деревьев: <tex>T(s) = \frac{1 - \sqrt{1 - 4s^2}}{2s}</tex>. | ||
+ | |proof= | ||
+ | Устройство бинарного дерева в терминах комбинаторных классов выражается следующим образом <tex>T = z + z\times T\times T</tex>.<br> | ||
+ | В терминах производящих функций эта конструкция выглядит следующим образом <tex>T(s) = s + s{T(s)}^2</tex>. | ||
+ | Решением данного уравнения будет <tex>T(s) = \frac{1 - \sqrt{1 - 4s^2}}{2s}</tex>. | ||
+ | }} | ||
== Подвешенные непомеченные деревьея с порядком на детях == | == Подвешенные непомеченные деревьея с порядком на детях == | ||
Строка 12: | Строка 27: | ||
:<tex dpi="150">S_{n}=\sum\limits_{i=1}^{n} T_{i} S_{n-i}=\sum\limits_{i=1}^{n} S_{i-1} S_{n-i}=\sum\limits_{i=0}^{n-1} S_{i} S_{n-i-1}=C_{n}</tex>, где <tex dpi="150">C_{n}</tex> {{---}} <tex dpi="150">n</tex>-ое [[Числа Каталана|число Каталана]]. | :<tex dpi="150">S_{n}=\sum\limits_{i=1}^{n} T_{i} S_{n-i}=\sum\limits_{i=1}^{n} S_{i-1} S_{n-i}=\sum\limits_{i=0}^{n-1} S_{i} S_{n-i-1}=C_{n}</tex>, где <tex dpi="150">C_{n}</tex> {{---}} <tex dpi="150">n</tex>-ое [[Числа Каталана|число Каталана]]. | ||
− | [[File:Sequence_of_rooted_Trees.png| | + | [[File:Sequence_of_rooted_Trees.png|550px]] |
− | [[File:Ordered_Rooted_Trees.png| | + | [[File:Ordered_Rooted_Trees.png|550px]] |
− | |||
== Подвешенные непомеченные деревья без порядка на детях == | == Подвешенные непомеченные деревья без порядка на детях == | ||
Пусть <tex dpi="130">T_{n}</tex> {{---}} количество таких деревьев с <tex dpi="130">n</tex> вершинами. <tex dpi="130">F=MSet(T)</tex> {{---}} множество всех лесов из данных деревьев, так как лес можно интерпретировать как мультимножество из деревьев. <tex dpi="130">F_{n}=f_{n,n}</tex> {{---}} количество лесов с суммарным количество вершин <tex dpi="130">n</tex>. <tex dpi="130">f_{n, k}</tex> {{---}} количество таких лесов из <tex dpi="130">n</tex> вершин, что деревья в них содержат не более чем <tex dpi="130">k</tex> вершин. Чтобы получить дерево из <tex dpi="130">n</tex> вершин, достаточно взять <tex dpi="130">1</tex> вершину и подвесить к ней лес деревьев с суммарным количеством вершин <tex dpi="130">n-1</tex>. Тогда: | Пусть <tex dpi="130">T_{n}</tex> {{---}} количество таких деревьев с <tex dpi="130">n</tex> вершинами. <tex dpi="130">F=MSet(T)</tex> {{---}} множество всех лесов из данных деревьев, так как лес можно интерпретировать как мультимножество из деревьев. <tex dpi="130">F_{n}=f_{n,n}</tex> {{---}} количество лесов с суммарным количество вершин <tex dpi="130">n</tex>. <tex dpi="130">f_{n, k}</tex> {{---}} количество таких лесов из <tex dpi="130">n</tex> вершин, что деревья в них содержат не более чем <tex dpi="130">k</tex> вершин. Чтобы получить дерево из <tex dpi="130">n</tex> вершин, достаточно взять <tex dpi="130">1</tex> вершину и подвесить к ней лес деревьев с суммарным количеством вершин <tex dpi="130">n-1</tex>. Тогда: | ||
Строка 21: | Строка 35: | ||
:<tex dpi="150">f{n,k}=\sum\limits_{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\limits_{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">n</tex> вершинами образуют последовательность A000081<ref>[http://oeis.org/A000081 Number of unlabeled rooted trees with n node]</ref>. |
− | [[File:Forests.png| | + | [[File:Forests.png|550px]] |
− | [[File:Rooted_Trees.png| | + | [[File:Rooted_Trees.png|550px]] |
= Помеченные деревья = | = Помеченные деревья = |
Версия 01:37, 9 июня 2020
Описание всех используемых далее комбинаторных объектов можно найти в статье "конструирование комбинаторных объектов и их подсчёт".
Содержание
Непомеченные деревья
Бинарные деревья
Утверждение: |
Число непомеченных бинарных деревьев: число Каталана). ( -ое |
Устройство бинарного дерева в терминах комбинаторных классов выражается следующим образом
|
Утверждение: |
Производящая функция числа непомеченных полных бинарных деревьев: . |
Устройство бинарного дерева в терминах комбинаторных классов выражается следующим образом |
Подвешенные непомеченные деревьея с порядком на детях
Пусть
— количество таких деревьев с вершинами. — множество всех последовательностей из данных деревьев. — количество последовательностей с суммарным количество вершин . Чтобы получить дерево из вершин, достаточно взять вершину, и подвесить к ней последовательность деревьев с суммарным количеством вершин . Тогда:- .
- число Каталана. , где — -ое
Подвешенные непомеченные деревья без порядка на детях
Пусть
— количество таких деревьев с вершинами. — множество всех лесов из данных деревьев, так как лес можно интерпретировать как мультимножество из деревьев. — количество лесов с суммарным количество вершин . — количество таких лесов из вершин, что деревья в них содержат не более чем вершин. Чтобы получить дерево из вершин, достаточно взять вершину и подвесить к ней лес деревьев с суммарным количеством вершин . Тогда:- .
- .
- .
Количество таких деревьев с [1].
вершинами образуют последовательность A000081Помеченные деревья
Теорема (Кэли): |
Число помеченных деревьев с вершинами равно . |
Доказательство: |
Можно доказать формулу двумя способами. Первый способ. Так как между помеченными деревьями порядка Код Прюфера), то количество помеченных деревьев совпадает с количеством последовательностей длины из чисел от до . и последовательностями длины из чисел от до существует биекция (Второй способ. С помощью матрицы Кирхгофа для полного графа на вершинах. Число помеченных деревьев порядка , очевидно, равно числу остовов в полном графе , которое есть по следствию теоремы Кирхгофа. |
Утверждение: |
Число помеченных корневых деревьев с вершинами есть . |
Данное утверждение является следствием теоремы Кэли. |
Дополнительно
Теорема (Скойнс): |
Число 2-раскрашенных деревьев с вершинами одного цвета и вершинами другого равно . |
См.также
- Лемма Бёрнсайда и Теорема Пойа
- Числа Каталана
- Генерация комбинаторных объектов в лексикографическом порядке