CSE 594: Combinatorial and Graph Algorithms

Spring 2004
Time:
Tue,Thr 8:00am-9:20am, Place: Capen 260.

### Course Syllabus

Instructor:     Prof. Hung Q. Ngo
Office: 239 Bell Hall
Office Hours: Tuesdays & Thursdays 10-11am Phone: 645-3180 x 160
Email: hungngo@cse.buffalo.edu Teaching Assistant: Mr. Jaikanth Krishnaswamy Office Hours: TBA Phone: Email: jk73@cse.buffalo.edu

Course Description:

This course has two main components: (a) topics in graph theory, (b) linear programming, network flows in the context of 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 modeled 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 textbook is meant mostly 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.

Course Objectives:

• Have fun learning!
• Grasp the essential ideas of graph theory, linear programming, approximation algorithm analysis and design, including but not limited to the following
• matching theory
• graph coloring
• linear programming formulation and solution
• the primal-dual method
• connectivity and Menger's theorem
• structures in dense and sparse graphs
• Gain substantial problem solving skills in designing algorithms and discrete mathematics

Prerequisites:

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 the topics mentioned in the course objective section
• Solve simple to moderately difficult approximation algorithmic problems arising from practical programming situations
• Love designing and analyzing approximation algorithms, and solving graph theoretic problems

References:

• Required Textbooks:
• Reinhard Diestel, Graph Theory, Springer-Verlag, 2nd edition, April 2000, 315pp, ISBN: 0387989765.
• Other recommended references:
• Douglas West, Introduction to Graph Theory, Prentice Hall, 470pp, Aug 2000, 2nd edition, ISBN: 0130144002.
• Vijay Vazirani, Approximation Algorithms, Springer-Verlag, 397 pages hardcover, ISBN: 3-540-65367-8, published 2001.
• Vašek Chvátal, Linear Programming, W. H. Freeman, 1983; Paperback, 1st ed., 478pp. ISBN: 0716715872, W. H. Freeman Company, January 1983.
• Dorit 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.
• Michael 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, Thomas L. Magnanti, and James B. Orlin, Network Flows: Theory, Algorithms, and Applications, Hardcover, 1st ed., 846pp., ISBN: 013617549X, Prentice Hall, February 1993.
• Plus other reading material specified on the class homepage

Class homepage:

http://www.cse.buffalo.edu/~hungngo/classes/2004/594

• Heavy! So, start early!!
• Approx. 50 pages of very dense reading per week
• 4 written homework assignments (to be done individually)
• 1 midterm exam (take home)
• 1 final exam (take home)

• 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 cases

• 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 academic misconduct