MA5201: Combinatorial Algorithms


  • Text D.L. Kreher and D.R. Stinson, Combinatorial Algorithms: Generation, Enumeration and Search CRC press, 1998.
  • Objectives
    The purpose of this course is for you to become familiar with some of the computational methods used in combinatorial mathematics.
  • Syllabus
    We will discuss the following topics:
    1. Generation of Elementary Combinatorial Objects;
    2. Exhaustive Search, i.e. Backtracking
    3. Computing automorphisms and determining isomorphism of combinatorial objects.
    4. Heuristic search algorithms such as Hill Climbing, Tabu Search, Simulated Annealing, and Genetic Algorithms.
  • Grading
    Your grade will be based on several written and programming home assignments. You may write your programs in any of the programming languages available.

    Programming assignments will be done in teams of 2 or 3 persons and will be submitted electronically and demonstrated in person.

    Start every written assignment at the top of a new page, put your name at the beginning of each page and do not stable different problems together. I expect the problems to be well written in full english sentences with no gaps in detail or logic. Please be as elegant and as concise as possible. Cite all references.