You are on page 1of 142

Kombinatorika i diskretna matematika

predavanja i vjebe
2011.-2012.

doc.dr.sc. Snjeana Brai


sbraic@pmfst.hr

Literatura
1. 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 pojmovi
1. Neki primjeri
2. Osnovni pojmovi
3. Algoritmi
4. Dirichletov princip

II. Kombinatorna prebrojavanja


1. 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. Neki rekurzivni problemi


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

IV. Formula ukljuivanja-iskljuivanja


1. Formula ukljuivanja-iskljuivanja

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

VI. Uvod u teoriju grafova


1. 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 pojmovi


1. Neki primjeri
Kombinatorna 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. Algoritmi
esto 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 (0r<n). Ako je r=0, algoritam zavrava, a mjera iznosi
n. Uprotivnom,zamjenimo mn, a nr i s tim se vrijednostima
vratimo na poetak.

Ono to je u praksi zanimljivo pripada tzv. analizi algoritama. Tu


se uglavnom ispituju radne karakteristike algoritama, tj. njihova
efikasnost i to prije svega vremenska sloenost.
Vremenska sloenost, ili jednostavno sloenost algoritma
(vrijeme raunanja ili rada algoritma) jest naprosto broj osnovnih
raunskih koraka koje algoritam izvodi prilikom prijelaza od
ulaznih podataka do izlaznih rezultata.

Sloenost algoritma je, dakle, funkcija veliine ulaznih


podataka ili veliine problema. esto je vrlo teko odrediti
tonu vrijednost sloenosti. Tako se npr. ona ne zna za
Euklidov algoritam, tj. ne znamo koliki je broj dijeljenja kao
funkcija od m i n. Najee se stoga pod sloenou algoritma
misli na sloenost najgoreg sluaja, tj. najvei broj osnovnih
raunskih koraka koje izvodi algoritam uz bilo koje ulazne
podatke iji je broj jednak n. Isto tako se esto trai prosjena
sloenost. No, esto je i to teko nai pa se zadovoljavamo
gornjim i donjim meama za najgori sluaj ili prosjek ili
njihovo asimptotsko ponaanje kada je broj ulaza velik, tj.
kada n.

Sloenosti dvaju algoritama za isti problem mogu se, naravno,


razlikovati. Neka su npr. A1 i A2 dva algoritma sloenosti
redom n/7 i 4n. Tada je oito A2 bri i efikasniji algoritam
od A1 za sve probleme veliine n>28. 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
n /n r , a lim n r /a n 0
lim
a
n
n

Odavde 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 princip
Dirichletov 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}, k<l, tako da je ak+1 + ak+2 +...+al djeljivo s m.
Dakle, postoji nekoliko uzastopnih lanova u nizu a1,a2,...,am ija
je suma djeljiva s m.

Primjer 4. (P.Erdos). Iz skupa [2n]={1,2,...,2n} odabran je


podskup S od n+1 elemenata. Tada postoje x,y S tako da je x
djeljiv s y.

Primjer 6. Unutar kvadrata stranice 1 dano je 9 toaka. Tada


postoje 3 toke od danih 9 koje su sadrane u krugu radijusa 2/5.

Primjer 7. Pripremajui se za svjetsko nogometno prvenstvo,


nogometna je reprezentacija imala 11 tjedana pripreme. Struni
je tab odluio da reprezentacija igra svaki dan bar jednu
probnu utakmicu. No, da se igrai ne bi premorili, odlueno je
da se u svakom tjednu (7 dana) odigra najvie 12 probnih
utakmica. Dokaite da e na tim pripremama reprezentacija
odigrati u nekoliko uzastopnih dana tono 21 utakmicu.

Primjer 8. Meu 44 ljudi bar etvero je roeno u istom mjesecu.

Primjer 9. Zamislimo da se neki zatvor sastoji od 64 elije iji


tlocrt izgleda kao ahovska ploa 88. Izmeu svake dvije
susjedne elije postoje vrata. Zatvoreniku u donjoj lijevoj eliji je
reeno da za sebe moe izboriti slobodu ako uspije doi do desne
gornje elije tako sa svaku od 64 elije obie samo jednom. Moe
li taj zatvorenik za sebe izboriti slobodu?

Ne moe- dijagonalna polja su iste boje.

Zadatak 1. Topovi (ili kule) u ahu se napadaju ako su u istom


retku ili stupcu na ahovskoj ploi. Dokaite da se 8 topova moe
postaviti na ahovsku plou a da se ne napadaju.

Zadatak 2. Lovci (ili lauferi) u ahu se napadaju ako se nalaze na


istoj dijagonali. Dokaite da se na obinu ahovsku plou moe
postaviti najvie 14 lovaca koji se meusobno ne napadaju.
Dokaite da je analogan broj za plou nn jednak 2n-2.

II. Kombinatorna prebrojavanja


1. Osnovna pravila prebrojavanja

esto se u praksi susreemo s problemom kako prebrojiti


elemente nekog skupa, npr., sve stranice neke knjige ili sva
drvea u nekom drvoredu...
Ako nas zanima samo broj elemenata takvih skupova, onda
ne moramo efektivno brojiti elemente, ve se moemo
posluiti nekim enumerativnim metodama.

Razlikujemo tri osnovne metode ili pravila prebrojavanja:


1. pravilo jednakosti ili bijektivne korespodencije),
2. pravilo zbroja,
3. pravilo produkta,
ovisno o tome znamo li direktno odrediti broj elemenata
nekog skupa, njegove dijelove ili njegove faktore.

Teorem o uzastopnom prebrojavanju:


Neka je nN, S1,S2,,Sn konani skupovi i S podskup od
S1S2Sn skup ureenih n-torki (x1,x2,,xn) definiranih na
sljedei nain:
- prvu komponentu x1 moemo birati na p1 razliitih naina;
- za svaku ve odabranu prvu komponentu,
drugu komponentu x2 moemo birati na p2 naina; itd.
-za svaki izbor komponenti x1,x2,,xn-1 n-tu komponentu xn
moemo birati na pn razliitih naina.
Tada je |S|=p1p2pn

Primjer 1. Koliko je naina da se izmeu 5 mukaraca, 7 ena,


3 djeaka i 4 djevojice izabere
(a) jedna osoba,
(b) po jedan mukarac, jedna ena, jedan djeak i jedna
djevojica?

Primjer 2. Netko eli poslati svakome od svojih 5 prijatelja po


jednu od 20 razliitih razglednica. Na koliko to naina moe
uiniti?

Primjer 3. Registarska tablica na vozilima sastoji se nakon oznake


mjesta od 3 ili 4 brojke, te jednog ili dva slova abecede. Koliko se
razliitih tablica moe izdati u istom gradu?

Primjer 4. Koliko ima peteroznamenkastih brojeva ije su sve


susjedne znamenke razliite?
Primjer 5. Svaki od etvorice djeaka izabere jednu od est
djevojaka kao partnericu za ples. Na koliko to naina moe
uiniti?

Primjer 6. Na polici su hrpe od: 8 jabuka, 10 kruaka, 7 breskvi, 6


banana i 3 ananasa. Za spremanje vone salate potrebno je
nekoliko komada voa (ukljuujui i praznu salatu). Koliko se
ukupno vonih salati moe spraviti od ponuenog voa?

Primjer 7. Osnovni teorem aritmetike kae da se svaki prirodni


broj n>1 moe jednoznano napisati u obliku
n p 1 1 p 2 2 . . . p k 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 skupova
Neka 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 nr
Skup svih r-kombinacija iz S oznaavamo

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:

You might also like