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

реклама
Глава 2
Элементы комбинаторики
Комбинаторика – раздел математики, посвященный решению задач
выбора и расположения элементов некоторого обычного множества в
соответствии с заданными правилами. Каждое такое правило определяет способ
построения некоторой конструкции из элементов исходного множества,
называемой комбинаторной конфигурацией. Простейшими примерами
комбинаторных конструкций являются перестановки, размещения, сочетания и
разбиения, рассматриваемые ниже. Вычисления на дискретных математических
структурах – комбинаторные вычисления – требуют комбинаторного анализа
для установления свойств и оценки применимости алгоритмов.
Пример 2.1 Агенство недвижимости, база данных. Запись – пара
(предложение, спрос). Найти варианты обмена (т.е. такие пары, где первая
компонента одной совпадает со второй компонентой другой). Простейший
вариант поиска – «лобовой», трудоемкость n(n–1)/2. Если на одну проверку
нужна 1 миллисекунда, то при n = 100 потребуется около 5 секунд, при
n=100 000 – 5106 сек, т.е. около 1389 часов. Непригодный алгоритм!!!
2.1 Комбинаторные задачи и основные принципы

Комбинаторные задачи
Во многих практических задачах возникает необходимость подсчитать
количество
возможных
комбинаций
объектов,
удовлетворяющих
определенным условиям. Такие задачи называются комбинаторными.
Пример 2.2 1. Некто одновременно бросает несколько игральных костей и
подсчитывает сумму очков на верхних гранях. Спрашивается – сколько
существует различных вариантов результата?
2. В районном городе проживает некоторое количество людей. Открывается
телефонная станция. Спрашивается – сколько должно быть цифр в
телефонном номере, чтобы всем абонентам хватило различных номеров, да
еще и остались запасные с перспективой дальнейшего роста населения?
Такие и подобные им задачи относятся к классу комбинаторных задач.
Среди всего многообразия таких задач есть ряд наиболее часто
встречающихся, для которых известны способы подсчета.
Для формулировки и решения комбинаторных задач используются
различные модели комбинаторных конфигураций. Рассмотрим две наиболее
популярные.
1. Дано n предметов. Их нужно разместить по m ящикам так, чтобы
выполнялись заданные ограничения. Сколькими способами это можно сделать?
2. Дано множество функций F : X  Y, где |X| = n, |Y| = m, X = {1,2,…,n}
(предметы – элементы множества X – перенумерованы, т.е. можно считать
номер отличительным признаком предмета). Без ограничения общности можно
считать, что элементы множества Y также перенумерованы: Y = {1,2,…,m},
23
F = [F(1),…,F(n)], 1  F(i)  m. Сколько существует функций, удовлетворяющих
заданным ограничениям?
Наиболее часто соответствие конфигураций 1-го и второго типа очевидно,
поэтому анализ проблем и вывод формул можно проводить на любом языке.

Основные комбинаторные принципы
Утверждение 2.1 Если множества A и B не пересекаются и содержат по m и n
элементов соответственно, то множество AB содержит m + n элементов: для
множеств A и B | AB=: |A  B| = |A| + |B|.
Теорема 2.1
(о произведении множеств):
Для любых множеств A и B |AB|=|A||B|.
Доказательство: Множество C = AB состоит из упорядоченных пар вида
(a,b), aA, bB. Пуст8ь |A| = m, |B| = n. Первый компонент упорядоченной пары
можно выбрать m способами. Если его зафиксировать, то второй элемент
можно выбрать n способами. Следовательно, всего имеется mn различных
упорядоченных пар.
Правило суммы
(комбинаторный принцип сложения) Если объект
A можно выбрать m способами, а объект B, отличный от , n способами,
причем  и  нельзя выбрать одновременно, то осуществить выбор «либо ,
либо » можно m+n способами.
Пример 2.3 Пусть в киоске имеется 5 различных книг по математике и 7 – по
физике. Если студент может купить только одну книгу, то у него есть 5
вариантов выбора первой книги и 7 вариантов – второй, т.е. 12 вариантов.
Правило произведения
(комбинаторный принцип умножения) Если
объект A можно выбрать m способами, а после каждого такого выбора
можно выбрать n способами объект B, отличный от , то выбор обоих
объектов  и  в указанном порядке можно осуществить mn способами.
Пример 2.4 Пусть в салоне связи имеется 50 различных моделей сотовых
телефонов и по три вида чехлов для каждой модели. Сколькими способами
можно выбрать телефон и чехол к нему?
Очевидно: Выбрав телефон (50
способов), можно 3 способами выбрать чехол, т.е. всего 503=150 вариантов.
Сравнивая утверждение 2.1 и теорему 2.1 с правилами суммы и
произведения, заметим, что в них речь идет об одних и тех же закономерностях,
хотя и используются различные формулировки. Очевидным образом эти
правила распространяются на случай большего количества множеств.

1.
2.
3.
Контрольные вопросы
Какие задачи относят к классу комбинаторных?
В чем состоит комбинаторный принцип сложения?
Как формулируется принцип умножения? Приведите пример.
24
2.2 Комбинаторные конфигурации

Перестановки и подстановки
Пусть дано множество 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}. Тогда матрица подстановки  будет иметь вид:
[]   1
s
 1
2
s2
... n 
.
... s n 
Очевидно, что перестановка столбцов в этой матрице не
меняет задаваемой ею подстановки.
Если заданы две подстановки  и  своими матрицами [] и [], то их
произведение  определяется следующим образом. В матрице [] столбцы
переставляются так, чтобы ее первая строка совпала со второй строкой
s s
матрицы []:  1 2
... s n 
 . В итоге получится:
 t1 t 2 ... t n 
1 2 ... n   s1 s 2 ... s n   1 2 ... n 
[][] = 
 
 = 
 .
s
s
...
s
t
t
...
t
t
t
...
t
2
n   1
2
n 
n 
 1
1 2
Пример 2.5 Если заданы подстановки [] = 1 2 3 4  , [] = 1 2 3 4  , то
[] = 1 2 3 4  1 2 3 4  = 1 2 3 4   2 1 4 3
 2 1 4 3   3 1 4 2   2 1 4 3  1 3 2 4 
 2 1 4 3
= 1 2 3 4  .
1 3 2 4 
 3 1 4 2
Тождественная подстановка – это такая подстановка e, что e(x)=x x.
Пример 2.6 [e] = 1 2 3 4  .
1 2 3 4 
Обратная подстановка – это обратная функция, которая всегда
существует (подстановка является биекцией). Для получения таблицы обратной
подстановки нужно поменять местами строки таблицы исходной подстановки.
Пример 2.7 Для подстановки [] = 1 2 3 4  [–1] =  2 1 4 3  1 2 3 4  .
 2 1 4 3
1 2 3 4   2 1 4 3
Подстановка  называется циклом длины
перестановкой столбцов можно привести к виду:
r,
если
матрицу
[]
 s1 s 2 s 3 ... s r 1 s r s r 1 ... s n 

 , т.е. первые r элементов сменяют друг
 s 2 s 3 s 4 ... s r s1 s r 1 ... s n 
друга, а остальные неподвижны: (si) = si+1, для 1  i  r –1 и (sr) = s1.
25
Пример 2.8 Подстановка  с матрицей [] =
1 2 3 4 5 6  =  2 5 3 6 1 4 

 

1 5 6 4 3 2   5 3 6 2 1 4 
является циклом (2 5 3 6), а подстановка с матрицей [] =
1 2 3 4 5 6 
 4 5 2 1 6 3


циклом не является, т.к. из нее можно выделить два цикла (1 4) и (2 5 6 3).
Утверждение 2.2 Каждую подстановку можно однозначно (с точностью до
порядка сомножителей) представить в виде произведения независимых циклов.
В примере 2.7 [] = (2 5 3 6), [] = 1 2 3 4 5 6  = (1 4)(2 5 6 3).
 4 5 2 1 6 3


Двухэлементный цикл (i j) называется транспозицией. При транспозиции
меняются местами только i-й и j-й элементы, а остальные сохраняют свое
положение.
Подстановку удобно изображать графически,
1
21
5
соединяя стрелками элементы x и (x): 1 2 3 4 5 6  .
1 5 6 4 3 2 
4
6
3
Используя только транспозиции, можно выполнить сортировку множества
в определенном порядке (например, в лексикографическом). Известный
алгоритм сортировки, основанный на этом принципе, на каждом шаге
осуществляет перестановку только двух соседних элементов и носит название
«пузырьковой сортировки».
Число перестановок объема n принято обозначать как Pn.
Утверждение 2.3 Число всех перестановок множества M (|M| = n) равно n!
Действительно, на первое место в n-ке можно поставить любой из n
элементов множества, на второе место – любой из (n–1) оставшихся, и т.д. Для
последнего места остается единственный элемент. Поэтому получаем:
Pn = n(n–1)(n–2)…21 = n!
Пример 2.9 Сколькими способами можно расставить на полке 6 томов книг?
Это можно осуществить P6 = 6! = 720 способами.

Понятие выборки
Пусть дано множество M = {a1, a2, a3, ..., an}, m  n. Набор, состоящий из m
элементов множества М, называется выборкой объема m из n элементов.
Выборки классифицируются следующим образом:
1) По критерию повторяемости элементов: С возвращением объема (с
повторениями) и без возвращения объема (без повторений).
2) По критерию упорядоченности:
Упорядоченные (размещения) и неупорядоченные (сочетания).
Пример 2.10 В ящике n≤10 нумерованных шаров, один достают, записывают
номер и бросают обратно. Так делают три раза. Сколько разных трехзначных
чисел может получиться? Для подсчета нужны размещения с повторениями.
26

Размещения и сочетания без повторений
Размещениями из n элементов по m называются упорядоченные выборки
без повторений элементов множества, которые отличаются одна от другой либо
составом элементов, либо порядком их расположения. Размещение можно
рассматривать как разнозначную функцию f:{1,2,…,m}M, для которой f(j)=aij.
Тогда числу размещений из n элементов по m соответствует число
инъективных функций или число всех возможных способов разместить n
предметов по m позициям («ящикам»), не более чем по одному в «ящик». Это
число будем обозначать Anm =A(n,m) (иногда обозначают P(n,m)).
Пример 2.11 Пусть дано множество M={1,2,3,4,5}. Тогда размещениями из 5
элементов по 2 будут, в частности, выборки (1,2), (2,1), (2,4), (4,2) и т.п.
n!
= n(n–1)(n–2)…(n–m+1).
(n  m)!
Доказательство: Размещение m элементов из n имеющихся будем
рассматривать как заполнение некоторых m позиций элементами множества M.
Для первой позиции существует n различных способов. После того, как первая
позиция заполнена, элемент для второй позиции можно выбрать (n–1)
способами (комбинаторный принцип умножения). Если процесс продолжить, то
после заполнения позиций с 1-й по (m–1)-ю останется (n–m+1) способ для
последней, m-й позиции. Перемножив эти числа, получим формулу для Anm .
Теорема 2.2
Anm 
Сочетаниями без повторений из n элементов по m называются
неупорядоченные выборки без повторений элементов множества, которые
отличаются одна от другой только составом элементов. Иными словами, это
любые подмножества исходного множества, состоящие из m элементов.
Пример 2.12 Пусть дано множество M={1,2,3,4,5}. Тогда сочетаниями из 5
элементов по 2 будут выборки (1,2), (2,4), (5,2) и т.п. (Здесь (2,4)~(4,2)…)
Число сочетаний без повторений будем обозначать C nm или C(n,m).
n!
.
Cnm 
m!(n  m)!
Формула для числа размещений из n элементов по m была получена ранее.
Если объединить размещения, отличающиеся только порядком элементов и
совпадающие по составу, в классы эквивалентности, то получим, что мощность
каждого из таких классов m! Тогда число сочетаний будет определяться как
n!
n!
C(n,m)= Anm / m!
.
m! 
(n  m)!
(n  m)!m!
Пример 2.13 На тренировках занимаются 8 баскетболистов. Сколько разных
пятерок может быть образовано тренером? Т.к. при образовании пятерки
важен
только
ее
состав,
то
достаточно
определить
8!
8! 6  7  8
C85 


 56 пятерок.
5!(8  5)! 5!3! 1  2  3
27

Размещения и сочетания с повторениями
Размещениями с повторениями (или упорядоченными выборками с
возвращениями) из n элементов по k называются упорядоченные наборы из k
элементов множества M, в которых элементы множества могут повторяться.
Пример 2.14 Пусть дано множество M={1,2,3,4,5}. Тогда размещениями с
повторениями из 5 элементов по 2 будут (1,1), (1,2), (2,1), (2,2), …,(5,1) и т.п.
– любые упорядоченные пары из 2 элементов множества М.
Количество всех размещений с повторениями обозначим Ank =Â(n,k).
Поскольку в таком наборе из k элементов на каждом из k мест может стоять
любой из n элементов исходного множества, число размещений с повторениями
равно nn…n = nk.  Ank  n k .
(2.1)
Пример 2.15 а) Сколько различных трехзначных чисел можно составить из
цифр 1, 2, 3, 4, 5? б) А при условии, что ни одна цифра не повторяется?
Составить разные числа можно: A53  53  125 способами (размещения с
повторениями). Если ни одна цифра не должна повторяться, то таких
5!
5!
способов будет A53 
  5  4  3  60 (размещения без повторений).
(5  3)! 2!
В отличие от выборок без повторений, количество выбираемых объектов
может быть больше, чем количество типов, т.е. может быть k  n. Если
вернуться к примеру 2.12 (а), то можно рассматривать и 10-разрядные числа.
Теорема 2.3
(о мощности множества 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-элементного множества таким образом, что каждое
последующее подмножество получается из предыдущего добавлением или
удалением единственного элемента. Подробно этот алгоритм рассматривается
при выполнении лабораторной работы.
28
Определим отношение эквивалентности на множестве размещений с
повторениями из n элементов по k: (a1,a2,…,ak) ~ (b1,b2,…,bk)  cM число
элементов ai = c совпадает с числом элементов bj = c.
Тогда сочетанием с повторениями из n элементов по k или
неупорядоченной выборкой с возвращениями из n элементов по k является
множество, которое состоит из элементов, выбранных k раз из множества M,
причем один и тот же элемент допускается выбирать повторно.
Пример 2.16 В примере с множеством M={1,2,3,4,5} сочетания с
повторениями из 5 элементов по 2 будут отличаться от размещений тем, что
одинаковые по составу наборы будут независимо от порядка элементов в них
считаться эквивалентными: (1,1), (1,2)~(2,1), (2,2), (5,2) и т.п.
При рассмотрении выборок с повторениями число n более наглядно
трактуется как количество имеющихся в наличии типов объектов, а k –
количество непосредственно выбираемых объектов. Раз объекты выбираются с
повторениями, неважно, каково их реальное количество для каждого из типов.
Можно считать их неисчерпаемыми.
Число всех сочетаний с повторениями обозначается C nk =Ĉ(n,k) и
(n  k  1)!
вычисляется по формуле: Ĉ(n,k)= Cnk  Cnkk 1 
(2.2)
k!(n  1)!
Пример 2.17 Пусть в кондитерской продается 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.
Контрольные вопросы
Что такое подстановка? Всегда ли существует обратная подстановка?
Какая перестановка элементов множества {1,2,3,4} задана функцией
подстановки 1 2 3 4  ? Является ли эта подстановка циклом?
 2 1 4 3
3.
4.
5.
6.
7.
8.
Что такое транспозиция? В каком алгоритме она используется?
Как называется упорядоченная выборка без возвращения объема и по
какой формуле вычисляется число различных таких выборок?
Сколько различных двузначных чисел можно получить, используя
множество {1,2,3,4,5}? Как изменится результат, если цифры в числе не
повторяются? Какая выборка (и формула) используется в каждом случае?
Сколько двузначных чисел с различной суммой цифр можно получить,
используя множество {1,2,3,4,5}? Цифры в числе должны быть разными. В
чем отличие от предыдущей задачи? Сочетания или размещения нужно
использовать?
В чем отличие сочетаний с повторениями от остальных конфигураций?
Пусть в киоске есть три вида открыток. Сколькими способами можно
купить 6 открыток? А три открытки? Какая конфигурация используется?
29
2.3 Биномиальные коэффициенты
Число сочетаний C(n,k)= Cnk – число различных k-элементных
подмножеств n-элементного множества – встречается в формулах решения
многих комбинаторных задач. Например, для определения числа подмножеств
n-элементного множества, удовлетворяющих некоторому условию, задача
разбивается на составные части: рассматриваются отдельно 1-элементные
подмножества, 2-элементные и т.д., затем результаты складываются.
n!
Числа Cnk =
называются биномиальными коэффициентами.
(n  k )!k!

Свойства биномиальных коэффициентов
Теорема 2.4
Число Cnk обладает следующими свойствами:
1. Cnm  Cnnm ;
Доказательство.
n!
1. C nm 
=
2.
Cnm  Cnm1  Cnm11 ;
3.
Cnk  Ckm  Cnm  Cnkmm
n!
n!
=
 C nn m
(n  m)! m! (n  m)!(n  n  m)! (n  m)!(n  (n  m))!
n!
n!
n!
=


(n  m)!m! (n  (m  1))!(m  1)!
(n  (m  1))!(n  m)m!
n!
n!(m  1)  n!(n  m)
n!(m  1  n  m)
=
=
=
(n  (m  1))!m!(m  1)
(n  (m  1))!(n  m)m!(m  1)
(n  m)!(m  1)!
n!(n  1)
(n  1)!
=
=
= C nm11 .
(n  m)!(m  1)! (n  1  (m  1))!(m  1)!
n!
k!
n!
n!(n  m)!
3. Cnk  Ckm 

=
=
(n  k )!k! (k  m)!m! (n  k )!(k  m)!m! (n  k )!(k  m)!m!(n  m)!
n!
(n  m)!
(n  m)!
=
= Cnm 
= C nm  C nkmm . 

(n  m  (k  m))!(k  m)!
m!(n  m)! (n  k )!(k  m)!
2.
C nm  C nm1 =
(Бином Ньютона) При любых x, y  R (x+y)n =
Теорема 2.5
n
C nm x m y n  m .

m 0
Доказательство: По индукции.
База: n =1: (x+y)1 = x+y = 1x1y0+1x0y1= C10 x1y0+ C11 x0y1=
1
C1m x m y 1m .

m0
Индукционный переход:
n 1
n 1
(x+y)n=(x+y)n–1(x+y) = x  C nm1 x m y n  m 1 + y  C nm1 x m y n  m 1 = Cn01  x1yn–1+ Cn11  x2yn–
m 0
2
+ …+ C
n2
n 1
x
n–1 1
y +C
n 1
n 1
x y +C
n 0
m 0
0
n 1
x y
0 n
+ C  x1yn–1+ Cn21  x2yn–2 + …+ Cnn11  xn–1y1=
1
n 1
( C n01 + Cn11 )·x1yn–1+
( Cn11 + Cn21 )·x2yn–2+…+( Cnn12 + Cnn11 )·xn–1y1+
( C nn11  xny0+
Cn01 )·x0yn = | Cnn11 = Cnn ; Cn01 = Cn0 | = C n1  x1yn–1+ Cn2  x2yn–2 +…+ C nn1  xn–1y1+ Cnn  xny0+
n
C x y =
0
n
0 n
C nm x m y n  m .

m 0
30
n
Следствие 1.
2n =
C
m0
m
n
.
Действительно, 2n = (1+1)n =
Следствие 2.
n
 (1)
m0
m
n
n
m0
m0
 C nm 1m1nm   C nm .
C nm  0 .
Действительно, 0= (–1+1) =
n
n
C
m0
m
n
m nm
(1) 1
n
  (1) m C nm .
m0
Теорема 2.6
1.
k
n
 mC
m0
 n2
m
n
n 1
2. C nk m   C ni C mk i (Тождество Коши).
;
i 0
Доказательство:
n
1.
 mC
m0
m
n
 0· C n0 +1· C n1 +2· C n2 +…+(n–1)· C nn 1 +n· C nn =(0+n)· C n0 +(1+n–1)· C n1 +
n
(2+n–2)· C +…= n/2·  C nm  n2 n1 .
2
n
m0
2. C – это число способов выбрать k предметов из m+n предметов. Их можно
выбирать в два приема: сначала выбрать i предметов из первых n предметов, а
затем недостающие k–i предметов – из оставшихся m предметов. Отсюда общее
k
n m
число способов выбрать k предметов составляет

k
C ni C mk i .

i 0
Треугольник Паскаля
Из второй формулы теоремы 2.4 следует удобный способ рекуррентного
вычисления значений биномиальных коэффициентов, который можно
представить в графической форме, известной как треугольник Паскаля.
1
0
В
этом
равнобедренном
1
1
1
треугольнике каждое число (кроме
1
2
1
2
боковых единиц) является суммой
двух стоящих над ним чисел. Тогда
1
3
3
1
3
число сочетаний C(n,k) находится в
1
4
6
4
1
4
(n+1) ряду на (k+1) месте.
1
5
10
10
5
1
5
…
…
…
…
C(5,2) … … …

1.
2.
3.
4.
Контрольные вопросы
Запишите в виде многочлена (a+b)4, используя формулу бинома Ньютона.
Найдите значение выражения C(4,2)+C(4,0)+C(4,3)+C(4,1)+C(4,4).
Используя треугольник Паскаля, вычислите C(7,3). Проверьте полученное
значение по формуле для числа сочетаний.
Найти n, если в разложении (1+x)n коэффициенты при x5 и x12 одинаковы.
31
2.4 Обобщенные перестановки и разбиения

Перестановки с повторениями
Пусть совокупность элементов X содержит n объектов k различных типов,
причем имеется n1 неразличимых объектов типа 1, n2 неразличимых объектов
типа 2, …, ni неразличимых объектов типа i. Обозначим количество различных
размещений элементов множества X через P(n; n1, n2, …, nk). Тогда такие
размещения называются перестановками с повторениями и их количество
вычисляется по формуле
n!
(2.3)
P(n; n1 , n2 ,..., nk )  C (n, n1 )  C (n  n1 , n2 )  C (n  n1  n2 , n3 )  ... 
n1!n2 ! nk !
Пример 2.18 Сколько разных слов можно образовать при перестановке букв
слова «математика»? Здесь типы объектов – это различные буквы (число
типов k=6), количество неразличимых объектов каждого из типов – это число
повторений конкретной буквы. Если бы все буквы были различны, то таких
слов = 10!. Количество перестановок, в которых меняются местами только k
одинаковых букв, равно k! Очевидно, что такие перестановки не меняют
полученного слова  при подсчете нужно разделить 10! на k!, и выполнить
это для всех повторяющихся элементов. В слове «математика» буква «м»
встречается 2 раза, «а» – 3 раза, «т» – 2 раза, «е» – 1 раз, «и» – 1 раз, «к» – 1
10!
раз. Поэтому число различных слов равно P(10;2,3,2,1,1,1) 
 151200 .
2!3!2!1!1!1!
Аналогичную
разбиений.
формулу
можно
получить
при
подсчете
вариантов

Разбиения и числа Стирлинга
Пусть B = {B1,…,Bk} есть разбиение множества X из n элементов на k
подмножеств: i Bi  X, Bi = X, Bi  , Bi  Bj =  ij. |Bi | = ni,
n1+…+nk = n. Тогда набор (B1,…,Bk) называется упорядоченным разбиением
множества X, а подмножества Bi называются блоками разбиения.
Если B1 и B2 – два разбиения X, то разбиение B1 есть измельчение
разбиения B2, если каждый блок B2 есть объединение блоков B1. Измельчение
является частичным порядком на множестве разбиений.
Если k=2, то упорядоченное разбиение множества X на 2 подмножества,
имеющие соответственно n1 и n2 элементов, определяется сочетанием (без
повторений!) из n элементов по n1 и из n по n2 , n2 = n– n1. Значит, число
разбиений R(n; n1, n2) равно биномиальному коэффициенту C(n, n1)=C(n, n2):
n!
n!

R(n;n1,n2) =
.
n1!(n  n1 )! n1!n2 !
Пример 2.19 Пусть множество X = {1,2,3,4,5,6}. B2 – разбиение его на четные
и нечетные числа: B2 ={{1,3,5},{2,4,6}}, B1 = {{1,3},{5},{2},{4,6}} –
32
измельчение разбиения B2. Теперь предположим, что X – 6 двоечников,
которые 4-й раз идут сдавать физику (для удобства они идентифицированы
порядковыми номерами). Преподаватель решил поделить их пополам
случайным образом – блок A1 – поставить 3, блок А2 – поставить 2. Сколько
различных вариантов возможно (упорядоченные разбиения множества X на 2
блока по три)? R(6;3,3)=6!/(3!·3!)=6·5·4/(3·2)=20. Выпишем все варианты:
{{1,2,3},{4,5,6}}, {{1,2,4},{3,5,6}}, {{1,2,5},{3,4,6}}, {{1,2,6},{3,4,5}},
{{1,3,4},{2,5,6}}, {{1,3,5},{2,4,6}}, {{1,3,6},{2,4,5}}, {{1,4,5},{2,3,6}},
{{1,4,6},{2,3,5}}, {{1,5,6},{2,3,4}}  10 вариантов. Поскольку есть разница –
попасть в А1 или в А2 (разбиения упорядоченные), то еще 10 вариантов
получатся, если поменять местами первый и второй блоки разбиений. Видно,
что для конкретного двоечника с номером 1 вероятность попасть в А1 или в
А2 равна ½.
В общем случае, число R(n; n1,n2, …,nk) упорядоченных разбиений
n!
(B1, …, Bk), для которых |Bi | = ni, равно
(сравнить с формулой 2.3):
n1!n2 !...nk !
n!
R(n; n1,n2, …,nk)=
(2.4)
n1!n2 !...nk !
Теорема 2.7
Число R(n,k) упорядоченных разбиений на k подмножеств вычисляется
по формуле R(n,k) =  R(n; n1 ,..., nk ) .
(2.5)
n1 ... nk  n
ni  0
Пример 2.20 Пусть множество X = {1,2,3,4,5}. Определить количество
упорядоченных разбиений его на 3 подмножества. Возможные варианты –
множества по 1,1,3 элемента в разном порядке и множества по 1,2,2 (тоже в
разном порядке). Их количество будет определяться согласно формулам (2.5)
и (2.4): R(5,3) = R(5;1,1,3) + R(5;1,3,1) + R(5;3,1,1) + R(5;1,2,2)+ R(5;2,1,2)+
R(5;2,2,1)=(5!/3!)·3+(5!/(2!·2!))·3=3·20+3·30=150.
Числа R(n; n1, n2, …, nk) называются полиномиальными коэффициентами,
поскольку для  a1, a2, …, akR справедливо соотношение:
Теорема 2.8
(Полиномиальная теорема)
n!
a1n1 a 2n2 ...a knk   R(n; n1 ,..., nk )a1n1 a 2n2 ...a knk (2.6)
(a1+a2+ …+ak )n = 
n1 ... nk  n n1 !...n k !
n1 ... nk  n
ni  0
ni  0
Если рассмотренный выше набор (B1,…,Bk) рассматривать без учета
порядка его блоков, то он называется неупорядоченным разбиением множества
X, или просто разбиением на k блоков.
Пример 2.21 Можно рассмотреть разбиение множества абитуриентов на
несколько блоков в соответствии с количеством регистрационных столиков в
33
приемной комиссии – все зарегистрированные за одним столиком относятся к
одному блоку. Порядок безразличен  разбиение является неупорядоченным.
Число разбиений n-элементного множества на k блоков называется числом
Стирлинга второго рода и обозначается S(n,k). Определяются числа Стирлинга
2 рода рекурсивно следующим образом:
S(n,k)=S(n–1,k–1)+ k·S(n–1,k) (0<k<n)
(2.7)
При этом S(n,0)=0 при n>0, S(n,k)=0 при n<k, S(n,n)=1, S(0,0)=1.
Из формулы 2.7 следует удобный способ рекуррентного вычисления
значений чисел Стирлинга 2 рода, который можно представить в графической
форме (в виде треугольника) следующим образом:
В этом треугольнике каждое k-е в
1
0
ряду число является суммой левого S(4,2)
0
1
1
стоящего над ним числа с правым,
0
1
1
2
умноженным на k. Тогда число
0
1
3
1
3
Стирлинга S(n,k) находится в n–м
0
1
7
6
1
4
ряду на k-м месте, если начинать
0
1
15
25
10
1
5
счет от 0.
Пример 2.22 Сколькими способами можно разбить множество {a,b,c,d} на 2
блока? Порядок значения не имеет. Тогда количество таких разбиений
является
числом
Стирлинга
2
рода
S(4,2)=S(3,1)+2·S(3,2)=
1+2·(S(2,1)+2·S(2,2))=1+2·(1+2·1) = 7. Если сравнить с приведенной таблицей,
увидим тот же результат. Если выписать эти разбиения, то получим:
{{a},{b,c,d}}, {{b},{a,c,d}}, {{c},{a,b,d}}, {{d},{a,b,c}}; {{a,b},{c,d}},
{{a,c},{b,d}}, {{a,d},{b,c}} – 7 подмножеств.

1.
2.
3.
4.
5.
6.
7.
8.
Контрольные вопросы
Сколько разных слов можно получить, переставляя буквы в слове
«осколок»?
Дайте определение упорядоченного разбиения. Чем оно отличается от
неупорядоченного? Имеет ли значение порядок элементов внутри блока
разбиения?
Какую величину характеризуют числа Стирлинга второго рода?
Определите число неупорядоченных разбиений множества {1,2,3,4,5,6,7}
на 4 блока двумя способами: используя формулу для R(7;4) и с помощью
чисел Стирлинга 2 рода. Сравните результаты.
Чему равен коэффициент при x2y3z2 в выражении (x+y+z)7?
Используя полиномиальную теорему, запишите в виде многочлена
выражение (3x+2y2+z3)4. Чему равен коэффициент при x2y2z3? А при y4z7?
Используя полиномиальную теорему, запишите в виде многочлена
выражение (2x+3y2)3. Сделайте то же самое, используя формулу бинома
Ньютона. Есть ли различия в результатах? Почему?
Найти коэффициенты при x17 и x18 в разложении (1+ x5+ x7) n.
34
2.5 Принцип включения и исключения
Рассмотренные ранее формулы и алгоритмы дают способы вычисления
комбинаторных чисел для некоторых распространенных комбинаторных
конфигураций. Практические задачи не всегда прямо сводятся к известным
комбинаторным конфигурациям. В этом случае используются различные
методы сведения одних комбинаторных конфигураций к другим.
Наиболее часто комбинаторная конфигурация является объединением
других, число комбинаций в которых вычислить проще. В таком случае
требуется уметь вычислять число комбинаций в объединении. В простых
случаях формулы для вычисления очевидны:
Теорема 2.9
(комбинаторный принцип сложения ):
Пусть множества A и B могут пересекаться. Тогда количество элементов,
которые можно выбрать из A или B, определяется по формуле:
|A  B| = |A| + |B| – |A  B|.
Доказательство: Множество C = AB = (A \ B) (B \ A) (AB), причем все
множества в скобках являются попарно непересекающимися. Поэтому в
соответствии с утверждением 2.1 |C| = |AB| = |A \ B| + |B \ A| + |AB|.
Очевидно, что A = (A \ B)  (AB), B = (B \ A)  (AB)  |A| = |A \ B| + |AB|,
|B| = |B \ A| + |AB|.
Значит,
|A| + |B| = (|A \ B| + |AB|)+(|B \ A| + |AB|) .
Правая часть утверждения теоремы имеет вид:
|A| + |B| – |A  B| = (|A \ B| + |AB|)+(|B \ A| + |AB|) – |A  B| =
|A \ B| + |AB| + |B \ A| = |AB| .
Очевидно, что рассмотренная теорема будет справедлива для
произвольных множеств. Если перейти от двух множеств к большему
количеству, в частности, к трем, и проиллюстрировать с помощью диаграмм
Венна, то очевидным результатом явится следующая формула:
|A  B  C| = |A| + |B| + |C| – |A  B| – |A  C| – |B  C| + |A  B  C|, т.е. для
вычисления количества элементов объединения трех множеств
B
нужно просуммировать мощности всех этих множеств, вычесть A
мощности всех попарных пересечений и добавить число
C
элементов, содержащихся в пересечении всех трех множеств.
Пример 2.23 В месяце было 12 дождливых, 8 ветреных, 4 холодных дня,
дождливых и ветреных – 5, дождливых и холодных – 3 , ветреных и холодных
– 2, дождливых, ветреных и холодных – 1 день. Сколько дней была плохая
погода?
Пусть А – дождливые дни, В – ветреные дни, С – холодные, D –
дни с плохой погодой. Тогда D  A  B  C . Количество дней с плохой
погодой: |D| = |ABC| = |A|+|B|+|C|–|AB|–|AC|–|BC|+|ABC| = 12+8+
+4–5–3–2+1 =15.
Более общая формула, известная как принцип включения и исключения,
позволяет вычислить мощность объединения произвольного количества
множеств, если известны их мощности и мощности всех пересечений.
35
Теорема 2.10
m
m
i 1
i 1
 Ai  | Ai | 
(принцип включения и исключения):
| Ai  A j |  | Ai  A j  Ak |  ...  (1) m1 | Ai  ...  Am |

1i  j m
1i  j k m
Пусть множество А состоит из N элементов и имеется m одноместных
отношений (свойств) P1 , P2 ,, Pm . Каждый элемент множества может обладать
или не обладать любым из этих свойств. Обозначим через N i1ik число
элементов, обладающих свойствами Pi1 , , Pi k и, может быть, некоторыми
другими. Тогда число N(0) элементов, не обладающих ни одним из свойств
P1 ,, Pm , вычисляется по следующей формуле:
N (0)  S 0  S1  S 2    (1) m S m , где S 0  N , S k 
N
i1ik
1i1 ik  m
(k  1,, m)
Обобщая, получаем формулу, позволяющую вычислить число N(r)
элементов, обладающих ровно r свойствами 1  r  m .
m r
N (r )   (1) k Crrk S r k
(2.8)
k 0
Определим функцию [x] для вещественных чисел как наибольшее целое
число, не превосходящее x. Число [x] называется целой частью числа x. Для
положительных чисел а и b значение функции   равно количеству чисел из
a 
множества {1, 2,…, b}, которые делятся на а, т.е. кратны а.
b
Пример 2.24 Сколько положительных трехзначных чисел делятся ровно на
одно из чисел 3, 5 или 7? Обозначим P3 – свойство делимости на 3, P5 – на
5,
P7 – на 7. Всего трехзначных чисел 9·10·10=900. Тогда
 999   99 
N3  

 300,
 3   3 
 999   99 
N5  

 180,
 5   5 
 999   99 
N7  

 128 .
 7   7 
Так как N3,5 – число чисел, делящихся одновременно на 3 и 5, а наименьшее
999   99 
общее кратное 3 и 5 равно 15, то N 3,5  

 60 . Аналогично,
 15  15 
 999   99 
N 3, 7  

 43,
 21   21 
 999   99 
 999   99 
N

N 5, 7  


26
,
3
,
5
,
7
105   105   9. По
 35   35 
формуле (2.8) находим искомое число:
31
N (1)   (1) k C11 k S1 k  (1) 0 C11 S1  (1)1 C 21 S 2  (1) 2 C31 S 3   N 3  N 5  N 7  
k 0
 2N 3,5  N 3,7  N 5,7   3N 3,5,7  (300  180  128)  260  43  26   3  9  608  258  27  377.
Контрольные вопросы
1.
Подсчитайте, сколько чисел в диапазоне от 1 до 100 делятся на 3? На 3 или
5? На 6 или 9? Только на одно число из двух – или на 6, или на 9?
36
2.6 Рекуррентные функции

Понятие рекуррентного соотношения
Понятие последовательности было введено в разделе «специальные
функции».
Рекуррентным
соотношением,
рекуррентным
уравнением
или
рекуррентной
формулой
называется
соотношение
вида
a n  k  F n, a n , a n 1 ,  , a n  k 1  , которое позволяет вычислить все члены
последовательности a0 , a1 , a2 , , если заданы ее первые k членов.
Пример 2.25 1. Формула an+1 = an+d задает арифметическую прогрессию.
2. Формула an+1 = qan задает геометрическую прогрессию.
3. Формула an+2 = an+1+an задает последовательность чисел Фибоначчи.
В случае, когда рекуррентное соотношение линейно и однородно, т.е. для
всех n и некоторого k выполняется a n  k  p1 a n  k 1    p k a n  0,
(2.9)
где pi = const, последовательность a0, a1,… называется
возвратной.
Соотношение (2.9) называется возвратным уравнением порядка k.
Пример 2.26 Геометрическая
прогрессия
–
это
возвратная
последовательность первого порядка, так как an+1 =qan  an+1 –qan=0.
Пример 2.27 Арифметическая
прогрессия
задается
рекуррентным
соотношением an+1 =an + d  an+1 – an = d Данное уравнение не является
однородным, попробуем привести его к однородному виду. Выпишем
an+2 –an+1 = d и приравняем левые части выражений. Получим
an+2 – an+1 = an – an+1

an+2 –2 an+1 – an = 0

это
возвратная
последовательность второго порядка.
Если переписать уравнение (2.9) в виде a n  k   p1 a n  k 1    p k a n и
задать n=0, то получим: a k   p1 a k 1    p k a 0  действительно, зная первые
k членов, можно из рекуррентного соотношения получить любой член
возвратной последовательности. Поскольку эти первые k членов можно
выбирать бесконечным числом различных способов, то существует также
бесконечное множество последовательностей, удовлетворяющих уравнению
(2.9).

Решение рекуррентного уравнения
Любая последовательность, удовлетворяющая возвратному уравнению,
называется его решением.
Пример 2.28 Арифметические
прогрессии
5,7,9,11,…;
2,6,10,14,…
удовлетворяют возвратному уравнению an+2 –2 an+1 –an = 0  являются его
решениями.
37
Произведением числа  на последовательность {xi} называется
последовательность {xi}, каждый член которой получен умножением
соответствующего члена последовательности {xi} на .
Суммой последовательностей {xi} и {yi} называется последовательность,
каждый член которой {xi + yi} равен сумме соответствующих членов
последовательностей {xi} и {yi}.
Из определений суммы и произведения следует, что линейная комбинация
последовательностей также является последовательностью.
Утверждение 2.4. Если возвратные последовательности {ai(1)}, {ai(2)}, …,{ai(s)}
удовлетворяют уравнению x n  k  p1 x n  k 1    p k x n  0, то этому уравнению
удовлетворяет также последовательность {1ai(1) +2ai(2) +…+ sai(s)}.
Многочлен P(x)= x k  p1 x k 1    p k
(2.10)
называется характеристическим для возвратной последовательности {an}.
Корни многочлена P(x) называются характеристическими корнями.
Множество всех последовательностей, удовлетворяющих данному
рекуррентному соотношению, называется общим решением.
Общее решение рекуррентного соотношения находится по аналогии с
общим решением однородного дифференциального уравнения с постоянными
коэффициентами.
Теорема 2.11 (о корнях характеристического многочлена):
1. Пусть  – корень характеристического многочлена (2.10). Тогда
последовательность {cn}, где c – произвольная константа, удовлетворяет
соотношению (2.9).
2. Если i – простые корни (i = 1,…,k) многочлена (2.10), то общее решение
n
соотношения (2.9) имеет вид a n  c11n  c 2  2   c k nk , где ci = const (i=1,…,k).
3. Если i – корень кратности ri (i =1, …, s), то общее решение имеет вид
s


a n   ci1  ci2  n    ciri  n ri 1  in , где
i 1
ci j
– произвольные константы
(i=1,…,n, j=1,…,ri).
Зная общее решение рекуррентного соотношения, по начальным условиям
a0 ,a1,… можно найти неопределенные постоянные ci j и тем самым получить
частное решение рекуррентного уравнения с данными начальными условиями.
Пример 2.29 Найти
последовательность
{an},
удовлетворяющую
рекуррентному соотношению a n  2  4a n 1  3a n  0, и начальным условиям:
a1  10, a 2  16.
Составим
характеристический
многочлен
p( )  2  4  3. Его корнями являются числа 1  1,  2  3 . Следовательно,
общее решение рекуррентного соотношения имеет вид: an  c1  3n  c2 .
38
Используя начальные условия, получим систему:
c1  3c 2  10,
из которой находим c1 =7, c2 =1  an = 7+ 3n.

c1  9c 2  16,
Пример 2.30 Найти
последовательность
{an},
удовлетворяющую
рекуррентному соотношению an3  3an 2  an1  3an  0, a1  3, a2  11, a3  27.
Составим характеристический многочлен
p( )  3  32    3. Для
нахождения
корней
сгруппируем
слагаемые
3  32    3  2 (  3)  (  3)  2  1  3.
Составим характеристическое уравнение 2  1  3  0. Его корнями
являются числа 1  1,  2  1, 3  3 . Все корни простые. Следовательно,
общее
решение
рекуррентного
соотношения
имеет
вид:
n
n
an  c1  (1)  c2  3  c3 . Используя начальные условия, получим систему:
 c1  c2  3c3  3,

 c1  c2  9c3  11, решая которую находим с1=1, с2= 1, с3=1.
c  c  27c  27,
3
1 2
Таким образом, an  1  (1) n  3n .
Если рассмотреть неоднородное линейное рекуррентное уравнение
an+k + p1 an+k–1 +…+ pk an = f(n), n=0,1,…,
(2.11)
то его решение состоит из суммы общего решения {bn} однородного уравнения
(2.6) и частного решения {cn} неоднородного уравнения: { bn+ cn }.

1.
2.
3.
4.
5.
6.
7.
8.
9.
Контрольные вопросы
Что такое рекуррентная формула? Приведите пример.
Как определить порядок возвратного уравнения?
Запишите в общем виде возвратное уравнение третьего порядка.
Является ли возвратным уравнением (и если да, то какого порядка)
арифметическая прогрессия? Геометрическая прогрессия?
Что является решением возвратного уравнения?
Каков вид характеристического многочлена?
Запишите общее решение рекуррентного соотношения для случая простых
корней. Чем будет отличаться общее решение в случае кратных корней?
Найдите общее решения рекуррентного соотношения an+2 – 4an+1 + 3an = 0.
Найдите an по рекуррентному соотношению и начальному условию:
an+3 – 3 an+2+ an+1 – 3an = 0; a0 = 3;
a1 = 7;
a2 = 27.
39
Скачать