Дискретный анализ Лекция 4 Комбинаторика. Размещения и сочетания
Перестановки (permutations) были первым классическим объектом комбинаторики. Сейчас мы рассмотрим два остальных – размещения (allocations) и сочетания (combinations). Важность этих двух определений различна. Сочетания используются повсеместно. Размещения же нужны почти исключительно для того, чтобы сочетания было удобно определять, они служат удобным переходом от перестановок к сочетаниям.
Размещения Пусть задано множество из n элементов. Упорядоченный набор m из этих элементов называется размещением из n элементов по m. Обозначим множество размещений из n элементов через A n m, а его мощность через A n m. И опять те же три вопроса: чему равно A n m, как перебрать элементы A n m, как их перенумеровать. Легко видеть, что A n m = n(n-1)...(n-m+1) = n!/(n-m)! имеем n возможностей выбора первого элемента, n-1 возможностей выбора второго и т.д. Получаем m сомножителей, начиная с n и уменьшая каждый раз на 1.
Пример размещений Перечислим размещения из 5 элементов по 3. Их число должно быть равно 543=60. Имеем abc bac cab dab eab abd bad cad dac eac abe bae cae dae ead acb bca cba dba eba acd bcd cbd dbc ebc ace bce cbe dbe ebd adb bda cda dca eca adc bdc cdb dcb ecb ade bde cde dce ecd aeb bea cea dea eda aec bec ceb deb edb aed bed ced dec edc
Пример размещений - 2 Если сгруппировать эти размещения в группы с одинаковым составом, мы получим 10 строк по 6 элементов (это скоро понадобится) abc acb bac bca cab cba abd adb bad bda dab dba abe aeb bae bea eab eba acd adc cad cda dac dca ace aec cae cea eac eca ade aed dae dea ead eda bcd bdc cbd cdb dbc dcb bce bec cbe ceb ebc ecb bde bed dbe deb ebd edb cde ced dce dec ecd edc
Нумерация размещений Чтобы нумеровать перестановки, мы отобразим множество A n m взаимнооднозначно в другое множество T nm, на котором ввести нумерацию будет гораздо проще, а затем для любого элемента a A n m в качестве его номера возьмем номер его образа в T nm. Множество T nm – это прямое произведение нескольких числовых отрезков T n =(0:(n-1))(0:(n-2) … (0:n-m). Т.е. каждый элемент T nm – это набор неотрицательных чисел i 1, i 2, …,, i m, причем i kn-k. Обратите внимание, насколько малы отклонения этого текста от текста для перестановок.
Сочетания Пусть задано множество из n элементов. Неупорядоченный набор m из этих элементов называется сочетанием из n элементов по m. Определение отличается от определения для размещений всего одним словом: неупорядоченный. Обозначим множество сочетаний из n элементов через C n m, а его мощность через C n m. И еще раз три вопроса: чему равно C n m, как перебрать элементы C n m, как их перенумеровать. Легко видеть связь между A n m и C n m C n m = A n m /m!= n!/(m!(n-m)!) Вспомним вторую таблицу в примере: в каждой строке m! элементов-размещений, и каждая строка – одно сочетание.
Перебор сочетаний Для упрощения перебора сочетаний полезно их представить в другом виде. Каждое сочетание – это подмножество мощности m в множестве из n элементов. Если вспомнить о представлении подмножества характеристическим вектором, мы придем к тому, что сочетание задается набором, в котором ровно m единиц и n-m нулей. Значит нужно научиться перебирать такие наборы. В лексикографическом порядке! Самый младший набор – тот, в котором идут сначала все нули, а потом все единицы. Самое выгодное увеличение набора – это сдвиг на одну позицию вправо, самого правого из нулей, которые еще можно сдвигать, и «подтаскивание» к нему, всех находящихся справа нулей. Полезен пример.
Перебор сочетаний - 2 Пусть n=7 и m= Красным выделены нули, сдвигаемые на позицию вправо. Опишите этот алгоритм в терминах позиций, занятых единицами, и в терминах позиций, занятых нулями.
Сочетания и пути Итак, каждое сочетание из n по m – это набор из m единиц и n-m нулей. А, как уже говорилось, каждый такой набор изображается путем на прямоугольной решетки из точки (0,0) в точку (m,n-m). Так что число таких путей равно C n m. Вместе с тем, все пути, приходящие в точку (m,n-m), идут через (m-1,n-m) или через (m,n-m -1). Отсюда следует, что C n m = C n-1 m-1 +C n-1 m Эту формулу можно получить и непосредственным вычислением. Попробуйте. Обычно формулу для C n m доопределяют для отрицательных m, полагая C n m = 0.
Нумерация сочетаний Перенумеровать сочетания – это значит перенумеро- вать пути, о которых говорилось только что. Будем нумеровать сначала пути, идущие через точку (0,1), а затем пути, идущие через точку (1,0). Пути из (0,1) в (m,n-m) нумеруются как пути из (0,0) в (m,n-m-1). Пути из (1,0) в (m,n-m) нумеруются как пути из (0,0) в (m-1,n-m) с добавлением смещения на C n-1 m уже использованных номеров. Пример. #(0,1,1,0,1,1,1)=#(1,1,0,1,1,1)=C 5 4 +#(1,0,1,1,1) =C 5 4 +C 4 3 +#(0,1,1,1)=C 5 4 +C 4 3 +C 3 3 +C 2 2 +C 1 1 = =12.
Теорема о биноме Ньютона При любом n справедлива формула (a+b) n = k0:n C n k a k b n-k. Доказательство. По индукции. При n=1 формула очевидна. Предположим, что она доказана для n-1 и докажем ее для n. Имеем (a+b) n =(a+b)(a+b) n-1 =(a+b)( k0:n-1 C n-1 k a k b n-1-k )= = k0:n-1 C n-1 k a k+1 b n-k + k0:n-1 C n-1 k a k b n-k = = k0:n (C n-1 k-1 +C n-1 k )a k b n-k = k0:n C n k )a k b n-k Эта формула так важна, что часто числа называются биномиальными коэффициентами.
Sir Isaac Newton ( )
Треугольник Паскаля Биномиальные коэффициенты очень красиво распола- гаются треугольником, в котором каждое число (кроме первого) является суммой двух предшествующих. Этот треугольник называется треугольником Паскаля Blaise Pascal ( )
Бином Ньютона и комбинаторные формулы 1. При a=b=1 формула бинома превращается в формулу 2 n = k0:n C n k. 2. При a=1, b=1 формула бинома превращается в формулу 0 =C n 0C n 1 +C n 2C n Некоторые другие замечательные формулы можно получить, используя формулу де Муавра, французского ученого, жившего в Лондоне и близко знавшего Ньютона. Abraham De Moivre ( )
Экзаменационные вопросы 13. Размещения. Их перебор и нумерация. 14. Сочетания. Их перебор и нумерация. 15. Свойства сочетаний. Бином Ньютона. Треугольник Паскаля. 16. Комбинаторные формулы, получающиеся из формулы бинома Ньютона.
Задание 1. Найти число сочетаний из 10 элементов по 3 (входной замок). 2. Нарисовать треугольник Паскаля и убедиться, что числа в нем – биномиальные коэффициенты. 3. Используя формулу бинома, доказать, что знакопеременная сумма биномиальных коэффициентов равна 0.