Конструирование комбинаторных объектов и их подсчёт — различия между версиями
Mervap (обсуждение | вклад) (Новая страница: «==Последовательности== {{Утверждение |statement= Пусть <tex>A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество ...») |
Mervap (обсуждение | вклад) (+MSet) |
||
Строка 9: | Строка 9: | ||
Пусть <tex>A=\{0, 1\}</tex>, <tex>W=\{2, 0 \ldots 0\}</tex>, <tex>S=Seq(A)</tex> {{---}} множество всех [[Комбинаторные объекты#Битовые вектора|битовых векторов]]. Тогда <tex>S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=2S_{n-1}=2^{n}</tex>. | Пусть <tex>A=\{0, 1\}</tex>, <tex>W=\{2, 0 \ldots 0\}</tex>, <tex>S=Seq(A)</tex> {{---}} множество всех [[Комбинаторные объекты#Битовые вектора|битовых векторов]]. Тогда <tex>S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=2S_{n-1}=2^{n}</tex>. | ||
− | ===Подсчет | + | ===Подсчет Seq из маленьких и больших элементов=== |
Пусть <tex>A=\{1, 2\}</tex>, <tex>W=\{1, 1, 0 \ldots 0\}</tex>, <tex>S=Seq(A)</tex> {{---}} множество всех последовательностей из маленьких и больших элементов <tex>S=Seq(A)</tex>. Тогда <tex>S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=S_{n-1}+S_{n-2}=F_{n}</tex>, где <tex>F_{n}</tex> {{---}} <tex>n</tex>-ое число Фибоначчи <ref>[[wikipedia:Fibonacci number|Wikipedia {{---}} Числа Фибоначчи]]</ref>. | Пусть <tex>A=\{1, 2\}</tex>, <tex>W=\{1, 1, 0 \ldots 0\}</tex>, <tex>S=Seq(A)</tex> {{---}} множество всех последовательностей из маленьких и больших элементов <tex>S=Seq(A)</tex>. Тогда <tex>S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=S_{n-1}+S_{n-2}=F_{n}</tex>, где <tex>F_{n}</tex> {{---}} <tex>n</tex>-ое число Фибоначчи <ref>[[wikipedia:Fibonacci number|Wikipedia {{---}} Числа Фибоначчи]]</ref>. | ||
Строка 21: | Строка 21: | ||
{{Утверждение | {{Утверждение | ||
|statement= | |statement= | ||
− | Пусть <tex>A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <tex>S=PSet(A)</tex> {{---}} множество всех множеств объектов, составленных из элементов <tex>A</tex>, <tex>W=\{w_{1},w_{2}, \ldots ,w_{k}\}</tex> {{---}} количество объектов веса <tex>\{1 \ldots k\}</tex>, составленных из элементов <tex>A</tex>, <tex>w_{0} = 1</tex>. Тогда '''количество множеств''' из объектов суммарного веса <tex>n</tex> можно вычислить как <tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom | + | Пусть <tex>A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <tex>S=PSet(A)</tex> {{---}} множество всех множеств объектов, составленных из элементов <tex>A</tex>, <tex>W=\{w_{1},w_{2}, \ldots ,w_{k}\}</tex> {{---}} количество объектов веса <tex>\{1 \ldots k\}</tex>, составленных из элементов <tex>A</tex>, <tex>w_{0} = 1</tex>. Тогда '''количество множеств''' из объектов суммарного веса <tex>n</tex> можно вычислить как <tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{w_{k}}{i} s_{n-ik, k-1}</tex> {{---}} количество таких множеств, что они содержат объекты суммарного веса <tex>\leqslant k</tex>. |
}} | }} | ||
− | ===Количество | + | ===Количество PSetиз элементов <tex>0</tex> или <tex>1</tex>=== |
Пусть <tex>A={0, 1}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех множеств из <tex>A</tex>, <tex>W=\{2, 0 \ldots 0\}</tex>, <tex>w_{0} = 1</tex>. Тогда <tex tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1}</tex> | Пусть <tex>A={0, 1}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех множеств из <tex>A</tex>, <tex>W=\{2, 0 \ldots 0\}</tex>, <tex>w_{0} = 1</tex>. Тогда <tex tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1}</tex> | ||
:<tex dpi="130">S_{0}=s_{0, 0} = 1</tex> | :<tex dpi="130">S_{0}=s_{0, 0} = 1</tex> | ||
− | :<tex dpi="130">S_{1}=s_{1, 1} = | + | :<tex dpi="130">S_{1}=s_{1, 1} = s_{1, 0} + 2s_{0, 0} = 2s_{0, 0} = 2</tex> |
− | :<tex dpi="130">S_{2}=s_{2, 2} = s_{2, 1} + s_{0, 1} = s_{2, 0} + 2s_{1, 0} + s_{0, 0}= s_{0, 0} = 1</tex> | + | :<tex dpi="130">S_{2}=s_{2, 2} = s_{2, 1} + 0 \times s_{0, 1} = s_{2, 0} + 2s_{1, 0} + s_{0, 0}= s_{0, 0} = 1</tex> |
+ | :<tex dpi="130">S_{3}=s_{3, 3} = s_{3, 2} + 0 \times s_{0, 2} = s_{3, 1} + 0 \times s_{0, 1} = s_{3, 0} + 2s_{2, 0} + 0 \ times s_{1, 0} + 0 \ times s_{0, 0}= 0</tex> | ||
+ | :Для <tex dpi="130">n > 2</tex>, <tex dpi="130">S_{n} = 0</tex> | ||
:<tex>\{\}</tex> | :<tex>\{\}</tex> | ||
Строка 38: | Строка 40: | ||
Пусть <tex>A=\mathbb{N}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех [[Нахождение количества разбиений числа на слагаемые|разбиений на слагаемые]], <tex>W=\{1 \ldots 1\}</tex>, <tex>w_{0} = 1</tex>. Тогда <tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1} = s_{n, k-1} + s_{n - k, k}</tex>, что, как не сложно заметить, соответсвует формуле, полученной методом динамического программирования. | Пусть <tex>A=\mathbb{N}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех [[Нахождение количества разбиений числа на слагаемые|разбиений на слагаемые]], <tex>W=\{1 \ldots 1\}</tex>, <tex>w_{0} = 1</tex>. Тогда <tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1} = s_{n, k-1} + s_{n - k, k}</tex>, что, как не сложно заметить, соответсвует формуле, полученной методом динамического программирования. | ||
+ | |||
+ | {{Утверждение | ||
+ | |statement= | ||
+ | Пусть <tex>A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <tex>S=MSet(A)</tex> {{---}} множество всех мультимножеств объектов, составленных из элементов <tex>A</tex>, <tex>W=\{w_{1},w_{2}, \ldots ,w_{k}\}</tex> {{---}} количество объектов веса <tex>\{1 \ldots k\}</tex>, составленных из элементов <tex>A</tex>, <tex>w_{0} = 1</tex>. Тогда '''количество мультимножеств''' из объектов суммарного веса <tex>n</tex> можно вычислить как <tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{w_{k}+i-1}{i} s_{n-ik, k-1}</tex> {{---}} количество таких мультимножеств, что они содержат объекты суммарного веса <tex>\leqslant k</tex>. | ||
+ | }} | ||
+ | |||
+ | ===Количество MSet из элементов <tex>0</tex> или <tex>1</tex>=== | ||
+ | Пусть <tex>A={0, 1}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех множеств из <tex>A</tex>, <tex>W=\{2, 0 \ldots 0\}</tex>, <tex>w_{0} = 1</tex>. Тогда <tex tex dpi="130">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1}</tex> | ||
+ | :<tex dpi="130">S_{0}=s_{0, 0} = 1</tex> | ||
+ | :<tex dpi="130">S_{1}=s_{1, 1} = s_{1, 0} + 2s_{0, 0} = 2s_{0, 0} = 2</tex> | ||
+ | :<tex dpi="130">S_{2}=s_{2, 2} = s_{2, 1} + 0 \times s_{0, 1} = s_{2, 0} + 2s_{1, 0} + 3s_{0, 0}= 3s_{0, 0} = 3</tex> | ||
+ | :<tex dpi="130">S_{3}=s_{3, 3} = s_{3, 2} + 0 \times s_{0, 2} = s_{3, 1} + 0 \times s_{0, 1} = s_{3, 0} + 2s_{2, 0} + 3s_{1, 0} + 4s_{0, 0}= 4s_{0, 0} = 4</tex> | ||
+ | |||
+ | :<tex>\{\}</tex> | ||
+ | :<tex>\{0\}, \{1\}</tex> | ||
+ | :<tex>\{0, 0\}, \{0, 1\}, \{1, 1\}</tex> | ||
+ | :<tex>\{0, 0, 0\}, \{0, 0, 1\}, \{0, 1, 1\}, \{1, 1, 1\}</tex> | ||
+ | |||
+ | :<tex dpi="130">{S_{n}=s_{n, n} = s_{n, n-1} + 0 \times s_{0, n-1} = s_{n, n-2} + 0 \times s_{0, n-2} = \ldots = s_{n, 0} + 2s_{n - 1, 0} + \ldots + ns_{1, 0} + (n+1) s_{0,0} = (n + 1) s_{0,0} = n+1}</tex> | ||
==Примeчания== | ==Примeчания== | ||
<references/> | <references/> |
Версия 05:10, 25 декабря 2017
Содержание
Последовательности
Утверждение: |
Пусть — множество из различных объектов, — множество всех последовательностей из элементов , — количество объектов веса . Тогда количество последовательностей веса можно вычислить как . |
Подсчет битовых векторов длины
Пусть битовых векторов. Тогда .
, , — множество всехПодсчет Seq из маленьких и больших элементов
Пусть [1].
, , — множество всех последовательностей из маленьких и больших элементов . Тогда , где — -ое число ФибоначчиПодсчет подвешенных непомеченных деревьев с порядком на детях
Пусть число Каталана, а .
— количество деревьев с вершинами, . — множество всех последовательностей из деревьев. — количество последовательностей с суммарным количество вершин . Чтобы получить дерево из вершин достаточно взять вершину и подвесить к ней последовательность деревьев с суммарным количеством вершин . Тогда , где — -оеМножества
Утверждение: |
Пусть — множество из различных объектов, — множество всех множеств объектов, составленных из элементов , — количество объектов веса , составленных из элементов , . Тогда количество множеств из объектов суммарного веса можно вычислить как , где — количество таких множеств, что они содержат объекты суммарного веса . |
Количество PSetиз элементов или
Пусть
, — множество всех множеств из , , . Тогда , где- Для ,
Количество разбиений на слагаемые
Пусть разбиений на слагаемые, , . Тогда , где , что, как не сложно заметить, соответсвует формуле, полученной методом динамического программирования.
, — множество всех
Утверждение: |
Пусть — множество из различных объектов, — множество всех мультимножеств объектов, составленных из элементов , — количество объектов веса , составленных из элементов , . Тогда количество мультимножеств из объектов суммарного веса можно вычислить как , где — количество таких мультимножеств, что они содержат объекты суммарного веса . |
Количество MSet из элементов или
Пусть
, — множество всех множеств из , , . Тогда , где