Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комб_наторний анал_з.doc
Скачиваний:
83
Добавлен:
12.02.2016
Размер:
869.38 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”

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

до виконання практичних робіт

з дисципліни „Комп’ютерна дискретна математика”

для студентів напряму

6. 050103 „Програмна інженерія”

Затверджено

на засіданні кафедри

програмного забезпечення

Протокол № 12 від 16.05.2012 р.

Львів – 2012

Комбінаторний аналіз. : Методичні вказівки до виконання практичних занять з дисципліни „Комп’ютерна дискретна математика” для студентів спеціальності „Програмне забезпечення автоматизованих систем” / Укл.: П. В. Сердюк, Нитребич О. О. – Львів: Видавництво Національного університету „Львівська політехніка”, 2012. – 40 с.

Укладачі П. В. Сердюк., к. т. н., ст. викл. кафедри ПЗ,

О.О. Нитребич, асп. кафедри ПЗ

Відповідальний за випуск Федасюк Д.В., д-р тех. наук, проф.,

Рецензенти Тушницький Р.Б., канд. тех. наук, ст. викл. кафедри ПЗ

Денисюк П. Ю. канд. тех. наук, доцент кафедри САПР

Зміст

1. Вступ 4

2. Основні правила комбінаторного аналізу. Поняття вибірки 4

3. Алгоритми перебору та лексикографічний порядок 6

4. Алгоритми перебору розміщень 7

5. Алгоритми перебору перестановок 8

6. Алгоритми перебору сполучень 9

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

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

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

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

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

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

13. Приклади виконання практичних завдань 21

14. Завдання до виконання 30

Контрольні запитання. 36

Список літератури 37

Комбінаторний аналіз

Мета роботи: Ознайомлення на практиці із основними типами та властивостями вибірок, комбінаторними задачами і алгоритмами.

1. Вступ

У комбінаторному аналізі (комбінаториці) вивчають способи вибору та розміщення об'єктів зі скінченної множини відповідно до заданих правил. У програмній інженерії комбінаторика є основним інструментом для оцінки складності алгоритмів, дослідження операцій, побудови складних ітераційних алгоритмів, дискретної оптимізації, кодування, шифрування та низки інших задач.

2. Основні правила комбінаторного аналізу. Поняття вибірки

Всі обчислення у комбінаториці можна зробити за допомогою двох основних правил: правила суми та правила добутку.

Правило суми. Якщо об'єкт х можна вибрати n способами, а об'єкт y — m способами, то можна вибрати або х, або у п +m способами.

Приклад 2.1. Один фрукт можна вибрати з одинадцяти мандаринів, дев’яти апельсинів та чотирьох ківі. За правилом суми фрукт можна вибрати 11 + 9 + 4 способами. ▲

Правило добутку. Якщо об'єкт х можна вибрати n способами, а об'єкт y — m способами, і вибір об'єкту х не впливає на кількість способів вибору об'єкту у, то пару об'єктів (х, у) можна вибрати nm способами.

Приклад 2.2. Потрібно вибрати одну білу та одну чорну фігуру. Дано 10 білих і 16 чорних фігур. Отже, білу та чорну фігуру можна вибрати способами. ▲

Означення 2.1. Вибіркою із множини А = {а1, а2,… аn} називають сукупність об’єктів [b1, b2,… bk], де ,i=1,…,k. У зв’язку з тим, що у комбінаториці вивчають кількість вибірок, то від значень елементів множини A часто абстрагуються, і говорять про вибірку із n елементів по к, або к-вибірку із n елементів.

Означення 2.2. Вибірка називаються вибіркою без повторень, якщо спосіб вибору її елементів виключає можливості повторів у її елементах, у протилежному випадку її називають вибіркою з повтореннями.

Тип вибірки визначається способом вибору її елементів. Тобто, якщо ми формуємо вибірку без повторень, то при виборі кожного нового елементу його обирають так, щоб він не співпадав з уже вибраними. Якщо ж ми вибираємо вибірку з повтореннями, то один і той самий елемент із множини А може зустрітись у вибірці декілька разів. Тим не менше, у отриманій вибірці може і не бути повторів елементів, але вона буде вибіркою з повтореннями, бо отримана відповідним способом.

Означення 2.3. Вибірку називають упорядкованою, якщо задано порядок її елементів, а ні — то невпорядкованою. Зрозуміло, що впорядкована r-вибірка — це кортеж (вектор) з k компонентами, і тому її позначають , , i=1, …, k. Невпорядковану k-вибірку позначатимемо як [b1,b2…,bk] ,i=1,…,k. Упорядковані k-вибірки з n-елементної множини називають розміщеннями з п елементів по k, а невпорядковані — сполученнями з п елементів по k. Використовують також поняття k-розміщення й k-сполучення.

Приклад 2.3. Задано множину А = {1, 2, 3}, тобто n = 3. Наведемо розміщення без повторень із трьох елементів по два, тобто r =2:

(1, 2), (1, 3), (2, 3), (2, 1), (3, 1), (3, 2);

розміщення з повтореннями з трьох елементів по два:

(1, 2), (1, 3), (2, 3), (2, 1) (3, 1), (3, 2), (1, 1), (2, 2), (3, 3);

сполучення без повторень із трьох елементів по два:

[1, 2], [1, 3], [2, 3];

сполучення з повтореннями із трьох елементів по два:

[1, 2], [1, 3], [2, 3], [1, 1], [2, 2], [3, 3]. ▲

Зазначимо, що сполучення без повторень з п елементів по r — це просто r-елементні підмножини множини з п елементів; отже, їх можна записати так: {1, 2}, {1, 3}, {2, 3}. Сполучення з повтореннями — це не множина у звичайному розумінні: її елементи можуть повторюватись, тобто зустрічатися більше одного разу.

Означення 2.4. Перестановка з п елементів — це розміщення без повторень з п по п елементів, тобто в розміщення входять усі елементи. Перестановки з п елементів називають також п-перестановками. Кількість перестановок позначають як Рп.

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

Приклад 2.4. Знайдемо усі перестановки множини А = {1, 2, 3}. Для цього знайдемо всі можливі комбінації чисел {1, 2, 3}.

(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1),(3, 1, 2), (3, 2, 1). ▲