Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Комбінаторний Аналіз. Методичка

.pdf
Скачиваний:
129
Добавлен:
12.02.2016
Размер:
907.41 Кб
Скачать

має бути менший за свій допустимий максимум, тобто ak n r i . Крок 2. Збільшимо елемент ak на одиницю bk = аk + 1.

Крок 3. Елементи зліва від ai не змінюємо bi = аi, i<k.

Крок 4. Елементи справа змінюємо на мінімальні, тобто такі, що на одиницю більші від попереднього:

bi = bi-1 + 1= аk +i-k, i>k.

Приклад 6.2. Нехай А={1,2,3,4,5}. Знайдемо сполучення, наступне за {1,2,5,6} у лексикографічному порядку.

Це сполучення подамо рядком 1256. Маємо п = 6, r= 4. Перший справа з таких елементів, що аi 6 – 4 + і, — це а2=2. Для обчислення наступного більшого сполучення збільшуємо а2 на 1 та одержуємо а2 = 3. Тепер нехай а3 = 3+1=4 і a4 = 3 + 2 = 5. Отже, наступне в лексикографічному порядку сполучення — те, що зображене рядком 1345, тобто {1, 3, 4, 5}.

7. Обчислення кількості розміщень і сполучень

Нехай r і n — будь-які невід'ємні цілі числа. Кількість усіх

розміщень без повторень з n елементів по r позначають як Ar або A(n, r).

 

 

n

Кількість різних

розміщень із повтореннями з n елементів по r

позначають як

~ r

~

An

або A (n,r). Кількість усіх сполучень без повторень з n

елементів по r позначають як Cnr , С(n, r) або ( nr ). Кількість усіх сполучень із повтореннями з n елементів по r позначимо як H nr або Н(n, r).

Очевидно, що для вибірок без повторень повинна виконуватись рівність rn, а для вибірок з повтореннями ця рівність не є обов’язковою.

ТЕОРЕМА 7.1. Кількість усіх розміщень без повторень з n елементів

по r рівна

Ar

n!

.

 

 

 

 

 

n

(n r)!

 

 

 

 

Доведення. Розглянемо алгоритм отримання вибірки. Нехай задано скінченну непорожню множину А = {а1, а2,… аn} і виконано r таких кроків.

Крок 1. Із множини А вибирають якийсь елемент b1 . Цей елемент можна отримати n способами, бо у множині А є n елементів.

Крок 2. Із множини A чи з A \ b1 вибирають якийсь елемент b2 . Цей елемент можна отримати n-1 способами, бо у множині A \ b1 є n-1 елемент.

Крок r. Якщо b1b2 ,...,br 1 — елементи, які вибрані на перших r - 1 кроках (r >= 3), то на цьому кроці вибирають якийсь елемент br із множини А чи A \ {b1 ,b2 ,...br 1}. Цей елемент можна отримати n- r+1 способом.

Елементи {b1 ,b2 ,...br 1 ,br }утворюють вибірку обсягом r, або r-вибірку

із множини А. Використавши правило добутку, отримаємо, що кількість

способів отримання такої вибірки є n(n-1)(n-2)…(n-r+1).

 

ТЕОРЕМА 7.2. Кількість різних розміщень із

повтореннями з

n

~

 

 

елементів по r рівна Ar nr .

 

 

n

 

 

Доведення. Рівність доводиться аналогічним

способом, як

у

попередній теоремі. Легко побачити, що в розміщенні з повтореннями

(b1 ,b2 ,...,br ) для

кожного елемента bi, і=1,2,…,r

є n незалежних

 

 

 

 

 

 

 

r разів

 

 

 

 

 

 

~

 

можливостей вибору, тому згідно правила добутку

n n n...n nr .

Ar

 

 

 

 

 

 

n

 

ТЕОРЕМА 7.3. Кількість усіх сполучень без повторень з n елементів

по r рівна C r

Ar

n!

 

 

 

n

 

 

 

.

 

 

 

 

 

 

 

n

r!

r!(n r)!

 

 

 

 

 

 

 

Доведення. Розглянемо всі розміщення без повторень з n елементів по r (b 1 , b 2 , … b r ) і всі сполучення [b 1 , b 2 , … b r ] без повторень з n елементів по r. Виявимо, у скільки разів більше сполучень ніж розміщень. Для цього визначимо, скільки можна отримати розміщень із одного сполучення [b 1 , b 2 , … b r ] шляхом різних перестановок елементів. Легко побачити, що

впорядкувати r елементів можна

Ar r(r 1)...2 1 r!

способами, бо

 

r

 

перший елемент можна вибрати r способами, другий r-1 способом і т.д. Очевидно, що із двох різних сполучень без повторень не можна одержати однакових розміщень без повторень. Отже, всіх розміщень з n елементів по r у r! разів більше, ніж сполучень з n елементів по r

Anr r!Cnr

 

 

C r

 

 

Ar

 

 

 

 

n!

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

r!

 

 

r!(n r)!

 

 

 

 

 

 

 

 

ТЕОРЕМА 7.4. Кількість усіх сполучень із повтореннями з n

елементів по r рівна H r

C r

 

 

(n r 1)!

.

 

 

 

 

 

 

 

 

n

n r 1

 

 

r!(n

1)!

 

 

 

 

 

 

 

 

 

 

 

Доведення. Розглянемо множину А ={1,2,…,n} з n елементів. Кожну

невпорядковану r-вибірку

з множини А

можна записати у вигляді

[m1,m2,…,mr], де m1 m2

... mr , оскільки порядок елементів не суттєвий.

Тоді [m1+0, m2+1,…, mr+r-1] — сполучення без повторень з n + r - 1 елементів по r.

Легко переконатись, що кожному сполученню [m1+0 , m2+1,…, mr+r-1] без повторень з n+r-1 елементів по r відповідає, до того ж тільки одне, сполучення [m1,m2,…,mr] із повторенням з n елементів по r.

 

Отже, кількість сполучень із повторенням з n елементів по r рівна

кількості

сполучень

без

 

 

повторень з

n+r-1

елементів по r.

H r

C r

.Рівність доведено.

 

 

 

 

 

 

 

n

n r 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значення вищеописаних кількостей у вибірках зручно представити

таблицею.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 3.1. Кількість елементів у вибірці

 

 

 

Без повторень

 

 

 

З повтореннями

Розміщення

r

 

 

 

n!

 

 

 

~

nr

 

 

 

 

 

 

Anr

 

 

 

An

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n

r)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сполучення

Cnr

 

Anr

 

 

 

 

n!

 

 

H nr

Cnr r 1

(n r 1)!

 

 

 

 

 

 

 

r!(n 1)!

 

 

 

r!

 

r!(n r)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Перестановки з повтореннями

Формулу для кількості перестановок Рп одержують із формули для кількості розміщень без повторень:

Pn Ann n!.

Приклад 8.1. Знайдемо кількість рядків, які можна утворити, переставляючи букви слова SOFTWARE. Оскільки жодна буква тут не повторюється, то можна утворити Р8 =8!= 40320 рядків.

Розглянемо складніший вид перестановок.

Означення 8.1. Нехай є n елементів k різних типів, а число nj (j=1,…,k) кількість елементів j-гo типу. Очевидно, що n1+п2+...+nk=п. Перестановки з n елементів за такої умови називають перестановками з повтореннями. Кількість таких перестановок позначають як Pn (n1,n2 ,...nk ) .

ТЕОРЕМА 8.1. Кількість різних перестановок з повтореннями рівна:

Pn (n1

, n2

,...nk )

n!

 

.

 

 

n1!n2 !...nk

 

 

 

 

!

Доведення. Щоб знайти

явний вираз для

Pn (n1,n2 ,...nk ) , візьмемо

окрему перестановку та замінимо в ній усі однакові елементи різними. Тоді кількість різних перестановок, котрі можна отримати з узятої однієї

перестановки, дорівнює n1!n2 !...nk !. Якщо зробити це для кожної

перестановки,

то

одержимо

 

n!

 

перестановок.

Отже,

Pn (n1 , n2 ,...nk )n1!n2!...nk ! n!, звідки

 

 

 

 

 

 

 

 

 

Pn (n1 , n2 ,...nk

)

n!

 

.

 

 

 

 

 

 

 

 

 

n1!n2

 

 

 

 

 

 

 

!...nk !

 

 

Приклад 8.2. Знайдемо, скільки рядків можна утворити, переставляючи букви слова POSSESSIONLESSNESSES. У цьому слові є повторні входження букв, тому скористаємося формулою для перестановок із повтореннями:

P20 (9,4,2,2,1,1,1)

20!

 

69837768000 слів.

 

 

9!4!2!2! 1! 1! 1!

 

 

Задача розкладання в ящики. Дано n різних предметів і k ящиків. Потрібно покласти в перший ящик n1 предметів, у другий — n2 предметів,…, k-й — nk предметів, де n1 n2 ... nk n. Тут n1 , n2 ,...nk — фіксовані числа. Скількома способами можна це зробити?

Розв’язання.

1-й спосіб. Занумеруємо всі n предметів. Кожен предмет попадає у свій ящик:

1-й

2-й

n

предмет

предмет

 

 

предмет

a1 ящик

a2 ящик

an ящик

Як бачимо, кожному розподілу предметів по ящиках відповідає певна послідовність a1a2…an. Кількість всіх послідовностей відповідає кількості способів розподілу предметів.

Послідовність a1a2…an є перестановкою з повтореннями чисел {1, 2, …, k}, бо перестановкою її елементів ми отримаємо інакший розподіл, а її елементи повторюються. Очевидно, що “1” повторюватиметься n1 разів, “2” повторюватиметься n2 разів, і т.д. Отже, кількість розкладань:

Pn (n1 , n2 ,...nk

)

n!

 

.

 

 

 

n1!n2

!...nk

 

 

 

!

2-й спосіб.

Серед п предметів візьмемо довільну n1 підмножину й покладемо її в перший ящик (це можна зробити Cnn1 способами). Серед п-п1 предметів, що залишились, візьмемо n2 підмножину, покладемо її в другий ящик (це можна зробити Cnn2 n1 способами) і продовжимо цей процес. За правилом

добутку загальна кількість розкладань дорівнює:

 

 

 

 

 

Cnn1 Cnn2

n1 ...Cnnk n1 n2 ... nk 1

 

 

 

 

 

 

n!

 

 

(n n1 )!

 

...

(n n1 ... nk 1 )!

 

 

n !(n n )!

 

n

!(n n n

)!

n

!(n n ... n

k

)!

1

1 2

1 2

 

 

 

k

1

 

 

 

n! . n1!n2 !...nk !

9. Генерування розбиття множини

Нагадаємо, що розбиттям множини називають сукупність непорожніх множин, які не перетинаються між собою, а їх об’єднання дає вхідну множину A.

Приклад 9.1. Задано множину A = {1, 2, 3}. Знайдемо усі її розбиття: {{1, 2, 3}}, {{1,2}, {3}}, {{2,3}, {1}}, {{1,3}, {2}},

{{1}, {2}, {3}}.

Отримати розбиття множини прямим методом доволі складно. Алгоритм запропонований нижче полягає у тому, що кожне розбиття множини {1, 2, …, п -1, п } можна отримати із розбиття {1, 2, …, п -1}, додавши елемент {п }. Алгоритм має недолік: він вимагає попереднього обчислення всіх розбиттів множин із кількістю елементів 1, 2, 3, 4, …n-1. Існують алгоритми, які можуть робити прямий перебір без додаткових обчислень, але вони суттєво складніші.

Алгоритм перебору всіх розбиттів множини.

Крок 1. Нехай n = 1. Розбиття множини A = {1} є єдине M1= {{1}}. Збільшуємо n на одиницю.

Крок 2. Робимо присвоєння n=n+1. На попередньому кроці ми обчислили усі розбиття Mn-1 множини {1, 2, …, п -1}. Ініціалізуємо розбиття Mn порожньою множиною.

Крок 3. Для кожного з розбиттів множини {1, 2, …, п -1, п } елемент {п } почергово додаємо до кожної з множин розбиття. Отримане розбиття додаємо до Mn. Зауваження: для цього треба організувати подвійний цикл.

Крок 4. Утворюємо розбиття множини {1, 2, …, п -1, п }, додаючи елемент {п } як окрему множину до кожного з розбиттів елементу A та додаємо до Mn.

Крок 5. Переходимо до кроку 2, якщо n не досягло кінцевого значення. Розглянемо детальніше рекурсивну роботу алгоритму.

Приклад 9.2. Знайдемо розбиття множини M3.

Крок 1. Нехай n = 1. Розбиття множини A = {1} є єдине – M1= {{1}}. Крок 2. n = 2. Ініціалізуємо M2= {}.

Крок 3. Додаємо до M2 розбиття {{1,2}}.

Крок 4. Додаємо до M2 розбиття {{1},{2}}.

Крок 5. Ми отримали розбиття M2 =[{{1,2}};{{1},{2}}] і переходимо до кроку 2.

Крок 6. Ініціалізуємо M3= {}. Збільшуємо n на одиницю, n=3.

Крок 7. Додаємо до M3 розбиття елемент {3}, до кожної з множин розбиттів {{1,2}} та {{1},{2}}.

Отримуємо: M3 = {{1,2,3}};{{1,3}{2}};{{1}{2,3}}

Як бачимо із розбиття {{1},{2}}, ми отримали 2 нових розбиття, а з {{1,2}} – лише одне.

Крок 8. Додаємо до M3 розбиття, які отримуються від додавання елементу {3}, до кожної з множин розбиття {{1,2}} та {{1},{2}} як окремої множини.

Отримуємо: M3 =

{{1,2,3}};{{1,3}{2}};{{1}{2,3}};{{1}{2}{3}},

{{1,2}{3}};{{1}{2}{3}}

Крок 9. Оскільки n=3, то алгоритм завершено.

Означення 9.1. Кількість усіх розбиттів n-елементної множини на непорожні частини називають числами Белла і позначають S(п).

Означення 9.2. Кількість розбиттів n-елементної множини на k

непорожніх частин називають числами Стірлінга другого роду і

позначають S (п, k).

З розглянутого прикладу 9.2:

S(3, 1) = 1; S(3, 2) = 3; S(3, 3) = 1; S(3) = 1 + 3 +1 = 5.

Зв’язок між числами Белла та числами Стірлінга очевидний:

n

S n S n, k .

k 1

Але для них також виконуються рівності:

S n, k

1

k

( 1)k j Ckj j n ;

 

 

k! j 0

n

S n 1 Cin S i ;

i 0

S n,k S n 1,k 1 kS(n 1,k).

Останню рівність легко вивести з алгоритму для генерування множин. Також за її допомогою легко виводити значення чисел Белла та Стірлінга 2-го роду (табл. 9.1).

Таблиця 9.1

n\k

1

2

3

4

5

6

S n

 

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

1

2

1

1

 

 

 

 

2

3

1

3

1

 

 

 

5

4

1

7

6

1

 

 

15

5

1

15

25

10

1

 

52

6

1

31

91

65

15

1

203

Означення 9.3. Послідовність ( pn ) дійсних чисел називають унімодальною, якщо існує такий натуральний номер m, що p0 p1 ... pm ; pm pm 1 pm 2 ... pn , тобто:

послідовність строго зростає на відрізку 0, m , m 0;

послідовність строго спадає на відрізку m 1, n , m 1 n;

максимальне значення досягається не більш ніж у двох точках: m і можливо, m+1.

ТЕОРЕМА 9.1. За фіксованого п послідовність S n, k , k = 1, 2, ..., n унімодальна.

10. Біном Ньютона

Означення 10.1. Біном Ньютона – це формула для розкладу на окремі складові цілого невід’ємного ступеня суми двох змінних, що має вигляд:

n

x y n Cnr xr yn r r 0

Через цю властивість числа Cnr також називають біноміальними коефіцієнтами.

Розглянемо деякі властивості та тотожності біноміальних коефіцієнтів.

1.Правило симетрії. Нехай n і r – невід’ємні числа, n r . Тоді Cnr Cnn r .

2.Рівність Паскаля : Cnk Cnk 1 Cnk 11.

Рівність Паскаля дає змогу побудувати трикутник Паскаля для коефіцієнтів Cnk .

n=0

 

 

 

1

 

 

 

n=1

 

 

1

 

1

 

 

n=2

 

 

1

2

1

 

 

n=3

 

1

3

 

3

1

 

n=4

 

1

4

6

4

 

1

n=5

1

5

10

 

10

5

1

Приклад 10.1. Знайдемо розклад виразу (х +у)4. Скориставшись біноміальною теоремою, можемо записати:

x y 4 C04 x4 C14 x3 y C24 x2 y2 C34 xy3 C44 y4 = x4 4x3 y 6x2 y2 4xy3 y4 .

Біноміальні коефіцієнти з трикутника Паскаля співпадають з

отриманим виразом.

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Винесення за дужки. C k

 

n

C k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

k

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Заміна індексів. C mC k

C mC m k

 

 

 

 

 

 

 

 

 

n

m

 

 

n

n k

 

 

 

 

5. Згортка Вандермонда. Нехай т, n, r — невід'ємні цілі числа,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

причому r min{m, n}. Тоді Cnr m Cmr k Cnk .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 0

 

 

 

 

6. Унімодальність. За фіксованого n послідовність біноміальних

коефіцієнтів (C nk ),k=0,1,2…,n

унімодальна,

т =

n

. У разі парного n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

максимум досягається в точці т =

n

=

n

, а в разі непарного — у двох

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

точках: т =

n

 

=

n 1

й m+1=

n 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

За допомогою біноміальної теореми можна виводити цікаві

властивості біноміальних коефіцієнтів.

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n

1 k Cnk 0.

Приклад 10.2. Довести Cnk 2n ,

 

 

 

 

 

 

k 0

 

 

 

 

 

 

 

 

k 0

 

 

 

 

Скористаємось формулою бінома Ньютона, підставивши x=1, y=1.

n

n

2n 1 1 n Cnk

1n k1k Cnk .

k 0

k 0

Скористаємось формулою бінома Ньютона, підставивши x=1, y=-1.

n

n

0 1 1 n Cnk

1n k 1 k 1 k Cnk .

k 0

k 0

Означення 10.2. Поліноміальна формула - це формула для розкладу на окремі складові цілого невід’ємного ступеня суми кількох змінних, що має

вигляд

суми

всіх

можливих

доданків

P

n , n

2

,...,n

k

xn1

xn2

...xnk , де

 

 

 

 

 

n

1

 

1

2

k

n1 n2

... xk

n, тобто

 

 

 

 

 

 

 

 

 

 

x1 x2

..xk n

P n1

, n2 ...nk x1n1 x2n2 ...xknk .

 

 

 

 

 

n1 0,..., nk 0

 

 

 

 

 

 

 

n1 ... nk n

Поліноміальна формула є узагальненням Біному Ньютона, в чому можна переконатись, підставивши k=2 в поліноміальну формулу.

11. Задача про цілочислові розв'язки

Цю задачу формулюють так: знайти кількість розв'язків рівняння

x1 x2

... xr

n

у цілих

невід'ємних числах, де

п — ціле невід'ємне

число.

 

 

 

 

 

 

 

Узявши

 

такі невід'ємні

цілі числа

x1 , x2 ,...,xn ,

що

x1 x2

... xr n, можна

одержати

сполучення

з повтореннями

з r

елементів по п, а саме: елементів першого типу — х1 одиниць, другого — х2, ..., r-го — хr. Навпаки, якщо є сполучення з повтореннями з r елементів по п, то кількість елементів кожного типу задовольняють вимоги рівняння x1 x2 ... xr n у цілих невід'ємних числах. Отже, кількість цілих невід'ємних розв'язків цього рівняння дорівнює:

H n C n

r n 1 !.

r

n r 1

n! r 1 !

 

 

Приклад 11.1. Знайдемо кількість невід'ємних цілих розв'язків рівняння х123=10. Безпосереднє використання попередньої формули дає

H 10

C10

C10

 

12!

 

 

12 11

66.

 

 

3

10 3 1

12

10! 2!

2

 

 

 

 

 

Кількість розв'язків рівняння x1+х2+...+хr = п у цілих невід'ємних числах можна визначити й тоді, коли на змінні накладено певні обмеження.

Приклад 11.2. Знайдемо кількість невід'ємних цілих розв'язків рівняння

x1 x2 .x3 10, де x1 1, x2 2, x3 3.

Зробимо заміну змінних:

y1 x1 1 0, y2 x2 2, y3 x3 3 0.

Отримаємо рівняння:

y1 y2 y3 10 1 2 3 4,

отже, кількість цілочисельних розв’язків:

 

H 4

C 4

C 4

6!

 

 

6 5

15.

 

 

 

 

 

3

3 4 1

3

4! 2!

2

 

 

 

 

 

 

Приклад 11.3.

Визначимо

кількість розв'язків нерівності

x1 x2 x3

10 в невід'ємних цілих числах. Уведемо допоміжну змінну х4,

яка може набувати цілих невід'ємних значень, і перейдемо до еквівалентної задачі: визначити кількість розв'язків рівняння х1+х2+х3+х4 = 10 в невід'ємних

цілих числах. Отже, H410 C104 10 1 C1310

13!

 

286.

10! 3!

 

 

12. Принцип коробок Діріхле

ТЕОРЕМА 12.1. (принцип коробок Діріхле). Якщо k+1 або більше предметів розкладено в k коробках, то існує принаймні одна коробка, яка містить два чи більше предмети.

Доведення. Припустимо, що жодна коробка не містить більше одного предмета. Тоді загальна кількість предметів становить щонайбільше k. Це суперечить тому, що є щонайменше k+1 предмет.

Приклад 12.1. У будь-якій групі з 8 чоловік принаймні двоє народилися в один день тижня.

ТЕОРЕМА 12.2 (узагальнений принцип коробок Діріхле). Якщо N

предметів розкладено в k коробках, то існує принаймні одна коробка, яка містить щонайменше [N/k ] предметів.

Нагадаємо, що найменше ціле число, яке більше за х або дорівнює йому, позначають [х]. Наприклад, [1,1] = 1, [-1,9]=-1, [3]=3.

Доведення. Зазначимо, що справджується нерівність [N/k]<(N/k)+1. Припустимо, що жодна коробка не містить більше, ніж [N/k]-1 предметів. Тоді загальна кількість предметів становить щонайбільше

k([N/k]-1)<k(((N/k)+1)-1)=N.