CSE 594: Combinatorial and Graph Algorithms
Time: M, W, F 9:00-9:50, Place: Talbert 115
Instructor: Hung Q. Ngo
Office: 238 Bell Hall
Office Hours: Wednesdays and Fridays 10:30-11:30am
Phone: 645-3180 x 160
This course covers a variety of techniques for designing approximation
algorithms. Three central themes are: (a) linear programming based techniques,
(b) combinatorial methods, (c) randomized algorithms. Recent results on
hardness of approximation, approximate counting, and semidefinite programming
might also be touched upon from time to time. We shall spend roughly a
third of the semester on each theme. We shall attempt to cover a broad
range of commonly faced optimization problems, mostly on graphs, which
can be naturally modelled and/or solved using linear programming, combinatorial,
and randomization techniques. In addition to that, students are expected
to gain substantial discrete mathematics problem solving skills essential
for computer engineers and scientists.
The textbook is meant mostly to be a reference. We shall cover many topics
not covered in the texts. Appropriate lecture notes shall be given.
This course is mathematical in nature. One aim is for students to be
able to formulate practical problems mathematically, and find familiar
techniques to solve them if possible.
- Grasp the essential ideas of graph theory, linear programming, approximation
algorithm analysis and design, including but not limited to the following
- linear programming formulation and solution
- the primal-dual method, relaxation and rounding
- combinatorial methods in approximation
- hardness of approximation
- approximate counting
- randomization methods
- Gain substantial problem solving skills in designing algorithms and discrete
A solid background on basic algorithms and NP-completeness theory. (A formal
course like CSE531 suffices.)
Ability to read and quickly grasp new discrete mathematics concepts and results.
Ability to do rigorous formal proofs.
At the end of this course, each student should be able to:
- Have a good overall picture of the topics mentioned in the course objective
- Solve simple to moderately difficult approximation algorithmic problems
arising from practical programming situations
- Love designing and analyzing approximation algorithms, and solving graph
- Required Textbooks:
Vazirani, Approximation Algorithms,
Springer-Verlag, 397 pages hardcover, ISBN: 3-540-65367-8, published 2001.
- Other recommended references:
Chvátal, Linear Programming, W. H. Freeman, 1983; 478pp.
ISBN: 0716715872, W. H. Freeman Company, January 1983.
Hochbaum (Editor), Approximation Algorithms for NP-Hard Problems,
624 pages ; Brooks/Cole Pub Co; ISBN: 0534949681; 1st edition (July 26,
- Alexander Schrijver,
Theory of Linear and Integer Programming, 484pp. ISBN: 0471982326,
Wiley, John & Sons, Incorporated, June 1998.
R. Garey and David
S. Johnson, Computers and Intractability: A Guide to the Theory
of NP-Completeness, 338pp. ISBN: 0716710455, W. H. Freeman Company,
Motwani and Prabhakar
Raghavan, Randomized Algorithms, 492 pages, Cambridge University
Press (August 25, 1995), ISBN: 0521474655
- Plus other reading material specified on the class homepage
- Heavy! So, start early!!
- Approx. 40 pages of very dense reading per week
- 4 written homework assignments (to be done individually). I reserve my rights
to add one or two extra homework assignments as I feel appropriate.
- 1 midterm exam (take home)
- 1 final exam (take home)
- 4 written assignments: 15% each
- Midterm: 20%
- Final: 20%
- Assignments due at the beginning of the lecture on the due date
- One day late: 20% reduction
- Each extra day late: 40% reduction (and thus there is no point being
late for more than 2 days)
- Incomplete/make-up exams: not given, except in provably extraordinary
- No tolerance on plagiarism:
- 0 on the particular assignment/exam for first attempt
- Fail the course on the second
- Consult the University Code of Conduct for details on consequences of
- See also Prof. Shapiro's page on Academic Integrity of the CSE department:
- Group study/discussion is encouraged, but the submission must be your own
- I will take cheating VERY VERY seriously. Don't waste your time
- Students are encouraged to discuss homework problems with classmates, but
the version submitted must be written on your own, in your own words.
- The midterm and final exams have to be done individually, no discussion
- Absolutely no lame excuses please, such as "I have to
go home early, allow me to take the test on Dec 1", or "I had a
fight with my girlfriend, which effects my performance", blah blah blah.
Even when they are true, they are still lame.
- No extra work in the next semester given to improve your grade.