Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Принцип включения и исключения




1.1. Вывод формулы. Пусть имеем N объектов и некоторый набор свойств а1, …, аn, которыми могут обладать эти объекты. Обозначим N(i) – число объектов, обладающих свойством аi, и вообще N(i1, …, ik) – число объектов, обладающих одновременно всеми свойствами . Пусть N(0) – число объектов, не обладающих ни одним из свойств аi. Справедлива формула включения и исключения:

N(0) = N – + + …

+ (– 1)k + … + (–1)n N(1, 2, …, n). (3.1)

Символ 1 £ i1 < i2 <…< ik £ n под знаком суммы означает, что суммирование ведется по всем комбинациям i1, i2,…, ik так, чтобы выполнялось указанное соотношений. Доказательство проведем с помощью индукции по n – число свойств.

10. n = 1. N(0) = N – N(1). Всего существует одно свойство. От общего числа объектов отнимем количество объектов, обладающих этим свойством – узнаем, сколько объектов этим свойством не обладают.

20. Пусть для n – 1 свойств справедлива формула

N(0) = N – + + …

+ (– 1)k + … + (–1)n N(1, 2, …, n – 1). (3.2)

Пусть теперь имеем множество, все элементы которого обладают свойством аn, и, возможно, обладают свойствами а1, …, аn–1. Очевидно, для этого множества формула (3.2) также верна и имеет вид:

N(0, n) = N(n) – + … +

+(–1)n–2 + (–1)n–1N(1, 2, …, n – 1, n). (3.3)

В (3.3) везде в скобках дописано n, т.к. все элементы множества свойством аn обладают. Вычтем (3.3) из (3.2):

N(0) – N(0, n) = N – + + … – (–1)n–1 N(1, 2, …, n – 1, n).

Отсюда

N(0) – N(0, n) = N – + +… + (–1)n N(1, 2,…,n).

Справа мы получили требуемую формулу. А что слева? N(0) – число элементов, не обладающих свойствами а1, …, аn–1, но, возможно, обладающих свойством аn. N(0, n) – число элементов, не обладающих свойствами а1, …, аn–1, но обязательно обладающих свойством аn. Следовательно, N(0) – N(0, n) – число элементов, не обладающих ни одним из свойств а1, …, аn, т.е. требуемая величина. Формула доказана.

Пример 3.1. Староста класса подал следующие сведения о классе. Всего в классе 45 учеников, из них 25 мальчиков. 30 человек учится без троек, из них – 16 мальчиков; 28 человек занимаются спортом, из них – 18 мальчиков и 17 хорошистов и отличников; 15 мальчиков учатся без троек и одновременно занимаются спортом. Классный руководитель внимательно посмотрел список и сказал, что в сведениях есть ошибка. Как он это узнал?

Решение. Обозначим a1 – свойство принадлежности к мужскому полу; a2 – хорошая успеваемость; a3 – занятие спортом. Тогда N = 45, N(1) = 25, N(2) = 30, N(3) = 28, N(1, 2) = 16, N(1, 3) = 18, N(2, 3) = 17, N(1, 2, 3) = 15. Итого N(0) = 45 – 25 – 28 + 16 + 18 + 17 – 15 = – 2 – ошибка.

1.2. Модификации формулы включения и исключения

2.а. Формулу (2.1) можно обобщить для определения числа элементов, обладающих в точности k свойствами (0 £ k £ n):

N(k) = + …+ (– 1)s–k + …

+ (–1)n–k ×N(1, 2, …, n). (3.4)

Пример 3.2. В отделе НИИ каждый сотрудник владеет хотя бы одним иностранным языком. Известно, что английским языком владеют 6 человек, немецким – 6, французским – 7, английским и немецким – 4, немецким и французским – 3, английским и французским – 2, все три языка знает 1 человек. Определить, сколько всего человек в отделе, сколько человек владеют только английским, только немецким, только французским, и сколько человек знает только 1 иностранный язык.

Решение. Согласно условиям задачи N(0) = 0, т.к. в отделе нет сотрудников, не владеющих иностранными языками. Следовательно, по формуле (3.1) получаем:

N = + N(1, 2, 3) (3.5)

N = 6 + 6 + 7 – 4 – 3 – 2 + 1 = 11 человек всего в отделе.

Для вычисления остальных показателей также воспользуемся формулой (3.5). Найдем, например N(только А) – число человек, не владеющих никаким другим языком, кроме английского. Для этого формулу (3.5) надо применить только к множеству людей, владеющих английским языком. В этом случае n = 2. Тогда N = N(A), N(1) и N(2) – число людей, владеющих помимо английского еще немецким и французским, соответственно, N(1, 2) – число людей, владеющих помимо английского еще одновременно немецким и французским. Отсюда

N(только A) = N(A) – N(А и Н) – N(А и Ф) + N(А и Н и Ф) =

6 – 4 – 2 + 1 = 1.

Аналогично

N(только Н) = N(Н) – N(А и Н) – N(Н и Ф) + N(А и Н и Ф) =

6 – 4 – 3 + 1 = 0.

N(только Ф) = N(Ф) – N(Ф и А) – N(Ф и Н) + N(А и Н и Ф) =

7 –2 – 3 + 1 = 3.

Вычислим теперь N(1) – число людей, владеющих только 1 языком. Воспользуемся формулой (3.4) при k = 1.

N(1) = N(А) + N(Н) + N(Ф) + (–1)2–1× × [N(А и Н) + N(Н и Ф) + N(А и Ф)] + (–1)3–1× × N(А и Н и Ф) = 6 + 6 + 7 – 2×(4 + 3 + 2) + 3×1 = 4.

Такой же результат получим, если сложим N(только A) + N(только Н) + N(только Ф).

2.б. Формулу (3.1) можно также интерпретировать, как подсчет мощностей пересечений различных множеств, т.е. дать теоретико-множественное представление принципа включения и исключения. Пусть имеем некоторое конечное множество А и его подмножества Аj, j = 1,…, n. Тогда теоретико-множественный аналог формулы (3.1) будет иметь вид:

= |A| – + + …

+ (– 1)k + …+ (–1)n .

 

Формулы обращения

2.1. Теорема обращения. Пусть имеем два семейства комбинаторных чисел {an,k} и {bn,k}, зависящих от целочисленных параметров n, k, причем 0 £ k £ n.

Теорема 3.1. Пусть для любых n и k, 0 £ k £ n справедливы зависимости и пусть существуют такие числа mn,k,i, что для любых k £ n и m £ n выполняются равенства

Тогда для всех k £ n имеет место формула обращения:

.

Доказательство.

= = = bn,k,

что и требовалось доказать.

2.2. Примеры использования формулы обращения. Зависимость между числами ln,k,i и mn,k,i, фигурирующая в условиях теоремы 3.1, по сути означает, что эти числа образуют систему взаимно обратных матриц, т.е. смысл теоремы весьма прост, если не сказать – тривиален. Для произвольных чисел an,k и bn,k она не дает никакой ценной информации, поскольку найти требуемые числа mn,k,i в общем случае столь же трудно, как и решить исходную систему уравнений относительно bn,k. Однако, для многих специальных случаев, в частности, комбинаторных чисел, удается найти mn,k,i в явном виде. В этом особенность данной формулы. Рассмотрим ее применение для обращения биномиальных коэффициентов.

Лемма 3.1.

Доказательство. Имеем:

= =

= = .

Следовательно,

= = В.

Так как при k < 0 и при k > n , то в полученном выражении можно суммировать не от i = 0, i = m. То есть

В = = .

Но при m < n имеем:

= = 0.

Последнее равенство следует из свойства 5 чисел сочетания.

А при m = n имеем:

= = 1,

что и требовалось доказать.

Теорема 3.2. Если , то .

Доказательство. Здесь и . При k £ n, m £ n имеем:

= = = =

Это означает, что выполнены условия теоремы 3.1, а, следовательно, теорема доказана.

Теорема 3.3. Если , то .

Доказательство аналогично.

 

Рекуррентные соотношения

В комбинаторных задачах искомым решением часто является числовая последовательность u1, u2, …, un, … Например, если мы ищем число подмножеств m-элементного множества, то . В данном разделе рассмотрим ситуацию, при которой свойства членов искомой последовательности определяются некоторым рекуррентным соотношением, которому удовлетворяют числа un:

un + k + b1 un + k – 1 + b2 un + k – 2 +…+ bk un = 0, (3.6)

где b1, b2, …, bk – некоторые коэффициенты. Выражение (3.6) называется еще разностным линейным уравнением k-го порядка с постоянными коэффициентами.

Одной из наиболее известных последовательностей, задаваемых линейным рекуррентным соотношением, является последовательность Фибоначчи {Fn}, определяемая следующими условиями: F0 = 0; F1 = 1; Fn+2 = Fn+1 + Fn. Отсюда получаем F2 = 1; F3 = 2; F4 = 3; F5 = 5; F6 = 8 и т.д.

Воспользовавшись уравнением (2.8) всегда можно вычислить значения un для любых n, если знать первые k членов последовательности. Однако, часто необходимо знать явную формулу для вычисления un.

Теорема 3.4. Пусть l1, l2,…, ls – корни соответствующих кратностей m1, m2,…, ms характеристического уравнения для выражения (3.6):

lk + b1 lk–1 + b2 lk–2 +…+ bk = 0 (3.7)

Тогда общее решение уравнения (3.6) определяется по формуле:

un = (C11 + C12 ×n + C13×n2 + … + ) +

(C21 + C22 ×n + C23×n2 + … + ) + … (3.8)

(Cs,1 + Cs,2 ×n + Cs,3×n2 + … + ) ,

где C11,…, – константы (их число равно k), определяемые начальными условиями.

Пример 3.3. Решим уравнение Фибоначчи Fn+2 – Fn+1 – Fn = 0. Его характеристическое уравнение имеет вид: l2 – l – 1 = 0. Корни равны – некратные. Обозначим Ф1 = l1 » 1.618; Ф2 = l2 » – 0.618. Общее решение равно:

.

Из начальных условий F0 = 0; F1 = 1 получаем систему уравнений для вычисления С1 и С2 = 1:

.

Отсюда С1 = – С2 = .

Использование рекуррентных соотношений дает эффективный метод решения многих комбинаторных задач.

Пример 3.4. Найти число бинарных n-последовательностей, в которых никакие две единицы не стоят рядом.

Решение. Обозначим:

zn – число искомых последовательностей;

хn – число последовательностей, заканчивающихся 0;

уn – число последовательностей, заканчивающихся 1.

Назовем для краткости последовательность, заканчивающуюся 0 – х-последовательностью, а заканчивающихся 1 – у-последовательностью.

Очевидны следующие их свойства.

1) х-последовательность длиной n можно получить, приписав 0 в конец либо у-последовательности либо х-последовательности длиной n – 1.

2) у-последовательность длиной n можно получить, приписав 1 только в конец х-последовательности длиной n – 1.

Отсюда имеем следующую систему уравнений:

.

Уравнение (a) отражает свойство 1), уравнение (b) – свойство 2), а уравнение (а) соответствует очевидному равенству.

Из уравнения (b) при замене n на n – 1 имеем: уn–1 = хn–2.

Подставим это равенство в (a), получим: хn = хn–1 + хn–2, т.е. числа хn образуют последовательность Фибоначчи. Вычтем (b) из (a), получим:

хn – уn = уn–1 Þ хn = уn + уn–1 Þ уn+1 = уn + уn–1

– тоже последовательность Фибоначчи. В соответствие с формулой общего решения и уравнением (c) получим:

.

Для нахождения констант запишем начальные условия. z1 = 2, т.к. существует 2 последовательности длиной 1: 0 и 1. z2 = 3, т.к. существует 3 последовательности длиной 2: (0 0), (0 1), (1 0). Отсюда ; . Следовательно

.

Например, z9 = 89, z19 = 10946.

 

Производящие функции

4.1. Определение производящих функций. Последовательности {un}, фигурирующей в какой-либо задаче, например, комбинаторной, удобно поставить в соответствие формальный степенной ряд

u(x) = ,

который называется производящей функцией данной последовательности. Слова “формальный ряд” означает, что эту формулу мы трактуем только как удобную запись последовательности. Для нас сейчас несущественно, при каких значениях х ряд сходится и сходится ли вообще, т.к. вычислять значение u(x) мы никогда не будем.

Пример 3.5. Известно, что = 1 + х + х2 + … + хn + … Следовательно, функция является производящей для последовательности 1,…, 1.

Пример 3.6. Согласно формуле бинома Ньютона (1 + х)n = . Следовательно, функция (1 + х)n является производящей для конечной последовательности .

4.2. Операции с производящими функциями. Рассмотрим основные технические приемы, применяемые в работе с производящими функциями.

4.2.а. Линейная комбинация. Если функция u(x) соответствует последовательности {un}, а v(x) – последовательности {vn}, то функция a×u(x) + b×v(x) (a и b – константы) является производящей для последовательности { a×un + b×vn}.

4.2.б. Сдвиг. Если функция u(x) соответствует последовательности {un}, то функции хm×u(x) соответствует последовательность … – сдвиг вправо.

Аналогично, функция является производящей для последовательности um, um+1, … – сдвиг влево.

4.2.в. Умножение. Если функция u(x) соответствует последовательности {un}, а v(x) – последовательности {vn}, то функции u(x)×v(x) соответствует последовательность {wn}, где

– формула Коши. Например, w0 = u0×v0; w1 = u0 ×v1 + u1 ×v0; w2 = u0 ×v2 + u1 ×v1 + u2 ×v0.

Пример 3.7. Пусть u(x) соответствует последовательности {un}, а v(x) = – производящая функция для последовательности 1,…, 1 (см. пример 3.5). Тогда функция

= u0 + (u0 + u1) x + (u0 + u1 + u2) x2 +… (3.9)

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

4.2.г. Дифференцирование и интегрирование. Если u(x) соответствует последовательности {un}, то по правилу дифференцирования рядов

u¢(x) = 0 + u1 + 2 u2 x + 3 u3 x2 + ….

То есть u¢(x) является производящей функцией для последовательности {k uk}.

Аналогично . То есть является производящей функцией для последовательности .

Пример 3.8. = . Следовательно, функция является производящей для последовательности {k}.

Далее,

(3.10)

Следовательно, является производящей функцией для последовательности .

Сопоставляя (3.10) с (3.9) получаем

,

где – гармонические числа.

4.3. Пример использования производящих функций

Решим с помощью производящих функций следующую комбинаторную задачу.

Пример 3.9. На окружности находится 2n точек. Сколькими способами можно их попарно соединить так, чтобы полученные отрезки не соединялись друг с другом?

Решение. Обозначим un – число способов соединить 2n точек. Построим рекуррентное соотношение.

Формально положим u0 = 1 (нет точек, нет пересечений, следовательно, способ единственный). u1 = 1 – очевидно, т.к. две точки соединяются единственным способом, и пересечений нет. u2 = 2. Способы соединения изображены на рис. 3.1.

           
   
 
 
 
   
Рис. 3.1. Способы соединения 4-х точек

 

 


Пусть n > 1. Выберем одну из 2(n + 1) точек, обозначим ее А. Соединим А с вершиной В, выбрав ее так, чтобы с обеих сторон от соединяющей их линии находилось четное число точек. Пусть слева будет 2k точек, справа – 2(n – k). 2k точек можно соединить между собой uk способами, 2(n – k) точек – unk способами. При этом линии не пересекутся, т.к. 2k и 2(n – k) точек расположены по разные сторона от АВ.

Следовательно, при фиксированном k получим uk×unk способов соединения. Но k меняется от 0 до n. Следовательно,

un +1 = u0×un + u1×un–1 + … + un×u0. (3.11)

Получили искомое нелинейное рекуррентное соотношение, формула общего решения которого нам, к сожалению, неизвестна.

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

u(x) = u0 + u1х + u2 x2 + u3 x3 + …. (3.12)

 

Имеем, согласно формуле Коши:

[ u(x) ]2 = (u0)2 + (u0×u1 + u1×u0) х + (u0×u2 + u1×u1 + u2×u02 + …

Видно, что коэффициенты для разложения [ u(x) ]2 можно получить с помощью формулы (3.11).

Из (3.12) имеем: = u1 + u2 x + u3 x2 + ….

Подставим в эту формулу выражение uk согласно (3.11). С учетом того, что u1 = (u0)2 получим: . Следовательно, имеем квадратное уравнение относительно u(х). Решив его, получим .

По формуле бинома имеем:

+ +…= 1 – .

 

Умножим каждое k-е слагаемое на 1 = . Тогда коэффициент k-го члена ряда равен:

= = = .

Отсюда

.

Для того, чтобы коэффициенты ряда были положительными, надо перед корнем в формуле u(x) брать знак “–”. Заменим индекс суммирования k на k +1. В результате получим:

u(x) = = = .

Окончательно – это так называемые, числа Каталана.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...