## General Information

1. Lectures Monday, Wednesday and Friday 3:10-4:00 pm in ENGRG E205
2. Instructor: Anton Betten Weber 207
3. Office hours: Monday 4-5pm, Wednesday 8-9am.
4. Contact details: phone 491 1865, email betten at math dot colostate dot edu
5. Credits: 3

MCC160

## Textbook

Combinatorial Algorithms, Generation, Enumeration and Search by Donald L. Kreher and Douglas R. Stinson, CRC Press Boca Raton, 1999.

## Homework and Quizzes

Homework will be assigned but not collected. Quizzes will be held Friday every second week to review the material from the previous two weeks.

## Exams

There will be three midterms and one final exam. These will be held in the lecture room.
1. Midterm 1: September 25
2. Midterm 2: October 23
3. Midterm 3: November 15
4. Final: during final's week December 11-15, the exact date can be found at the registrar's website. It will not be published here.
There will be no make-up exams. If you have a conflict, you need to discuss the matter with the teacher well in advance.

Your final grade will be determined from a score of 600. The quizzes and midterms count 100 points each, the final counts 200 points.

## Course Syllabus

The following is a rough outline. The order in which we proceed may vary from the order in the list. In addition, we will discuss and implement algorithms in Maple.
1. Introduction and basic techniques. Induction and recurrence, sets and subsets, permutations and combinations, partitions and compositions, Pascal's triangle and combinatorial identities.
2. Generating functions, characteristic roots. Moebius function. Fibonacci numbers. Partition numbers. Catalan numbers.
3. Relations and orders, posets and lattices, the lexicographic ordering, the order tree.
4. Ranking and unranking vs. first and next. Dijkstra's algorithm to generate all permutations. Generating all subsets. Generating all partitions.
5. Graphs, subgraphs, isomorphism, trees and bipartite graphs, Pruefer code, connectedness, Euler and Hamiltonian, cliques.
6. Graph algorithms, depth first search, breadth first search.
7. Digraphs and networks, minimum spanning trees (Kruskal vs. Prim), shortest paths (Dijkstra), max-flow-min-cut, augmenting paths (Ford and Fulkerson).
8. Matchings, systems of distinct representatives (Hall). Inclusion and exclusion.
9. Backtrack search, generating all cliques, estimating the size of a search tree, the traveling salesman.
10. Heuristic search, local search, "Bridge" scheduling techniques, "Domino-portraits", other applications.
11. Groups and symmetry, Cauchy-Frobenius (a.k.a. Burnside's Lemma), Polya counting, cycle enumerators.
12. Isomorphism and certificates. Equitable graph partitions.
13. Some special classes of graphs: strongly regular graphs, distance regular graphs, incidence graphs, Paley graphs, the Clebsch graph, Cayley-graphs, Rubik's cube graph, projective planes.

## Lab

We are going to use the computer lab in Weber 205, here are some general rules by the system administrator zube: rules

midterm 1

## Homework

 hw 1 solution hw 2 solution hw 3 solution a b c hw 4 solution 4-6 hw 5 solution 4-6 hw 6 solution 4-6 hw 7 solution 7 hw 8 solution 8 a b c