Cilj i ishod predmeta
Osposobljavanje studenata na apstraktno mišljenje i sticanje osnovnih znanja iz oblasti klasične i moderne kombinatorike. Studenti poseduju znanja iz prebrojavanja, elemenata kombinatornih konstrukcija, kombinatornih algoritama i elemenata diskretne optimizacije. Stečena znanja koriste se u daljem obrazovanju i naučno- istraživačkom radu.
Teorijska nastava
Osnovni kombinatorni objekti. Permutacije, kombinacije, particije, kompozicije. Napredne kombinatorne strukture. Konačne geometrije, blokovske konstrukcije. Latinski kvadrati. Kodovi. Hadamarove matrice. Algoritmi za generisanje kombinatornih objekata. Kombinatorika nabrojivih objekata. Rekurentne relacije. Generišuće funkcije. Polijeva teorema. Kombinatorika nad rečima, kombinatorni algoritmi. Načini sortiranja i pretraživanja. Diskretna optimizacija. Linearno i celobrojno programiranje. Dinamičko programiranje. Pakovanje i pokrivanje. Optimizacija mreža. Teorija matroida i pohlepni algoritmi. Bojenje i raspoređivanje. Napredne heuristike. Slučajne strukture podataka i radnomizirani algoritmi.
Studijski istraživački rad
Deo nastave na predmetu se odvija kroz samostalni studijski istraživački rad koji obuhvata primenu kombinatorike u računarskim naukama, računarskom inženjerstvu, fizici, hemiji, biologiji, kao i raspoložive softverske alate za kombinatoriku.