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

Глава 2. Элементы комбинаторики

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

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

Специфика комбинаторного анализа состоит в правилах выбора элементов множества Х для формирования комбинаторных объектов:

если k элементов выборки упорядочены по какому-либо правилу, то формируется кортеж длины k и их множество,

если k элементов выборки неупорядочены, то формируется подмножество мощности k и их множество.

При этом каждую выборку называют комбинаторным объектом, а их количество - комбинаторным числом.

Пусть на множестве Х={a, b, c, d} необходимо сформировать трехэлементные комбинаторные объекты. Множество таких объектов может быть:

1) А1={(a, b, c); (b, a, c); (b, c, a); (c, b, a);...(d, c, b)};

2) А2={{a, b, c}; {a, c, d}; {b, c, d}};

3) А3={(a, a, с); (a, a, b); (a, b, a); (b, a, a);...; (с, а, а)};

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

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

Для комбинаторных объектов A3 важным является повторяемость одного или нескольких элементов. Так формируется множество кортежей, повторяемость компонент которых задана спецификацией K={k1, k2, ..., kn}, где ki - число повторений в выборке i-го элемента.

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

2.1. Размещение из n элементов по k

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

Такая операция формирует множество кортежей длины k: Аnk={(xi,..xj,..xk)}, где 1i, j, kn.

Число таких кортежей определяется формулой:

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

Пример: .дано Х={a; b; c; d}. Разместить элементы этого множества по трем ячейкам Y={y1;y2; y3}. Сколько и какие возможны комбинаторные объекты?

Число размещений из 4 элементов по 3 без повторений есть (4)3=4!/1!=24, а множество комбинаторных объектов:

А43={(a, b, c); (a, c, b); (a, b, d); (a, d, b); (a, c, d); (a, d, c); (b, a, c); (b, c, a); (b, a, d); (b, d, a); (b, c, d); (b, d, c); (c, a, b); (c, b, a); (c, b, d); (c, d, b); (c, a, d); (c, d, a); (d, a, b); (d, b, a); (d, b, c); (d, c, b); (d, a, c); (d, c, a)}.

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

Число размещений n элементов множества X по k позициям множества Y с повторением при nk определяется формулой

(n)kповт.=nk.

Пример: дано Х={a, b}. Разместить элементы этого множества по четырем ячейкам Y={y1, y2, y3, y4}. Сколько и какие возможны комбинаторные объекты?

Число размещения двух элементов по четырем ячейкам с повторением равно (2)4повт.=24=16, а множество комбинаторных объектов А2 4 повт ={(a, a, a, a); (a, a, a, b); (a, a, b, a); (a, a, b, b);

(a, b, a, a); (a, b, a, b); (a, b, b, a); (a, b, b, b); (b, a, a, a); (b, a, a, b); (b, a, b, a); (b, a, b, b); (b, b, a, a); (b, b, a, b); (b, b, b, a); (b, b, b, b)}.

Если a=0, b=1, то эта процедура формирует множество четырехразрядных двоичных кодов: А24= {0000; 0001; 0010; 0011; 0100; 0101; 0110; 0111; 1000; 1001; 1010; 1011; 1100; 1101; 1110; 1111}.

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

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

Число размещений определяется формулой:

.

Пример.: дано X={0; 1}. Необходимо сформировать кодовые комбинации по 8 символов (k=8), среди которых пять нулей (k1=5) и три единицы (k2=3). Сколько и какие возможны комбинаторные объекты?

Число размещений с ограничением спецификацией равно (2).(5, 3).=8!/5!3! =56. Следовательно, можно сформировать 56 кодовых комбинаций, в которых будет три единицы и пять нулей.

Например, в кодировке КОИ-8 прописные буквы латиницы имеют следующие коды: 01000011-С, 01000101-Е, 01000110-F, 01001001-I, 01001010-J, 01001100-L, 01010001-Q, 01010010-P, 01010100-T, 01011000-X и т. д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]