Advanced Algorithms (3301 and 7301)
The development of a sound theoretical understanding of advanced algorithms and practical problem solving skills using them. Advanced algorithm topics chosen from: Dynamic Programming, Linear Programming, Matching, Max Flow / Min Cut, P and NP, Approximation Algorithms, Randomized Algorithms, Computational Geometry.
Course Details
-
Course Code: COMP SCI 3301 and 7301
-
Coordinating Unit: School of Computer Science
-
Course Coordinator: Dr. Mingyu Guo
-
Term: Semester 1
-
Location/s: North Terrace Campus
-
Units: 3
-
Contact: Up to 3 hours per week
-
Available for Study Abroad and Exchange: Y
-
Prerequisites: COMP SCI 2201
Course Learning Outcomes
-
Students should develop a sound theoretical understanding of advanced algorithms and practical problem solving skills using them.
-
Students should develop basic knowledge of a wide range of advanced algorithm design techniques including dynamic programming, linear programming, approximation algorithms, and randomized algorithms.
-
Students should develop basic advanced algorithm analysis skills for analyzing the approximation ratio of approximation algorithms and the probability of randomized algorithms.
-
Students should gain a good understanding on a wide range of advanced algorithmic problems, their relations and variants, and application to real-world problems.
Resources (Recommended)
Textbook: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms, Third Edition, MIT Press
Rajeev Motwani, Prabhakar Raghavan: Randomized Algorithms. Cambridge University Press 1995, isbn 0-521-47465-5
Vijay V. Vazirani: Approximation algorithms. Springer 2001, isbn 978-3-540-65367-7, pp. I-IXI, 1-378
Assessment Summary
3 assignments worth 30% (each worth 10% of the final mark)
Final Exam worth 70%
For P/G stduents at least one assignment will contain a component that would require a deeper understanding to the learnt knowledge than U/G students.
Students have to achieve at least 40% of the exam marks, and overall at least 50% in order to pass the course.
Course Schedule by Week
-
Course Overview, Dynamic programming, Pseudo polynomial time approximation
-
Linear programming 1, Simplex method, Dual form
-
Linear programming 2, Maximum flow min cut theorem, Ford-Fulkerson algorithm
-
Maximum matching, Integrality theorem
-
Approximation algorithms 1, Bin packing, Vertex cover
-
Approximation algorithms 2, Travelling salesman problem (TSP)
-
Fixed parameter algorithms, Vertex cover, Euclidean TSP
-
Randomized algorithms 1, Inequalities and sampling algorithms
-
Randomized algorithms 2, K-SAT
-
Computational Geometry, Graham algorithm
-
Algorithmic game theory, Stable matching, Selfish flow, Kidney exchange
-
Exam Reviewing
Course Offerings
North Tce, Adelaide
|