286
правок
Изменения
+MSet_v_2
{{Утверждение
|statement=
Пусть <texdpi="130">A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <texdpi="130">S=Seq(A)</tex> {{---}} множество всех последовательностей из элементов <texdpi="130">A</tex>, <texdpi="130">W=\{w_{1},w_{2}, \ldots ,w_{m}\}</tex> {{---}} количество объектов веса <texdpi="130">\{1 \ldots m\}</tex>. Тогда '''количество последовательностей''' веса <texdpi="130">n</tex> можно вычислить как : <texdpi="150">S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}</tex>.
}}
===Подсчет битовых векторов длины <texdpi="150">n</tex>===Пусть <texdpi="130">A=\{0, 1\}</tex>, <texdpi="130">W=\{2, 0 \ldots 0\}</tex>, <texdpi="130">S=Seq(A)</tex> {{---}} множество всех [[Комбинаторные объекты#Битовые вектора|битовых векторов]]. Тогда , <texdpi="150">S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=2S_{n-1}=2^{n}</tex>.
===Подсчет Seq из маленьких и больших элементов===
Пусть <texdpi="130">A=\{1, 2\}</tex>, <texdpi="130">W=\{1, 1, 0 \ldots 0\}</tex>, <texdpi="130">S=Seq(A)</tex> {{---}} множество всех последовательностей из маленьких и больших элементов <texdpi="130">S=Seq(A)</tex>. Тогда , <texdpi="150">S_{n}=\sum_{i=1}^{n} w_{i} S_{n-1}=S_{n-1}+S_{n-2}=F_{n}</tex>, где <texdpi="150">F_{n}</tex> {{---}} <tex>n</tex>-ое число Фибоначчи <ref>[[wikipedia:Fibonacci number|Wikipedia {{---}} Числа Фибоначчи]]</ref>.
===Подсчет подвешенных непомеченных деревьев с порядком на детях===
Пусть <texdpi="130">T_{n}</tex> {{---}} количество таких деревьев с <texdpi="130">n</tex> вершинами, <texdpi="130">T_{0} = 1</tex>. <texdpi="130">S=Seq(A)</tex> {{---}} множество всех последовательностей из данных деревьев. <texdpi="130">S_{n}</tex> {{---}} количество последовательностей с суммарным количество вершин <texdpi="130">n</tex>. Чтобы получить дерево из <texdpi="130">n</tex> вершин достаточно взять <texdpi="130">1</tex> вершину и подвесить к ней последовательность деревьев с суммарным количеством вершин <texdpi="130">n-1</tex>. Тогда ::<tex dpi="150">T_{n}=S_{n-1}</tex>.:<texdpi="150">S_{n}=\sum_{i=1}^{n} T_{i} S_{n-1}=C_{n}</tex>, где <texdpi="150">C_{n}</tex> {{---}} <texdpi="150">n</tex>-ое [[Числа Каталана|число Каталана]], а <tex>T_{n}=S_{n-1}</tex>.
[[File:Ordered_Rooted_Trees.png|800px700px]]
==Множества==
{{Утверждение
|statement=
Пусть <texdpi="130">A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <texdpi="130">S=PSet(A)</tex> {{---}} множество всех множеств объектов, составленных из элементов <texdpi="130">A</tex>, <texdpi="130">W=\{w_{1},w_{2}, \ldots ,w_{k}\}</tex> {{---}} количество объектов веса <texdpi="130">\{1 \ldots k\}</tex>, составленных из элементов <texdpi="130">A</tex>, <texdpi="130">w_{0} = 1</tex>. Тогда '''количество множеств''' из объектов суммарного веса <texdpi="130">n</tex> можно вычислить как <tex dpi="130150">S_{n}=s_{n, n}</tex>, где <tex dpi="130150">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{w_{k}}{i} s_{n-ik, k-1}</tex> {{---}} количество таких множеств, что они содержат объекты суммарного веса <texdpi="130">\leqslant k</tex>.
}}
===Количество PSetиз PSet из элементов <tex>0</tex> или <tex>1</tex>===Пусть <texdpi="130">A={0, 1}</tex>, <tex>S=PSet(A)</tex> {{---}} множество всех множеств из <texdpi="130">A</tex>, <texdpi="130">W=\{2, 0 \ldots 0\}</tex>, <texdpi="130">w_{0} = 1</tex>. Тогда <tex tex dpi="130150">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130150">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1}</tex>:<tex dpi="130150">S_{0}=s_{0, 0} = 1</tex>:<tex dpi="130150">S_{1}=s_{1, 1} = s_{1, 0} + 2s_{0, 0} = 2s_{0, 0} = 2</tex>:<tex dpi="130150">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="130150">{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="130150">n > 2</tex>, <tex dpi="130150">S_{n} = 0</tex>
:<texdpi="150">\{\}</tex>:<texdpi="150">\{0\}, \{1\}</tex>:<texdpi="150">\{0, 1\}</tex>
===Количество разбиений на слагаемые===
Пусть <texdpi="130">A=\mathbb{N}</tex>, <texdpi="130">S=PSet(A)</tex> {{---}} множество всех [[Нахождение количества разбиений числа на слагаемые|разбиений на слагаемые]], <texdpi="130">W=\{1 \ldots 1\}</tex>, <texdpi="130">w_{0} = 1</tex>. Тогда , :<tex dpi="130150">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130150">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=
Пусть <texdpi="130">A=\{a_{1},a_{2}, \ldots ,a_{n}\}</tex> {{---}} множество из различных объектов, <texdpi="130">S=MSet(A)</tex> {{---}} множество всех мультимножеств объектов, составленных из элементов <texdpi="130">A</tex>, <texdpi="130">W=\{w_{1},w_{2}, \ldots ,w_{k}\}</tex> {{---}} количество объектов веса <texdpi="130">\{1 \ldots k\}</tex>, составленных из элементов <texdpi="130">A</tex>, <texdpi="130">w_{0} = 1</tex>. Тогда '''количество мультимножеств''' из объектов суммарного веса <texdpi="130">n</tex> можно вычислить как <tex dpi="130150">S_{n}=s_{n, n}</tex>, где <tex dpi="130150">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} \binom{w_{k}+i-1}{i} s_{n-ik, k-1}</tex> {{---}} количество таких мультимножеств, что они содержат объекты суммарного веса не более <texdpi="130">\leqslant k</tex>.
}}
===Количество MSet из элементов <tex>0</tex> или <tex>1</tex>===
Пусть <texdpi="130">A={0, 1}</tex>, <texdpi="130">S=PSet(A)</tex> {{---}} множество всех множеств из <texdpi="130">A</tex>, <texdpi="130">W=\{2, 0 \ldots 0\}</tex>, <texdpi="130">w_{0} = 1</tex>. :Тогда , <tex tex dpi="130150">S_{n}=s_{n, n}</tex>, где <tex tex dpi="130150">s_{n, k}=\sum_{i=0}^{\lfloor \frac{n}{k} \rfloor} s_{n-ik, k-1}</tex>:<tex dpi="130150">S_{0}=s_{0, 0} = 1</tex>:<tex dpi="130150">S_{1}=s_{1, 1} = s_{1, 0} + 2s_{0, 0} = 2s_{0, 0} = 2</tex>:<tex dpi="130150">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="130150">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 dpi="150">\{\}</tex>:<tex dpi="150">\{0\}, \{1\}</tex>:<tex dpi="150">\{0, 0\}, \{0, 1\}, \{1, 1\}</tex>:<tex dpi="150">\{0, 0, 0\}, \{0, 0, 1\}, \{0, 1, 1\}, \{1, 1, 1\}</tex> :<tex dpi="150">{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> ===Подсчет подвешенных непомеченных деревьев без порядка на детях===Пусть <tex dpi="130">T_{n}</tex> {{---}} количество таких деревьев с <tex dpi="130">n</tex> вершинами, <tex dpi="130">T_{0} = 1</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="150">T_{n}=F_{n-1}</tex>.:<tex dpi="150">F_{n}=f_{n, n}</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>
==Примeчания==
<references/>