Formalne metode
izračunljivosti
| |
Smjer: |
Teorijska kompjuterska nauka |
| |
Semestar: |
VII |
| |
Tip kursa: |
Obavezni |
| |
Fond sati: |
3+2+0 |
| |
Broj
ECTS kredita: |
8 |
Nastavni program:
-
Skupovi, relacije, jezici; Konačna
reprezentacija jezika;
-
Konačni automati; Regularni izrazi;
Algoritamski aspekti konačnih automata;
-
Konteksno slobodne (context-free) gramatike;
Pushdown automati;
-
Definicija Turing-ove mašine; računanje sa
Turing-ovom mašinom; Turing-ova mašina sa direktnim pristupom,
Nedeterministička Turing-ova mašina;
-
Church-Turingov princip;
-
Problem zaustavljanja; Nerješivi problemi
Turing-ovom mašinom;
-
Rekurzivni jezici;
-
Problemi iz klase P; Primjeri problema iz
klase P;
-
Problemi iz klase NP; Problem Boolean
satisfiability; Cook-ov teorem:
-
Polinomijalna redukcija problema; Primjeri
redukcije;
-
NPC (NP-complete) problemi; Primjeri NPC
problema;
-
Rješavanje NPC; Analiza podproblema;
Aproksimacije; Kvalitet aproksimacija;
-
Garancija kvalitete; garancija kvalitete u
praksi;
-
Metaheuristike; Taboo; Simulated anealing;
Primjeri strategija za NPC probleme;
Literatura:
-
Hary Lewis, Christos Papadimitriou:
Elements of the Theory of Computation
-
Michael Garey, David Johnson:
Computers and Intractability, A Guide to the Theory of NP-Completness
-
Thomas Corman, Charles Leirserson, Ronald
Rivest: Introduction to Algorithms
-
Robert Sedgewick: Algorithms in
C/C++, Addison-Wesley, 1999.
-
R.K. Ahuja, T.L. Magnanti, J.B. Orlin:
Network algorithms, Prentice-Hall, New Jersey, 1993.
- D. Gustfield:
Algorithms on Strings, Trees, & Sequences, Cambridge University
Press, 1997.