Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Лаб_ДМ.doc
Скачиваний:
69
Добавлен:
20.02.2016
Размер:
4.88 Mб
Скачать
  1. Лабораторная работа № 4 Элементы комбинаторики

      1. Цель работы: Изучить основные понятия комбинаторики и научиться решать комбинаторные задачи

      2. Теоретические сведения

Объектами комбинаторики являются элементы множества Х={x1;x2;...;xn} мощности n и правила их отображения на другое множество Y={y1;y2;...;yk} мощностиk, определяющие способы выбораk элементов множества Х в соответствии с поставленной задачей.

Специфика комбинаторного анализа состоит в правилах выбора элементов множества Х для формирования yk, правилах одно-или многократного использования элементов множества Х внутри каждой выборки и правилах наведения порядка внутри каждой выборки. Выборки элементов множества Х, т.е. ykY называют комбинаторными объектами, а их число - комбинаторным числом.

Например, для четырехэлементного множества Х={x1;x23;x4} могут быть сформированы такие трехэлементные множества:

1){(x1;x23);(x21;x3);(x23;x1);(x3;x21);...; (x43;x2)};

2){ {x1;x23}; {x13;x4}; {x23;x4}};

3){ (x1;x11);(x1;x12);(x1;x21);(x21;x1);...;(x4;x4;x4)};

В первом случае важным при формировании выборок является порядок элементов внутри выборки. Так формируется кортеж.

Во втором случае важным является не порядок элементов внутри, а только их различие. Так формируются подмножества.

В третьем случае главным является повторяемость использования одного элемента. В этом случае также формируется кортеж, а повторяемость задается, как правило, спецификацией K={k1;k2;...;kn}, где

ki- число повторений в выборке i-го элемента генеральной совокупности;

K=(k1+k2+...+kn)=k.

Итак, выборки бывают упорядоченными(см. случаи 1 и 3), когда важным является место элемента в выборке и неупорядоченными(см. случай 2), когда важным является различие элементов, используемых в выборке.

Правила формирования упорядоченных выборок обеспечиваются операциями размещения и перестановки элементов множества X, а неупорядоченных выборок - операциями их сочетания и разбиения.

Размещение из n элементов по k без повторений,

Пусть дано множество Х={x1;x2;...;xn} - множество шаров, частиц, книг, файлов и т.п. и множество Y={y1;y2;...;yk} - множество ячеек, урн, стеллажей, дискет и т.п. Сколько существует способов размещения каждого элемента множества Х на каждое место множества Y. То есть необходимо выяснить разнообразие по участию всех элементов множества Х и месту их расположения в выборке. Очевидно, что при формировании выборок будут получены кортежи.

Множество комбинаторных объектов для размещения может быть описано так: Аnk={(x1;x2;...);(x2;x1;...);...}.

Комбинаторное число размещения из n элементов по kбез повторения определяется по формуле: (n)k=n(n-1)...(n-k+1).

Пусть Х={x1;x2;x3}. Необходимо разместить элементы этого множества по двум ячейкам Y={y1;y2}. Множество комбинаторных объектов равно:

y2

x2

x3

x1

x3

x1

x2

y1

x1

x1

x2

x2

x3

x3

А32={(x1;x2);(x2;x1);(x1;x3);(x3;x1);(x2;x3);(x3;x2)}.

Комбинаторное число размещения из 3 элементов по 2 без повторений равно: (3)2=32=6.

На рис. 2 графически представлен результат размещения из 3-х элементов по 2 без повторения.

Рис. 2. Размещение без повторения

Х={x1;x2;x3}; Y={y1;y2}.

Размещение из n по k с повторением.

Отличительной особенностью данного способа размещения является произвольное повторение, но не более kраз, каждого элемента множества Х в каждой выборке.

Множество комбинаторных объектов для этой процедуры равно:

Аn повтk={(x1;x1;...);(x2;x2;...);...}.

Комбинаторное число размещения из n элементов по kс повторением, определяется формулой: (n)kповт.=nk.

Пусть Х={x1;x2}. Необходимо разместить элементы этого множества по трем ячейкам Y={y1;y2;y3}.

Множество комбинаторных объектов равно:

А2 повт.3={(x1;x1;x1);(x1;x1;x2);(x1;x2;x1);(x1;x2;x2);(x2;x1;x1);(x2;x1;x2);

(x2;x2;x1);(x2;x2;x2)}.

Комбинаторное число размещения из 2-х элементов по 3 с повторением равно: (2)3повт.=23=8.

На рис. 3 графически представлен результат размещения из 2-х элементов по 3 с повторением.

y3

x1

x2

x1

x1

x1

x2

x2

x2

y2

x1

x1

x2

x1

x2

x2

x1

x2

y1

x1

x1

x1

x2

x2

x1

x2

x2


Рис. 3. Размещение с повторением Х={x1;x2}; Y={y1;y2;y3}.

Размещение из n по k с ограничением спецификацией.

Отличительной способностью данного размещения является ограничение повторений спецификацией K={k1;k2;...;kn} при условииK=(k1+k2+...+kn)=k.

Комбинаторное число такого размещения определяется выражением: (n)k1;k2;...knповт.=(k!)/(k1!k2!...kn!)

y1

x1

x1

x2

y2

x1

x2

x1

y3

x2

x1

x1


Рис. 4. Размещение с повторением по спецификации Х={x1;x2}; Y={y1;y2;y3}, K={21;12}.

Пусть Х={x1;x2}. Необходимо разместить элементы этого множества по трем ячейкам Y={y1;y2;y3} с заданной спецификацией K={21;12}.

Множество комбинаторных объектов есть

Аn спецk={(x1;x1;x2);(x2;x1;x1);(x1;x2;x1)}.

(2)

Комбинаторное число размещения 2-х элементов по трем ячейкам с повторением по заданной спецификации равно:

=3!/(2!1!)=3.

спец

3

На рис. 4 дана графическая интерпретация этой задачи.

Перестановка элементов множества.

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

Если применить все вышеприведенные формулы для условия k=n, то получим:

а) комбинаторное число перестановок без повторения:

(n)n=n! (см. рис. 5).

y1

x1

x1

x2

x2

x3

x3

y2

x2

x3

x1

x3

x1

x2

y3

x3

x2

x3

x1

x2

x1


Рис. 5. Перестановки Х={x1;x2;x3}; Y={y1;y2;y3}.

б) комбинаторное число перестановок с повторением не более n раз

(n)nповт.=nn

в) комбинаторное число перестановок с повторением по спецификации

(n)kспец=(n!)/(k1!k2!...kn!), где |k1+k2+...+kn|=n.

Пусть необходимо застроить улицу 10 домами, среди которых 3 дома типа а1, 5 домов типа а2, 2 дома типа а3. Сколько способов застройки улицы?

Исходя из условия задачи множество типов домов есть Х={а123}, а спецификация К={31;52;23}.

Число вариантов застройки улицы равно: (n)спец.=(10!)/(3!5!2!)=2520 вариантов.

Сочетание из n элементов по k без повторений.

Пусть дано множество Х={x1;x2;...;xn} и множество Y={y1;y2;...;yk}. Сколько существует подмножеств множества Х мощностиk, отличающихся между собой не порядком расположения элементов в выборке, а только различием хотя бы одним элементом? Такое формирование выборок иначе можно назвать “укладывание элементов множества Х в “мешок”, т.е. формируются неупорядоченные выборки мощностиk.

Множество комбинаторных объектов такого отображения есть:

Сnk={(x1;x2;...);(x1;x3;...);(x2;x3;...);...}.

Комбинаторное число сочетаний из n по kбез повторения есть

(

n

k

)

=(n!)/(k!(n-k)!).

Пусть Х={x1;x2;x3}. Необходимо найти комбинаторные объекты и комбинаторное число сочетаний из 3-х элементов по 2 без повторения, т.е. Y={y1;y2}.

Множество комбинаторных объектов есть: С32={(x1;x2);(x1;x3);(x2;x3)}.

(

)

3

2

Комбинаторное число сочетаниq из 3-х элементов по 2 равно:

=(3!)/(2!1!)=3.

Графически эта процедура представлена на рис. 6.

y1

x1

x1

x2

y2

x2

x3

x3


Рис. 6. Сочетания без повторения Х={x1;x2;x3}; Y={y1;y2}.

Сочетание из n элементов по k с повторением.Отличительной особенностью данного способа сочетания является многократное, но не болееkраз, использование при выборке одного и того же элемента множества Х.

Множество комбинаторных объектов для этой процедуры равно:

Сn повтk={(x1;x1;x1;...);(x1;x2;x2;...);(x2;x2;x3;...)}.

(

n

k

)

Комбинаторное число сочетания из n поkс повторением равно:

= (n+k -1)!/( k !(n-1)!).

Пусть Х={x1;x2;x3} и Y={y1;y2}. Необходимо выполнить процедуру сочетания из 3-х элементов по 2 с повторением, т.е.

С3 повт.2={(x1;x1);(x2;x2);(x3;x3);(x1;x2);(x1;x3);(x2;x3)}.

(

)

Комбинаторное число этой процедуры равно:

=(3+2-1)!/(2!(3-1)!)=(1234)/(1212)=6.

32

Графически эта процедура для сочетания из 3-элементов по 2 с повторением представлена на рис. 7.

y2

x1

x2

x3

x2

x3

x3

y1

x1

x1

x1

x2

x2

x3


Рис. 7. Сочетание с повторением Х={x1;x2;x3}; Y={y1;y2}.

Правила комбинаторики.

Рассмотренные выше процедуры обеспечивают формирование различных комбинаторных объектов. Однако при выдвижении нескольких условий и необходимости использования нескольких процедур следует применить дополнительные правила комбинаторного анализа:

1)правило суммы:если комбинаторный объект хiХiможет быть выбран из исходного множества Х “s” способами, а комбинаторный объект хjХjиз того же исходного множества Х другими “t” способами, то выбор “либо хi, либо хj“ может быть осуществлен “(s+t)” способами.

2)правило произведения:если комбинаторный объект хiХiможет быть выбран из исходного множества Х “s” способами и после каждого из таких выборов комбинаторный объект хjХj, в свою очередь, может быть выбран “t” способами, то выбор “хiи хj“ в указанном порядке может быть осуществлен “(st)” способами.

3)принцип включения-исключения:если существует множество Х и множество свойств Y={y1;y2;...;yt}, которыми могут обладать элементы множества Х, то может быть выполнено разбиение множества Х на подмножества по числу свойств, которыми они обладают. В этом случае разбиение множества на подмножества удовлетворяет следующему условию:

|X0|=|X|-|X1|+|X2|-|X3|...+(-1)t|Xt|, где

|X0| - число элементов множества Х, не обладающих ни одним свойством множества Y;

|X| - общее число элементов множества Х;

|X1| - число элементов множества Х, обладающих только одним свойством множества Y;

|X2| - число элементов множества Х, обладающих двумя свойствами множестваY;

|X3| - число элементов множества Х, обладающих тремя свойствами множества Y;

|Xt| - число элементов множества Х, обладающих t-ым количеством свойств множества Y;

t- количество свойств или число элементов множества Y.

Следует обратить внимание, что знак “+” ставят для четного количества свойств множества Y, а знак “-” - для нечетного количества свойств множества Y.

Путь дано множество Х, состоящее из подмножеств А, В, С. Элементы множества Х могут принадлежать одному, двум и трем подмножествам. Согласно принципу включения-исключения можно составить тождество:

=|ABC|-|A|-|B|-|C|+|AB|+|AC|+|BC|-|ABC|.

Данное выражение позволяет найти число элементов для любой операции, если известны их значения для всех других операций.

Например, число элементов множества Х, принадлежащих объединению трех подмножеств А, В и С равно:

|ABC|=|A|+|B|+|C|-|AB|-|AC|-|BC|+|ABC|.

Для примера рассмотрим студенческую группу и отношение студентов к спорту и учебе. Пусть в студенческой группе обучается 50 человек, т.е. |X|=50. В группе 20 юношей (студент обладает одним свойством -”быть юношей”), т.е. |X11|=20. В группе 20 студентов имеют хорошую успеваемость ( студент обладает также одним свойством -”быть хорошо успевающим”), т.е. |X12|=20. В группе 20 студентов увлекаются спортом (студент обладает также одним свойством -”увлекается спортом”), т.е. |X13|=20. 5 юношей имеют хорошую успеваемость (студент обладает двумя свойствами -”быть юношей” и “быть хорошо успевающим”), т.е. |X21|=|X11X12|=5. 10 юношей увлекаются спортом (студент обладает двумя свойствами - “быть юношей” и “увлекается спортом”), т.е. |X22|=|X11X13|=10. 10 хорошо успевающих студента увлекаются спортом ( студент обладает двумя свойствами - “быть хорошо успевающим” и “увлекаются спортом”), т.е. |X23|=|X12X13|=10. 5 юношей имеют хорошую успеваемость и увлекаются спортом (студент обладает тремя свойствами - “ быть юношей”, “быть хорошо успевающим” и “ увлекается спортом”), т.е. |X31|=|X11X12X13|=5. Сколько девушек (дополнение к множеству X11) имеют слабую успеваемость (дополнение к множеству X12) и не увлекаются спортом ( дополнение к множеству X13), т.е.(X11X12X13)=(X11X12X13)?

|(X11X12X13)|=|X|-|X11|-|X12|-|X13|+|X21|+|X22|+|X23|-|X31|

|(X11X12X13)|=50-20-20-20+5+10+10-5=10.

Итак, 10 девушек имеют слабую успеваемость и не увлекаются спортом.