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

3. Элементы комбинаторики

3.1. Комбинаторные вычисления

При решении теоретико-множественных задач большое значение имеет определение мощности конечных множеств.

Очевидно, что |AB|=|A|+|B|–|AB|, т.е., когда А и В в «общем положении», т.е. пересекаются.

Кроме того, |A\B|=|A|–|B|, когда А включается в В, |A\B|=|A|–|AB|, когда А и В в «общем положении», т.е. пересекаются.

Нетрудно заметить, что |AB|=|A|+|B|–2|AB|.

В дискретной математике имеется специальный раздел, занимающийся подсчетом и перечислением элементов в конечных множествах – комбинаторика или комбинаторный анализ. Вычисления на дискретных конечных математических структурах часто называют комбинаторными вычислениями.

Пусть в базе данных имеется n записей об объектах недвижимости (например, квартирах) в виде запроса (что требуется) и предложения (что имеется) Требуется найти такие пары записей, в которых предложение первой записи совпадает с запросом второй и, наоборот, предложение второй записи совпадает с запросом первой («подбор вариантов обмена»).

Допустим, на проверку варианта обмена тратится одна миллисекунда. Можно показать, что при сравнении каждой записи с каждой требуется n(n-1)/2 сравнений.

Например, n=8:

(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),

(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),

(3,4),(3,5),(3,6),(3,7),(3,8),

(4,5),(4,6),(4,7),(4,8),

(5,6),(5,7),(5,8),

(6,7),(6,8),(7,8) – всего 28 вариантов: 8´7/2=28=7+6+5+4+3+2+1. Здесь отношение сравнения симметрично и сам с собой вариант не сравнивается.

Если n=100, то при указанном быстродействии, на сравнения уйдет 4,95 секунды. Но, если n=100000 (в задачах реальной размерности), то необходимо 1999950 секунд, т.е. без малого – 1389 часов! Столько ждать клиент вряд ли будет. Это и есть «проклятие размерности». И это только сравнение прямых вариантов, а существуют варианты, в которых число участников сделки больше двух.

Поэтому комбинаторные вычисления требуют предварительного анализа и ориентировочной количественной оценки исходных данных. Иначе, можно подумать, что компьютер просто «завис» и не выдаёт ответа. Здесь речь идет о сложности вычислений в смысле времени решения. В ряде задач комбинаторной сложности необходимо время, сравнимое с геологическими эпохами. Но есть еще и пространственная сложность – в смысле объема памяти. Ведь промежуточные результаты часто надо где-то хранить. В ряде задач требуется объем памяти, превышающий количество атомов во Вселенной.

Основным инструментом такого анализа сложности вычислений и является комбинаторика.

3.2. Основные понятия комбинаторики

Основная задача комбинаторики, как раздела дискретной математики, – пересчет и перечисление элементов в конечных множествах [24].

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

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

При этом под решением задачи оптимизации «в сильном смысле» понимается нахождение всех элементов минимизирующих (максимизирующих) целевую функцию, а под решением задачи оптимизации «в слабом смысле» – нахождение единственного произвольного элемента [24].

Рассмотрим основополагающие правила комбинаторики – правила суммы и произведения.

Пусть Х – конечное множество, состоящее из n элементов х. Тогда говорят, что элемент х из Х может быть выбран n способами и пишут |Х|=n. Эта запись совпадает с записью мощности множества Х.

Пусть Х1,...,Хk – попарно непересекающиеся множества, т.е. ХiХj=, ij.

Очевидно, что в этом случае

.

Таково комбинаторное правило суммы. Для k=2 оно формулируется следующим образом. Если объект х может быть выбран n способами из множества Х, а объект y из непересекающегося с ним множества Y, – другими m способами, то выбор «х или y» может быть осуществлен n+m способами.

Правило произведения для k=2 формулируется следующим образом. Если объект х может быть выбран n способами и после каждого из таких выборов объект y в свою очередь может быть выбран m способами, то выбор упорядоченной пары – вектора (х,y) может быть осуществлен nm способами.

Например, Х:{x1,x2}, Y:{y1,y2}.

Тогда упорядоченные пары (x,y) описываются декартовым произведением

XY={(x1,y1),(x1,y2),(x2,y1),(x2,y2)}.

Выбор упорядоченной последовательности из k объектов вектора (х12,...,хk) может быть осуществлен n1·n2·...·nk способами, где ni – число способов выбора i-го объекта хi, i меняется от 1 до k (записывается: ).

В частности, если все ni равны, что может быть, например, в случае, когда элементы принадлежат одному и тому же множеству, т.е. рассматривается декартово произведение Хk, то число способов равно nk.

Набор элементов хi1,...,xik из множества Х={x1,...,xn} (вектор) называется выборкой (комбинацией) объема k из n элементов или, иначе, (n,k) выборкой.

Выборка называется упорядоченной, если порядок следования элементов в ней задан. Две упорядоченные выборки, различающиеся лишь порядком следования элементов, считаются различными.

Если порядок следования элементов не является существенным, то такая выборка называется неупорядоченной.

В выборках могут допускаться и не допускаться повторения элементов, т.е. имеются выборки с повторением и выборки без повторений.

Соседние файлы в папке Дискретная математика