Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие рязанова.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.55 Mб
Скачать

2.10. Упорядоченные разбиения множества

Упорядоченным разбиением множества М называется последовательность из непустых, попарно непересекающихся подмножеств множества М, объединение которых даёт множество М.

1. Рассмотрим упорядоченные разбиения множества M на k подмножеств с мощностями (n1,n2,…,nk) . Одно такое разбиение представляет собой последовательность (М12,…,Мk) подмножеств множества М, таких, что |M1|=n1, |M2|=n2,…, |Mk|=nk . На первом месте в разбиении может располагаться любое подмножество мощности n1, на втором – любое подмножество мощности n2 и т.д.

Теорема 2.8. Количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями (n1,n2,…, nk) определяется формулой .

Доказательство 1. При формировании последовательности (М12, …,Мk) на первое место подмножество М1 мощности n1 можно выбрать из n элементов множества М способами, на второе место подмно-жество М2 мощности n2 можно выбрать из оставшихся n-n1 элементов множества М способами и т.д., на последнее место подмножество Мk мощности nk можно выбрать из оставшихся n-n1-n2-…-nk-1 элементов множества М способами. По правилу произведения получаем, что общее количество упорядоченных разбиений равно ,

что совпадает с числом перестановок с повторениями.

Доказательство 2. Упорядоченное разбиение можно задать n-разряд-ным вектором P, в котором Pi представляет собой номер подмножества, которому принадлежит элемент i множества М. Вектор Р представляет собой перестановку с повторениями мультимножества {n1*1,n2*2,…, nk*k}. Следовательно, количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями n1,n2,…,nk равно количеству перестановок с повторениями мультимножества {n1*1,n2*2,…, nk*k} и определяется формулой

.

Алгоритм порождения упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями (n1,n2,…,nk) представляет собой алгоритм 2.6 порождения перестановок с повторениями мультимножества {n1*1,n2*2,…, nk*k}, в котором перестановки с повторениями интерпретируются как разбиения. В табл. 2.1 представлены упорядоченные разбиения множества М={1,2,3,4,5} на три подмножества: первые два - двухэлементные и третье – одноэлементное.

Таблица 2.1

Упорядоченные разбиения множества М={1,2,3,4,5}

п/п

Перестановка с повторениями

Упорядоченное разбиение

1

2

3

1

(1,1,2,2,3)

({1,2},{3,4},{5})

2

(1,1,2,3,2)

({1,2},{3,5},{4})

3

(1,1,3,2,2)

({1,2},{4,5},{3})

4

(1,2,1,2,3)

({1,3},{2,4},{5})

5

(1,2,1,3,2)

({1,3},{2,5},{4})

6

(1,2,2,1,3)

({1,4},{2,3},{5})

7

(1,2,2,3,1)

({1,5},{2,3},{4})

8

(1,2,3,1,2)

({1,4},{2,5},{3})

9

(1,2,3,2,1)

({1,5},{2,4},{3})

10

(1,3,1,2,2)

({1,3},{4,5},{2})

11

(1,3,2,1,2)

({1,4},{3,5},{2})

12

(1,3,2,2,1)

({1,5},{3,4},{2})

13

(2,1,1,2,3)

({2,3},{1,4},{5})

14

(2,1,1,3,2)

({2,3},{1,5},{4})

15

(2,1,2,1,3)

({2,4},{1,3},{5})

16

(2,1,2,3,1)

({2,5},{1,3},{4})

Окончание табл.2.1

1

2

3

17

(2,1,3,1,2)

({2,4},{1,5},{3})

18

(2,1,3,2,1)

({2,5},{1,4},{3})

19

(2,2,1,1,3)

({3,4},{1,2},{5})

20

(2,2,1,3,1)

({3,5},{1,2},{4})

21

(2,2,3,1,1)

({4,5},{1,2},{3})

22

(2,3,1,1,2)

({3,4},{1,5},{2})

23

(2,3,1,2,1)

({3,5},{1,4},{5})

24

(2,3,2,1,1)

({4,5},{1,3},{2})

25

(3,1,1,2,2)

({2,3},{4,5},{1})

26

(3,1,2,1,2)

({2,4},{3,5},{1})

27

(3,1,2,2,1)

({2,5},{3,4},{1})

28

(3,2,1,1,2)

({3,4},{2,5},{1})

29

(3,2,1,2,1)

({3,5},{2,4},{1})

30

(3,2,2,1,1)

({4,5},{2,3},{1})

2. Рассмотрим упорядоченные разбиения множества M на k подмножеств с мощностями {n1,n2,…,nk}, где {n1,n2,…,nk} может быть мультимножеством. Одно такое разбиение представляет собой последовательность (М12,…,Мk) подмножеств множества М, таких, что |M1|=n1, |M2|=n2,…, |Mk|=nk . На первое место в разбиении можно поставить подмножество любой мощности ni{n1,n2,…,nk}, после этого на второе место - подмножество любой мощности nj{n1,n2,…,nk}-{ni} и т.д. Среди подмножеств в разбиении (М12,…,Мk) можно выделить l1 подмножеств мощности 1, l2 подмножеств мощности 2 и т.д., ln подмножеств мощности n. Например, в разбиении ({1,2},{3,4},{5}) l1=1, l2=2, l3= l4= =l5=0. Очевидно, что 1l1+2l2+…+nln=n.

Теорема 2.9. Количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями {n1,n2,…, nk} определяется формулой

Доказательство. Рассмотрим упорядоченное разбиение множества M на k подмножеств с мощностями (n1,n2,…,nk). Если мощности подмножеств попарно различны, то из такого разбиения можно получить k!

упорядоченных разбиений множества M на k подмножеств с мощностями {n1,n2,…,nk}, изменяя всеми способами порядок следования подмножеств. Но так как упорядоченное разбиение множества M на k подмножеств с мощностями (n1,n2,…,nk) может содержать подмножества с одинаковыми мощностями, то из такого разбиения можно получить

упорядоченных разбиений множества M на k подмножеств с мощностями {n1,n2,…,nk}. Количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями (n1,n2,…, nk) определяется формулой , следовательно

.

Рассмотрим формулу .

В знаменателе сначала расположим все сомножители со значением 1!, их будет l1 штук, затем - все сомножители со значением 2!, их будет l2 штук, и т.д., и в конце - все сомножители со значением n!, их будет ln штук. Теперь эту формулу можно записать в виде

,

а формулу, определяющую количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями {n1,n2,…, nk} - в виде

.

Для порождения упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями {n1,n2,…,nk} можно порождать перестановки с повторениями мультимножества {n1,n2,…,nk} и каждую перестановку использовать для порождения упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями (n1,n2,…, nk), в результате чего будут получены все упорядоченные разбиения n-

элементного множества М на k подмножеств с мощностями {n1,n2,…, nk}.

3. Рассмотрим все упорядоченные разбиения множества M на k подмножеств. Одно такое разбиение представляет собой последовательность (М12,…,Мk) подмножеств множества М, таких, что |M1|+|M2|+…+|Mk|=|M| .

При подсчёте количества упорядоченных разбиений множества M на k подмножеств будем использовать понятие композиции числа n из k частей. Композицией натурального числа n из k частей с ограничением ni>0 называется k-элементная последовательность (n1,n2,…,nk) натуральных чисел, такая, что n1+n2+…+nk=n.

Теорема 2.10. Количество композиций числа n из k частей с ограничением ni>0 равно .

Д оказательство. Разделим отрезок длины n на n отрезков единич­ной длины с помощью (n-1) точки. Тогда композиции n взаимно однозначно соответствует пометка некоторых k-1 точек разделения. Элемен­тами композиции в этом случае будут расстояния между соседними точками разделения. Например, композиция (2,2,1) числа 5 представлена на рис.2.17.

Рис.2.17. Представление композиции (2,2,1) числа 5

Каждая композиция числа n из k частей с ограничением ni>0 соответствует способу выбора (k-1)-элементного подмножества точек из n-1 точек. То есть число таких композиций равно .

Теорема 2.11. Количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств определяется формулой ,

где , (n1i,n2i,…,nki) - i-ая композиция числа n из k частей с ограничением ni>0.

Доказательство. Элементы композиции (n1,n2,…nk) числа n из k час-тей будем считать мощностями подмножеств в упорядоченном разбие-

нии (М12,…,Мk) множества М на k частей. Количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств с мощностями (n1,n2,…,nk) определяется формулой

,

а количество композиций числа n из k частей определяется формулой , следовательно, количество всех различных упорядоченных разбиений n-элементного множества М на k подмножеств определяется формулой ,

где , (n1i,n2i,…,nki) - i-ая композиция числа n из k частей с ограничением ni>0.

Для порождения упорядоченных разбиений n-элементного множества М на k подмножеств можно получить все композиции числа n из k частей с ограничением ni>0 и к каждой композиции (n1,n2,…, nk) применить алгоритм 2.6 порождения перестановок с повторениями мультимножества {n1*1,n2*2,…, nk*k}, в котором перестановки с повторениями интерпретировать как разбиения.

Для порождения композиций числа n из k частей с ограничением ni>0 можно использовать алгоритм 2.5 порождения сочетаний и каждое сочетание преобразовать в соответствующую ему композицию или непосредственно, используя метод поиска с возвращением. Начиная с 1-го места будем последовательно формировать элементы композиции С. Формирование i-го элемента композиции опишем рекурсивным алгоритмом 2.8, блок-схема которого представлена на рис.2.18 В цикле перебираются элементы множества, которые можно поставить на i-ое место. Минимальный элемент, который можно поставить на i-ое место при i<k равен 1, а максимальный – такой, что сумма сформированных i элементов плюс количество оставшихся элементов композиции не превышает числа n, т.е. n-S-k+i, где S – сумма сформированных i-1 элементов. На последнее, k-ое место композиции можно поставить только n-(S+x), где х – элемент, поставленный на k-1-ое место, S+x – сумма k-1 элементов композиции. Если заполнено k-1-ое место, то однозначно заполняем последнее место, как описано выше, и выводим композицию, иначе заполняем следующее i+1-ое место по алгоритму 2.8.

Алгоритм 2.8 порождения композиций числа n из k частей с ограничением ni>0

Вход: i – заполняемое место в композиции;

S – сумма первых i-1 элементов композиции.

Выход: последовательность всех композиций числа n из k частей с ограничением ni>0.

Глобальные параметры: С – формируемая композиция;

n – исходное число;

k – количество элементов в композиции.

Ci := x

+

Композиция(i+1, S+x)

Ck :=n-(S+x)

Рис.2.18. Рекурсивный алгоритм порождения композиций числа n из k частей с ограничением ni>0

4. Рассмотрим все упорядоченные разбиения множества M.

Теорема 2.12. Количество всех различных упорядоченных разбиений n-элементного множества М определяется формулой

,

где , (n1i,n2i,…,nki) - i-ая композиция числа n из k частей с ограничением ni>0.

Доказательство. n-элементное множество можно разбить на 1 подмножество, на 2 подмножества и т.д., на n подмножеств, т.е. количество k непустых подмножеств, на которые можно разбить n-элементное множество, может быть от 1 до n, отсюда количество всех различных упорядоченных разбиений n-элементного множества М определяется формулой

,

где , (n1i,n2i,…,nki) - i-ая композиция числа n из k частей с ограничением ni>0.

Для порождения всех упорядоченных разбиений n-элементного множества М достаточно, перебирая все k в диапазоне от 1 до n, получать все композиции числа n из k частей с ограничением ni>0, используя алгоритм 2.8, и к каждой композиции (n1,n2,…, nk) применить алгоритм 2.6 порождения перестановок с повторениями мультимножества {n1*1,n2*2,…, nk*k}, в котором перестановки с повторениями интерпретировать как разбиения.