## CSI 5165, Winter 2009, Combinatorial Algorithms: course description

WEB PAGE:

http://www.site.uottawa.ca/~lucia/courses/5165-09Winter/

PROFESSOR:

Lucia Moura, tel: 562-5800 ext. 6678, email: lucia@site.uottawa.ca

OFFICE HOURS:

Office: SITE 5-027

Mondays 12:00-13:00 and Thursdays 11:30-12:30

LECTURES:

Room: LPR 285 (Louis Pasteur);

Time: Thursdays 8:30-11:30 (agreed on later start at 8:50, with shorter break)

TEXTBOOKS:

Textbook: [KS] D. Kreher and D. Stinson, "Combinatorial Algorithms: generation, enumeration and search", CRC Press, 1998.

Available to buy at the University of Ottawa Bookstore.

Reference book: [KO] P. Kaski and P. Ostergard, Classification algorithms for codes and designs, Springer, 2006.

Paper copy available at Carleton University library.

OttawaU electronic resources:

http://orbis.uottawa.ca/search/t?SEARCH=classification+algorithms+for+codes+and+designs&sort=&submit=Search

go to "connect to Springer resource" for individual chapter's pdf"

COURSE

OBJECTIVES:

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.

COURSE OUTLINE:

1. [G] Generating elementary combinatorial objects. Basic algorithms for ordering, ranking and unranking of combinatorial objects such as sets, permutations, tuples, gray codes. -- [KS, Chapters 2 and 3]
2. [B] Exhaustive search and exhaustive generation algorithms (backtracking, branch-and bound). -- [KS, Chapter 4]
3. [H] Heuristic search algorithms (hill climbing, simulated annealing, tabu search, genetic algorithms). -- [KS, Chapter 5]
4. [I] Computing isomorphism (isomorphism of graphs and set systems; computing invariants and certificates)  and Isomorph-free generation (exhaustive generation of complete (isomorph-free) lists of combinatorial objects) [KS,Chapter 7] and  [KO, Chapter 3,4]

MARKING SCHEME:

45% Assignments (3 @ 15% each)

05% Project proposal (up to 1 page)

40% Project (10-15 pages)

10% Presentation (20 minute talk)

IMPORTANT

DATES:

Schedule of assignments, projects and due dates:

 weight: handout: due date: Assignment 1 15% Jan 15 Feb   5  8:30 am Project proposal 5% Feb 26  8:30 am Assignment 2 15% Feb 26 Mar  12  8:30 am Assignment 3 15% Mar 5 Mar 26 8:30 am Project Presentation 10% April 9 8:30 am Project 40% April 9-16 (TBA)

Dates from the University of Ottawa Academic Calendar:
First lecture: January 8
Study break: Feb 16-20
Last date to drop: March 2
Last lecture: April 9