1.Dio Iz Kombinatorike

Embed Size (px)

Citation preview

  • Kombinatorika i diskretna matematika

    predavanja i vjebe2011.-2012.

    doc.dr.sc. Snjeana [email protected]

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

    II. Kombinatorna prebrojavanja1. Osnovna pravila prebrojavanja 2. Prebrojavanje funkcija, podskupova, injekcija i bijekcija3. 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 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 raunanjunisu 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

  • 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 obzirana 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

    Odavde se lako dobiva da n puno bre raste od npr. log n.

    limna

    n /nr , a limnn

    r/an 0

  • 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}, k

  • 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 xdjeljiv 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 x11 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 xnmoemo 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

    Odredite broj svih djelitelja od n.

    n p 1 1 p 2 2 . . . p k kgd je su p 1 p 2 . . . p k prosti b rojevi, a 1 , 2 , . . . , k prirodn i b rojevi.

  • 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 tonaina 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.

    Skup svih r-kombinacija iz S oznaavamo

    a broj svih r-kombinacija n-lanog skupa s

    Srnr

  • n

  • Koliko ima rastava prirodnog broja n u r dijelova?

  • k 0

    n rr k

    r rr r 1r . . . nr n 1r 1

    Napomena:

  • to ako svako dijete mora dobiti barem jednu jabuku, jednu kruku i jednu bananu?

    Primjer 37. Koliko ima nepadajuih nizova duljine r iji su lanovi iz skupa {1,2,...,n}?

    to ako svako dijete mora dobiti barem dvije jabuke, jednu kruku i jednu bananu?

  • PONOVIMO:

  • 4. Kombinacije skupova