Циљ и исход предмета
Оспособљавање студената на апстрактно мишљење и стицање основних знања из области класичне и модерне комбинаторике. Студенти поседују знања из пребројавања, елемената комбинаторних конструкција, комбинаторних алгоритама и елемената дискретне оптимизације. Стечена знања користе се у даљем образовању и научно- истраживачком раду.
Теоријска настава
Основни комбинаторни објекти. Пермутације, комбинације, партиције, композиције. Напредне комбинаторне структуре. Коначне геометрије, блоковске конструкције. Латински квадрати. Кодови. Хадамарове матрице. Алгоритми за генерисање комбинаторних објеката. Комбинаторика набројивих објеката. Рекурентне релације. Генеришуће функције. Полијева теорема. Комбинаторика над речима, комбинаторни алгоритми. Начини сортирања и претраживања. Дискретна оптимизација. Линеарно и целобројно програмирање. Динамичко програмирање. Паковање и покривање. Оптимизација мрежа. Теорија матроида и похлепни алгоритми. Бојење и распоређивање. Напредне хеуристике. Случајне структуре података и радномизирани алгоритми.
Студијски истраживачки рад
Део наставе на предмету се одвија кроз самостални студијски истраживачки рад који обухвата примену комбинаторике у рачунарским наукама, рачунарском инжењерству, физици, хемији, биологији, као и расположиве софтверске алате за комбинаторику.