
ДМ_гл2_DO
.docГлава 2 Элементы комбинаторики
Комбинаторика – раздел математики, посвященный решению задач выбора и расположения элементов некоторого обычного множества в соответствии с заданными правилами. Каждое такое правило определяет способ построения некоторой конструкции из элементов исходного множества, называемой комбинаторной конфигурацией. Простейшими примерами комбинаторных конструкций являются перестановки, размещения, сочетания и разбиения, рассматриваемые ниже. Вычисления на дискретных математических структурах – комбинаторные вычисления – требуют комбинаторного анализа для установления свойств и оценки применимости алгоритмов.
-
Агенство недвижимости, база данных. Запись – пара (предложение, спрос). Найти варианты обмена (т.е. такие пары, где первая компонента одной совпадает со второй компонентой другой). Простейший вариант поиска – «лобовой», трудоемкость n(n–1)/2. Если на одну проверку нужна 1 миллисекунда, то при n = 100 потребуется около 5 секунд, при n=100 000 – 5106 сек, т.е. около 1389 часов. Непригодный алгоритм!!!
-
Комбинаторные задачи и основные принципы
-
Комбинаторные задачи
Во многих практических задачах возникает необходимость подсчитать количество возможных комбинаций объектов, удовлетворяющих определенным условиям. Такие задачи называются комбинаторными.
-
1. Некто одновременно бросает несколько игральных костей и подсчитывает сумму очков на верхних гранях. Спрашивается – сколько существует различных вариантов результата? 2. В районном городе проживает некоторое количество людей. Открывается телефонная станция. Спрашивается – сколько должно быть цифр в телефонном номере, чтобы всем абонентам хватило различных номеров, да еще и остались запасные с перспективой дальнейшего роста населения?
Такие и подобные им задачи относятся к классу комбинаторных задач.
Среди всего многообразия таких задач есть ряд наиболее часто встречающихся, для которых известны способы подсчета.
Для формулировки и решения комбинаторных задач используются различные модели комбинаторных конфигураций. Рассмотрим две наиболее популярные.
-
Дано n предметов. Их нужно разместить по m ящикам так, чтобы выполнялись заданные ограничения. Сколькими способами это можно сделать?
-
Дано множество функций F : X Y, где |X| = n, |Y| = m, X = {1,2,…,n} (предметы – элементы множества X – перенумерованы, т.е. можно считать номер отличительным признаком предмета). Без ограничения общности можно считать, что элементы множества Y также перенумерованы: Y = {1,2,…,m}, F = [F(1),…,F(n)], 1 F(i) m. Сколько существует функций, удовлетворяющих заданным ограничениям?
Наиболее часто соответствие конфигураций 1-го и второго типа очевидно, поэтому анализ проблем и вывод формул можно проводить на любом языке.
-
Основные комбинаторные принципы
Утверждение 2.1 Если множества A и B не пересекаются и содержат по m и n элементов соответственно, то множество AB содержит m + n элементов: для множеств A и B | AB=: |A B| = |A| + |B|.
-
(о произведении множеств):
Для любых множеств A и B |AB|=|A||B|.
Доказательство: Множество C = AB состоит из упорядоченных пар вида (a,b), aA, bB. Пуст8ь |A| = m, |B| = n. Первый компонент упорядоченной пары можно выбрать m способами. Если его зафиксировать, то второй элемент можно выбрать n способами. Следовательно, всего имеется mn различных упорядоченных пар.
Правило суммы (комбинаторный принцип сложения) Если объект A можно выбрать m способами, а объект B, отличный от , n способами, причем и нельзя выбрать одновременно, то осуществить выбор «либо , либо » можно m+n способами.
-
Пусть в киоске имеется 5 различных книг по математике и 7 – по физике. Если студент может купить только одну книгу, то у него есть 5 вариантов выбора первой книги и 7 вариантов – второй, т.е. 12 вариантов.
Правило произведения (комбинаторный принцип умножения) Если объект A можно выбрать m способами, а после каждого такого выбора можно выбрать n способами объект B, отличный от , то выбор обоих объектов и в указанном порядке можно осуществить mn способами.
-
Пусть в салоне связи имеется 50 различных моделей сотовых телефонов и по три вида чехлов для каждой модели. Сколькими способами можно выбрать телефон и чехол к нему? Очевидно: Выбрав телефон (50 способов), можно 3 способами выбрать чехол, т.е. всего 503=150 вариантов.
Сравнивая утверждение 2.1 и теорему 2.1 с правилами суммы и произведения, заметим, что в них речь идет об одних и тех же закономерностях, хотя и используются различные формулировки. Очевидным образом эти правила распространяются на случай большего количества множеств.
-
Контрольные вопросы
-
Какие задачи относят к классу комбинаторных?
-
В чем состоит комбинаторный принцип сложения?
-
Как формулируется принцип умножения? Приведите пример.
-
Комбинаторные конфигурации
-
Перестановки и подстановки
Пусть дано множество M = {a1,a2,…,an}. Перестановкой элементов множества M называется любой упорядоченный набор из n различных элементов множества M.
Перестановки различаются только порядком входящих в них элементов.
Перестановка элементов множества M может быть задана посредством функции подстановки. Будем определять подстановку как биекцию : M M и задавать ее с помощью матрицы, состоящей из двух строк.
Пусть множество
M = {1,2,…,n},
а (k) =sk,
1 sk n,
k=1,…,n,
{s1,s2,…,sn} = {1,2,…,n}.
Тогда матрица подстановки
будет иметь вид: [] .
Очевидно, что перестановка столбцов в
этой матрице не меняет задаваемой ею
подстановки.
Если
заданы две подстановки
и своими матрицами
[] и [],
то их произведение
определяется следующим образом. В
матрице [] столбцы
переставляются так, чтобы ее первая
строка совпала со второй строкой матрицы
[]:
.
В итоге получится:
[][] = =
.
-
Если заданы подстановки [] =
, [] =
, то [] =
=
=
.
Тождественная подстановка – это такая подстановка e, что e(x)=x x.
-
[e] =
.
Обратная подстановка – это обратная функция, которая всегда существует (подстановка является биекцией). Для получения таблицы обратной подстановки нужно поменять местами строки таблицы исходной подстановки.
-
Для подстановки [] =
[–1] =
.
Подстановка называется циклом длины r, если матрицу [] перестановкой столбцов можно привести к виду:
,
т.е. первые r элементов
сменяют друг друга, а остальные неподвижны:
(si) = si+1,
для 1 i r –1
и (sr) = s1.
-
Подстановка с матрицей [] =
=
является циклом (2 5 3 6), а подстановка с матрицей [] =
циклом не является, т.к. из нее можно выделить два цикла (1 4) и (2 5 6 3).
Утверждение 2.2 Каждую подстановку можно однозначно (с точностью до порядка сомножителей) представить в виде произведения независимых циклов.
В примере
2.7 [] = (2 5 3 6),
[] = = (1 4)(2 5 6 3).
Двухэлементный цикл (i j) называется транспозицией. При транспозиции меняются местами только i-й и j-й элементы, а остальные сохраняют свое положение.
Подстановку
удобно изображать графически,
соединяя стрелками элементы x
и (x):
.
Используя только транспозиции, можно выполнить сортировку множества в определенном порядке (например, в лексикографическом). Известный алгоритм сортировки, основанный на этом принципе, на каждом шаге осуществляет перестановку только двух соседних элементов и носит название «пузырьковой сортировки».
Число перестановок объема n принято обозначать как Pn.
Утверждение 2.3 Число всех перестановок множества M (|M| = n) равно n!
Действительно, на первое место в n-ке можно поставить любой из n элементов множества, на второе место – любой из (n–1) оставшихся, и т.д. Для последнего места остается единственный элемент. Поэтому получаем: Pn = n(n–1)(n–2)…21 = n!
-
Сколькими способами можно расставить на полке 6 томов книг? Это можно осуществить P6 = 6! = 720 способами.
-
Понятие выборки
Пусть дано множество M = {a1, a2, a3, ..., an}, m n. Набор, состоящий из m элементов множества М, называется выборкой объема m из n элементов.
Выборки классифицируются следующим образом:
-
По критерию повторяемости элементов: С возвращением объема (с повторениями) и без возвращения объема (без повторений).
-
По критерию упорядоченности:
Упорядоченные (размещения) и неупорядоченные (сочетания).
-
В ящике n≤10 нумерованных шаров, один достают, записывают номер и бросают обратно. Так делают три раза. Сколько разных трехзначных чисел может получиться? Для подсчета нужны размещения с повторениями.
-
Размещения и сочетания без повторений
Размещениями из n элементов по m называются упорядоченные выборки без повторений элементов множества, которые отличаются одна от другой либо составом элементов, либо порядком их расположения. Размещение можно рассматривать как разнозначную функцию f:{1,2,…,m}M, для которой f(j)=aij.
Тогда числу размещений
из n элементов по m соответствует
число инъективных функций или число
всех возможных способов разместить n
предметов по m позициям
(«ящикам»), не более чем по одному в
«ящик». Это число будем обозначать
=A(n,m)
(иногда обозначают P(n,m)).
-
Пусть дано множество M={1,2,3,4,5}. Тогда размещениями из 5 элементов по 2 будут, в частности, выборки (1,2), (2,1), (2,4), (4,2) и т.п.
-
= n(n–1)(n–2)…(n–m+1).
Доказательство: Размещение m
элементов из n имеющихся
будем рассматривать как заполнение
некоторых m позиций
элементами множества M.
Для первой позиции существует n
различных способов. После того, как
первая позиция заполнена, элемент для
второй позиции можно выбрать (n–1)
способами (комбинаторный принцип
умножения). Если процесс продолжить, то
после заполнения позиций с 1-й по (m–1)-ю
останется (n–m+1)
способ для последней, m-й
позиции. Перемножив эти числа, получим
формулу для
.
Сочетаниями без повторений из n элементов по m называются неупорядоченные выборки без повторений элементов множества, которые отличаются одна от другой только составом элементов. Иными словами, это любые подмножества исходного множества, состоящие из m элементов.
-
Пусть дано множество M={1,2,3,4,5}. Тогда сочетаниями из 5 элементов по 2 будут выборки (1,2), (2,4), (5,2) и т.п. (Здесь (2,4)~(4,2)…)
Число сочетаний без повторений будем
обозначать
или C(n,m).
.
Формула
для числа размещений из n
элементов по m была
получена ранее. Если объединить
размещения, отличающиеся только порядком
элементов и совпадающие по составу, в
классы эквивалентности, то получим, что
мощность каждого из таких классов m!
Тогда число сочетаний будет определяться
как C(n,m)=
.
-
На тренировках занимаются 8 баскетболистов. Сколько разных пятерок может быть образовано тренером? Т.к. при образовании пятерки важен только ее состав, то достаточно определить
пятерок.
-
Размещения и сочетания с повторениями
Размещениями с повторениями (или упорядоченными выборками с возвращениями) из n элементов по k называются упорядоченные наборы из k элементов множества M, в которых элементы множества могут повторяться.
-
Пусть дано множество M={1,2,3,4,5}. Тогда размещениями с повторениями из 5 элементов по 2 будут (1,1), (1,2), (2,1), (2,2), …,(5,1) и т.п. – любые упорядоченные пары из 2 элементов множества М.
Количество всех размещений с повторениями
обозначим
=Â(n,k).
Поскольку в таком наборе из k
элементов на каждом из k
мест может стоять любой из n
элементов исходного множества, число
размещений с повторениями равно
nn…n = nk.
. (2.1)
-
а) Сколько различных трехзначных чисел можно составить из цифр 1, 2, 3, 4, 5? б) А при условии, что ни одна цифра не повторяется? Составить разные числа можно:
способами (размещения с повторениями). Если ни одна цифра не должна повторяться, то таких способов будет
(размещения без повторений).
В отличие от выборок без повторений, количество выбираемых объектов может быть больше, чем количество типов, т.е. может быть k n. Если вернуться к примеру 2.12 (а), то можно рассматривать и 10-разрядные числа.
-
(о мощности множества P(M) )
Для конечного множества M |2M| = 2|M|.
Доказательство:
Пусть конечное множество M состоит из n элементов, M = {x1, …, xn}. Сопоставим каждому его подмножеству двоичный вектор длины n. Если xi входит в подмножество, то на i-м месте в этом векторе будет стоять 1, иначе – 0. Поскольку каждая компонента вектора может принимать только значения 0 или 1, а всего таких компонент n, то число различных векторов составит 2n.
Следствие:
Можно сгенерировать все подмножества конечного множества M, перечислив некоторым способом все наборы из нулей и единиц длины n.
Можно выполнять такую генерацию различными способами (например, все наборы с одной «1», все с двумя «1», …). Это можно сделать наиболее эффективно, используя т.н. бинарный код Грея. Алгоритм построения бинарного кода Грея позволяет генерировать последовательность всех подмножеств n-элементного множества таким образом, что каждое последующее подмножество получается из предыдущего добавлением или удалением единственного элемента. Подробно этот алгоритм рассматривается при выполнении лабораторной работы.
Определим отношение эквивалентности на множестве размещений с повторениями из n элементов по k: (a1,a2,…,ak) ~ (b1,b2,…,bk) cM число элементов ai = c совпадает с числом элементов bj = c.
Тогда сочетанием с повторениями из n элементов по k или неупорядоченной выборкой с возвращениями из n элементов по k является множество, которое состоит из элементов, выбранных k раз из множества M, причем один и тот же элемент допускается выбирать повторно.
-
В примере с множеством M={1,2,3,4,5} сочетания с повторениями из 5 элементов по 2 будут отличаться от размещений тем, что одинаковые по составу наборы будут независимо от порядка элементов в них считаться эквивалентными: (1,1), (1,2)~(2,1), (2,2), (5,2) и т.п.
При рассмотрении выборок с повторениями число n более наглядно трактуется как количество имеющихся в наличии типов объектов, а k – количество непосредственно выбираемых объектов. Раз объекты выбираются с повторениями, неважно, каково их реальное количество для каждого из типов. Можно считать их неисчерпаемыми.
Число
всех сочетаний с повторениями обозначается
=Ĉ(n,k)
и вычисляется по формуле: Ĉ(n,k)=
(2.2)
-
Пусть в кондитерской продается 10 различных видов пирожных. (n=10 – число типов). Сколькими способами можно купить 12 пирожных? (k=12). Ĉ(10,12)=C(10+12–1,12)=C(21,12)=21!/(12! (10–1)!)= 21!/(12! 9!).
-
Контрольные вопросы
-
Что такое подстановка? Всегда ли существует обратная подстановка?
-
Какая перестановка элементов множества {1,2,3,4} задана функцией подстановки
? Является ли эта подстановка циклом?
-
Что такое транспозиция? В каком алгоритме она используется?
-
Как называется упорядоченная выборка без возвращения объема и по какой формуле вычисляется число различных таких выборок?
-
Сколько различных двузначных чисел можно получить, используя множество {1,2,3,4,5}? Как изменится результат, если цифры в числе не повторяются? Какая выборка (и формула) используется в каждом случае?
-
Сколько двузначных чисел с различной суммой цифр можно получить, используя множество {1,2,3,4,5}? Цифры в числе должны быть разными. В чем отличие от предыдущей задачи? Сочетания или размещения нужно использовать?
-
В чем отличие сочетаний с повторениями от остальных конфигураций?
-
Пусть в киоске есть три вида открыток. Сколькими способами можно купить 6 открыток? А три открытки? Какая конфигурация используется?
-
Биномиальные коэффициенты
Число
сочетаний C(n,k)=
– число различных k-элементных
подмножеств n-элементного
множества – встречается в формулах
решения многих комбинаторных задач.
Например, для определения числа
подмножеств n-элементного
множества, удовлетворяющих некоторому
условию, задача разбивается на составные
части: рассматриваются отдельно
1-элементные подмножества, 2-элементные
и т.д., затем результаты складываются.
Числа
=
называются биномиальными коэффициентами.
-
Свойства биномиальных коэффициентов
-
Число
обладает следующими свойствами:
-
; 2.
; 3.
Доказательство.
1.
=
=
2.
=
=
=
=
= =
=
=
.
3.
=
=
=
=
=
.
-
(Бином Ньютона) При любых x, y R (x+y)n =
.
Доказательство: По индукции.
База:
n =1:
(x+y)1 = x+y = 1x1y0+1x0y1=
x1y0+
x0y1=
.
Индукционный
переход:
(x+y)n=(x+y)n–1(x+y)
= x+
y
=
x1yn–1+
x2yn–2+
…+
xn–1y1+
xny0+
x0yn
+
x1yn–1+
x2yn–2
+
…+
xn–1y1=
(
+
)·x1yn–1+
(
+
)·x2yn–2+…+(
+
)·xn–1y1+
(
xny0+
)·x0yn
= |
=
;
=
|
=
x1yn–1+
x2yn–2
+…+
xn–1y1+
xny0+
x0yn
=
.
Следствие
1. 2n =
.
Действительно, 2n = (1+1)n =
.
Следствие
2.
.
Действительно,
0= (–1+1)n =
.
1.
; 2.
(Тождество Коши).
Доказательство:
1. 0·
+1·
+2·
+…+(n–1)·
+n·
=(0+n)·
+(1+n–1)·
+
(2+n–2)·
+…=
n/2·
.
2.
– это число способов выбрать k
предметов из m+n
предметов. Их можно выбирать в два
приема: сначала выбрать i
предметов из первых n
предметов,
а затем недостающие k–i
предметов – из оставшихся m
предметов.
Отсюда общее число способов выбрать k
предметов составляет
.