Комбинаторные объекты — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 31: Строка 31:
 
где <tex>k</tex> — число, не превышаемое слагаемыми, причем начальное значение <tex>k = n</tex>. Вывод формулы можно найти [[Нахождение количества разбиений числа на слагаемые | здесь]].
 
где <tex>k</tex> — число, не превышаемое слагаемыми, причем начальное значение <tex>k = n</tex>. Вывод формулы можно найти [[Нахождение количества разбиений числа на слагаемые | здесь]].
  
=== Разбиение ===
+
=== Разбиение на подмножества ===
'''Разбиение''' множества <math>X</math> на '''подмножества''' называется семейство непустых множеств <math>\{U_{\alpha}\},{\alpha \in A}</math>, где <math>A</math> — некоторое множество индексов, если:
+
'''Разбиение''' множества <math>X</math> '''на подмножества''' — это семейство непустых множеств <math>\{U_{\alpha}\},{\alpha \in A}</math>, где <math>A</math> — некоторое множество индексов, если:
 
# <math>U_{\alpha} \cap U_{\beta} = \emptyset</math> для любых <math>\alpha, \beta \in A</math>, таких что <math>\alpha \not= \beta</math>;
 
# <math>U_{\alpha} \cap U_{\beta} = \emptyset</math> для любых <math>\alpha, \beta \in A</math>, таких что <math>\alpha \not= \beta</math>;
 
# <math>X = \bigcup\limits_{\alpha \in A} U_{\alpha}</math>.
 
# <math>X = \bigcup\limits_{\alpha \in A} U_{\alpha}</math>.
 +
Если задано множество из <tex>n</tex> элементов, которое необходимо разбить на <tex>k</tex> непустых частей, то последний элемент исходного множества можно либо поместить  в отдельную часть (<tex dpi = "180">\lbrace{n-1\atop k-1}\rbrace</tex> способами), либо поместить его в некоторое подмножество (<tex>k</tex><tex dpi = "180">\lbrace{n-1\atop k}\rbrace</tex> способами, поскольку каждый из <tex dpi = "180">\lbrace{n-1\atop k}\rbrace</tex> способов распределения первых <tex>n-1</tex> элементов по <tex>k</tex> непустым частям дает <tex>k</tex> подмножеств, с которыми можно объединить последний элемент).
 +
 +
<tex>\begin{Bmatrix}
 +
n \\
 +
k
 +
\end{Bmatrix} = \begin{cases}
 +
k\begin{Bmatrix}
 +
n-1 \\
 +
k
 +
\end{Bmatrix} + \begin{Bmatrix}
 +
n-1 \\
 +
k-1
 +
\end{Bmatrix}, 0<k<n \\
 +
0, k = 0 \\
 +
0, n = 0 \\
 +
0, k > n \\
 +
1, k = n
 +
\end{cases}
 +
</tex>
  
'''Количество неупорядоченных разбиений <tex>n</tex>-элементного множества на <tex>k</tex> непустых подмножеств.'''
+
Подробнее можно прочитать на странице о [[Числа Стирлинга второго рода | числах Стирлинга второго порядка]].
*[http://neerc.ifmo.ru/wiki/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%A1%D1%82%D0%B8%D1%80%D0%BB%D0%B8%D0%BD%D0%B3%D0%B0_%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B3%D0%BE_%D1%80%D0%BE%D0%B4%D0%B0#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F Применение чисел Стирлинга второго порядка]
 
  
 
== Источники ==
 
== Источники ==

Версия 21:25, 12 декабря 2016


Определение:
Комбинаторные объекты (англ. combinatorial objects) — это конечные множества, на элементы которых могут накладываться определённые ограничения, такие как: различимость или неразличимость элементов, возможность повторения одинаковых элементов и т. п.


Определение:
Если два комбинаторных объекта, различающихся только порядком элементов, считаются различными, то они называются упорядоченными.


Примеры комбинаторных объектов

Битовые вектора

Битовые вектора — последовательность нулей и единиц заданной длины. Количество таких объектов вычисляется по формуле [math]2^{n}[/math], так как на каждое из [math]n[/math] мест мы можем поставить один из двух элементов.

Перестановки

Перестановки[1] — это упорядоченный набор чисел [math]1, 2,\ldots, n[/math], обычно трактуемый как биекция на множестве [math]\{ 1, 2,\ldots, n \}[/math], которая числу [math]i[/math] ставит соответствие [math]i[/math]-й элемент из набора. Количество перестановок равно [math]P_n = n![/math]. Получить эту формулу можно следующим образом: поставим один из [math]n[/math] элементов на первое место, далее поставим на второе один из [math]n - 1[/math] оставшихся элементов,... один из [math]1[/math] элемента на последнее. Всего таких выборов можно совершить [math]n \times (n - 1) \times ... \times 1 = n![/math].

Размещения

Размещение из [math]n[/math] по [math]k[/math] — это упорядоченный набор из [math]k[/math] различных элементов некоторого [math]n[/math]-элементного множества. Таких наборов [math]A^{k}_n = \frac{n!}{(n - k)!}[/math]. Выведем формулу подобно тому, как выводили для перестановок: на первое место можно поставить один из [math]n[/math] элементов, на следующее один из [math]n - 1[/math],... и на последнее один из [math]n - k + 1[/math]. Всего получится [math]n \times (n - 1) \times ... \times (n - k + 1) = \frac{n!}{(n - k)!}[/math].

Сочетания

Сочетания[2] из [math]n[/math] по [math]k[/math] — это набор [math]k[/math] элементов, выбранных из данных [math]n[/math] элементов. Количество таких наборов вычисляется по формуле [math]C^{k}_n = \frac{n!}{k!(n - k)!}[/math]. Выведем данную формулу из формулы размещений, а именно заметим, что в размещениях порядок элементов имеет значение, а в сочетаниях нет. Это значит, что наборы [math]\{1, 2\}[/math] и [math]\{2, 1\}[/math] эквивалентны. То есть в размещениях любой вариант сочетания повторяется столько же раз, сколько можно сделать перестановок для [math]k[/math] мест. Тогда [math]C^{k}_n = \frac{A^{k}_n}{k!} = \frac{n!}{k!(n - k)!}[/math].

Разбиение на неупорядоченные слагаемые

Разбиение числа на неупорядоченные слагаемые — это представление числа [math]n[/math] в виде суммы слагаемых. Всего таких разбиений:

[math]P_{n,k} = \left \{ \begin{array}{ll} P_{n,k - 1} + P_{n - k, k}, & 0 \lt k \leqslant n \\ P_{n, n}, & k \gt n \\ 1, & n = 0, k = 0 \\ 0, & n \neq 0 , k = 0, \end{array} \right.[/math]

где [math]k[/math] — число, не превышаемое слагаемыми, причем начальное значение [math]k = n[/math]. Вывод формулы можно найти здесь.

Разбиение на подмножества

Разбиение множества [math]X[/math] на подмножества — это семейство непустых множеств [math]\{U_{\alpha}\},{\alpha \in A}[/math], где [math]A[/math] — некоторое множество индексов, если:

  1. [math]U_{\alpha} \cap U_{\beta} = \emptyset[/math] для любых [math]\alpha, \beta \in A[/math], таких что [math]\alpha \not= \beta[/math];
  2. [math]X = \bigcup\limits_{\alpha \in A} U_{\alpha}[/math].

Если задано множество из [math]n[/math] элементов, которое необходимо разбить на [math]k[/math] непустых частей, то последний элемент исходного множества можно либо поместить в отдельную часть ([math]\lbrace{n-1\atop k-1}\rbrace[/math] способами), либо поместить его в некоторое подмножество ([math]k[/math][math]\lbrace{n-1\atop k}\rbrace[/math] способами, поскольку каждый из [math]\lbrace{n-1\atop k}\rbrace[/math] способов распределения первых [math]n-1[/math] элементов по [math]k[/math] непустым частям дает [math]k[/math] подмножеств, с которыми можно объединить последний элемент).

[math]\begin{Bmatrix} n \\ k \end{Bmatrix} = \begin{cases} k\begin{Bmatrix} n-1 \\ k \end{Bmatrix} + \begin{Bmatrix} n-1 \\ k-1 \end{Bmatrix}, 0\lt k\lt n \\ 0, k = 0 \\ 0, n = 0 \\ 0, k \gt n \\ 1, k = n \end{cases} [/math]

Подробнее можно прочитать на странице о числах Стирлинга второго порядка.

Источники

https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%B1%D0%B8%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0 неупорядоченные слагаемые