Professional Documents
Culture Documents
DMA Udzbenik PDF
DMA Udzbenik PDF
ДИСКРЕТНА МАТЕМАТИКА
И
АЛГОРИТМИ
друго издање
Београд, 2012.
Аутори:
Др Ана Савић, мр Светлана Штрбац–Савић, дипл. инж. Амела Зековић
Рецензенти:
Др Слободан Обрадовић, доцент, Факултет за рачунарске науке у
Београду
Мр Зоран Мишковић, предавач, Висока школа електротехнике и
рачунарства струковних студија у Београду
Издавач:
Висока школа електротехнике и рачунарства струковних студија
Београд, Војводе Степе 283
Техничка обрада:
Др Ана Савић, дипл. инж. Амела Зековић
Корице:
Струк. инж. Ненад Толић
Слике:
Струк. инж. Мирко Ступар
Тираж: 15
У Београду, Аутори
17. 03. 2012.
Садржај
Увод 1
Језик математике 2
1. Основни појмови математичке логике 3
1.1. Логика 3
1.2. Математичка логика 4
1.2.1. Искази 5
1.3. Основне логичке операције 6
1.4. Приоритет логичких операција 12
1.5. Превод језичких реченица 12
1.6. Tаутологије и логички закони 13
2. Примена математичке логике у рачунарству и техници 19
2.1. Дигитална и логичка кола 20
3. Основни појмови теорије скупова 29
3.1. Појам скупа 29
3.2. Операције са скуповима 31
3.3. Број елемената скупа - кардинални број 35
3.4. Раселов парадокс 37
4. Релације 43
5. Функције 48
5.1. Начини задавања функција 50
5.2. Реалне функције једне променљиве 51
5.3. Инверзна функција 51
5.4. Слагање функција 52
6. Основе комбинаторике 54
6.1. Принципи пребројавања 54
6.2. Пермутације без понављања 55
6.3. Пермутације са понављањем 57
6.4. Варијације без понављања 57
6.5. Варијације са понављањем 58
6.6. Комбинације без понављања 59
6.7. Комбинације са понављањем 60
7. Биномна формула 67
8. Теорија графова 73
8.1. Основни појмови 74
9. Представљање графова помоћу рачунара 82
9.1. Шетње по графу 82
9.2. Матрица суседства 82
9.3. Матрице инциденције 85
10. Стабла 88
10.1. Бинарна стабла претраге 93
11. Теорија алгоритама 108
11.1. Алгоритми 108
11.2. Дијаграм- блок шема 110
11.3. Врсте алгоритамских шема 111
11.3.1. Линијске алгоритамске шеме 112
11.3.2. Цикличне алгоритамске шеме 114
11.4. Особине алгоритама 117
11.5. Провера исправности алгоритма 117
12. Математичка дефиниција алгоритма 122
12.1. Рекурзивне функције и алгоритми 123
12.2. Рекурзивни алгоритми 125
12.3. Черчова теза 127
12.4. Тјурингова машина 128
13. Теорија сложености aлгоритама 133
13.1. Проблеми одлуке 134
13.2. Рачунски ресурси 134
13.3. Неукротивост 135
13.4. Особине алгоритама 135
13.5. Претраживање 136
13.6. Секвенцијално претраживање 137
13.7. Оптимизације секвенцијалног претраживања 139
13.8. Секвенцијално претраживање у уређеним табелама 140
13.9. Бинарно претраживање 141
13.10. Претраживање коришћењем бинарног стабла 143
13.11. Основне операције бинарног стабла 145
13.12. Авл стабла 157
13.13. Црвено – црна стабла 160
14. Графовски алгоритми 162
14.1. Алгоритми - разапињућа стабла 162
14.2. Алгоритми - претрага у дубину 163
14.3. Алгоритам - стабло претраге у дубину 164
14.4. Алгоритми - претрага у ширину 167
14.5. Алгоритам - стабло претраге у ширину 168
14.6. Дајкастрин алгоритам 171
15. Булова алгебра 185
15.1. Основни појмови 185
15.2. Докази и аксиоме 187
15.3. Основне теореме 188
15.4. Бинарна булова алгебра 188
15.5. Булове функције 189
15.6. Дисјунктивне и конјуктивне форме 189
УВОД
математичке логике,
теорије скупова,
опште алгебре,
комбинаторике,
дискретне вероватноће ,
теорија графова,
теорија кодова,
алгоритамске структуре и слично.
1
ЦИЉ ПРЕДМЕТА
Основни циљеви су:
развијање способности логичког размишљања,
развијање логички исправне форме закључивања,
савладавање основне технике доказивања,
савладавање рада са симболичким изразима,
савладавање рада са дискретним структурама,
упознавање са основним техникама пребројавања,
схватање конструкција алгоритма,
савладавање теорије графова,
развијање способности коришћења математичке аргументације,
уочавање како резултате дискретне математике је могуће
користити у њеним применама.
ЈЕЗИК МАТЕМАТИКЕ
Поред говорног језика у математици се користе разни математички
знаци-симболи који чине језик математике. Тај језик је универзалан и
омогућава једноставно и свима разумљиво записивање математичких
садржаја.
2
1. ОСНОВНИ ПОЈМОВИ
МАТЕМАТИЧКЕ ЛОГИКЕ
ЦИЉЕВИ УЧЕЊА
Када савладате ово поглавље требало би да знате:
1. дефиницију исказа,
2. дефиниције логичких операција,
3. приоритете логичких операција,
4. шта су таутологије, а шта контрадикције,
5. основне логичке законе.
1.1. ЛОГИКА
3
Оснивач логике је грчки филозоф Аристотел (384-322 п.н.е.). Рођен je
у Стагири, грчкој колонији на македонском полуострву. Његов отац,
Никомах, радио је као дворски лекар код краља Аминтаса III
Македонског, деде Александра Великог. Од 18. до 37. године похађа
Академију као Платонов ученик. На позив краља Филипа II
Македонског постаје тутор Александра Великог, који је тада имао 13
година. Први је подробно обрадио законе логике и правила
закључивања у делу Органон, што у преводу значи оруђе. У овом делу
сачинио је први скуп правила дедуктивног закључивања.
4
1.2.1. ИСКАЗИ
Наравно, има и реченица, односно формула које нису искази. Такав је,
на пример, случај са формулама
x 1 3, x 1, 2, 3 , x 4 x
где слово x служи као заједничка ознака (каже се и променљива) за
реалне бројеве. У овом случају за разне вредности променљиве x из
датих формула настају посебне формуле и свака тако добијена
формула јесте исказ, односно тачна је или нетачна. Тако, за x 2
добијамо ове исказе
2 1 3, 2 1, 2, 3 , 2 4 2
чије истинитосне вредности су по реду T , T , . Друкчије се каже да 2
јесте решење прве две формуле, а није решење последње.
Променљива је уопште неко слово као x, y , које договорно служи
као заједничка ознака за чланове неког скупа. Некад се уместо је
променљива за реалне бројеве говорило је општи број.
5
Пример: Реченица p : 5 3 8 је исказ и има тачну истинитосну
вредност, тј. p T .
Пример:
p : Данас сија сунце.
q : Данас је 22. јул 2010.
Сложена реченица гласи
Данас сија сунце и данас је 22. јул 2010.
Састоји се од два дела спојених везником и. Симболички се може
написати p и q , или коришћењем ознаке за логичку операцију и,
, у облику p q .
6
У вези са сваком логичком операцијом размотримо тзв.
истинитосну таблицу.
p q pq
T T T
T
T
p q pq
T T T
T T
T T
7
Истинитосна таблица импликације
p q p q
T T T
T
T T
T
су тачне!
1 3 1 2 , 2 3 2 2 , 3 3 3 2 , 4 3 4 2 , ...
8
Које би требало прихватити као тачне. Међутим, управо у тим
формулама су присутни наведени необични случајеви тачности
импликације. Прве две формуле су у вези са случајем је T ,
трећа је у вези са случајем T је T , а остале су у вези са
„природним“ случајем T T је T .
ако p , онда q ,
p је претпоставка последице q ,
p повлачи q ,
из p следи q ,
p је довољан услов за q .
q је потребан услов за p .
конверзија q p,
инверзија p q ,
контрапозиција q p .
Пример:
Ако је он тенисер, онда је он популаран. (импликација)
Ако је он популаран, онда је он тенисер. (конверзија)
Ако он није тенисер, онда он није популаран. (инверзија)
Ако он није популаран, онда он није тенисер. (контрапозиција)
9
p q pq
T T T
T
T
T
Пример:
Ако је неки цео број једнак 3, онда је његов квадарат једнак 9.
Пример:
Троугао је правоугли, ако и само ако, је збир квадрата над катетама
једнак квадрату над хипотенузом.
Пример:
Број је дељив са 6, акко је дељив са 2 и са 3.
p p
T
T T
T
10
Пример 1. Решити дату формулу, односно наћи све вредности
одговарајућих променљивих за које је истинитосна вредност
формуле једнака T :
а) 3 x 5 10 (где x ),
б) x 6 (где x ),
в) x x 9 ,
г) x 3 x 5 x ,
д) x 1 x 5 x .
Дефиниција: Знаке p, q, r , s , p1 , q1 , r1 , s1 , , pn , qn , rn , sn ,
назовимо, договорно, исказна слова.
Тада се исказне формуле уводе на следећи начин:
r s , p q3 , r , r s2 , p q , p q .
Напомена. Обично се и у случају исказних формула, ради краткоће,
изостављају неке заграде. Један такав договор се односи на
изостављање спољних заграда, па се, рецимо формуле r s , p q ,
p q , p q r означавају краће овако: r s , p q , p q ,
p q r .
Пример 5. p q p, p q r , p p q су формуле.
11
1.3.1. ПРИОРИТЕТ ЛОГИЧКИХ
ОПЕРАЦИЈА
Пример:
Аутоматски, одговор не може бити послат ако је унутрашња
меморија пуна .
Нека је реченица p : Одговор се аутоматски шаље.
Нека је реченица q : Унутрашња меморија је пуна.
Онда p је реченица: Одговор се не шаље аутоматски.
Логички запис би био q p .
12
1.4. ТАУТОЛОГИЈЕ И ЛОГИЧКИ
ЗАКОНИ
Закон идемпотенције
p p p,
p p p.
Двострука негација
p p.
Комутативност
p q q p,
p q q p.
Асоцијативност
p q r p q r,
p q r p q r.
Дистрибутивност
p q p r p q r,
p q p r p q r .
Де Морганови закони
p q p q ,
p q p q .
13
ЗАДАЦИ И ПИ ТАЊА ЗА ПРОВ ЕРУ ЗНАЊА
1. Шта је исказ?
2. Навести основне логичке операције.
3. Шта је таутологија?
4. Невести основне логичке законе.
5. Испитати да ли су дате реченице искази:
1 1
а) , б) x 2 y 2 2 xy ,
7 4
2
в) 2 2 , г) x 2 y .
Решење:
а) да, б) да,
в) да, г) не.
2
в) 2 2 , г) 1 3 3 5 .
Решење:
1 1
а) ,
7 4
б) x 2 y 2 2 xy T ,
в) 2
2
2 ,
г) 1 3 3 5 T T T .
7. Дати су искази:
1 1 1 1 10 1 1 1 1 37
p : , q : ,
2 3 4 5 3 2 3 4 5 6
1 1 1 1 1 1 1 1 2
r : 7 , s : .
2 3 4 5 2 3 4 5 5
14
Одредити њихову тачност и на основу тога одредити истинитосну
вредност следећих изказа:
а) p q r , б) p q r s ,
в) p q r s , г) p q r s .
Решење:
Како је p T , q T , r , s ,
а) p q r ( T T ) T T ,
б) p q r s ( T T ) T T ,
в) p q r s ,
г) p q r s .
8. Дати су искази:
3 5 2 2
p 4 x4 y3 : 2 x 2 y 2 x 2 y3 , q 3x 4 y 2 : 3x 6 y 3 xy 4 ,
2
r 2 x y 2 x y 4 x 2 y 2 , s x 2 y x 2 4 xy 4 y 2 .
а) p q r , б) p q r s ,
в) p q r s , г) p q r s .
Решење:
Како је p , q , r T , s ,
а) p q r T ,
б) p q r s ,
в) p q r s T ,
г) p q r s .
15
Решење:
Ако x 2 , онда је x 0 ,
x 2 је претпоставка последице x 0 .,
x 2 повлачи x 0 ,
из x 2 следи x 0 ,
x 2 је довољан услов за x 0 .
x 0 је потребан услов за x 2 .
p q инверзија
x 2 x 0 x 2 x 0
q p контрапозиција
x 0 x 2 x 0 x 2 .
11. Испитати да ли су исказне формуле таутологије:
а) p q p q , б) p q p q ,
в) p q p , г) p p p ,
д) p q r p r q r .
Решење:
а) p q p q , је таутологија.
Нека је p q A , и p q B .
p p p q p q A B F
T T T T
T T T T T
T T T T T
T T T T T
16
б) p q p q је таутологија,
в) p q p је таутологија,
г) p p p је таутологија,
д) p q r p r q r .
Нека је M p q r , N p r q r и
F p q r p r q r .
p q r p q M p r q r N F
T T T T T T T T T
T T T T T T
T T T T T T T T
T T T
T T T T T T T T
T T T
T T T T
а) p q q p закон комутације,
б) p q p q Де Морганов закон,
в) p p p закон иденпотенције,
д) p q p r p q r закон дистрибуције.
17
13. Методом свођења на противречност испитати да ли је следећа
формула таутологија p q p p .
Решење:
Ако посматрана формула не би била таутологија, морало би бити,
за неке вредности p и q који се појављују у овој формулу да је
p q p p . То се може десити у случају да је
p q p T и p . На основу тога добијамо да је
p q T , односно p q . Овај израз може бити
нетачан само у једном случају, а то је када је p T и q .
Како смо већ претпоставили да је p , долазимо до
контрадикције. Значи не можемо наћи вредности израза p и q за
које је полазна формула нетачна. Према томе полазна формула
мора бити таутологија.
КЉУЧНЕ РЕЧИ
Исказ
Конјункција
Дисјункција
Импликација
Еквиваленција
Негација
Таутологија
Контрадикција
18
2. ПРИМЕНА МАТЕМАТИЧКЕ
ЛОГИКЕ У РАЧУНАРСТВУ И
ТЕХНИЦИ
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите моћи ћете да:
0110110110
1100011101 AND
0100010100
0110110110
1100011101 OR
1110111111
19
Рачунари морају имати могућности да меморишу и обрађују и
ненумеричке, односно текстуалне податке. Они су или низови
(string) или знакови (charácter data), затим слова, знакови
интерпункције, математички знаци, специјални знаци и слично.
Подаци овог типа су меморисан у облику низа битова. Данас се
користе ASCII и EBCDIS код. На пример 1111001 представља
слово б.
20
Дигитална кола су тако пројектована да имплементирају принципе
бинарне аритметике и математичке логике.
Пример:
Посматрајмо прекидачко коло које садржи прекидач и сијалицу.
Вредност 1 додељујемо прекидачима p и q када су затворени, тј
ако кроз њих протиче струја. У супротном додељујемо им вредност
0. Када су прекидачи редно везани, сијалица ће светлети и коло ће
имати вредност 1 само ако су оба прекидача p и q затворена.
Према томе, ово коло ће одговарати исказу p и q , односно p q и
зове се АND –и коло.
21
Пример:
Посматрајмо прекидачко коло у коме су прекидачи p и q везани
паралелно. Када су прекидачи паралелно везани, сијалица ће
светлети ако је p 1 или q 1 и коло ће имати вредност 1 ако је
бар један прекидача p и q затворен. Према томе, ово коло ће
одговарати исказу p или q , односно p q и зове се ОR- или коло.
22
Коло са једним прекидачем p , у коме сијалица светли само ако је
прекидач отворен. Према томе коло ће имати вредност 1 ако је
прекидача p затворен, односно ако је p једако 0. Такво коло
назива се не коло или инвертор.
p
23
ЗАДАЦИ И ПИ ТАЊА ЗА ПРОВ ЕРУ ЗНАЊА
Решење:
а)
б)
9. Формули p q r одредити:
а) прекидачку шему,
б) дигитално логичко коло.
Решење:
24
а)
б)
а) p q r s ,
б) p q r s ,
в) p q r ,
г) p q p r ,
д) p q p r r .
25
а)
б)
в)
26
Решење:
а) p q r p q
б)
Решење:
а)
p q r .
27
КЉУЧНЕ РЕЧИ
Бит
Бајт
Прекидачка алгебра
И коло
ИЛИ коло
НЕ коло
Прекидачка шема
Дигитална логичка кола
28
3. ОСНОВНИ ПОЈМОВИ
ТЕОРИЈЕ СКУПОВА
ЦИЉЕВИ УЧЕЊА
29
Скуп који нема елемената назива се празан скуп и обележава са
.
A B x x A x B .
A B x x A x B .
30
Партитивни скуп P A датог скупа A , је скуп свих
подскупова датог скупа, тј. P A X X A .
Пример:
A 1, 2,3 , P A , a , b , c , a, b , b, c , a, c , a, b, c.
A A A
i 1 2 An .
i 1
31
Пресек скупова A и B је скуп A B x x A x B .
A A A
i 1 2 An .
i 1
32
Пример: A 1, 2 , B 2, 3, 6, 7 ; A \ B 1 , B \ A 3, 6, 7 .
A B A \ B B \ A .
Комплемент скупа A у односу на скуп B (или допуна скупа
A до скупа B ) где је A B је скуп CB A B \ A .
33
Декарт Рене (Descartes René, 1596-1650) је био велики француски
математичар и филозоф, али се данас његово име првенствено памти
по вези коју је успоставио између алгебре и геометрије. На тај начин
створио је нову научну дисциплину, аналитичку геометрију, која је
омогућила даљи напредак математике. Његово дело Геометрија (La
geometrie) поставило је основе данашњој аналитичкој геометрији.
Декарт је био први који је употребио последња слова алфабета да
означи непознате величине. О значењу тог открића Енгелс је рекао:
„Декартова променљива величина била је прекретница у математици.
Захваљујући томе ушли су у математику кретање и дијалектика, а исто
се тако одмах нужно дошло до диференцијалног и интегралног рачуна,
који се одмах и јавља, те су га Њутн и Лајбниц углавном довршили, а
нису га открили.“ У филозофији заступао је методу критичке сумње,
зачетник је новог филозофског правца рационализма. Методским
скептичким рашчишћавањем свега нејасног и несигурног и издвајањем
и одбацивањем непоузданог, Декарт долази до основне истине, која је
по његовом мишљењу потпуно поуздана, и из које ће настојати да
изведе читав свој филозофски систем. Та истина је садржана у његовој
познатој реченици "Мислим, дакле постојим" (Cogito, ergo sum).
1649. године Декарта је у Стокхолм позвала шведска краљица
Кристина да би је подучавао. Двадесеттрогодишња краљица је желела
да црта тангенте у пет сати ујутру, тако да је Декарт разбио своју
животну навику устајања у једанаест сати. Желећи да својим саветима
утиче на ћудљиву владарку тада моћне земље како би тиме учинио
нешто за мир у свету, Декарт је подносио сурове услове у земљи стена
и глечера и свако јутро ходао до палате. Не навикнут на хладноћу
шведских зима умро је 1650. године од запаљења плућа.
34
3.3. БРОЈ ЕЛЕМЕНАТА СКУПА -
КАРДИНАЛНИ БРОЈ
Пример:
Еуклидова аксиома каже: Целина је већа од дела.
2 1 2 2 2 3 2 4 2 n
Дакле k k 2 .
Још 1638 године Галилеј је сматрао да се овде ради о парадоксу.
Интиутивно се чини да је скуп природних бројева има више
елемената него скуп парних природних бројева.
35
Кардинални број скупа је већи од кардиналног броја скупа ,
значи можемо рећи да је неки бесконачни скуп „бесконачнији“ од
другог.
36
2.4 РАСЕЛОВ ПАРАДОКС
37
Јасно је зашто је ова теорија на почетку свога настанка имала
велики број противника. Међутим, почетком овог века када је
теорија скупова доживљавала свој процват и налази широку
примену у математици. Истовремено, уочене су и прве
противречности, односно парадокси. Најчувенији је Раселов
парадокс настао 1902. године.
Постоје разне интерпретације Раселовог парадоса, пардокс
берберина, пардокс библиотеке и многи други.
38
Расел је дефинисао појам класе и један од начина превазилажења
овог парадокса се своди, а се скуп свих скупова не сматра скупом,
већ класом, која је уопштење појма скупа.
Решење:
а) A B 1, 2,3, 4,5 , A B C 1, 2,3, 4,5, 6, 7 ,
б) A B 2,3 , A B C 2,3 ,
ц) A \ B 1 , C \ A 4,5, 6, 7 ,
д)
A B
1,1 , 1, 2 , 1,3 , 1, 4 , 2, 2 , 2,3 , 2, 4 , 2,5 , 3, 2 , 3,3 , 3, 4 , 3,5
39
P A ,1 , 2 , 3 , 1, 2 , 1,3 , 2,3 , 1, 2,3 .
14. Одредити елементе скупова A x x 2 1 0 x и
B x 2 x 1 7 x N , а затим израчунати A B, A B, A \ B и
B\ A.
Решење:
A 1,1 .
Како је 2 x 1 7 2 x 6 x 3 , а треба да узмемо само
природне бројеве
B 1, 2 .
A B 1 , A B 1,1, 2 , A \ B 1 , B \ A 2 .
Решење:
A 3, 4,5, 6, 7,8,9 и B 0,1, 2,3, 4,5, 6, 7 .
Решење:
A 0, 4, 6,8,9 , B 0, 2, 4 .
40
17. Дати су скупови A a, b, c, d , B a, b, 4 , C 2, 4, c ,
D a, b,3 и E 1, b . Одредити а,б,ц,д ако знамо да је B A ,
C A, D A и E B .
Решење: a 1, b 2, c 3, d 4 .
а) A A B A , б) A / B B ,
в) A B B A , г) A B C A B A C .
Решење:
а)
x A A B x A
x A x A B x A
x A x A x B x A
Ако уведемо ознаке: p : x A и q : x B , добијамо исказну
формулу
41
КЉУЧНИ ТЕРМИНИ
Скуп
Пресек скупова
Унија скупова
Разлика скупова
Подскуп
Партитивни скуп
Дисјунктни скупови
Уређени пар
Декартов производ
Комплемент скупа
Кардинални број
Алеф нула
Парадокс
42
4. РЕЛАЦИЈЕ
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите требало би да знате:
Дефиниција:
Релација је било који подскуп Декартовог производа произвољних
скупова. Ако је A B и x, y , кажемо да је x у релацији
са y и пишемо x y .
1 2 3 4
1 Τ Τ
2 Τ Τ
3 Τ
4 Τ
43
Ако A B , онда се скуп A2 A A назива Декартовим квадратом.
Дефиниција:
Дефиниција:
44
Ако је релација еквиваленције, онда се класа елемента x, у ознаци
C x дефинише као C x y x y
Скуп C x се зове количнички скуп.
45
ажурирања и брисања - које би могле да доведу до губитка интегритета
података. Едгар Франк Код (E. F. Codd), изумитељ, релационог модела,
је увео концепт нормализације као и појам који је данас познат као
прва нормална форма 1970. године. Код је осим тога дефинисао другу
и трећу нормалну форму 1971. Више нормалне форме су током
наредних година дефинисали други теоретичари. Најновија је шеста
нормална форма уведена 2002. године.
46
Од кључног значаја за разумевање МОВ-а је правити разлику
између појмова објекат (ентитет) и тип.
Тип представља дефинисиње, али не и опредмећивање, особина
и даје опсег релација које одређени објекти морају имати. Објекат
представља опредмећивање, конкретно појављивање неког типа.
Човек, као тип, има особине име, тежина и висина. Тиме је сам
тип дефинисан. С друге стране, ако кажемо да је Петар тежак 80 kg и
висок 180 cm, а Милан тежак 90 kg, а висок 170 cm, онда говоримо о
два конкретна појављивања типа човек, тј о два објекта која су типа
човек. Исто и када говоримо о релацијама, тј. односима, у дефиницији
типа човек можемо рећи да човек може да не вози ни једно возило, али
и да може возити бесконачно много возила. Али посебно ћемо за Петра
рећи да вози један аутомобил, а за Милана да вози комби и мотоцикл.
Релације представљају концепт који објашањава на који начин су два
или више објеката повезана. Ако узмемо бинарну релацију, тј. релацију
између два објекта, као базични тип релације, онда говримо о односу
где се релација, тј. однос може посматрати из два угла. У релацији
лечење, можемо да кажемо да доктор лечи пацијента, али и да је
пацијент излечен од стране доктора. За релације су од великог значаја
кардинални бројеви. Тако на пример доктор може да излечи
бесконачно много пацијената, али појединачни пацијент може бити
излечен од само једног доктора.
КЉУЧНЕ РЕЧИ
Релација
Рефлексивност
Симетричност
Транзитивност
Класе еквиваленције
Количнички скуп
Модел објекти – везе (МОВ)
47
5. ФУНКЦИЈЕ
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите требало би да знате:
48
Нека су A и B произвољни скупови. Пресликавање или функција
f : A B представља закон кореспонденције помоћу кога се
произвољном елементу x A додељује неки елемент y B такав де
је y f x .
Пример:
f x 3x 2 , A B , јесте бијекција.
2
f x 3x 2 , A , B 2, , није “ 1 1 ”, а јесте “на”, није
бијекција.
49
5.1. НАЧИНИ ЗАДАВАЊА ФУНКЦИЈА
Дефиниција:
Песликавање f : A2 A , називамо бинарном операцијом.
50
5.2. РЕАЛНЕ ФУНКЦИЈЕ ЈЕДНЕ
ПРОМЕНЉИВЕ
51
Пример:Одредити инверзну функцију функције f x x 2 .
Пошто је пресликавање f x x 2 f: није “ 1 1 ” односно
бијекција, не постоји инверзно пресликавање f 1 .
x A g f x g f x .
Функција g f назива се сложена функција.
Пример:
Дате су функције f x x 3 и g x 2 x x . Одредити f g , g f
и ff .
f g x f g x 2x 3 x .
g f x g f x 2x 6 x 3 .
f f x f f x x 6 .
52
Пример:
Ако су дати скупови A 1, 2,3 , B a, b, c и C 5,6, 7 , а
1 2 3 a b c
f : A B и g : B C ,где је f и g .
a b c 7 6 5
1 2 3
Тада је g f : A C и g f .
7 6 5
Пример:
Нека су функције задате формулама f x 2 x 1 и g x x 2 x 1 .
Тада је:
2
g f x g f x 2 x 1 2 x 1 1 4 x 2 6 x 3,
f g x f g x 2 x 2 x 1 1 2 x 2 2 x 2,
2
g g x g 2 x x 2 x 1 x 2 x 1 1 x 4 2 x3 4 x 2 3x 3,
f f x f x 2 2 x 1 1 4 x 3.
1. Појам функције.
2. Инверзна функција.
3. Слагање пресликавања.
4. Нека су функције задате формулама f x 2 x 1 и g x 3 x 2 .
Наћи f g x , g f x , f f x и g g x .
КЉУЧНE РЕЧИ
Функција
Домен
Кодомен
Инјекција (пресликавање „1-1“)
Сурјекција (пресликавање „на“)
Бијекција (пресликавање „1-1“ и „на“)
Инверзна функција
Слагање функција
Сложена функција
53
6. ОСНОВЕ
КОМБИНАТОРИКЕ
ЦИЉЕВИ УЧЕЊА
Када ово поглавље савладате требало би да знате:
1. технике пребројавања,
2. појам пермутација са и без понављања,
3. појам варијација са и без понављања,
4. појам комбинација са и без понављања.
Пример:
Дат је скуп 1, 2,3 . Колико има троцифрених бројева који почињу
цифром 2?
Са задатим цифрама можемо да формирама само 2 броја који почињу
цифром 2, а то су 213 и 231 .
54
Разликујемо три врсте различитих распореда и то су:
пермутације,
варијације,
комбинације.
Пример:
1 2 3 4 5
Једна пермутација скупа A 1, 2,3, 4,5 , је .
2 5 4 3 1
P n n n 1 2 1 n !
По дефиницији се узима да је 0! 1 .
Пример:
5! 5 4 3 2 1 =120.
Пример:
Дат је скуп A a1 , a2 . Колико има пермутација елемената овога
скупа, а да се елементи не понављају?
Има их две.
То су: a1a2 и a2 a1 .
P 2 2 P 1 2 1 2 .
55
Пример:
Дат је скуп A a1 , a2 , a3 . Колико има пермутација елемената
овога скупа, а да се елементи не понављају?
Има их шест.
То су: a1a2 a3 a1a3a2 a2 a1a3 a2 a3a1 a3 a1a2 и a3 a2 a1 .
P 3 3 P 2 3 2! 3 2 1 6
Пример:
Дат је скуп A a1 , a2 , a3 , a4 . Колико има пермутација елемената
овога скупа , а да се елементи не понављају ?
Има их 24 . То су:
a1a2 a3a 4 a2 a1a3a4 a3a1a2 a4 a4 a1a2 a3
a1a2 a 4 a3 a2 a1a4 a3 a3a1a4 a2 a4 a1a3a2
a1a3a2 a 4 a2 a3 a1a4 a3a2 a1a4 a4 a2 a1a3
.
a1a3a 4 a2 a2 a3 a4 a1 a3a2 a4 a1 a4 a2 a3a1
a1a4 a2 a3 a2 a4 a1a3 a3a4 a1a2 a4 a3 a1a2
a1a4 a3a2 a2 a4 a3a1 a3a4 a2 a1 a4 a3 a2 a1
P 4 4 P 3 4 3! 4 6 24 .
Пример:
На колико начина се могу распоредити 6 различитих књига на
полицу? P 6 6! 6 5 4 3 2 1 720 .
Пример:
Пчела треба да скупи полен са 7 различитих цветова. Када узме
полен са цвета она се на њега више не враћа. На колико начина
пчела може да обиђе свих 7 цветова?
P 7 7! 7 6 5 4 3 2 1 5040 .
56
6.3. ПЕРМУТАЦИЈЕ СА ПОНАВЉАЊЕМ
Пример:
Написати све пермутације елемената a, b, b .
Пример:
Одредити број пермутација елемената 0, 0, 0,1,1,1,1 .
7 7 3 7! 7 6 5 4!
Број пермутација је P3,4 7 35 .
3 4 3!4! 3!4!
k 1
Vkn n i n n 1 n k 1 .
i 0
57
f :AB.
Напомена:
У савременој литератури све се мање користи назив варијације, већ
назив к-пермутације.
Пример:
Дат је скуп A a1 , a2 , a3 . Колико има варијација друге класе
елемената овога скупа и како гласе?
Има их шест.
То су: a1a2 , a1a3 , a2 a1 , a2 a3 , a3a1 , a3a2 .
V23 3 2 6 .
Пример:
f :AB.
58
Пример:
Колико има двоцифтрних бројева који се могу написати са цифрама
1, 2,3 и како гласе?
Има их V23 32 9 .
То су: 11,12,13, 21, 22, 23, 31,32, 33 .
n Vkn n n n 1 n k 1
C
k
k! k k!
n
Израз чита се n над k .
k
n
је број свих поскупова датог скупа A који имају k елемената.
k
Пример:
Дат је скуп A a1 , a2 , a3 . Колико има комбинација друге класе
елемената овога скупа и како гласе?
3 3 2
Има их C23 3.
2 2!
То су: a1a2 a1a3 a2 a3 .
59
Пример:
Колико има троцифрених бројева који се могу написати користећи
цифре 1, 2,3 ?
Пример:
Колико има правих које се могу конструисати кроз неколинеарне
тачке A, B, C ?
n k 1
Ckn .
k
Пример:
На колико начина се 12 истих лопти може распоредити у 6
различитих кутија.
6 12 1
Има их C612 6188 .
12
60
ПИТАЊА И ЗАДАЦИ ЗА ПРОВ ЕРУ ЗНАЊА
Решење:
P 5 P 4 5! 4! 120 24 96 .
Решење:
а) P 4 4! 24 ,
б) 2 P 4 2 4! 48 ,
в) P 5 5! 120 ,
г) 2 P 5 2 5! 240 .
Решење:
abbc , abcb , acbb , babc , bbac , bbca , bcba , bacb , bcab , cabb ,
cbab , cabb .
61
4! 24
P2 4 12 .
2! 2
Решење:
8!
а) P4,3 8 280 ,
4! 3!
8!
б) P5,2 8 186 ,
5! 2!
8!
в) P5,3 8 56 .
5! 3!
Има их V23 32 9 .
То су: 11,12,13, 21, 22, 23, 31,32, 33 .
Решење:
а) 12,13,14, 21, 23, 24,31,32,34, 41, 42, 43 .
V24 4 3 12
б) 11,12,13,14, 21, 22, 23, 24,31,32, 33,34, 41, 42, 43, 44
V24 4 2 16 .
62
Решење:
V49 9 8 7 6 3024 .
Решење:
а) Ако се цифре у броју не понављају, бројева има
V410 V39 10 9 8 7 6 9 8 7 5040 504 4536 .
Решење:
2 V45 480 .
Решење:
V123 312 531441 .
Решење:
63
Ако број не садржи цифру 9, онда све његове цифре припадају
скупу 1, 2, ,8 .
Оваквих бројева има 910 1 1 3486 784 401 .
Одузимамо број састављен од свих нула, а додајемо 1010 .
Бројева који садрже цифру 9 има
1010 910 6513215599 , односно много више.
Решење:
15 15 14
C215 105 .
2 2 1
Решење:
5 54
C25 10 .
2 2 1
Решење:
V240C338 13160160 .
Решење:
Нека је дат скуп 1, 2, , k . Ако xi означава колико је пута изабран
елемент и из датог скупа, онда је свако решење x1 , x2 , , xk горње
једначине представља једну комбинацију са понављањем скупа од
k елемената са n понављања.
64
k n 1
.
n
18. Колико у граду има телефона са петоцифреним бројевима:
а) ако су све цифре различите,
б) ако се цифре понављају.
65
5!
Са 01 почиње првих 10 ,
3!2!
5!
Са 010 почиње такође првих 10 ,
3!2!
3!
Са 0101 почиње наредних 3 , а и са 01010 .
2!
Значи 14-та пермутација гласи 0101001, 15-та гласи 0101010.
25. Како гласи 15-та пермутација од основне 0000111 ?
Решење:
6!
14 : 14 : 20 , није дељиво, дакле прва цифра је 0.
3!3!
5!
14 : 14 :10 1 4 , дакле прескочити нулу и следећа цифра је
2!3!
1.
4!
4: 4 : 6 , није дељиво, дакле наредна цифра је 0.
2!2!
3!
4 : 4 : 3 11 , дакле прескочити нулу и следећа цифра је 1.
2!
1: 2! , није дељиво, дакле наредна цифра је 0.
1:1 1 0 , дакле прескочити нулу и следећа цифра је 1.
КЉУЧНE РЕЧИ
Пребројавање
Факторијел
Пермутације
Варијације
Комбинације
66
7. БИНОМНА ФОРМУЛА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље савладате требало би да знате:
n
Израз се назива биномни коефицијент и дефинише као:
k
n n n 1 n 2 n k 1 n! n
.
k k! k ! n k ! n k
n n n 1 n n
и 1.
k 1 k k 0 n
Биномна формула:
n,k .
n
Општи члан биномног развоја је облика Tk 1 a n k bk .
k
Пример:
6
1
Развити по биномној формули x .
x
67
6
1 6 6 4 6 2 6 6 1 6 1 1
x x 1 x 2 x 3 4 2 5 4 6
x x x x
15 6 1
x 6 6 x 4 15 x 2 20 2 4 6 .
x x x
Пример:
12
12 2
Одредити пети члан у развијеном облику бинома x x 3 .
12 4 4
12 12 23 20
T5 x x 495 x 3 .
4
Пример:
n n n n
Доказати 2n .
0 1 2 n
Пример:
n n n n n
Доказати
0 2 4 1 3
Ако у биномној формули ставимо да је a 1 и b 1 добићемо
тражену везу.
n
1. Колико је ?
0
n
2. Колико је ?
n
3. Одредити члан који у развијеном облику бинома не садржи x .
2 12
x x .
Решење:
68
12 k 12 12
Tk 1 x12 k x 2 x12 k x 2 k x123k
k k k
12 3k 0 k 4
Тражени члан је
12 12 1110 9
T41 T5 x 0 495
4 1 2 3 4
11
1 1
4. Одредити члан који у развијеном облику бинома x 3 x 2
има x на пети степен.
Решење:
11 k k
11 1 1 11 11k k 11 22 k
Tk 1 x 3 x 2 x 3 x 2 x 6
k k k
22 k
5 k 8.
6
значи тражени члан је девети, тј
11 11 1110 9 5
T9 T81 x 5 x5 x 165 x 5 .
8
3
3 2 1
Решење:
Биномни коефицијент трећег члана износи
n n n 1
2 105 105 n 2 n 210 0 n 15 , n 14 . Како
1 2
n мора да буде позитиван број узимамо само да је n 15 .
15
1
Тражени бином гласи 9 x , а члан
3x
69
12
15 3 1 15 3 3 1 15 1 455
T13 T121 9 x 9 x 6 6 3 3
12 3x 15 12 3 x 3 x x
Решење:
n n n n n 1
0 1 1 46 1 n 46 n 9 .
2
9
1
Бином гласи x 2 .
x
k
9 9 k 1 9 1 9
Tk 1 x 2 x18 2 k k x183k
k x k x k
18 3k 0 k 6
9 9 987
Тражени члан је T61 T7 84 .
6 3 1 2 3
Решење:
n
Скуп од н елемената има подскупова од k елемената. Зато је
k
укупан број подскупова једнак броју
n n n
n n
n
2 .
k 0 k 0 1 n
Решење 2:
70
6. Ако су X и Y коначни скупови, колико има свих пресликавања
из X у Y?
Решење:
Нека је X x1 , x2 , , xm и Y n . Функција f : X Y је
одређена m -торком f x , f x , , f x .
1 2 m Како је
f xi Y i 1, 2, , m , тада је број ових m -торком је n m .
Решење:
Како је бинарна релација у скупу X по дефиницији сваки
подскуп Декартовог производа X 2 и како је X 2 n 2 , број
2
бинарних релација износи 2n .
x
1
8. Одредити x у изразу 3 2 3 , ако је однос седмог члана од
3
почетка, према седмом члану од краја 1:6.
Решење: x 9
n
1
9. Дат је бином 2 x , одредити н тако да је збир
x1
2
биномних коефицијената последња три члана 22. Одредити ону
вредност x за коју је збир трећег и петог члана датог бинома
135.
Решење: n 16, x 1 x 2 .
71
11. Коефицијенти четвртог и шестог члана у развијеном облику
n
1
бинома x односе се као 5:18. одредити члан који не
x
зависи од x.
КЉУЧНЕ РЕЧИ
Биномни коефицијенти
Биномна формула
Општи члан биномне формуле
72
8. ТЕОРИЈА ГРАФОВА
ЦИЉЕВИ УЧЕЊА
Када проучите ово поглавље требало би да знате:
1. дефиницију графа,
2. различите врсте графова,
3. дефиницију подграфа.
73
Prvi problem i njegovo rešenje, teorije grafova jeste rad Leonarda Ojlera
(Leonhard Paul Euler,1707-1783) pod nazivom Sedam mostova
Kenigsberga, objavljen 1736 godine. Kasnije, Frensis Gutri 1852. godine je
izložio problem četiri boje koji postavlja pitanje da li je moguće obojiti
zemlje na geografskoj karti sa samo četiri boje, a da se ne pojave dve
susedne zemlje obojene istom bojom. Ovaj problem su rešili tek 1976.
godine Kenet Apel i Volfgang Heken, ali se postavljanje ovog problema
smatra rođenjem teorije grafova. Tokom pokušaja rešavanja ovog problema
otkrivene su mnoge teoreme i postavljeni mnogi teoretski pojmovi i
koncepti.
Граф је задат ако су позната два скупа, скуп чворова V и скуп грана Е.
74
Дефиниција:
Пример
Пример:
75
Графови су релационе структуре. Међутим једноставније их је
представити цртежима.
Пример:
76
Напомена: Прост граф је уствари непријентисани пут без петљи.
Пример:
Диграф који садржи скуп V a, b, c, d и скуп
E a, b , a, c , b, c , b, d , c, d , d , a
Пример:
Диграф који садржи скуп V a, b, c, d и скуп
E a, a , a, b , b, c , c, c , b, d , d , b , c, d , d , a
77
Мултиграф је граф код кога између два чвора а и б постоји више
од једне гране, које полазе из а, и завршавају у б.
Комплетан или потпун граф је онај граф код кога су свака два
чвора повезана граном.
78
Празан граф је граф са чворовима који не садржи ни једну грану.
Степен графа је број грана графа који имају крај у једном чвору.
Чвор степена 1 назива се изоловани чвор или лист.
Пример
79
Граф је регуларан ако су сви чворови истог степена.
Пример.
Теорема:
Теорема 2:
80
Последња теорема зове се у литератури и Лема о руковању.
КЉУЧНЕ РЕЧИ
граф
грана
чвор
петља
мултиграф
комплетан граг
степен чвора
пут
циклус
диграф
подграф
бипартитиван
планаран
81
9. ПРЕДСТАВЉАЊЕ
ГРАФОВА ПОМОЋУ
РАЧУНАРА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље савладате требало би да знате:
Дефиниција:
Шетња W у графу G је низ W v0 , e1 , v1 , e2 , , et , vt , где су
v0 , v1 , , vt , чворови, а ei грана која спаја чворове vi 1vi , i 1, , t .
Дужина путање W је t . Уколико је v0 vt ради се о затвореној
шетњи.
82
Матрица суседства је најчешћа матрична интерпретација
графова. Матрица суседства, је матрица која на позицији пресека i -те
врсте и j -те колоне садржи 1, ако је i - ти чвор спојен са j - тим
чвором, иначе је 0.
Дефиниција:
Матрица суседства графа G V , E је квадратна матрица V V , за
коју важи
1, u , v E ,
A
0, u , v E.
Пример:
Графу на слици одговара матрица суседства
a b c d
a 0 1 1 1
b 1 0 1 0
c 1 1 0 1
d 1 0 1 0
83
0 1 1 1
1 0 1 0
.
1 1 0 1
1 0 1 0
Пример:
Усмереном (оријентисаном) графу са слике одговара матрица
суседства
a b c
a 0 1 1
b 1 1 1 .
c 0 0 0
84
9.3. МАТРИЦЕ ИНЦИДЕНЦИЈЕ
Дефиниција:
Када је e u, v E кажемо да су чворови u у и v инцидентни са
граном e .
Нека је G V , E граф. Нека је B матрица чије су врсте обележене
чворовима графа, а колоне гранама графа. Елемент bij , једнак је 1 ако
је i-ти чвор инцидентан
ј-тој грани, а једнак нули у противном. Матрица B се зове матрица
инциденције графа G.
Пример:
Графу на слици одговара матрица инциденције
e1 e 2 e3 e 4 e5
a 1 1 1 0 0
b 1 0 0 0 1
.
c 0 0 1 1 1
d 0 1 0 1 0
Пример:
Графу на слици одговара матрица инциденције
85
e1 e2 e3 e4 e5
a 1 1 1 0 0
b 1 0 0 0 0
c 0 0 1 1 0
d 0 0 0 1 1
Теорема:
Ако је А матрица графа G, k 0 , где су u, v , чворови, онда
елемент Auk,v једнак броју шетњи дужине k од u до v .
Пример:
1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 0
Уочимо матрицу A
2 .
0 0 0 1 0 0 0 1
1 1 1 0 1 1 1 0
86
Уочимо на пример да је
a12 2 a11 a12 a12 a22 a13 a32 a14 a42
1 0 0 0 0 0 1 1 0 0 0 1 1.
Како је a12 2 1 и пошто су a14 1, a42 1 , постоји грана од чвора 1 до
чвора 4 и на исти начин од чвора 4 до чвора 2. На основу тога постоји
пут дужине 2 од чвора 1 до чвора 2. Тада можемо закључити да ја
Aij 2 1 ако постоји пут дужине 2 од чвора и до чвора ј.
Али за
a34 2 a31 a14 a32 a24 a33 a34 a34 a44
0 1 0 0 0 1 1 0 0 0 0 0 0
И закључујемо да не постоји пут дужине 2 од чвора 3 до чвора 4.
КЉУЧНЕ РЕЧИ
Шетња по графу
Матрица суседства
Матрица инциденције
87
10. СТАБЛА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите требало би да знате:
1. дефиницију стабла,
2. дефиницију шуме,
3. дефиницију кореног стабла,
4. дефиницију усмереног стабла,
5. шта је Ојлеров граф,
6. шта је Хамилтонов граф.
Дефиниција:
Стабло T је коначан, непразан скуп елемената произвољног типа –
чворова такав да:
- постоји једнан посебан чвор који се назива корен (root),
- остали чворови се могу раздвојити у n 0 дисјунктиних подскупова
T1 , T2 , , Tn који су такође стабла. Ова стабла се називају подстаблима
корена.
Дефиниција:
Стабло или дрво је повезан граф који не садржи циклусе или контуре.
88
Стабло је повезан граф са в чворова и е=v-1 грана.
Стабло је граф са v чворова и е=v-1 грана и без контура.
Стабло је минимално повезан граф.
Стабло је максималан граф без контура.
Стабло садржи бар два чвора степена 1.
За сваки пар чворова у,в постоји тачно један пут који их повезује.
Дефиниција:
Шума је граф коме су компоненте стабла.
Пример:
Граф на следећој слици није стабло јер садржи циклус.
89
Породична стабла су је једна врста стабла. Организациона
структура фирме су такође врста стабала.
Дефиниција:
Усмерено стабло представља усмерени граф без петљи и чији је
носећи граф стабло, такво да ако постоји пут од чвора а до чвора б, а
тај пут је јединствен.
Дефиниција:
Стабло у коме је један чвор посебно означен назива се корено стабло.
Означени чвор назива се корен стабла.
90
Сваки чвор кореног стабла повезан је јединственим путем за корен
стабла. Број грана у овом путу представља ниво тог чвора. Корен
стабла има ниво 0, а највећи ниво имају од корена најудаљенији
чворови.
91
У бинарном стаблу сваки отац има тачно 2 сина и свако дете се
посматра као лево или десно дете.
Ако потпуно бинарно стабло има поред нивоа 0 још k нивоа, тада
је број чворова n у стаблу једнак
n 1 2 22 2 k 2k 1 1 .
n 1
Број завршних чворова (листова) је 2k , а осталих
2
n 1
2k 1 .
2
Пример:
Исказна формула p q q r p q , може се представити
стаблом
92
Сваком појављивању исказног слова у формули одговара у стаблу
један чвор степена 1. осталим чворовима одговарају вредности које се
добијају применом подформуле.
Пример:
Претпоставимо да желимо да поређамо следећа имена: Предраг, Ђорђе,
Синиша, Ана, Мартин, Рада, Амела, Уна, Зоран, Мирко.
93
Следеће име Aна азбучно је испред имена Предраг и спуштамо се до
левог детета, Ђорђе, а како је азбучно испред имена Ђорђе, то је
његово лево дете.
94
ОЈЛЕРОВ ПУТ
95
Утврдио је да је то немогуће урадити. Тако је настала теорема која
гласи: Град поседује Ојлеров пут акко има два или ниједан чвор
непарног реда.
Дефиниција:
Ојлерова контура мултиграфа G је затворена стаза која садржи све
гране из G. Мултиграф који има Ојлерову контуру се назива Ојлеров
мултиграф. Ојлеров пут у мултиграфу G је стаза која садржи све гране
из G. Мултиграф који садржи Ојлеров пут се назива полуојлеров
мултиграф.
97
Хамилтонов пут
Дефиниција:
Хамилтонова контура графа G језатворен пут који садржи све чворове
из G. Граф који садржи Хамилтонову контуру назива се Хамилтонов
граф. Хамилтонов пут у графу G је пут који садржи све чворове из G.
Граф који садржи Хамилтонов пут назива се полухамилтонов граф.
98
Иако решење Хамилтонове слагалице и није много тешко
пронаћи, математичари су и дан данас заокупљени проблемима
везаним за Хамилтонове контуре, попут оних који траже потребне и
довољне услове да би граф поседовао Хамилтонову контуру или
Хамилтонов пут.
99
Дефиниција:
Ојлерови графови:
Затворена стаза која садржи све гране графа G назива се Ојлерова
контура или циклус.
Граф који има Ојлерову контуру зове се Ојлеров граф.
Ојлеров пут је стаза која садржи све гране из G.
(не мора да буде затворен).
Теорема:
Граф G је Ојлеров акко је повезан и сви чворови су парног степена.
Граф на наредној слици није Ојлеров циклус јер нису сви чворови
парни.
100
Теорема:
Граф има Ојлеров пут ако и само ако је повезан и акко садржи 0 или 2
чвора непараног степена.
Граф на слици има прави Ојлеров пут пошто тачно два његова чвора
имају непаран степен.
Дефиниција:
Хамилтонови графови:
Хамилтонова контура или циклус, графа Г јр затворен пут који
садржи све чворове пута. Граф који има Хамилтонову контуру зове се
Хамилтонов граф.
Хамилтонов пут у графу Г је пут који садржи све чворове из Г. Граф
који има Хамилтонов пут се зове полухамилтонов граф.
101
Хамилтонов пут у графу је пут који пролази кроз све чворове
тачно једанпут.
1. Шта је стабло?
2. Који од следећих графова представљају стабло?
1)
2)
3)
4)
102
Одговор: 1,2,4.(стабло 3 има циклус).
103
11. Одредити ниво чвора v3 .
Одговор:1
104
26. Одредити графове који су:
105
Решење:
a) не,
b) не,
c) да,
d) не,
e) да.
106
29. Нека је дат неусмерен граф G V , E , где је скуп чворова
V 0,1, 2,3, 4,5, 6 , скуп грана
E 0,1 , 0,3 , 0, 6 , 1, 4 , 1, 5 , 2,3 , 2, 4 , 2,5 , 3, 4 , 3,5 , 4, 5
. Да ли је G повезани граф? Ако није навести колико повезаних
компоненти има и који чворови припадају тим компонентама.
30. Нека је дат неусмерен граф G V , E , где је скуп чворова
V a, b, c, d , e, f , скуп грана
E a, b , a, c , a, e , a, f , b, c , b, d , b, e , c, d , c, e , c, f , d , e , e, f
. Да ли је G повезани граф? Ако није навести колико повезаних
компоненти има и који чворови припадају тим компонентама.
31. Нека је дат усмерен граф G V , E , где је скуп чворова
V 0,1, 2,3, 4,5, 6 , скуп грана
E 0,1 , 0,3 , 0,6 , 1, 4 , 1, 5 , 2,3 , 2, 4 , 2,5 , 3, 4 , 3,5 , 4, 0 , 4, 5 , 5,1
. Одредити чворове који имају највећи улазни и излазни степен и
нацртати овај граф.
32. Нека је дат неусмерен граф G V , E , где је скуп чворова
V a, b, c, d , e, f , скуп грана
E a, b , a, c , a, e , a, f , b, c , b, d , b, e , c, d , c, e , c, f , d , e , e, f
. Одредити:
a) Степен чвора f .
b) Чвор са максималним степеном чвора.
КЉУЧНЕ РЕЧИ
Стабло
Шума
Корено стабло
Бинарно стабло
Циклус
Ојлеров пут
Хамилтонов пут
107
11. ТЕОРИЈА АЛГОРИТАМА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље савладате требало би да знате да:
1. опишете алгоритам,
2. особине алгоритама,
3. врсте алгоритамских шема.
Данас, највећи број задатака човек решава помоћу рачунара. Да би
се неки проблем тако могао решити процес решавања треба
дефинисати кроз неколико етапа. То су:
1. Формулација проблема,
2. Математички облик проблема,
3. Прављење алгоритама,
4. Програмирање,
5. Израда тест примера,
6. Тестирање проблема,
7. Добијање и анализа резултата.
11.1. АЛГОРИТМИ
108
5. јуна 1833. Aда Бајрон је упознала Чарлса Бебиџа. Он је направио први
компјутер (Бебиџова механичка рачунска машина), а она је написала први
компјутерски програм. Aдин отац је био енглески песник Лорд Бајрон, али су
се њени родитељи развели када је она имама само месец дана. Њен чувени
отац је отишао у Грчку и она га никада није упознала. Ада је, са петнаест
година, упознала Чарлса Бебиџа, веома поштованог професора математике.
Дубоко су је импресионирале Чарлсове идеје о новој машини за рачунање,
такозваној аналитичкој машини, а и он сам је остао запањен Адином
интелигенцијом. Он се заносио следећим идејама: „Шта када би машина за
рачунање, не само предвиђала него и функционисала на том предвиђању?”.
Била је задивљена унверзалношћу његових идеја, и чинило се као да их
разуме боље него он сам. 1835. године се венчала са Вилијамом Кингом, који
је убрзо постао Гроф од Лавлејса (Earl of Lovelace). Имали су складан брак
иако је Ада била интелектуално надмоћнија. Њихово троје деце, два сина и
ћерку која је кренула мајчиним стопама, више су одгајали њена мајка и њен
муж него она сама, али такав вид одгајања је био доста популаран међу
енглеском вишом класом у то време. Вилијам је, међутим, био поносан на
достигнућа своје жене и увек јој је пружао подршку. Године 1842, Бeбиџ је
био позван да одржи семинар на Универзитету у Торину, у Италији, на тему
аналитичке машине. Луиђи Менабреа, млади италијански инжењер и будући
министар, записивао је оно што је Бабиџ објашњавао да би нешто касније
његове белешке биле објављене на француском језику. Бабиџ је тада замолио
Аду да их преведе са француског на енглески језик, да би више људи могло
да разуме. Док је преводила, додавала је сопствене белешке и убрзо је превод
био три пута дужи. У њима је наглашавала разлику између Паскалове
машине, која би могла да се пореди са данашњим калкулатором, и Бебиџове
машине, која може да се пореди са модерним рачунарима. Белешке је
означавала словима од А до Г. У последњој, Г белешци, Ада описује
алгоритам за аналитичку машину за израчунавање Бернулијевих бројева. Та
машина никада није прорадила, али је њен алгоритам оставио дубок траг.
Сматра се да је то први алгоритам икада сачињен са идејом да се примени на
рачунару, и из овог разлога она се може сматрати првим рачунарским
програмером. Концентрисала се на оно што бисмо могли данас назвати
“софтверским” апликацијама за аналитичку машину. У овом смислу, Ада се
може назвати правим визионаром, јер је могла да предвиди да ће Бебиџова
машина имати огромних примена у пољу графике, вештачке интелигенције и
у компоновању комплексне музике. На крају свог дела се потписала као
А.Л.Л. јер за жене, из више класе тог доба, је било неприхватљиво да се баве
било каквим научним списима. Умрла је од рака са тридесет и шест година,
исто колико је имао њен отац када је умро. Као награду за њен допринос,
Америчко министарство одбране је 1979. године развило један програмски
језик и назвало га “Ада”.
109
Следећи значајан напредак у формализацији увођења алгоритма у
математику и логику учинио је Алан Тјуринг, дефинишући и
начинивши Тјурингову машину. То је примитиван аутомат, уствари,
мисаона творевина која поседује могућност извођења операција које су
довољне за извођење скоро свих алгоритама. Његова машина
инициарала је теорију коначних аутомата.
110
11.3. ВРСТЕ АЛГОРИТАМСКИХ ШЕМА
111
Линијске алгоритамске шеме су оне шеме код који се сваки
алгоритамски корак извршава највише једанпут у току извршавања
алгоритма. Могу бити просте и разгранате.
Просте линијске алгоритамске шеме, су оне шеме код којих се сваки
алгоритамски корак извршава тачно једнпут у току извршавања
алгоритма.
112
Разгранате линијске алгоритамске шеме, су оне шеме код којих се
сваки корак извршава тачно једанпут и обавезно садржи бар један
условни алгоритамски корак. Ако је услов испуњен, излаз из
алгоритамског корака биће означен са да, а ако услов није испуњен
излаз ће бити означен са не.
113
11.3.2. ЦИКЛИЧНЕ АЛГОРИТАМСКЕ
ШЕМЕ
114
Цикличне алгоритамске шеме могу бити константне и променљиве.
Пример:
Саставити алгоритам који за познато n израчунава аритметичку
средину задатих бројева x1 , x1 , , xn .
115
116
Сложене алгоритамске шеме праве се различитим
композицијама предходних шема.
117
доказати да алгоритам није испаван , него да јесте. Тестирање може
послужити само за доказивање присуства грешке, а никако није доказ
да грешке нема. Тестирање алгоритамских шема одузима много
времена и подложно је грешкама које човек може да направи. Зато се
данас за проверу исправности користе рачунари.
1. Шта је алгоритам?
2. Наведите различите врсте изражавања алогоритама ?
3. Ко је творац првог рачунарског алгоритма?
4. Чиме се бави теорија алгоритама?
5. Врсте алгоритамских шема.
6. Шта је алгоритамсака шема и из којих делова се састоји?
7. Линијске алгоритамске шеме и пример.
8. Цикличне алгоритамске шеме и пример.
9. Сложене алгоритамске шеме и пример.
10. Шта је циклус?
n
1
11. Написати алгоритам за израчунавање суме , за унапред
k 1 k
задато n .
12. Особине алгоритама.
13. Како се врши провера исправности алгоритма?
14. Израчунати вредност израза: S a b c .
Решење:
118
15. Написати алгоритамску шему за дељење два броја.
Решење:
119
4 9 n2
16. Израчунати израз: S 1 .
1 2 1 2 3 n!
Решење:
120
КЉУЧНЕ РЕЧИ
блок дијаграм
циклична шема
линијска шема
121
12. МАТЕМАТИЧКА
ДЕФИНИЦИЈА АЛГОРИТМА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите моћи ћете да:
122
12.1. РЕКУРЗИВНЕ ФУНКЦИЈЕ И
АЛГОРИТМИ
Пример:
Уочимо функцију f n a n , дефинисану на скупу ненегативних целих
бројева.
Она се може схватити као производ од n вредности броја a .
Исто тако може се записати и рекурзивно на следећи начин
f 0 1 знајући да је a 0 1 ,
.
f n 1 a f n .
Израчунати f 3 .
123
1. Како је a o 1 ,
2. f 3 a f 2 a a f 1 a a a f 0 a a a 1 a 3
Пример:
Функција fak n n ! , за рачунање факторијела броја се такође може
изразити на следећи начин.
fak 0 1
fak n 1 n fak n
Израчунати f 3 .
1. Како је 0! 1 ,
2. f 3 3 f 2 3 2 f 1 3 2 1 f 0 3 2 11 6
Пример:
Фибоначијев низ је низ бројева код кога је први елемент број 1, други
елемент такође број 1, а сваки следећи представља збир предходна два
члана. Првих неколико чланова низа гласе 1,1,2,3,5,8,13,........
Тада би рекурзивна функција изгледала
fib 1 1
fib 2 1
fib n f n 1 f n 2
Израчунати fib 3 .
1. Како је fib 1 1, fib 2 1 ,
2. fib 3 fib 2 fib 1 1 1 2
124
Обично се одреди неколико почетних вредности, па се на основу
тих података изводи општи образац. Тај образац треба строго доказати
математичком индукцијом.
Пример:
Решити рекурентну једначину
f 1 1
f k f k 1 k
Како је
1 2
f 1 1
2
2 3
f 2 1 2
2
3 4
f 3 1 2 3
2
4 5
f 4 1 2 3 4
2
n n 1
Значи можемо да закључимо да је f n 1 2 3 n .
2
Прво доказујемо да је за n 1
1 2
f 1 1
2
f k 1 k
k 1 k k k k 1 f k
2 2
Пример:
Решити рекурентну једначину
f 1 2,
f k 2 k f k 1 .
Решење: f n 2n n !
125
Алгоритам је рекурзивни ако се решавање проблема своди на
предходни корак, једноставијег улаза.
126
Интерактивни алгорита за израчунавање Фибоначијевих бројева
procedura : fibonaci(n je nenеgativni broj )
if n 0 then y 0
else
begin
x 0, y 1
for i 1 to n 1
begin
z x y
x y
yy
end
end
y je fibonacijev broj
За сваки од ових примера начинити и блок шему.
127
12.4. ТЈУРИНГОВА МАШИНА
128
Тјурингова машина опонаша понашање човека који рачуна по
строго утврђеним прописима. Користи се за решавање проблема
одлучивања. То су проблеми код којих се решење састоји у
утврђивању или оповргавању неке особине, односно решавање
проблема може да се сведе на одговоре да или не. Наравно нису сви
проблеми проблеми одлучивања, али се неки могу свести на њих.
Мада могу да буду технички могући, Тјурингове машине нису
смишљене као практична рачунарска технологија, већ као мисаони
експеримент о границама механичког рачунања и у пракси ове машине
се не конструишу.
129
се налази у кућици изнад које је глава постављена, глава ће у ту кућицу
уписати одређени симбол, померити се лево или десно (или остати у
месту), и променити своје стање. Овај процес се понавља док
Тјурингова машина не стигне у завршно стање.
Тјурингова машина ради над коначним скупом симбола. Ти
елементи се могу поређати у низ. Дакле, Тјурингова машина је
пребројив скуп. То значи да је скуп свих алгоритама преброји. Наравно
скуп свих проблема одлучивања је непребројив, што значи да постоје
проблеми за које не постоје алгоритми. Један од нерешивих проблема
је проблем заустављања Тјурингове машине.
Осим Тјурингове машине постоје и фон Нојманова машина,
Простова машина, алгоритми Маркова, машине Минског и многи
други формализми. Сви ови системи су међусобно еквивалентни,
односно симулирају једни друге. У суштини класа дискретних
функција које те машине могу да израчунавају је иста у свим
случајевима. То је једна робусна класа функција која је отпорна на
промене рачунарских модела, а ради се о класи израчунљивих
функција, односно сви проблеми се своде на Черчову тезу.
1936 година може се сматрати годином настанка нове научне
дисциплине, теорије алгоритама, а понекад се и користи термнин
теорија израчунљивости. Теорија алгоритама се бави питањем
постојања или непостојања алгоритама за решавање појединих
проблема и као таква припада математичкој логици. Са становишта
праксе најинтересантније питање је не само егзистенција алгоритма,
већ и његова ефикасност. Имплементација алгоритма на наком
рачунарском моделу користи његове ресурсе, временске и просторне.
Овим питањима се бави анализа алгоритама или теорија рачунске
сложености. Анализа алгоритама представља основу теоријског
рачунарства, а од математичких метода користи технике дискретне
математике, математичке логике и теорију формалних језика.
1. Шта је алгоритам?
2. Наведите неке особине алгоритама.
3. Како се врши провера исправности алгоритма?
4. Дефиниција рекурзивне функције.
5. Черч - Тјурингова теза.
6. Који је значај Тјурингове машине?
7. Шта је азбука Тјурингове машине ?
130
Решење:
S 0,1, b , где је b празан симбол.
Решење:
Q q0 , q1 , q2 , q , q , где је b празан симбол. q0 је почетно стање,
q , q су завршна стања.
9. Како се све може дефинисати алгоритам?
10. Дефиниција рекурзивне функције.
11. Написти функцију f n 2 n у рекурзивном облику.
12. Написти функцију f n n ! у рекурзивном облику.
13. Дефинисати Фибоначијев низ.
14. Написати алгоритам који за n унетих бројева рачуна
аритметичку средину унетих бројева.
15. Написати алгоритам који за унету вредност променљиве x
рачуна вредност израза 3 x .
16. Написати алгоритам који за унете вредности променљиве x и
параметра n рачуна вредност израза x 11 p .
17. Написати алгоритам који за унете вредности дужине страница
a и b правоугаоника рачуна површину и обим правоугаоника.
Обезбедити проверу унетих вредности a и b извршити захтев
задатка само за дозвољене вредности тј за a 0 и b 0 .
18. Написати алготитам који за n унетих бројева одређује по
апсолутној вредности навећу вредност.
19. Написати алготитам који за n унетих бројева одређује по
апсолутној вредности најмању вредност.
20. Написати алготитам који за n унетих бројева одређује колико
унетих бројева припада интервалу a, b , где a, b и n уноси
корисник.
21. Написати алготитам који за произвољне параметре a, b и c
приказује решења квадратне једначине ax 2 bx c 0 . У
случају да једначина нема реална решења, приказати адекватну
поруку.
22. Написати алготитам који сортира елементе низа a i где
i 0, n 1 у неопадајући поредак.
131
23. Написати алготитам који сортира елементе низа a i где
i 0, n 1 у нерастући поредак.
n
24. Написати алгоритам за израчунавање суме S i ! , где n
i 0
уноси корисник.
n
x i
25. Написати алгоритам за израчунавање суме S x , где
i 0 i!
n и x уноси корисник.
n
1
26. Написати алгоритам за израчунавање производа P , где
i 1 i !
n уноси корисник.
27. Написати алгоритам за израчунавање производа
n
2x i
P x , где n и x уноси корисник.
i 1 n i
28. Написати алгоритам за израчунавање производа
n
x
P x i , где n и x уноси корисник.
i 1 i !
29. Написати алгоритам за израчунавање израза
nx
V x , где n и x уноси корисник.
(n 1)x
1
(n 2) x
1
x
...1
1
КЉУЧНЕ РЕЧИ
Алгоритам
Черчова теза
Тјурингова машина
Рекурзија
Израчунљивост
132
13. ТЕОРИЈА СЛОЖЕНОСТИ
AЛГОРИТАМА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите требало би да разумете:
133
Просторна сложеност проблема је повезан концепт, који мери
количину простора, или меморије коју алгоритам захтева. Просторна
сложеност се такође мери великом O нотацијом.
134
13.3. НЕУКРОТИВОСТ
135
13.5. ПРЕТРАЖИВАЊЕ
136
вредност кључа, кажемо да се ради о уређеној структури, у супротном
стуктура је неуређена. Што се променљивости тиче, разликујемо
статичне и динамичне скупове података. Статичан скуп података је
непроменљив, па је битно само оптимизовати претраживање, док је
динамичан скуп података подложан честим уметањима и брисањима.
SEQ-SEARCH(K, key)
i=0
while (i n ) do
if (key = K[i]) then
return i
else
i = i+1
end_if
end_while
return 0
137
SEQ-SEARCH-SENT(K, key)
K[n+1] = key
i=1
while (key K[i] ) do
i = i+1
end_while
if (i = n+1) then
i=0
end_if
return i
1 2 n n 1
n 2
138
13.7. ОПТИМИЗАЦИЈЕ СЕКВЕНЦИЈАЛНОГ
ПРЕТРАЖИВАЊА
139
Описана побољшања метода секвенцијалног претраживања су
заснована на претпоставци временске локалности обраћања
кључевима. Очекује се да ће тренутно тражени кључ вероватно бити
ускоро тражен поново, па се његовим померањем ка почетку скраћује
пут при наредном тражењу.
140
кључ се нађу у индексу две узастопне вредности од којих је прва мања,
а друга већа од траженог кључа, па се прелази на тражење у табели,
али само између позиција које одговарају кључевима из индекса.
141
тражени кључ требао да се налази да га има у табели, па се враћа
вредност нула као знак да тражени кључ није нађен у табели.
BIN-SEARCH(K, key)
low = 1
high = n
while (low high ) do
mid=(low + high)/2
if (key = K[mid]) then
return mid
else if (key < K[mid])
then
heigh = mid – 1
else
low = mid + 1
end_if
end_if
end_while
return 0
142
Бинарно претраживање је погодно за табеле које су смештене као
низови, јер израчунава границе интервала преко индекса низа. Ово није
применљиво за уланчане листе, јер ова секвенцијална структура не
дозвољава ефикасан нелинеарни приступ.
Принцип бинарног претраживања се користи за посебне структуре
стабала.
Употребићемо стабло.
Дефиниција:
Стабло бинарног претраживања је бинарно стабло за које важи:
- за сваки кључ К постоји највише један чвор са адресом p тако са
важи кеy(п) = К,
- кључеви свих потомака pl у левом подстаблу (ако је непразно) су
мањи од кључа тог чвора (кеy( pl ) < К),
- кључеви свих потомака pr у десном подстаблу (ако је непразно) су
већи од кључа тог чвора (кеy( pr ) > К).
143
по инордер поретку и секвенцијалним укључивањем сваког кључа у
низ при његовој посети. Једном стаблу одговара само један овакав низ,
али обрнуто не важи, јер се исти сортирани низ може добити инордер
обиласком више стабала бинарног претраживања различите топологије
која садрже исте кључеве. Ово је последица чињенице да су, при
формирању стабла, кључеви уметани у различитом поретку. Први
кључ постаје корен стабла, а при уметању нема никакве слободе у
одређивању где се нови кључ смешта, јер је то одређено претходном
дефиницијом. Пример стабала са истим скупом вредности кључева, а
различитим топологијама дат је на следећој слици:
144
Према претходној дефиницији све вредности кључева у стаблу
бинарног претраживања су узајамно различите. У неким применама је
потребно дозволити да постоји више вредности са истом вредношћу
кључа. Најчешче се дозвољава да иста вредност кључа буде у десном
подстаблу чвора, мада постоје и дефиниције које омогућавају да се
кључеви са једнаким вредностима појављују у левом подстаблу чвора.
Испитивање стабла
Најчешће коришћена операција испитивања бинарног стабле претраге
је операција претраживања.
Претраживање
BST-SEARCH(rооt,К)
p=rооt
if (p = nil) or (К = кеy(p))
then
return p
еlse if (К<кеy(p)) then
return BST-
SEARCH (left(p),К)
else
return BST-
SEARCH (right(p),К)
end if
end if
145
Операција претраживања почиње у корену стабла упоређивањем
тражене вредности и вредности кључа корена стабла. Уколико се не
пронађе сагласност, поступак се рекурзивно наставља у левом, односно
у десном подстаблу у зависности од тога да ли је вредност кључа
корена мања или већа од кључа корена. У случају успешне претраге,
поступак се прекида када су вредности кључа текућег чвора и тражене
вредности K једнаке, док у случају да се тражена вредност не налази у
стаблу, поступак се прекида када се дође до празног подстабла.
Временска сложеност алгоритма одређена је бројем поређења кључа.
Како овај број одговара броју нивоа стабла док се дође до неког чвора
гранања или листа, он не може бити већи од висине стабла h . Зато је
максимална сложеност реда O h .
BST-МIN(rооt)
p=rооt
while (left(p) nil ) dо
p=left(p)
еnd while_
return p
BST-МАX(rооt)
p=роот
while (right(p) nil ) dо
p=right(p)
еnd_while
return p
146
Налажење претходника и следбеника у стаблу
TREE-SUCUCCESSOR(z)
p=z
if (right(p) nil) then
return BST-
MIN(right(p))
еlse
q=parent(p)
while(q nil and
p=right(q)) dо
p=q
q=parent(q)
еnd_while
rеturn q
еnd_if
147
сразмерно висини стабла, O h , јер следе путању кроз стабло само у
једном смеру.
Уметање
BST-INSERT(nеw,rооt)
p=rооt
if (p = nil) thеn
rооt = nеw
еlse
if (кеy(nеw) = кеy(p)) тhеn
ERROR(Postoji kljuc)
еlse if (кеy(nеw) < кеy(p)) тhеn
BST-INSERT(nеw, left(p))
еlse
BST-INSERT(nеw, right(p))
еnd_if
еnd_if
еnd_if
148
Брисање
a)
149
б)
ц)
150
д)
BST-DELETE(К, rооt)
p=rооt
q = nil
while (p nil and К кеy(p)) dо
q=p
if (К < кеy(p)) thеn
p = left(p)
еlse
p = right(p)
еnd_if
еnd_while
if (p = nil) then
ЕRROR(Kljuc nije pronadjen)
еnd_if
if (left(p) = nil) thеn //prvi slucaj i drugi slucaj
каdа postoji samо desni sin
rp = right(p)
еlse if (right(p) = nil) thеn //drugi slucaj
rp = left(p)
151
else //treci slucaj
f=p
rp = right(p)
s = left(rp)
while (s nil) dо
f = rp
rp = s
s = left(rp)
еnd_while
if (f p) thеn
left(f) = right (rp)
right(rp) = right(p)
end_if
left (rp) = left (p)
еnd_if
еnd_if
if (q = nil) thеn
rооt = rp
еlse if (p = left(q)) thеn
left(q) = rp
еlse
right(q) = rp
еnd_if
еnd_if
152
деградирано и има само лева или десна подстабла. Код њега је висина
h n 1 , где је n број чворова, па је временска сложеност O n ,
управо као и код секвенцијалног претраживања. Пример таквог стабла
је дат на слици, под б. Исту висину има и стабло које настаје када се
кључеви убацују у стабло наизменично (већи од претходног, па мањи
од претходног, али већи од претпретходног, итд). Пример овог стабла
приказан је на слици, под ц.
а)
б)
153
ц)
Лема:
Нека је дато бинарно стабло са n чворова. Ако се оно прошири са
посебним, екстерним чворовима, тада важи следећа релација
PE PI 2n ,
где је PE екстерна дужина пута, а PI интерна дужина пута.
Доказ:
Тврђење се доказује математичком индукцијом.
За n 1 стабло има само један интерни чвор (корен) и два екстерна
чвора, па је PI 0 , а PE 2 , дакле тврђење важи.
Нека је тврђење леме тачно за стабло са n чворова. Нека сада један од
екстерних чворова постане чвор стабла, а додају се још два екстерна
чвора, тиме се добија стабло од n 1 чвора. Ако је дужина пута до
новог стабла k , тада се интерна дужина пута повећава за k , па је
PI n 1 PI n k .
Екстерна дужина пута се смањује за k због замене екстерног чвора
интерним, али се повећава за 2 k 1 , јер новом чвору стабла, који је
154
лист на нивоу k , у проширеном стаблу одговарају два нова екстерна
чвора на нивоу k 1 . Зато је
PE n 1 PE n k 2 k 1 PE n k 2 .
Како тврђење важи за стабло са n чворова тј. PE n PI n 2n
следи
PE n 1 PI n 2n k 2
PI n 1 2 n 1 .
155
исхода. Сада се U n може наћи усредњавањем екстерне дужине пута
PE као
U n PE n 1 .
Применом везе између интерне и екстерне дужине доказане лемом
PE PI 2n ,
следи
S n PE 2n n n n 1U n n n n 1 n U n 1 . (2)
Ако се изједначе десне стране једначина (1) и (2), добија се
2n U 0 U1 ... U n 1 n 1U n . (3)
Када се у претходној једначини уместо n стави n 1 , добија се
2 n 1 U 0 U1 ... U n 2 nU n 1 . (4)
Одузимањем једнакости (3) и (4) добија се
2 U n 1 n 1 U n nU n 1
или
U n U n 1 2 n 1 .
Како је U 0 0 и U1 1 , а H n 1 1 1 2 ... 1 n 1 је дефиниција
хармонијског реда, онда се U n може нерекурзивно изразити на следећи
начин:
U n H n 1 2 .
Заменом ове вредости у израз S n n 1 n U n 1 , добија се
S n 2 1 1 n H n 3 .
156
оптималном балансираном стаблу O log n и лошија је не само за
константан фактор мањи од 40%.
Поставља се питање да ли се реорганизација стабла при уметању и
брисању кључа са циљем балансирања новодобијеног стабла исплати.
Ако је цена реорганизације већа од овог константног фактора од 40% и
ако је однос броја приступа и броја уметања сразмерно мали, онда се
балансирање обично не исплати. С друге стране, овај закључак говори
само о просечном случају и не пружа никакву гаранцију од појаве
најгорег случаја дегенерисаног стабла
Дефиниција:
АВЛ стабло је стабло бинарног претраживања код кога је за сваки чвор
апсолутна вредност разлике висина левог и десног подстабла највише
један.
Висина празног стабла је дефинисана као нула.
Дефиниција:
157
Чвор АВЛ стабла можемо дефинисати на програмском језику C, на
следећи начин:
struct AvlNode{
ЕlementTypе Еlement;
АvlТrее Lеft;
АvlТrее Right;
int B;
};
Оваква репрезентација се разликује од репрезентације бинарног стабла
претраживања само по томе што се овде за сваки чвор стабла издваја и
једно поље типа интегер, које памти баланс чвора. У неким
реализацијама уместо баланса се може памтити висина чвора.
Нови чвор се умеће као лист. Уметање може, али не мора, да поквари
балансираност стабла. Једини чворови чији баланс може бити
промењен су они који се налазе на путу од корена до уметнутог чвора.
Ови чворови се испитују одоздо на горе по путу до корена. За ове
чворове може да настане један од три случаја:
чвор је био нагнут на једну страну и лист се умеће у његово
ниже подстабло, па постаје балансиан (слика, под а)),
чвор је био балансиран, па постаје нагнут на страну подстабла у
које је уметнут нови чвор (слика, под б),
чвор је био нагнут на једну страну и лист се умеће у подстабло
на вишој страни, па овај чвор, а тиме читаво стабло, постају
небалансирани (слика, под ц)).
158
a)
б)
ц)
159
13.13. ЦРВЕНО – ЦРНА СТАБЛА
Дефиниција:
Стабло бинарне претраге је црвено-црно стабло ако задовољава
следеће услове:
1. Сваки чвор је или црвен или црн.
2. Сваки лист (НИЛ) је црн.
3. Ако је чвор црвен, онда су му оба детета црна.
4. Свака путања од корена до листа садржи исти број црних
чворова.
На основу претходне дефиниције следи да на путу од корена ка
листовима стабла, црвено-црна стабла гарантују да ниједан пут није
два пута дужи од било ког другог пута, па је стабло скоро балансирано.
Дефиниција:
Број црних чворова од чвора v до неког листа, без тог чвора зове се
црна висина тог чвора и обележава се са bh v .
У складу са претходном дефиницијом следи да је црна висина стабла
црна висина корена стабла.
160
Слика: Пример црвено-црног стабла; поред сваког чвора налази се
црна висина чвора
Чвор цвено – црног стабла, као и АВЛ чвор има још јено поље више у
односу на чвор бинарног стабла претраживања, које у себи садржи боју
чвора. На наредној слици је приказана једна репрезентација чвора
цвено – црног стабла у програмском језику C.
typedef enum ColorType { Red, Black } ColorType;
typedef struct RedBlackNode *RedBlackTree;
struct RedBlackNode{
ElementType Element;
RedBlackTree Left;
RedBlackTree Right;
ColorType Color;
};
Слика: Декларација чвора црвено – црног стабла у програмском језику
C
Ради реализације операција црвено-црног стабла листове црвено-црног
стабла третирамо као чворове који имају исту структуру као и сви
остали чворови стабла с тим што су црне боје, а поља Left и Right
показују на NullNode тј. на самог себе, јер они немају десног ни левог
сина.
161
14. ГРАФОВСКИ АЛГОРИТМИ
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите знаћете:
1. алгоритам-претрага у дубину,
2. алгоритам-претрага у ширину.
162
разапето стабло. Код не повезаних стабала ситуација је знатно
компликованија.
Приликом прављења алгоритама потребно је да знамо када смо
чвор и грану додали стаблу, да бисмо елиминисали могућност да неку
чвор употребимо више пута, јер такав граф не би био стабло. Такође
треба да знамо на који ниво смо додали чвор, да бисмо на следећем
нивоу користили само чворове које смо изабрали на предходном
нивоу.
Пример:
163
Улазимо у ходник увек када је то могуће. Када стигнемо на
раскрсницу први пут, оставимо каменчић, и одлазимо новим ходником.
Када дођемо до раскрснице на којој стоји каменчић, враћамо се истим
путем назад и покушавамо да дођемо до нове раскрснице. Ако су сви
ходници који воде из те раскрснице прегледани, уклањамо каменчић и
враћамо се путем кроз који смо први пут прошли. Ову раскрсницу
више нећемо пролазити и настављамо шетњу.
164
Алгоритам претраге у дубину
procedura : pretraga u dubinu (G povezan graf sa čvorovima v0 , , vn )
T stablo koje sadrži samo čvorove v0
poseti v1
procedura : poseti v čvor G
za svaki čvor w susedan čvoru v i nije još iz T
počni
dodaj čvor w i granu v, w stablu T
poseti w
kraj
Пример:
Уочимо граф на слици. Направити његово разапињуће стабло.
165
бирамо чвор f , који је суседан чвору g , мењамо му ознају у y и
грану g , f додајемо скупу грана. После чвора f бирамо чвор d . Али
чвор d има ознаку y и зато грану d , f додајемо скупу повратних
грана.
Пошто више нема чворова осим његових родитеља, који је суседан
чвору f , враћамо се на чвор g . Али како не постоји ни један чвор
суседан са g , враћамо се у чвор d . Једини чвор суседан чвору d је
чвор a , који има ознаку y , па грану d , a додајемо скупу повратних
грана и враћамо се у чвор b . Како нема ниједан чвор који је суседан
чвору b , враћамо се у чвор a .
Из чвора а бирамо један од преосталих чворова c или e . Ако
изаберемо c , његову ознаку n мењамо у y и грану a, c додајемо
скупу грана. Пошто је чвор e суседан са чвором c , мењамо му ознаку
у y и додајемо грану c, e скупу грана. Ако би изабрали чвор a као
суседан чвору e , а он има ознаку y у, грана e, a би се додала скупу
повратних грана. и враћамо се чвор e .
Чвор h је суседан чвор чвору e , мењамо му ознаку у y и додајемо
грану e, x скупу грана. Није преостао ниједан чвор за проверу из h ,
па се враћамо у чвор e , а из њега у c и коначно у a .
166
14.4. АЛГОРИТМИ - ПРЕТРАГА У
ШИРИНУ
167
14.5. АЛГОРИТАМ - СТАБЛО ПРЕТРАГЕ У
ШИРИНУ
168
Пример:
Уочимо граф на слици.
169
Тежински граф је граф у коме нас не занимају само чворови и
гране већ и могућности стизања из тачке A у тачку B и то на
најбољи могући начин. Најбољи начин зависи од проблема који
треба решити, то је најкраћи пут, некада најјефтинији,
најбезбеднији, пут на коме се троши најмање енергије и сл.
Из тих разлога свакој грани се додељује реалан број, његова
тежина, односно мера. Ако желимо например да нађемо најкраћи
пут између градова тежина је удаљеност, или цена авионске карте
која спаја удаљене градова и сл. Тежина не мора да буде позитиван
број, али уобичајено је да се такав користи, не умањујући општост
разматрања. Ако нека грана не постоји, тада се на поменуту
позицију ставља неки посебан симбол на пример .
Тежина разапетог стабла тежинског графа G је сума свих тежина,
додељених гранама разапетог стабла. Минимално разапето стабло
представља разапето стабло графа G , тако да је тежина стабла T
мања или једнака тежини било ког другог разапетог стабла графа
G.
170
14.6. ДАЈКАСТРИН АЛГОРИТАМ
171
Дајкастрин алгоритам
procedura : dajkastra(G graf sa čvorovima v0 , , vn i težinama w0 , , wn )
gde je w vi , v j ako vi , v j nije grana G
for i 1 to n
L vi
La 0
S je prazan
while z S
počni
u a čvor koji nepripada S sa L u min
S S u
for svi čvorovi v koji nisu u S
if L u w u , v L v then L v L u w u, v
end
L z je dužina najkraćeg puta iz a do z
172
Кренућемо од A ка осталим чворовима. Када стигнемо до
чвора, прва компонента уређеног пара означава дужину најкраћег пута
до тог чвора у том тренутку, а друга компонента означава предходни
чвор на најкраћем путу. Док се пут не пронађе прва компонента је , а
друга је 0.
173
посматраних чворова. За C имамо 5 3 8 , за D имамо 5 7 12 , за
E имамо 5 2 7 и за F имамо 5 10 15 . Пошто нова раздаљина ка
C није мања од оне која је већ додељена овом чвору, не мењамо
вредност C 6, A . Нове вредности за чворове D, E , F су мање од
предходних и ове вредности су додељене проласком пута B , и постају
нове D 12, B ; E 7, B ; F 15, B .
174
Кораком 2 добијамо промену од F 15, B до F 11, E и F постаје
сталан чвор.
175
176
177
Најкраћи пут је v0 v4v1v3v2v дужине 9.
178
179
180
181
Значи најјефтинија је карта преко Чикага и кошта 2300 $.
182
183
Најкраћи пут је acbde дужине 13.
184
15. БУЛОВА АЛГЕБРА
ЦИЉЕВИ УЧЕЊА
Када ово поглавље проучите моћи ћете да:
185
Творац ове алгебре је Џорџ Бул (Георге Бооле, 1815 - 1864) енглески
математичар и филозоф. Бул је пришао логици на нов начин,
сажимајући је у просту алгебру, претварајући логику у математику. На
тај начин створене су нове математичке дисциплине математичка
логика или симболична логика и алгебра логике која је названа
Булова алгебра. Нажалост, није живео дуго, умро је у 49-ој години
живота, од прехладе, коју је добио тако што је пешачио две миље по
киши, како би стигао на предавање, и предавао је у мокрој одећи.
Све до касних тридесетих година његова алгебра није имала никакве
практичне примене. 1937. године научници Накашима и годину дана
касније Шенон су искористили Булову аглебру за анализу мрежа са
релејима. Телефонија је тих година била у брзом развоју, па је било
потребно користити неки математички апарат којим би се описивале
жељене комуникације и начин остваривања веза. Од овог тренутка
Булова алгебра доживљава своју експанзију.
186
15.2 ДОКАЗИ И АКСИОМЕ
затворености abB a *b B
комутативности ab ba
a *b b *a
дистрибутивности a b * c a b * a c ,
a * b c a * b a * c
187
15.3 ОСНОВНЕ ТЕОРЕМЕ
закон асоцијације a b c a b c , a * b * c a * b * c
закон идемпотенције a a a a*a a
закон нуле a 1 1 a*0 0
закон апсорбције a a *b a a *a b a
закон инволутивности a a
Де Морганови закони a b a *b a * b a b
закон комплемента за неутралне елементе 0 1 1 0
закон сажимања a *b a *b a a b*a b a
+ 1 0
1 1 1
0 1 0
188
* 1 0
1 1 0
0 0 0
и 0’=1, 1’=0.
п F1 F2 F3 F4
1 1 1 0 0
0 1 0 1 0
n
Таблица за Булове функције има 2n променљивих и 22 функција, јер
n n
је V22 22 .
189
Алгебарске Булове функције се могу представити у два облика.
p1 p2 p3 F
1 1 1 1
1 1 0 0
1 0 1 0
1 0 0 1
0 1 1 1
0 1 0 0
0 0 1 1
0 0 0 1
F F1 F2 F1 F2 F1 F2 F1F2 .
F F1 F2 F1 F2 F1 F2 F1 F2
190
ПИТАЊА И ЗАДАЦИ ЗА ПРОВЕРУ ЗНАЊА
Решење:
a a a a *1 neutralni element
a a*a a inverzni element
a a * a distribucija
a0 inverzni element
a neutralni element
Закон нуле a * 0 0 .
Решење:
a * 0 a *0 0 neutralni element
a*0 a*a inverzni element
a *0 a distribucija
a*a neutralni element
a inverzni element
Закон апсорбције а) a a * b a б) a * a b a .
Решење:
а) б)
191
a a *b
a *1 a * b neutralni element
a * 1 b distribucija
a *1 zakon nule
a neutralni element
a * a b
a 0 * a b neutralni element
a 0* b distribucija
a0 zakon nule
a neutralni element
Закон инволутивности a a
Решење:
Аксиома о инверзном елементу каже
a a a a 1
a *a a *a 0
Ако уведемо x a , онда је
x a a x 1
x*a a* x 0
па је a x , односно a a .
Решење:
а) б)
0 a*a inverzni element
a a De Morganovo pravilo
a a zakon involutivnosti
1 inverzni element
192
1 a a inverzni element
a *a De Morganovo pravilo
a *a zakon involutivnosti
0 inverzni element
Закон сажимања а) a * b a * b a б)
a b*a b a
Решење:
а) б)
a *b a *b
a * b b distribucija
a *1 inverzni element
a neutralni element
a b*a b
a b * b distribucija
a0 inverzni element
a neutralni element
p q r f
1 1 1 0
1 1 0 1
1 0 1 0
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 1
0 0 0 1
Решење:
f pqr pqr pqr pqr дисјунктивна форма -ДФ
f p q r p q r p q r p q r коњуктивна форма -КФ
193
7. Одредити истинитосну таблицу функција:
а) f1 pq pr qr б) f 2 p qr .
Решење:
p q r f1 f2
1 1 1 1 1
1 1 0 1 1
1 0 1 0 1
1 0 0 1 1
0 1 1 1 0
0 1 0 0 0
0 0 1 1 1
0 0 0 1 0
КЉУЧНE РЕЧИ
Булова алгебра
Булове функције
ДФ
КФ
194
Л И Т Е РАТ У РА