Prema tekućem nastavnom planu, nastava iz predmeta Algoritmi i njihova složenost se odvija u toku VII semestra kao obavezan predmet na smeru Mikroračunarska eletronika.
Cilj predmeta je obezbediti opšti uvid u fundamentalne aspekte teorije algoritama i njihove složenosti, uključujući primere algoritama iz različitih oblasti elektrotehnike i računarstva.
Specifikacija predmeta
Oznaka predmeta: EM402Broj ESPB: 6
Broj časova aktivne nastave nedeljno: 3+3
Nastavni kadar
Nastavnik: kancelarija: NTP zgrada, 1. sprat, kabinet 132; telefon: 485-4516; email: dautovic(at)uns(tačka)ac(tačka)rsNačin polaganja ispita
Materijal za predavanja:
- L. Novak - Algoritmi i njihova složenost - skripte, FTN Novi Sad, 2007, Srpski jezik
- S. Dautović - Zbirka rešenih problema (određivanje vremenske složenosti algoritama) - skripte, FTN Novi Sad, 2007, Srpski jezik
- C.H. Papadimitriou - Computational Complexity, Addison Wesley Longman, 1995, Engleski jezik
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein - Introduction to Algorithms, Third Edition, The MIT Press, 1999, Engleski jezik
Dodatne informacije
Teme (Ispitna pitanja) na kursu Algoritmi i njihova složenost 2018/19
- Kritični računarski resursi (vreme, prostor, broj procesora (npr. u slučaju paralelnih algoritama), broj razmenjenih poruka (npr. u slučaju distribuiranih algoritama), potrošnja energije itd.) i načini njihovog merenja
- Asimptotske notacije veliko O, Θ, Ω, malo ω, o i njihove osnovne osobine
- Problem, instanca problema, rešenje problema
- Odlučiva, evaluaciona i konstruktivna formulacija optimizacionih problema
- Deterministička Tjuringova mašina i njene različite varijante (sa jednom i više traka, sa ulazom i izlazom itd.).
- Definicija algoritma preko Tjuringove mašine
- Formalni jezici, pojam rekurzivnog i rekurzivno-nabrojivog jezika, prihvatanje (accepting) reči jezika na TM i odlučivanje (deciding) jezika, rekurzivne funkcije
- Izračunavanje funkcija nad stringovima na TM
- Univerzalna Tjuringova mašina
- Halting problem i neodlučivost jezika
- Pojam klase kompleksnosti (complexity class)
- Vremenska složenost algoritma, klase TIME(f(n)) i NTIME(f(n))
- Određivanje vremenske složenosti iterativnih i rekurzivnih algoritama, Master teorema
- Tjuringove mašine sa ulazom i izlazom, prostorna kompleksnost algoritma, klase SPACE(f(n)) i NSPACE(f(n)), klase L i NL, problem 2SAT
- Dokaz korektnosti algoritma
- Pojam redukcije i kompletnosti (completeness) u okvirima neke klase kompleksnosti
- Klasa problema P, važni predstavnici problema iz ove klase (npr. MAX FLOW, REACHABILITY, SORTING, različiti grafovski i numerički problemi itd.)
- Klasa P-kompletnih problema, problem CIRCUIT VALUE
- Nedeterministička Tjuringova mašina, problem SAT
- Klasa problema NP
- Klasa NP-kompletnih problema, važni predstavnici problema iz ove klase (3SAT, MIS, CLIQUE, VERTEX COVER, EDGE DOMINATING SET, SET COVER, TSP, HAMILTONIAN PATH&CYCLE, 3-COLORING itd.)
- Ideja dokaza Kukove teoreme
- Rešavači problema SAT (SAT-solvers)
- Redukovani uređeni binarni dijagrami odlučivanja (ROBDDs)
- Kompleksnost Bulovih kola
- coNP i coNP-complete problemi, problem VALIDITY (TAUTOLOGY)
- Odnos klasa P, NP, coNP, NP-kompletnih i coNP-kompletnih problema
- Polinomijalna hijerarhija, klasa PH, klase ∏i+1P, ∑i+1P, Δi+1P
- Polinomijalni prostor, klasa PSPACE, problem QSAT
- Aproksimativni algoritmi, mere aproksimabilnosti, klase problema APX, PTAS, FPTAS
- Parametrizovani algoritmi
- Randomizovani algoritmi, klasa RP
- Postupci opšte namene u kombinatornoj optimizaciji (exhaustive search, backtracking, branch and bound)
- Matematičko programiranje
- Dinamičko programiranje
- Operacije nad polinomima, transformacije nad polinomijalnim funkcijama, algoritmi za DFT i FFT
- Paralelni algoritmi, klasa NC, Amdalov zakon, iregularni paralelizam
- On-line (dinamički) grafovi i algoritmi
- Distribuirani i lokalizovani algoritmi
- Komunikacijska kompleksnost algoritma
- Kolmogorovljeva (informaciona) kompleksnost algoritma
- Deskriptivna kompleksnost, Faginova teorema i definicija klase NP
- Energetska kompleksnost algoritma, klasa DENER(E(n))
- Kompleksnost nad poljem realnih brojeva, BSS mašina