CSI 5165, FALL 2005, Combinatorial Algorithms: outline

WEB PAGE: http://www.site.uottawa.ca/~lucia/courses/5165-05/
PROFESSOR: Lucia Moura, tel: 562-5800 ext. 6678, email: lucia@site.uottawa.ca
OFFICE HOURS: Office: SITE 5-027 
LECTURES: Room: KED B015; Time: Wednesdays 11:30-2:30

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 ($113.95).
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 21  Oct 12  11:30 am 
    Project proposal 5%  Oct 26  11:30 am 
    Assignment 2 15%  Oct 12  Nov 02  11:30 am 
    Assignment 3 15%  Nov 02  Nov 23 11:30 am 
    Project Presentation 10%  Nov 30 11:30 am 
    Project 40%  Dec 7 

    Dates from the Academic Calendar:
    First lecture: September 14
    Last date to drop: November 7
    Last lecture: November 30