Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3170 / 268 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 2:

Индукция и комбинаторика

< Лекция 1 || Лекция 2: 123 || Лекция 3 >

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

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

Размещения, перестановки, сочетания

Многие классические задачи комбинаторики являются задачами определения числа способов размещения некоторых объектов в каком-то количестве "ящиков" так, чтобы выполнялись определенные ограничения. Более формально такие задачи можно сформулировать следующим образом. Даны множества X, Y, причем |X|=n, |Y|=m. Сколько существует функций f: X -> Y, удовлетворяющих заданным ограничениям? Здесь элементы X - объекты, а элементы Y - ящики, а каждая функция f: X -> Y определяет для каждого объекта x\in  X в какой ящик f(x) \in  Y он помещается.

Рассмотрим вначале простой случай, когда на размещения не накладывается никаких ограничений.

Теорема 2.1. Если |X| = n, |Y|=m, то число всех функций f: X -> Y равно mn.

Доказательство проведем индукцией по n.

Пусть X={x1,... , xn}, Y={y1,... , ym}. Тогда каждая функция f: X -> Y однозначно определяется последовательностью своих значений f(x1), ... , f(xn). Пусть Fm(n) - число всех таких функций (последовательностей).

Базис индукции. Ясно, что при n=1 имеется ровно m различных функций: fi(x1)=yi, i=1,..., m, т.е. Fm(1)=m.

Шаг индукции. Предположим, что при n=k выполнено равенство Fm(k)=mk. Докажем, что тогда Fm(k+1)=mk+1.

Действительно, при n=k+1 каждая функция f: X -> Y - это последовательность f(x1), ... ,f(xk), f(x{k+1}). Положив X'={x1,... , xk}, ее можно рассматривать как функцию f':X' -> Y, заданную последовательностью f(x1), ... , f(xk), которая дополнена одним новым значением f(x{k+1}). Так как |X'|=k, то по предположению число таких различных функций f':X' -> Y равно Fm(k)=mk. Каждая из них имеет ровно m возможных расширений f(x{k+1}) = yi, i=1,... , m. Поэтому Fm(k+1)= Fm(k) x m =mk+1.

Следствие 2.1.1. Если |X|=n, то число всех подмножеств множества X равно |2X|= 2n.

Доказательство. Пусть X={x1,... , xn}. Сопоставим каждому подмножеству X' \subseteq  X функцию fX' : X -> {0,1} следующим образом:

$$ f_{X'}(x_i) = \left \{\begin{array}{ll}
             1, & \mbox{ если  $  x_i \in X' $ }\\
             0, & \mbox{ в противном случае}
      \end{array}   \right. $$

(i=1, ... , n).

Ясно, что это сопоставление взаимно однозначное. Действительно, если X^{'} \ne  X^{\{''\}}, то имеется элемент x_i \in X^\prime \dot{-}  X^{\prime\prime} и тогда f_{X'}(x_{i}) \ne  f_{X''}(x_{i}). Таким образом, число всех подмножеств X равно числу всех функций f : X -> {0,1}. По теореме 2.1 это число равно 2n.

Следствие 2.1.2. Число всех слов длины n в алфавите A={a1, ..., am} из m символов равно mn.

Найдем теперь число размещений, для которых каждый ящик содержит не более одного объекта. Такие размещения соответствуют 1-1- функциям. Обозначим через Amn число всех 1-1-функций из n -элементного множетства в m -элементное множество. Это число называется числом размещений из m по n.

Теорема 2.2. Если |X| = n, |Y|=m, то число всех 1-1-функций f: X -> Y равно

A_m^n= m(m-1)\ldots (m-n+1)

Доказательство проведем индукцией по n (для каждого фиксированного m ).

Базис индукции. Поскольку при n=1 каждая функция является 1-1-функцией, то, как и в предыдущей теореме, число таких функций равно m, т.е. Am1=m.

Шаг индукции. Предположим, что при n=k выполнено равенство Amk=m(m-1)... (m-k+1). Докажем, что тогда Amk+1=m(m-1)... (m-k+1)(m-k).

Действительно, как и в предыдущей теореме, каждая 1-1-функция f: X -> Y является расширением некоторой 1-1-функции f':X' -> Y значением f(x{k+1}) ( напомним, что X'= X \ {x k+1} ). При этом в качестве этого значения можно взять любой элемент Y, не являющийся значением f', т.е. любой элемент из множества Y \ {f(x1),... , f(xk)}. При k < m таких элементов (m-k). Тогда каждую 1-1-функцию f':X' -> Y можно расширить (m-k) способами и, следовательно, Amk+1 =Amk (m-k). При k >= m 1-1-функций f: X -> Y не существует (почему?) и Amk+1=0, но в этом случае доказываемая формула также справедлива, поскольку один из сомножителей в ней равен 0.

В качестве простого следствия теоремы 2.2 получаем формулу для числа перестановок.

Теорема 2.3. Если |X| = n , то число всех перестановок f: X -> X равно n!

Число всех k -элементных подмножеств n -элементного множества обозначим через Cnk (часто используется также обозначение {n \choose k} ).

Это число называется числом сочетаний из n по k.

Теорема 2.4. При n >= k >= 0

C_n^k = A_n^k/ k! = \frac{ n!}{k! (n-k)!}

Доказательство. При n=k=0 у пустого множества имеется одно (пустое) подмножество. Поэтому C_0^0 = 1 = \frac{ 0!}{0! 0!} (напомним, что по обычному соглашению 0!=1 ).

Пусть |Y| = n>= 1. Каждая 1-1-функция f: {1,... ,k} -> Y определяет k -элементное подмножество \rho _{f} =\{ y_{i}  |   f(i)=y_{i},\   i=1,\dots  , k\} \subseteq  Y. При этом одно и тоже такое подмножество получается при любой перестановке элементов \rho _{f}. Всего таких перестановок k! (по теореме 2.3), а 1-1-функций f: {1,... ,k} -> Y - Ank. Отсюда, используя теорему 2.2, получаем, что

C_n^k = A_n^k/ k!= \frac{n(n-1)\ldots (n-k+1)}{k!}= \frac{ n!}{k! (n-k)!}

Непосредственным следствием этой теоремы является свойство "симметричности" сочетаний: Cnk =Cnn-k, а также рекурентная формула Cnk = Cn-1k + Cn-1k-1, позволяющая организовать их эффективное вычисление путем последовательного получения элементов треугольника Паскаля:

$$\begin{array}{ccccccccc}
  & & & &1& & & & \\
  & & &1 & &1 & & & \\
  & & 1& &2& &1 & & \\
  &1 & &3 & &3 & &1 & \\
1  & & 4& &6& &4 & &1 \\
\end{array}
$$
\centerline{ .\ .\ . \ . \ .\ . \ . \ .\ . \ .    \ . \ .\ . \ . \ .\ . \ .    }

В n -ой строке этого треугольника стоят числа Cn0, Cn1, ..., Cnk, ... , Cnn и каждое из них является суммой двух стоящих над ним чисел предыдущей строки. Эти числа называются биномиальными коэффициентами, так как входят в формулу бинома Ньютона, выражающую n -ую степень бинома x+y :

(x+y)^n = \sum_{ k=0}^n C_n^k x^ky^{n-k}.

Справедливость этой формулы следует из того, что коэффициент при xkyn-k равен числу способов, которыми из n сомножителей (x+y)(x+y)... (x+y) можно выбрать k сомножителей.

Укажем несколько простых следствий этой формулы. Положив в ней x=1, y=1 , получаем:

\sum_{ k=0}^n C_n^k =2^n.

Так как сумма слева определяет число всех подмножеств n -элементного множества, то это еще одно доказательство следствия 2.1.1.

При x=1, y=-1 бином Ньютона дает равенство числа подмножеств четной и нечетной мощности:

\sum_{ k=0}^{[n/2]} C_n^{2k} =\sum_{ k=0}^{[n/2]} C_n^{2k+1}.
< Лекция 1 || Лекция 2: 123 || Лекция 3 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0