142
 Kombinatorika i diskretna matematika predavanja i vježbe 2011.-2012. doc.dr.sc. Snježana Braić [email protected] 

1.Dio Iz Kombinatorike

Embed Size (px)

Citation preview

Kombinatorika i diskretna matematika predavanja i vjebe2011.-2012.

doc.dr.sc. Snjeana [email protected]

Literatura1. D. Veljan, Kombinatorna i diskretna matematika, Algoritam, Zagreb, 2001. 2. M. Cvitkovi, Kombinatorika, zbirka zadataka, Element, Zagreb, 1994.

Oblici provoenja nastave: Frontalna predavanja s auditornim vjebama Nain provjere znanja i polaganje ispita: Zavrni pismeni ispit, te zavrni usmeni ispit. Pismeni i usmeni dio ispita se jednako vrednuju u konanoj ocjeni.

SADRAJ I. Uvod i osnovni pojmovi1. Neki primjeri 2. Osnovni pojmovi 3. Algoritmi 4. Dirichletov princip

II. Kombinatorna prebrojavanja1. Osnovna pravila prebrojavanja 2. Prebrojavanje funkcija, podskupova, injekcija i bijekcija 3. Permutacije skupova 4. Kombinacije skupova 5. Permutacije i kombinacije multiskupova 6. Binomni i multinomni koeficijenti

III. Formula ukljuivanja-iskljuivanja1. Formula ukljuivanja-iskljuivanja

IV. Neki rekurzivni problemi1. Fibonaccijevi brojevi 2. Linearne rekurzije s konstantnim koeficijentima 3. Neke linearne rekurzije, svoenje na njih i neki sustavi rekurzija

V. Funkcije izvodnice1. Osnovna ideja i jednostavni primjeri 2. Rekurzije i funkcije izvodnice

VI. Uvod u teoriju grafova1. Osnovni pojmovi teorije grafova 2. Ciklusi i stabla 3. Obilasci grafova i digrafovi 4. Povezanost grafova 5. Bojenje grafova i kromatski broj 6. Planarni grafovi 7. Sparivanje u grafovima

I. Uvod i osnovni pojmovi1. Neki primjeriKombinatorna i diskretna matematika, ili krae kombinatorika, je matematika disciplina koja uglavnom prouava konane skupove i strukture. Od davnina su se matematiari bavili problemom prebrojavanja elemenata konanih skupova i esto su u praksi ti skupovi pred nama; npr. slova na ovoj stranici ili sva drvea u nekom drvoredu... U tim je sluajevima lako prebrojiti sve elemente tog skupa i doi do prirodnog broja n (ili nule) koji oznaava broj elemenata tog skupa.

Meutim, esto elementi skupa ine neku pravilnu konfiguraciju ili su pak zadani opisno pomou nekog svojstva. Ako nas npr. zanima samo broj elemenata takvih skupova, onda ne moramo efektivno brojiti, ve se moemo posluiti nekim enumerativnim metodama. Ti skupovi i svojstva mogu biti od sasvim jednostavnih do vrlo suptilnih, pa se u kombinatorici istrauju razliite metode koje daju odgovor na pitanja kao to su: koliko ima objekata s danim svojstvom, na koliko se naina moe dogoditi izvjestan dogaaj... Navedimo nekoliko tipinih jednostavnih kombinatornih zadataka.

Kombinatorika izgleda kao zabava, ali ona nije samo zabava. Rije je o iznimno vanoj i korisnoj matematikoj disciplini koja svoj procvat doivljava razvojem osobnih raunala. Rije kombinatorika dolazi od rijei kombinacija, a ona od latinske rijei combinare = slagati.

Ljudi pod tim obino podrazumjevaju: permutacije kao neke vrste premjetaja, odnosno promjene slijeda odreenog broja stvari (od lat. permutare = promijeniti), kombinacije kao svaku moguu skupinu odreenog broja neke mnoine elemenata i varijacije kao promjene, preinake (od lat. variatio = razliitost). No, to je samo djelomino tono.

Rije diskretan (lat. discrenere = razluiti, razlikovati) u ovom kontekstu znai da objekte koje prouavamo moemo jasno i nedvojbeno razlikovati po nekom redoslijedu (kao npr. elemente skupa {1,2,...,n}, N).

problem prebrojavanja, poopenje na n m

3. Algoritmiesto se kae da se teorijska raunalna znanost sastoji od nalaenja i prouavanja algoritama. to je algoritam? Definicije iz leksikona poput ...svaki pravilni postupak pri raunanju nisu zadovoljavajue jer ti pojmovi nisu dovoljno precizni. Malo preciznije, ali jo uvijek intuitivno, moe se rei: Algoritam je konaan niz propisanih postupaka, pravila, naredbi ili recepata (uglavnom raunskih), koji, ako se dosljedno slijedi, izvrava konkretan zadatak. Svaki algoritam mora zadovoljavati sljedee:

1. Ulaz (input). Algoritam ima nekoliko (moda i nula) ulaznih podataka, tj. podataka koji su mu zadani izvana i prije samog poetka rada. 2. Izlaz (output). Algoritam daje kao rezultat barem jednu veliinu koja ima tono odreen odnos prema ulaznim podacima. 3. Odreenost. Svaka naredba algoritma mora biti jedinstveno odreena, tj. jasna i nedvosmislena. 4. Konanost. Kad se slijede pravila algoritma, kakvi god bili ulazni podaci algoritam zavrava nakon konano mnogo koraka. I kao posljednji, ali ne i nuan uvjet trai se efikasnost, tj. da algoritam bude i provediv.

Formalno, algoritam se definira na sljedei nain: Raunski postupak ili metoda je etvorka (Q,U,I,f), gdje je Q skup s podskupovima U,I, a f:QQ funkcija za koju je f(q)=q, za sve qI. Skupove Q,U,I redom zovemo raunska stanja, ulazi i izlazi, a f se zove pravilo raunski. Nadalje, za svaki ulaz xU definiramo izraunljiv niz x0, x1, ... rekurzivno sa x0=x, xk+1=f(xk), za k0.

Kaemo da izraunljiv niz zavrava nakon p koraka ako je p0 najmanji cijeli broj za koji je xpI, te u tom sluaju kaemo da on daje izlaz xp za zadanu vrijednost ulaza x. Algoritam je raunski postupak koji zavrava za sve vrijednosti ulaza xU. Program je zapis algoritma (ili ak raunske metode) na jednom od programskih jezika.

Npr., jedan od najstarijih poznatih algoritama je Euklidov algoritam za nalaenje najvee zajednike mjere M(m,n) dvaju danih brojeva m,n N. Podsjetimo se: Neka su m,n N. Podijeli se m s n, i dobije ostatak r (0r28. tovie, uvijek e A2 biti bri i efikasniji od A1 za sve n poevi od nekog n0 bez obzira na to koji su koeficijenti uz n i n. Kae se da je A2 manjeg reda nego A1. Npr. eksponencijalna funkcija s bazom a>1 je veeg reda od bilo kojeg polinoma jer je

lim a n /n r , a n n r /a n 0 lim nOdavde se lako dobiva da n puno bre raste od npr. log n.

Asimptotska sloenost odreuje u biti najvei problem koji se moe uraditi. Ako su dva algoritma za isti problem istog reda, onda grubo govorei nijedan od njih ne odavlja zadatak bitno bolje od drugog. Za dovoljno velike n razlika postaje zanemariva s obzirom na razliku dvaju algoritama razliitog reda.

Jedan od razloga zato je sloenost algoritma vana kompjuteraima jest taj da sama egzistencija algoritma jo ne jami da se problem moe praktiki rijeiti. Naime, algoritam moe biti tako neefikasan da bi ak i s raunalima novih generacija sa sve veom brzinom, bilo nemogue dobiti rezultate u nekom korisnom vremenu. Stoga treba karakterizirati korisne algoritme sa stajalita prakse. Spomenuta razmatranja i praksa pokazuju da su to polinomski algoritmi. Kaemo da je algoritam efikasan ili dobar ako mu je sloenost polinomska.

Stoga eksponencijalni i pogotovo faktorijelni algoritmi nisu efikasni, dok je npr. algoritam sa sloenou nlog2n efikasan i, tovie, efikasniji od algoritma sloenosti n. Ima meutim situacija, kao npr. u linearnom programiranju da su u praktinoj upotrebi algoritmi koji u najgorem sluaju imaju eksponencijalnu sloenost, ali u praksi pokazuju linearnu sloenost (kao npr. razne simpleks-metode).

4. Dirichletov principDirichletov princip jedan je od najjednostavnijih elementarnih kombinatornih principa. U literaturi je jo poznat pod imenima: princip pretinaca, princip kutija il iprincip golubinjaka. Mi emo da zvati Dirichletov princip prema njemakom matematiaru Dirichletu (1805-1859) koji ga je prvi jasno formulirao i esto se njime koristio pri svojim istraivanjima u teoriji brojeva i analizi. Slikovito reeno, taj princip kae da ako vrlo mnogo golubova doleti u nekoliko golubinjaka, onda e bar u jednom golubinjaku biti bar dva goluba. Malo preciznije, Dirichletov princip moemo ovako formulirati:

Dirichletov princip. Ako n+1 predmeta bilo kako rasporedimo u n kutija onda bar jedna kutija sadri bar dva predmeta. Dokaz je gotovo nepotreban, a ide kontradikcijom. Pretpostavimo da svaka kutija sadri najvie jedan predmet. Tada bi i predmeta bilo najvie n, a mi ih imamo n+1, pa je to kontradikcija. Dirichletov princip. Neka su S i T konani skupovi, |S|>|T|, a f:ST neko preslikavanje. Tada f nije injekcija.

Primjer 1. Meu 13 ljudi uvijek postoje dvoje roenih u istom mjesecu. Primjer 2. Pet razliitih pari rukavica nalazi se u jednom pretincu. Izvlaimo nasumce po jednu rukavicu i ne vraamo ih natrag u pretinac. Koliko je najmanje izvlaenja potrebno da bismo bili sigurni da imamo obje rukavice istog para? Primjer 3. Neka su a1,a2,...,am cijeli brojevi. Tada postoje k,l{1,2,...,m}, k1 moe jednoznano napisati u oblikun p 1 p 2 . . . p k 1 2 k g d je su p 1 p 2 . . . p k p rosti b rojevi, a 1 , 2 , . . . , k p rirod n i b rojevi.

Odredite broj svih djelitelja od n.

Primjer 8. Dvanaestero djece treba prijei ulicu, pa ih teta iz vrtia eli razvrstati u 6 grupa po dvoje (tj. u 6 parova). Na koliko to naina moe uiniti?

Primjer 9. Koliko ima prirodnih brojeva manjih od bilijun koji sadre znamenku 2 u svom dekadskom zapisu? Kojih brojeva ima vie, onih koji sadre ili onih koji ne sadre 2?

Primjer 10. Koliko ima neparnih brojeva izmeu 1000 i 10000 od kojih svaki ima razliite znamenke?

2. Prebrojavanje funkcija, podskupova, injekcija i bijekcija

4. Kombinacije skupovaNeka je S skup od n elemenata. Bilo koji r-lani podskup od S zove se r-kombinacija skupa S. Drugim rijeima, r-kombinacija od S je neureeni izbor od r (razliitih) elemenata iz S.

S r a broj svih r-kombinacija n-lanog skupa s n rSkup svih r-kombinacija iz S oznaavamo

n

Koliko ima rastava prirodnog broja n u r dijelova?

Napomena:

nr

k 0

r k r

r r

r 1 r

. . .

n r

n 1 r 1

to ako svako dijete mora dobiti barem jednu jabuku, jednu kruku i jednu bananu? to ako svako dijete mora dobiti barem dvije jabuke, jednu kruku i jednu bananu? Primjer 37. Koliko ima nepadajuih nizova duljine r iji su lanovi iz skupa {1,2,...,n}?

PONOVIMO: