CSE 594: Combinatorial and Graph Algorithms
Time: Tue,Thr 8:00am-9:20am, Place: Clemen 04.
Instructor: Prof. Hung Q. Ngo
Office: 239 Bell Hall
Office Hours: Thursdays 1:00-3:00pm
Phone: 645-3180 x 160
This course has twomain components: (a) linear programming and network
flows, (c) NP-completeness and approximation algorithms. We shall spend
roughly one half of the semester on each topic. 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,
network flows, and approximation techniques. In addition to that, students
are expected to gain substantial discrete mathematics problem solving
skills essential for computer engineers and scientists.
The textbooks are meant mainly for references. We shall cover many topics
not covered in the texts. Appropriate lecture notes shall be given.
This course is highly mathematical in nature. One aim is for students
to be able to formulate a practical problems mathematically, and find
familiar techniques to solve them if possible.
- Grasp the essential ideas of approximation algorithm analysis and design,
including but not limited to the following
- basic NP-completeness proofs
- linear programming formulation and solution
- network flows analysis and algorithms
- approximation algorithms design techniques for a variety of combinatorial
and graph optimization problems: greedy-method, linear programming relaxation,
divide and conquer, primal-dual methods, ...
- Gain substantial problem solving skills in designing algorithms and discrete
A solid background on basic algorithms. (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 NP-completeness, linear programming, network
flows, approximation algorithms analysis and design techniques
- Solve simple to moderately difficult approximation algorithmic problems
arising from practical programming situations
- Love designing and analyzing approximation algorithms
- Required Textbooks:
Vazirani, Approximation Algorithms,
Springer-Verlag, 397 pages hardcover, ISBN: 3-540-65367-8, published 2001.
Chvátal, Linear Programming,
W. H. Freeman, 1983; Paperback, 1st ed., 478pp. ISBN: 0716715872, W. H.
Freeman Company, January 1983.
- Other recommended references:
Hochbaum (Editor), Approximation Algorithms for NP-Hard Problems,
Hardcover: 624 pages ; Brooks/Cole Pub Co; ISBN: 0534949681; 1st edition
(July 26, 1996)
- Alexander Schrijver,
Theory of Linear and Integer Programming, Paperback, 1st ed., 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, Paperback, 338pp. ISBN: 0716710455, W. H. Freeman
Company, November 1990.
- Ravindra K. Ahuja,
L. Magnanti, and James
B. Orlin, Network Flows: Theory, Algorithms, and Applications,
Hardcover, 1st ed., 846pp., ISBN: 013617549X, Prentice Hall, February
- Plus other reading material specified on the class homepage
- Heavy! So, start early!!
- Approx. 50 pages of fairly dense reading per week
- 6 written homework assignments (to be done individually)
- 1 midterm exam (in class)
- 1 final exam (in class)
- 4 written assignments: 8% each
- Midterm: 28%
- Final: 40%
- Assignments due at the end of the lecture on the due date
- Each extra day late: 20% reduction
- 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.
- 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.