CSI 5165, FALL 2003, Combinatorial Algorithms: outline

WEB PAGE: http://www.site.uottawa.ca/~lucia/courses/5165-02/
PROFESSOR: Lucia Moura, tel: 562-5800 ext. 6678, email: lucia@site.uottawa.ca
OFFICE HOURS: Office: SITE 5-027 
Tuesdays 13:00-14:00, Thursdays 11:45-12:45
LECTURES: Room: Vanier 469 (may change); Time: Tuesdays 9:00-12:00

TEXTBOOK and Extra material: D. Kreher and D. Stinson, "Combinatorial Algorithms: generation, enumeration and search", CRC Press, 1998. 
Available at: the University of Ottawa Bookstore ($132.55).
Combinatorial problems arise in many areas of computer science, engineering and mathematics. Combinatorial structures such as graphs and set systems are used to model many problems in computing.
In this course, we will study combinatorial algorithms to solve the following types of problem: 
  • Generation: construct all combinatorial structures of a particular type.
  • Enumeration: compute the number of different combinatorial structures of a particular type.
  • Search: find at least one example of a structure of a particular type.

  • In the first part of the course, students will learn a wide range of techniques to solve these problems. In the second part, they will learn more advanced techniques as well as work on a project related to their research interests. 
    1. Basic algorithms for ordering, ranking and unranking of basic combinatorial objects. -- Chapters 2 and 3
    2. Exhaustive search and exhaustive generation algorithms (backtracking, branch-and bound). -- Chapter 4
    3. Heuristic search algorithms (hill climbing, simulated annealing, tabu search, genetic algorithms). -- Chapter 5
    4. Computing isomorphism (isomorphism of graphs and set systems; computing invariants and certificates) -- Chapter 7
    5. Isomorph-free generation (exhaustive generation of complete (isomorph-free) lists of combinatorial objects). -- papers

    MARKING SCHEME: 45% Assignments (3 @ 15% each)
    05% Project proposal (up to 1 page)
    40% Project (10-15 pages)
    10% Presentation (20 minute talk)

    Schedule of assignments, projects and due dates:
    weight: handout: due date:
    Assignment 1 15%  Sep 16  Oct 07  9:00 am 
    Project proposal 5%  Oct 28  9:00 am 
    Assignment 2 15%  Oct 14  Nov 04  9:00 am 
    Assignment 3 15%  Nov 04  Nov 25 10:00 am 
    Project 40%  Dec 2 10:00 am 
    Presentation 10%  Dec 2 or TBA? 

    Dates from the Academic Calendar:
    First lecture: September 9
    Last date to drop: November 3
    Last lecture: November 25