Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретка_Экзамен_Ответы / комб / 2 Сочетания с повторениями

.docx
Скачиваний:
83
Добавлен:
11.03.2015
Размер:
25.54 Кб
Скачать

2.9. Сочетания с повторениями

Сочетанием с повторениями из n элементов по k называется мультимножество мощности k, составленное из элементов n-элементного множества.

Например, из элементов множества М={1,2,3} можно составить такие сочетания по два с повторениями: {1,1}, {1,2}, {1,3}, {2,2}, {2,3}, {3,3}.

Теорема 2.7. Количество различных сочетаний из n элементов по k с повторениями равно .

Доказательство. Каждое сочетание полностью определяется, если указать, сколько раз входит каждый элемент множества в сочетание. Поставим в соответствие каждому сочетанию последовательность нулей и единиц, составленную по следующему правилу: ставим подряд столько единиц, сколько раз входит первый элемент множества в сочетание, далее ставим нуль, и после него пишем столько единиц, сколько раз входит первый элемент множества в это сочетание и т.д. Например, написанным выше сочетаниям из трех элементов по два будут соответствовать такие последовательности:

1100, 1010, 1001, 0110, 0101, 0011.

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

Рассмотрим алгоритм порождения сочетаний с повторениями в неубывающем лексикографическом порядке. Сочетания с повторениями из трёх элементов по три (), в неубывающем лексикографическом порядке запишутся следующим образом:

111 133

112 222

113 223

122 233

123 333

Алгоритм 2.7 порождения сочетаний с повторениями из n элементов по k.

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

b – минимальный элемент, который можно поставить на i-ое место.

Выход: последовательность всех сочетаний с повторениями из n элементов по k в неубывающем лексикографическом порядке.

Глобальные параметры: F – формируемое сочетание;

n – мощность множества;

k – количество элементов в сочетании.

Fi := x

i=k

Сочетание(i, b)

x{b..n}

+

F

Сочетание (i+1, x)

Конец

Рис.2.15. Рекурсивный алгоритм порождения сочетаний с повторениями

из n элементов по k

Пусть задано множество {1,2,3} и требуется получить все сочетания с повторениями из элементов этого множества по 3.

сочетание

3 {1,1,1)

множество

{1,2,3} 4 сочетание

сочетание {1,1,2)

{1,1,?} 5

2 сочетание

{1,1,3)

множество множество 7 сочетание

{1,2,3} 6 {2,3} {1,2,2)

сочетание сочетание 8

{1,?,?} {1,2,?} сочетание

9 {1,2,3)

1 множество

{3} 10 сочетание

сочетание {1,4,5)

множество {1,3,?}

{1,2,3}

сочетание 11 множество 13 сочетание

{?,?,?} 12 {2,3} {2,2,2)

множество сочетание 14

{2,3} {2,2,?} сочетание

сочетание 15 {2,2,3)

17 {2,?,?} множество

{3} 16 сочетание

сочетание {2,3,3)

{2,3,?}

множество множество

{3} 18 {3} 19 сочетание

сочетание сочетание {3,3,3)

{3,?,?} {3,3,?}

Рис.2.16. Схема получения всех сочетаний с повторениями