5.05010201 „Обслуговування комп’ютерних систем і мереж”
Розглянуто та схвалено
на засіданні циклової комісії
інформатики та
комп’ютерних дисциплін
Голова циклової комісії
__________ Р. В. Твердохліб
Протокол № _____
від „___” __________ 2010 р.
Розробив викладач НРПК
____________ І. Я. Кулик
2010 р.
Зміст
ВСТУП ........................................................................................................... 3 ст.
ПРАКТИЧНА РОБОТА №1
Виконання операцій над множинами ......................................................... 4 ст.
ПРАКТИЧНА РОБОТА №2
Визначення типу алгебр .............................................................................. 10 ст.
ПРАКТИЧНА РОБОТА №3
Застосування основних комбінаторних схем для розв’язання задач ...... 17 ст.
ПРАКТИЧНА РОБОТА №4
Знаходження мінімальних шляхів у зважених графах ............................. 23 ст.
ПРАКТИЧНА РОБОТА №5
Побудова та використання бінарних дерев пошуку ................................. 31 ст.
ПРАКТИЧНА РОБОТА №6
Побудова граматики мови програмування Pascal ..................................... 39 ст.
СПИСОК
ВИКОРИСТАНОЇ ЛІТЕРАТУРИ ................................................................ 49 ст.
Вступ
Вивчення дисципліни „Дискретна математика” передбачає виконання 6 практичних робіт, на виконання яких відводиться 12 навчальних годин.
Метою виконання практичних робіт є формування у студентів системного підходу при вивченні дискретних об’єктів, процесів та явищ; здобуття необхідних їм математичних знань (про способи створення, аналізу і оптимізації дискретних об’єктів); підготовка студентів до розробки алгоритмів для розв’язування прикладних задач, а також побудови комп’ютерних мереж.
В ході виконання практичних робіт студенти повинні
знати:
- математичний апарат дискретної математики (множини, графи, елементи теорії загальної алгебри);
- основні формули та методи комбінаторики;
- алгоритми і засоби пошуку оптимальних розв’язків типових задач дискретної математики;
вміти:
- виконувати постановку і розв’язання задач синтезу та аналізу дискретних об’єктів;
- знаходити найбільш ефективний для розв’язання конкретної задачі математичний апарат.
Теоретичною базою для виконання практичних робіт є не тільки матеріали, які розглядались на лекційних заняттях, а і матеріали, які виносились на самостійне опрацювання студентами.
Практична робота №1
Виконання операцій над множинами.
Мета: Навчитися задавати множини та виконувати над ними операції; ефективно використовувати для тотожного перетворення формул алгебри множин її основні закони та властивості.
Теоретичні відомості:
Множина є настільки загальним і водночас початковим поняттям, що її строге визначення через більш прості поняття дати важко. Тому вслід за Георгом Кантором (німецький математик, засновник теорії множин) ми приймаємо інтуїтивне уявлення про множину як сукупність деяких елементів, цілком визначених у випадку кожної конкретної множини. Множини позначають великими, а елементи множин – малими латинськими буквами (можуть бути індекси).
Множина називається скінченою, якщо вона містить скінчене число елементів (тобто для неї існує натуральне число, що дорівнює кількості її елементів), і нескінченою, якщо вона містить необмежене число елементів. Кількість елементів скінченої множини А позначають як ½А½ і називають потужністю множини.
Упорядкованою вважається така множина, в якій важливі не тільки її елементи, але і порядок їх наступності у множині. Упорядковані множини позначають, як правило, або круглими, або трикутними дужками.
Кортеж – це впорядкований набір елементів. Елементи, що утворюють кортеж, називають його компонентами. Компоненти нумерують, кількість компонент називають довжиною (розмірністю) кортежу. На відміну від елементів множини, компоненти кортежу можуть повторюватись.
Дві множини рівні, якщо вони містять одинаковий набір елементів. Множина А, всі елементи якої належать множині В, називається підмножиною множини В. Нестроге включення позначається А Í В, означає, що А – підмножина множини В, що, можливо, співпадає з В. Строге включення позначається А Ì В і означає, що А – підмножина множини В, що не співпадає з В.
Порожньою називається така множина, яка не містить ніяких елементів. Така множина позначається спеціальним символом Æ. Універсальною називається множина, яка містить всі можливі елементи , що зустрічаються в даній задачі. Універсальна множина (універсум) позначається символом U. Множиною-степенем або булеаном множини А називають множину всіх її підмножин, зокрема порожню множину і саму множину А. Цю множину позначають 2А чи Р(А).
Множини А та В називаються еквівалентними або рівнопотужними (А ~ В), якщо між ними можна встановити взаємно однозначну відповідність. Взаємно однозначною називається така відповідність між множинами А та В, при якій кожному елементу множини А відповідає один і тільки один елемент множини В, і кожному елементу множини В відповідає один і тільки один елемент множини В. Функція, що визначає взаємно однозначну відповідність, називається бієктивною функцією або бієкцією.
Є декілька способів подання множин:
¾ вербальний (словесний) – за допомогою опису характеристичних властивостей, які повинні мати елементи множини;
¾ список (перелік) усіх елементів множини у фігурних дужках;
¾ предикатний (висловлювальний) – за допомогою предиката, тобто множина подається у вигляді {х : Р(х)} або {х│Р(х)}, де Р(х) – предикат, що набуває значення „істина” для елементів цієї множини;
¾ за допомогою породжувальної процедури (алгоритму), що описує спосіб отримання елементів множини із уже існуючих елементів або інших об’єктів, якщо такий спосіб існує.
Для наочного зображення співвідношень між підмножинами універсальної множини використовуються діаграми Венна та круги Ейлера. Побудова діаграми Венна полягає в розбитті площини на 2n областей за допомогою n фігур. Кожна фігура на діаграмі зображує окрему множину. При цьому кожна наступна фігура повинна мати одну і тільки одну загальну область-перетин з кожною з раніше побудованих фігур. Діаграми Венна не відображають реальні відношення включення, що встановлені між множинами, а розглядають їх у загальному випадку. Індивідуальні відношення між заданими множинами зображують за допомогою кругів Ейлера. Для зображення множини на площині креслять замкнену лінію із заштрихованою внутрішньою областю (найчастіше – це коло, але для зображення універсальної множини – прямокутник). У цьому випадку множини, що не мають спільних елементів, зображують неперетинними фігурами. Відношення включення на множинах зображують, розташовуючи одну фігуру вкладеною в іншу.
Основні операції над множинами та результати їх виконання:
¾ об’єднання (А È В) – множина, що складається з усіх елементів множин А та В і не містить жодних інших елементів;
¾ перетин (А Ç В) – множина, що складається з тих і тільки тих елементів, які належать одночасно множині А та множині В;
¾ різниця (А \ В) – множина, що складається з тих і тільки тих елементів, які належать множині А й не належать В;
¾ симетрична різниця (А Å В) – множина, що складається з усіх елементів А, які не належать множині В, й усіх елементів В, які не належать множині А, та яка не містить ніяких інших елементів;
¾ доповнення (Ā) – множина, що містить усі елементи універсальної множини (універсуму), за винятком елементів А.
Прямим або декартовим добутком множин А та В називають множину всіх упорядкованих пар елементів (a, b), з яких перший належить множині А, а другий – множині В. Порядок входження пар може бути будь-яким, але розміщення елементів у кожній парі визначається порядком множин, що перемножуються.
Множина 2U всіх підмножин універсальної множини U із заданими на ній чотирма операціями (об’єднання, перетин, різниця, доповнення) складає алгебру множин. Алгебра множин широко застосовується у програмуванні, зокрема, при роботі з різноманітними базами даних і становить основу для побудови багатьох математичних структур; вона дуже проста і близька до реального життя.
Черговість виконання операцій у виразах називається пріоритетом. Порядок виконання операцій над множинами відповідно до їх пріоритету: Ā; АÇВ; АÈВ; А\В. Порядок виконання операцій над множинами можна змінити, якщо взяти окремі фрагменти виразу в круглі дужки. Якщо у виразі є декілька операцій з однаковим пріоритетом, то вони будуть виконуватися зліва направо. Треба пам’ятати, що фрагмент у дужках перед обчисленням всього виразу сприймається як окремий операнд.
Основні тотожності алгебри множин:
1. комутативні закони
2. асоціативні закони
3. дистрибутивні закони
4. властивості порожньої та універсальної множин
5. закони ідемпотентності
6. закони поглинання
7. закони де Моргана
8. інші властивості алгебри множин
Теорія множин є основою для всіх розділів дискретної математики та комп’ютерних наук в цілому, є однією з основ функціонального аналізу, топології, загальної алгебри. Глибокі дослідження в самій теорії множин пов’язані з основами математики. Теорія множин разом з іншими розділами дискретної математики широко використовується у програмуванні; під час побудови та організації роботи комп’ютерних мереж.
Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання та перепишіть у звіт формулювання цього завдання.
3. Задайте множини А та В.
4. Виконайте над множинами А та В операції об’єднання, перетину, різниці та симетричної різниці.
5. Знайдіть декартовий добуток множин А та В.
6. Зобразіть основні операції над множинами за допомогою кругів Ейлера.
7. Спростіть вираз за допомогою основних тотожностей алгебри множин.
8. Занотуйте для звіту основні закони і властивості алгебри множин.
Контрольні запитання:
1. Що називається множиною?
2. Яке практичне застосування має теорія множин?
3. Яку множину називають скінченою?
4. Яку множину називають впорядкованою?
5. Що представляє собою універсальна множина?
6. Що представляє собою порожня множина?
7. Коли можна вважати, що множини рівні?
8. Які є способи задання множин?
9. Яку множину називають булеаном або множиною-степенем?
10. Які засоби використовують для геометричної інтерпретації множин?
11. Які основні операції можна виконувати над множинами?
12. Що представляє собою об’єднання множин?
13. Що представляє собою перетин множин?
14. Що представляє собою різниця множин?
15. Що представляє собою симетрична різниця множин?
16. Що представляє собою доповнення множини?
17. Які є основні закони та властивості алгебри множин?
18. Що представляє собою алгебра множин?
19. Що представляє собою декартовий добуток множин?
20. Яку множину називають нечіткою?
21. Які множини називають еквівалентними?
22. Що представляє собою лінгвістична змінна?
Студенти повинні знати:
1. основні поняття теорії множин;
2. способи задання множин та їх геометричну інтерпретацію;
3. основні операції над множинами;
4. загальну характеристику нескінченних та нечітких множин;
5. основні тотожності алгебри множин та методи їх доведення.
Студенти повинні вміти:
1. використовувати спеціальні позначення введені у теорії множин;
2. задавати множини;
3. виконувати основні операції над множинами;
4. ефективно використовувати основні закони та властивості алгебри множин для тотожного перетворення формул.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №1
Завдання
Задати списком (переліком) елементів та предикатним (висловлювальним) способом множини А та В:
№
множина А
множина В
множина натуральних чисел,
не більших за 23
додатні цілі числа кратні 11, двозначні
Виконати над множинами А та В операції об’єднання, перетину, різниці, симетричної різниці. Знайти декартовий добуток множин А та В. Наочно зобразити основні операції над множинами (об’єднання, перетин, різниця, доповнення та симетрична різниця) за допомогою кругів Ейлера. Спростити вираз за допомогою основних законів і властивостей алгебри множин:
№
вираз
Розв’язок
3. Задання множин списком (переліком) елементів:
А={1, 2, 3, 4, 5, ..., 22, 23};
В={11, 22, 33, 44, 55, 66, 77, 88, 99};
задання множин предикатним способом:
А={a│aÎN, a £ 23}; B={b│bÎZ, 10£b£99, b mod 11=0}.
4. А È В={1, 2, 3, 4, 5, ..., 22, 23, 33, 44, 55, 66, 77, 88, 99};
А Ç В={11, 22};
А \ В={1, 2, 3, …, 10, 12, 13, …, 20, 21, 23};
А Å В={1, 2, 3, …, 10, 12, 13, …, 20, 21, 23, 33, 44, 55, 66, 77, 88, 99}.
Задати списком (переліком) елементів та предикатним (висловлювальним) способом множини А та В:
№
множина А
множина В
множина натуральних чисел,
не більших за 25
додатні цілі числа кратні 8, двозначні
множина натуральних чисел,
не більших за 28
додатні цілі числа кратні 9, двозначні
множина натуральних чисел,
не більших за 26
додатні цілі числа кратні 5, двозначні
множина натуральних чисел,
не більших за 29
додатні цілі числа кратні 7, двозначні
множина натуральних чисел,
не більших за 27
додатні цілі числа кратні 6, двозначні
Виконати над множинами А та В операції об’єднання, перетину, різниці, симетричної різниці. Знайти декартовий добуток множин А та В. Наочно зобразити основні операції над множинами (об’єднання, перетин, різниця, доповнення та симетрична різниця) за допомогою кругів Ейлера. Спростити вираз за допомогою основних законів і властивостей алгебри множин:
№
вираз
Практична робота №2
Визначення типу алгебр.
Мета: Навчитися працювати з алгебраїчними структурами, досліджувати їх властивості та визначати тип алгебр.
Теоретичні відомості:
Поняття алгебраїчної структури включає визначену множину об’єктів та операцій над цими об’єктами. Оскільки практично в будь-якій задачі обробки даних за допомогою комп’ютера виділяється множина самих даних і операції, які застосовні до цих даних, очевидно, що при цьому формуються визначені алгебраїчні структури. Поняття алгебраїчних структур і систем є базовими для загальної та лінійної алгебри, використовуються під час роботи з матрицями, при кодуванні інформації та обробці даних.
Операцією на множині Х називається функція F, яка є відображенням виду Хn ® X, n ÎN, де Хn – декартовий добуток Х ´ Х ´...´ Х, в який Х входить n разів. У цьому визначенні є два важливих моменти. По-перше, оскільки операція є функцією, то результат застосування операції визначено однозначно. Тому даний упорядкований набір з n елементів множини Х функція F переводить тільки в один елемент із Х. По-друге, операція замкнена на Х у тому розумінні, що область визначення та область значень операції лежать у Хn і X відповідно.
Стверджують, що операція Хn ® X має порядок n або є n-арною операцією. Частіше зустрічаються ситуації, коли порядок дорівнює 1 або 2. Операції виду Х ® X називають унарними, а операції Х2 ® X називають бінарними. Елементи упорядкованого набору з n елементів в області визначення Хn називають операндами. Операції звичайно позначають символами, що називають операторами. У випадку унарних операцій символ оператора ставлять перед або над операндом. Бінарні операції записують одним з трьох способів. У першому випадку оператор ставиться між операндами (infix), у другому – перед операндами (prefix) і у третьому – після операндів (postfix). Відповідно до більшості математичних текстів ми будемо використовувати позначення infix. Форми запису postfix і prefix мають ту перевагу, що не потребують дужок при визначенні порядку обчислень складних виразів, і це робить їх особливо зручними для автоматичної обробки. Вони часто використовуються для представлення виразів у пам’яті комп’ютера.
Крім стандартних відомих нам операцій ( + , – , * ) існує багато інших. Ми будемо використовувати символи Å і Ä для позначення абстрактних бінарних операцій. Бінарні операції, визначені на скінченних множинах, зручніше задавати за допомогою таблиць. Таблиця, що задає деяку бінарну операцію Ä на деякій множині А, називається таблицею Келі, її рядки та стовпці нумеруються елементами множини А, а елементом таблиці, що стоїть на перетині рядку ai і стовпця aj, є елемент ak = ai Ä aj .
Властивості, які можуть мати операції:
1. нехай дано множину А, на якій визначено деяку бінарну операцію Ä; якщо a Ä b = b Ä a для всіх a, b Î A, то стверджують, що бінарна операція Ä на множині А має властивість – комутативність;
2. якщо (a Ä b) Ä c = a Ä (b Ä c) для всіх a, b, c ÎA, то стверджують, що бінарна операція Ä на множині А має властивість – асоціативність;
3. нехай на множині А визначено дві бінарні операції Ä і Å; якщо для всіх a, b, c ÎA виконується a Ä (b Å c) = (a Ä b) Å (a Ä c), то стверджують, що операція Ä має властивість – дистрибутивність відносно операції Å.
Якщо для бінарної операції Ä на множині А існує елемент е Î А такий, що для всіх а Î А: е Ä а = а Ä е = а, тоді е називається нейтральним елементом (одиницею або нулем) відносно операції Ä.
Нехай Ä – операція на А з нейтральним елементом е і елементи х, у Î А задовольняють рівності: х Ä у = е = у Ä х. Тоді у називається оберненим елементом до х відносно операції Ä, і х називається оберненим елементом до у відносно операції Ä. Обернений елемент ще називають симетричним або протилежним.
Іноді розрізняють ліві та праві одиниці і ліві та праві обернені елементи, однак у більшості випадків вони є двосторонніми.
Нехай n – довільне натуральне число. Додаванням за модулем n цілих чисел a і b називається алгебраїчна операція, результатом якої є решта (остача) від ділення суми a + b на n. Множенням за модулем n цілих чисел a і b називається алгебраїчна операція, результатом якої є решта (остача) від ділення добутку a * b на n. Ці операції ( Ån, Än ) визначені на множині цілих невід’ємних чисел Z+ .
Алгебраїчною структурою (алгеброю) називається множина разом із заданими операціями, визначеними і замкненими на цій множині. Ця множина називається носієм алгебраїчної структури.
Алгебраїчна структура S¢ – ( А¢, Å¢ ) є підструктурою алгебраїчної структури S – ( А, Å ), якщо: А¢ Ì А; Å¢ і Å операції одного порядку і звуження операції Å на підмножині А¢ співпадає з операцією Å¢. Очевидно, що найбільшою підструктурою структури S є сама структура S. У деяких випадках інших підструктур може не бути. Відношення між алгебраїчними структурами можуть бути не тільки такі, що включають (структура – підструктура). Можливі й інші відношення, що дозволяють здійснювати перехід від структури до структури, з втратою деякої інформації або без втрати інформації.
Нехай задано дві структури (А, Ä), (С, Å) з операціями Ä, Å одного порядку n. Відображення j : А ® С називається гомоморфізмом із структури (А, Ä) у структуру (С, Å), якщо воно представлене операціями у такому вигляді:
j × Ä = Å × j¢, де відображення j¢ : Аn ® Сn діє за правилом
j¢(а1, а2, ... , аn) = ( j(а1), j(а2), ... , j(аn) ), " аі Î А. Для бінарних операцій, зокрема, j (х Ä у) = j (х) Å j (у) для будь-яких х, у Î А.
Гомоморфізм, який є бієкцією, називають ізоморфізмом. Якщо існує ізоморфізм між двома алгебраїчними структурами, то говорять, що вони ізоморфні одна одній. Відношення ізоморфізму – це відношення еквівалентності на множині алгебраїчних структур, тому ізоморфізм розбиває множину всіх алгебраїчних структур на класи еквівалентності. Використовуючи ізоморфізм, можна здійснювати еквівалентні перетворення алгебраїчних структур.
Півгрупою називається алгебраїчна структура з множиною-носієм А і бінарною операцією Ä: А2 ® А, яка задовольняє властивості асоціативності.
Якщо бінарна операція півгрупи – комутативна, то півгрупу називають комутативною, або абелевою. Півгрупа з одиницею є моноїдом.
Групою називають множину G з бінарною операцією Ä, що замкнена в G, такою, що: Ä – асоціативна; існує нейтральний елемент е Î G (одиниця) відносно Ä; кожному елементу х Î G відповідає обернений (симетричний, протилежний) елемент х¢ Î G відносно Ä. Число елементів групи називають її порядком.
Група, в якій бінарна операція комутативна, є комутативною, або абелевою. Групу, всі елементи якої є степенями одного елемента а , називають циклічною.
Кільцем (R, Å, Ä) називається множина R з визначеними на ній бінарними операціями Å і Ä, такими, що: Å – асоціативна і комутативна та має одиницю, яка називається нулем; існує обернений (симетричний) елемент відносно Å для кожного х Î R; Ä – асоціативна і дистрибутивна відносно Å зліва і справа.
Будемо вважати, що кільце комутативне, якщо бінарна операція Ä – комутативна і є кільцем з одиницею, якщо існує одиниця відносно Ä. Кільце з одиницею часто називають алгеброю.
Поле (R, Å, Ä) – це комутативне кільце з одиницею (відносно Ä, що відрізняється від нуля (нейтрального елемента відносно Å)), в якому кожний елемент а (що відрізняється від нуля) обернений за Ä. Поле можна визначити як об’єднання двох абелевих груп, пов’язаних одним законом дистрибутивності.
Алгебри – це множини, на яких задані операції. Множини, де крім операцій задані відношення, називають алгебраїчними системами. Тобто, алгебраїчні структури можна вважати окремим випадком алгебраїчних систем (в яких множина відношень – порожня). Прикладом алгебраїчної системи, що найчастіше трапляється в теоретичній алгебрі та її застосуваннях є гратка.
Граткою називають частково впорядковану множину, в якій для будь-яких двох елементів a і b існують: a Ù b = с – така нижня грань a та b, що будь-яка інша нижня грань a і b менша за с; a Ú b = d – така верхня грань a та b, що будь-яка інша верхня грань a і b більша за d.
Отже, гратка – це алгебраїчна система (М; £; Ù; Ú) з одним бінарним відношенням часткового порядку та двома бінарними операціями (Ù і Ú), які є абстрактними операціями алгебраїчної системи.
Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання та перепишіть у звіт формулювання цього завдання.
3. Визначте, чи замкнені дані операції відносно заданих множин.
4. Визначте, чи мають зазначені операції наведені властивості.
5. Зобразіть у вигляді таблиці основні типи алгебр і вкажіть властивості та відповідні елементи першого (адитивного) і другого (мультиплікативного) законів алгебри.
6. Визначте тип заданих алгебраїчних структур (алгебр).
Контрольні запитання:
1. Що називають операцією на множині?
2. Які операції називають бінарними?
3. Які існують способи запису операцій?
4. Що представляє собою наступна властивість операцій: комутативність?
5. Що представляє собою наступна властивість операцій: асоціативність?
6. Що представляє собою наступна властивість операцій: дистрибутивність?
7. Що називають алгебраїчною структурою?
8. Що називають гомоморфізмом алгебр?
9. Що називають ізоморфізмом алгебр?
10. Коли вважають, що операція є замкненою відносно множини?
11. Який елемент множини називають нейтральним (одиницею або нулем)?
12. Який елемент множини називають симетричним (оберненим або протилежним)?
13. Що називають півгрупою?
14. Що називають групою?
15. Що представляє собою кільце?
16. Що називають тілом?
17. Що представляє собою поле?
18. Що називають алгебраїчною системою?
19. Що представляє собою гратка?
20. Яке практичне застосування мають алгебраїчні структури та системи?
Студенти повинні знати:
1. основні поняття, означення та властивості алгебраїчних структур;
2. способи задання множин та операцій на них;
3. типи алгебр та їх особливості;
4. алгебраїчні операції та їх властивості;
5. загальну характеристику алгебраїчних систем.
Студенти повинні вміти:
1. використовувати спеціальні позначення введені для алгебраїчних структур і систем;
2. задавати множини та операції на них;
3. працювати з алгебраїчними структурами;
4. досліджувати властивості алгебраїчних структур і систем;
5. визначати тип алгебр.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №2
Завдання
Визначити, чи замкнені дані операції відносно заданих множин:
№
операції
множини
x + y; x * y; x – y;½x – y½;
max (x, y); min (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 12, xÎZ}; X2 = {x│– 7 £ x £ + 7, xÎZ}
Визначити, чи мають зазначені операції наведені властивості:
№
операції
властивості
x + y; x * y; x – y;½x – y½;
max (x, y); min (x, y)
асоціативність
комутативність
має нейтральний елемент
Позначаючи на певній множині Х одну або дві операції і наділяючи їх певними властивостями, а також визначаючи структуру множини (наявність нейтрального та оберненого елемента), дістанемо різні типи алгебр. Зобразити у вигляді таблиці ті, які найчастіше використовуються, і вказати властивості та відповідні елементи першого (адитивного) і другого (мультиплікативного) законів алгебри.
Визначити тип алгебр:
№
алгебраїчна структура
( R, + ); ( N, + ); ( R, * ); ( N, * ); ( R+, * );
( R, +, * ); ( Zn, Ån, Än )
Розв’язок
3. Визначаю, чи замкнені дані операції відносно заданих множин:
x + y
x * y
x – y
½x – y½
max (x, y)
min (x, y)
–x
½x½
Z
+
+
+
+
+
+
+
+
N
+
+
–
+
+
+
–
+
X1
–
–
–
+
+
+
–
+
X2
–
–
–
–
+
+
+
+
4. Визначаю, чи мають зазначені операції наведені властивості:
x + y
x * y
x – y
½x – y½
max (x, y)
min (x, y)
асоціативність
+
+
–
–
+
+
комутативність
+
+
–
+
+
+
має нейтральний елемент
+
+
–
+
–
–
5. Зображаю у вигляді таблиці основні типи алгебр і вказую властивості та відповідні елементи першого (адитивного) і другого (мультиплікативного) законів алгебри:
Тип алгебри
Перший закон алгебри
(адитивний)
Другий закон алгебри (мультиплікативний)
властивості
елементи
властивості
елементи
асоціативність
комутативність
нейтральний
симетричний
асоціативність
комутативність
нейтральний
симетричний
Півгрупа
+
Абелева півгрупа
+
+
Півгрупа з нулем (одиницею)
+
+
Абелева півгрупа з нулем
+
+
+
Група
+
+
+
Абелева (комутативна) група
+
+
+
+
Асоціативне кільце
+
+
+
+
+
Абелеве (комутативне) кільце
+
+
+
+
+
+
Кільце з одиницею (унітарне)
+
+
+
+
+
+
Абелеве кільце з одиницею
+
+
+
+
+
+
+
Тіло
+
+
+
+
+
+
+
Поле (комутативне тіло)
+
+
+
+
+
+
+
+
6. Визначаю тип заданих алгебраїчних структур (алгебр):
( R, + ) – множина дійсних чисел разом з операцією додавання є абелевою групою; ( N, + ) – множина натуральних чисел разом з операцією додавання є абелевою півгрупою; ( R, * ) – множина дійсних чисел разом з операцією множення є абелевою півгрупою з одиницею; ( N, * ) – множина натуральних чисел разом з операцією множення є абелевою півгрупою з одиницею;
( R+, * ) – додатна підмножина множини дійсних чисел разом з операцією множення є абелевою групою;
( R, +, * ) – множина дійсних чисел із стандартними операціями додавання і множення є полем і складається з абелевих груп ( R, + ), ( R \ {0}, * ), операції в яких зв’язані відповідним законом дистрибутивності;
( Zn, Ån, Än ) – множина цілих невід’ємних чисел, менших за n, із стандартними операціями додавання за модулем n та множення за модулем n є комутативним кільцем з одиницею при будь-якому n Î N. Якщо n – просте число, то алгебра ( Zn, Ån, Än ) є полем.
Завдання
Визначити, чи замкнені дані операції відносно заданих множин:
№
операції
множини
x + y; x – y;½x – y½;
max (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 15, xÎZ}; X2 = {x│– 9 £ x £ + 9, xÎZ}
x * y; x – y;½x – y½;
max (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 13, xÎZ}; X2 = {x│– 5 £ x £ + 5, xÎZ}
x + y; x – y;½x – y½;
min (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 14, xÎZ}; X2 = {x│– 8 £ x £ + 8, xÎZ}
x * y; x – y;½x – y½;
min (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 18, xÎZ}; X2 = {x│– 6 £ x £ + 6, xÎZ}
x + y; x * y;½x – y½;
max (x, y); –x; ½x½
Z (цілі числа); N (натуральні числа);
X1 = {x│0 £ x £ 19, xÎZ}; X2 = {x│– 4 £ x £ + 4, xÎZ}
Визначити, чи мають зазначені операції наведені властивості:
№
операції
властивості
x * y; x + y;½x – y½; min (x, y)
асоціативність
комутативність
має нейтральний елемент
x + y; x – y;½x – y½; min (x, y)
x * y; x – y;½x – y½; max (x, y)
x + y; x – y;½x – y½; max (x, y)
x * y; x – y;½x – y½; min (x, y)
Позначаючи на певній множині Х одну або дві операції і наділяючи їх певними властивостями, а також визначаючи структуру множини (наявність нейтрального та оберненого елемента), дістанемо різні типи алгебр. Зобразити у вигляді таблиці ті, які найчастіше використовуються, і вказати властивості та відповідні елементи першого (адитивного) і другого (мультиплікативного) законів алгебри.
Визначити тип алгебр:
№
алгебраїчна структура
( R, + ); ( R, * ); ( N, * ); ( Zn, Ån, Än )
( N, + ); ( R, * ); ( R+, * ); ( R, +, * )
( R, + ); ( N, + ); ( R+, * ); ( Zn, Ån, Än )
( R, * ); ( N, * ); ( R+, * ); ( R, +, * )
( N, + ); ( N, * ); ( R+, * ); ( Zn, Ån, Än )
Практична робота №3
Застосування основних комбінаторних схем для розв’язання задач.
Мета: Навчитися застосовувати основні комбінаторні схеми для
розв’язування типових задач комбінаторики.
Теоретичні відомості:
Комбінаторика або комбінаторний аналіз – розділ дискретної математики, що вивчає комбінації і перестановку предметів, взаємне розташування частин скінчених множин предметів довільного походження, а також нескінченних множин, які задовольняють деякі умови підпорядкованості. Виникла комбінаторика у XVII столітті, але у самостійну наукову дисципліну комбінаторний аналіз сформувався лише у ХХ столітті. Комбінаторні методи застосовуються в теорії ймовірностей, випадкових процесах, статистиці, математичному програмуванні, плануванні експериментів. Розглядаються задачі, в яких доводиться обирати ті чи інші предмети, розташовувати їх у певному порядку і знаходити серед різноманітних комбінацій найкращі. Комбінаторика тісно зв’язана з теоріями чисел, графів, скінченних автоматів. Її досягнення використовуються під час планування та аналізу наукових експериментів, у лінійному та динамічному програмуванні, у математичній економіці, у системах проектування та керування, у комп’ютерних науках та інших галузях науки і техніки.
Виділяють такі проблеми (основні типи задач) комбінаторного аналізу: задачі на перелічення, задачі про існування та побудову, задачі про вибір. У задачах на перелічення необхідно визначити кількість розміщень елементів скінченної множини, що задовольняють певні умови. Для розв’язку задач перелічення розроблено різноманітні методи, серед яких метод продуктивних функцій і метод перелічення Поя. У задачах про існування та побудову розглядаються питання: чи має місце визначена конфігурація частин скінченної множини з деякими властивостями; якщо така конфігурація існує, то як її побудувати. При цьому важливу роль відіграють чисельні та алгебраїчні методи. Задачі про вибір досліджують умови, за яких можна здійснити вибір підмножини або деякої сукупності частин множини так, щоб задовольнити певні вимоги. Для розв’язку задач про вибір, крім комбінаторних методів, треба застосовувати алгебраїчний апарат.
Правило добутку комбінаторного аналізу: нехай предмет а1 можна обрати m1 способами, предмет а2 – m2 способами, ... , предмет аk – mk способами і нехай вибір предмета а1 не впливає на кількість способів вибору предметів а2, ... , аk; вибір предмета а2 не впливає на кількість способів вибору предметів а1, а3, ... , аk і т. д. Тоді вибір упорядкованої множини предметів (а1, а2, ... , аk) у вказаному порядку можна здійснити m1 * m2 * … * mk способами.
Правило суми комбінаторного аналізу: нехай предмет а1 можна обрати m1 способами, предмет а2 – m2 способами, ... , предмет аk – mk способами. Тоді вибір предмета а1, або а2, ... , або аk може бути зроблений m1 + m2 + … + mk способами.
Нехай M={а1, а2, ... , аn} – фіксована множина. Упорядковані підмножини з k елементів множини М називаються перестановками k елементів. Можна сказати, що k-перестановки – це розміщення у визначеному порядку k елементів з множини М. k-перестановки множини з n елементів називаються розміщеннями з n по k елементів. Якщо у перестановці беруть участь всі елементи множини (n-перестановка), то використовують термін перестановка, а кількість всіх n-перестановок позначають через . Два розміщення з n по k різні, якщо вони складаються з різних елементів або з однакових елементів, але розміщених у різному порядку. Кількість розміщень з n по k елементів: . Кількість всіх перестановок з n елементів: . Розміщення і перестановки обов’язково враховують порядок елементів. Розміщенням з повтореннями з n елементів по k називається кортеж (вибірка з повторенням) довжини k з n елементів. Кількість k-розміщень з повтореннями з n елементів обчислюється за формулою: .
Кількість n-перестановок з повтореннями, які містять n1 елементів першого типу, n2 елементів другого типу, ... , nk елементів k-го типу (n1+n2+... +nk =n): .
У тих випадках, коли не важливий порядок елементів у вибірці, а цікавить лише її склад, використовують термін сполучення (комбінації). Сполученням з n елементів по k називається будь-яке k-розміщення (k-вибірка) з цих елементів, в якому враховується лише склад елементів і не враховується їх порядок. Кількість k-сполучень з n елементів: . Кількість k-сполучень з повтореннями з елементів n типів: .
Біноміальна формула: .
Композиції числа – це його розкладання у суму натуральних доданків, де враховуються як величини доданків, так і порядок їх розташування у сумі. Розбиттям числа називається його розкладання у суму натуральних доданків, де враховуються величини доданків, але не враховується порядок їх розташування у сумі.
Досить часто у комбінаториці використовують рекурентні співвідношення. Метод рекурентних співвідношень полягає у тому, що розв’язок комбінаторної задачі з n предметами виражається через розв’язок аналогічної задачі з меншою кількістю предметів за допомогою деякого співвідношення, яке називається рекурентним (зворотним). Користуючись цим співвідношенням, шукану величину можна обчислити, виходячи з того, що для невеликої кількості предметів розв’язок задачі легко знаходиться.
Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання 1 та перепишіть у звіт формулювання цього завдання.
3. Знайдіть кількість слів, які можна утворити, переставляючи букви заданого слова.
4. Виберіть згідно номеру свого варіанту дані для завдання 2 та перепишіть у звіт формулювання цього завдання.
5. Знайдіть кількість способів розміщення Nрізних предметів у M урнах (з урахуванням і без урахування порядку розміщення предметів в урнах).
6. Виберіть згідно номеру свого варіанту дані для завдання 3 та перепишіть у звіт формулювання цього завдання.
7. Визначте кількість невід’ємних цілих розв’язків заданого рівняння при вказаних умовах.
8. Виберіть згідно номеру свого варіанту дані для завдання 4 та перепишіть у звіт формулювання цього завдання.
9. Вкажіть порядок розкладу заданого виразу за допомогою біноміальної формули.
Контрольні запитання:
1. Для розв’язку яких задач використовують комбінаторику?
2. Що представляє собою правило добутку комбінаторного аналізу?
3. Що представляє собою правило суми комбінаторного аналізу?
4. Що представляє собою множина?
5. Що представляє собою кортеж?
6. Що представляє собою вибірка?
7. Яку вибірку називають розміщенням?
8. Яку вибірку називають сполученням?
9. Яку вибірку називають перестановкою?
10. Яким чином можна обчислити кількість перестановок?
11. Як можна обчислити кількість перестановок із повтореннями?
12. Яким чином можна обчислити кількість сполучень?
13. Як можна обчислити кількість сполучень із повтореннями?
14. Яким чином можна обчислити кількість розміщень?
15. Як можна обчислити кількість розміщень із повтореннями?
16. Які позначення використовують у комбінаторному аналізі?
17. Які властивості характерні для сполучень?
18. Що представляють собою композиції та розбиття чисел7
19. Як можна обчислити кількість композицій числа?
20. Як можна обчислити кількість розбиттів числа?
21. Що представляє собою метод рекурентних співвідношень?
22. Що представляє собою формула включень та виключень?
23. Що представляє собою біноміальна формула?
24. Для чого використовують продуктивні функції?
Студенти повинні знати:
1. загальну характеристику та історію розвитку комбінаторики;
2. основні поняття, означення та правила комбінаторного аналізу;
3. загальну характеристику розміщень, сполучень та перестановок;
4. основні типи комбінаторних задач та методи їх розв’язку.
Студенти повинні вміти:
1. використовувати спеціальні позначення введені для комбінаторного аналізу;
2. знаходити кількість розміщень, сполучень та перестановок (з повтореннями і без них);
3. застосовувати основні комбінаторні схеми для розв’язування задач.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №3
Завдання
1. Знайти кількість слів (рядків), які можна утворити, переставляючи букви
наступного слова: PERSPECTIVE.
2. Скількома способами можна розмістити Nрізних предметів у M урнах (з урахуванням і без урахування порядку розміщення предметів в урнах) ?
N=21, M=6.
3. Визначити кількість невід’ємних цілих розв’язків рівняння при заданих умовах:
№
рівняння
умови
х1 + х2 + х3 + х4 + х5 = 25
х1 ≥ 1, х2 ≥ 2, х3 ≥ 3, х4 ≥ 4, х5 ≥ 5
4. Знайти розклад виразу (х + у)k для k = 4 (за допомогою біноміальної формули).
Розв’язок
1. Знаходжу кількість слів, які можна утворити, переставляючи букви слова PERSPECTIVE (11 букв). У цьому слові є повторні входження букв, тому треба використати формулу для знаходження кількості перестановок із повтореннями:
2. Знаходжу кількість способів розміщення 21 різних предметів у 6 урнах (з урахуванням і без урахування порядку розміщення предметів в урнах). Кількість розподілів різних предметів без урахування порядку предметів в урнах: кожний предмет можна покласти у будь-яку з 6 урн, тому за правилом добутку предмети можна розмістити mn = 621 способами.
Кількість розподілів різних предметів з урахуванням їх порядку в урнах: якщо не обмежувати кількість предметів в урнах і якщо предмети не розрізняти між собою, то кількість таких розподілів дорівнює . Кожному способу розподілу однакових предметів між урнами відповідає n! способів розподілу різних предметів з урахуванням їх порядку. За правилом добутку одержуємо шукану кількість розміщень предметів:
3. Визначаю кількість невід’ємних цілих розв’язків рівняння х1+х2+х3+х4+х5 = 25 за умов: х1 ≥ 1, х2 ≥ 2, х3 ≥ 3, х4 ≥ 4, х5 ≥ 5. Дана задача еквівалентна рівнянню х1+х2+х3+х4+х5 = 10 без обмежень; оскільки потрібно взяти щонайменше 1 елемент першого типу, 2 – другого, 3 – третього, 4 – четвертого і 5 елементів п’ятого типу – разом 1+2+3+4+5 =15 елементів; отже, 25 – 15 = 10 елементів залишається для довільного вибору.
4. Знаходжу розклад виразу (х + у)k для k = 4 (за допомогою біноміальної формули). Скориставшись біноміальною формулою можна записати:
Завдання
1. Знайти кількість слів (рядків), які можна утворити, переставляючи букви
наступного слова:
№
слово
CONCISENESS
ADDRESSLESS
EXCEEDINGLY
CANCELLABLE
NECESSITATE
2. Скількома способами можна розмістити Nрізних предметів у M урнах (з урахуванням і без урахування порядку розміщення предметів в урнах) ?
№
N
M
3. Визначити кількість невід’ємних цілих розв’язків рівняння при заданих умовах:
№
рівняння
умови
х1 + х2 + х3 + х4 + х5 + х6 = 32
х1 ≥ 4, х2 ≥ 3, х3 ≥ 1, х4 ≥ 8, х5 ≥ 2; х6 ≥ 5
х1 + х2 + х3 + х4 + х5 + х6 = 35
х1 ≥ 7, х2 ≥ 2, х3 ≥ 3, х4 ≥ 9, х5 ≥ 4; х6 ≥ 2
х1 + х2 + х3 + х4 + х5 + х6 = 39
х1 ≥ 3, х2 ≥ 8, х3 ≥ 5, х4 ≥ 3, х5 ≥ 7; х6 ≥ 6
х1 + х2 + х3 + х4 + х5 + х6 = 34
х1 ≥ 6, х2 ≥ 4, х3 ≥ 2, х4 ≥ 3, х5 ≥ 1; х6 ≥ 8
х1 + х2 + х3 + х4 + х5 + х6 = 37
х1 ≥ 5, х2 ≥ 6, х3 ≥ 7, х4 ≥ 1, х5 ≥ 4; х6 ≥ 3
4. Знайти розклад виразу (х + у)k для k = 7 (за допомогою біноміальної формули).
Практична робота №4
Знаходження мінімальних шляхів у зважених графах.
Мета: Навчитися задавати графи та працювати з ними; застосовувати основні алгоритми пошуку оптимальних маршрутів теорії графів для знаходження мінімальних шляхів у зважених графах.
Теоретичні відомості:
Теорія графів – одна з істотних частин математичного апарату інформатики та кібернетики. У термінах теорії графів можна сформулювати багато задач, пов’язаних із дискретними об’єктами. Такі задачі виникають у проектуванні інтегральних схем та схем управління, у дослідженні автоматів, в економіці й статистиці, теорії розкладів і дискретній оптимізації. Теорію графів застосовують у таких сферах, як фізика, хімія, теорія зв’язку, проектування обчислювальних машин, електротехніка, машинобудування, архітектура, дослідження операцій, генетика, психологія, соціологія, економіка, антропологія та лінгвістика. Ця теорія тісно пов’язана з багатьма розділами математики, серед яких теорія груп, теорія матриць, чисельний аналіз, теорія ймовірностей, топологія і комбінаторний аналіз. Теорія графів може бути математичною моделлю для будь-якої системи, що містить бінарне відношення.
Задачі відшукання оптимальних маршрутів у графах часто зустрічаються на практиці. У реальних задачах на графах, як правило, потрібно брати до уваги додаткову інформацію – фактичну віддаль між окремими пунктами, вартість проїзду, час проїзду. Для цього використовують поняття зваженого графа. Зваженим називають простий граф, кожному ребру e якого приписано дійсне число w(e). Це число називають вагою ребра e. Аналогічно означають зважений орієнтований граф: це такий орієнтований граф, кожній дузі e якого приписано дійсне число w(e), яке називають вагою дуги. Існують такі основні способи задання (зберігання) зважених графів: подання графа матрицею ваг W, яка являє собою аналог матриці суміжності; подання графа списком ребер доповненим відповідними вагами; подання графа списками суміжності. Довжиною шляху в зваженому графі називають суму ваг ребер (дуг), які утворюють цей шлях. Якщо граф не зважений, то вагу кожного ребра (кожної дуги) вважають рівною 1 й отримують раніше введене поняття довжини шляху як кількості ребер (дуг) у ньому.
Задача про найкоротший шлях полягає в знаходженні мінімального (найкоротшого) шляху від заданої початкової вершини а до заданої вершини z. Наступні дві задачі – безпосередні узагальнення сформульованої задачі про найкоротший шлях: для заданої початкової вершини а знайти найкоротші шляхи від а до всіх інших вершин (задача 1); знайти найкоротші шляхи між усіма парами вершин графа (задача 2). Виявляється, що майже всі методи розв'язання задачі про найкоротший шлях від заданої початкової вершини а до заданої вершини z також дають змогу знайти й найкоротші шляхи від вершини а до всіх інших вершин графа. Отже, за їх допомогою можна розв'язати задачу 1 із невеликими додатковими обчислювальними витратами. З іншого боку, задачу 2 можна розв'язати або n разів застосувавши алгоритм задачі 1 із різними початковими вершинами, або один раз застосувавши спеціальний алгоритм. Розглянемо два алгоритми: перший алгоритм призначений для розв'язування задачі 1, другий – для задачі 2.
Найефективніший алгоритм визначення довжини найкоротшого шляху від фіксованої вершини до будь-якої іншої запропонував у 1959 році датський математик Е. Дейкстра (Е. Dijkstra). Цей алгоритм застосовний лише тоді, коли вага кожного ребра (дуги) додатна.
Нехай G = (V, Е) – зважений орієнтований граф, w(vi, vj) – вага дуги (vi, vj). Почавши з вершини а, знаходимо віддаль від а до кожної із суміжних із нею вершин. Вибираємо вершину, віддаль від якої до вершини а найменша; нехай це буде вершина v*. Далі знаходимо віддалі від вершини а до кожної вершини, суміжної з v* вздовж шляху, який проходить через вершину v*. Якщо для якоїсь із таких вершин ця віддаль менша від поточної, то замінюємо нею поточну віддаль. Знову вибираємо вершину, найближчу до а й не вибрану раніше; повторюємо процес.
Описаний процес зручно виконувати за допомогою присвоювання вершинам міток. Є мітки двох типів — тимчасові та постійні. Вершини з постійними мітками групують у множину М, яку називають множиною позначених вершин. Решта вершин має тимчасові мітки, і множину таких вершин позначимо як Т, Т = V \ M. Позначатимемо мітку (тимчасову чи постійну) вершини v як l(v). Значення постійної мітки l(v) дорівнює довжині найкоротшого шляху від вершини а до вершини v, тимчасової – довжині найкоротшого шляху, який проходить лише через вершини з постійними мітками. Фіксованою початковою вершиною вважаємо вершину а; довжину найкоротшого(мінімального) шляху шукаємо до вершини z (або до всіх вершин графа). Тепер формально опишемо алгоритм Дейкстри (наведемо кроки алгоритму).
Алгоритм Дейкстри:
Крок 1. Присвоювання початкових значень. Виконати l(a) : = 0 та вважати цю мі