Topics in Advanced Algorithms 
Combinatorial Computing
CSCI761, Spring 2019
Instructor
bldg. 70B, room 3657,
(585) 4755193, spr@cs.rit.edu
http://www.cs.rit.edu/~spr
office hours: TR 6:20pm8pm, or send email
Lectures
Tuesday/Thursday, 5:00pm6:15pm, room 701455
General Course Documents
College course document, and
common RIT policies and calendar.
Contents
This course will explore the possibilities and limitations of
effective computations in combinatorics.
The first half of the course will cover classical algorithms
in combinatorial computing, together with the problems of
generation, enumeration and manipulation of various types
of combinatorial objects (graphs and finite set systems).
The second part will concentrate on computational techniques
for the search of different combinatorial configurations:
Ramsey numbers, tdesigns, Turan coverings, Folkman colorings
and others. A number of topics suitable for further independent
study, project or thesis development will be discussed.
Students will write a term paper, either
theoretical based on literature or reporting student's own
implementation or experiments with a chosen combinatorial problem.
Depending on the size of the group, some or all students will
give a presentation to the class.
Readings:

Combinatorial Algorithms. Generation, Enumeration, and Search,
by Donald L. Kreher and Douglas R. Stinson, CRC Press, 1999.
 Handbook of Combinatorics by
R. Graham, M. Grotschel and L. Lovasz,
MIT Press, 1995 (complementary reference monograph).
 Introductory Combinatorics by
Kenneth Bogart, third edition,
HBJ Publ., 2000 (complementary combinatorial background).

Instructor's conference
papers and presentations.

Other Journal articles.
Prerequisites:
CSCI665 or ((CSCI261 or CSCI264) and permission of the
instructor)
Evaluation
 5% class participation
 40% homeworks, programming exercises
 25% midterm exam, Thursday, March 7, 5:00pm6:15pm, 701455
 30% final exam, Thursday, May 2, 7pm9:30pm, 701455
Links
Links to supporting materials as used in classes, chronologically:

nauty
home by
Brendan McKay
at ANU in ACT of AUS.

g6format,
a very useful way to write graphs to files and pipes. You do not need to
know all its details, but you need to know how to make your
programs read and write graphs encoded in g6.

Wolfram root page on graph isomorphism problem,
GI, with
further links to canonical labeling, automorphisms and such.

For homework #2, look at the tables I, II, III and IV on pages 4547 of a
very old paper posted at position #95 of the
list
(or get paper's
pdf directly,
or just the tables tabs88.pdf).

There are three nonisomorphic (3,4;8)Ramsey critical graphs
for K3 versus K4, check out their
drawings
linked to cycle representation of their automorphism group generators.
Two papers with
Jan Goedgebeur, at positions
#33 and #29 of the
list,
present recent developments of what is known about (3,k;n,e)Ramsey graphs
(reading these two papers is not required, but I encourage you to do so).

Basics of groups: the
symmetric group, alternating group, sign, cycles and such.
Then
Cayley graphs of groups are explaining things even more,
like the
Cayley graphs of the group of automorphisms of pentagon for
three different pairs of generators.

Overview slides of
computational Ramsey theory. As of 2/10, we are at slide #4,
which is well complemented by
lecture 5 and
lecture 6 at MIT by
Jacob Fox.

Refreshing what you know about
Pascal triangle
of binomial coefficients and
Catalan numbers
(use also Wolfram pages, not only wiki)
will help in better understanding
of the upper bound on R(s,t). And/or, if you really want to know more
about CS side of Newton binomial coefficients dive into the book
A=B
by Petkovsek, Wilf and
Doron Zeilberger. A=B is free.

Imre Leader's
problem of colored permutations.

Collatz 3n+1 conjecture.

Computing Cliques by Donald Kreher.
...
coming soon
...

Exploring
Ramsey page at RITCS.

Ramsey arrowing, Folkman problems (n weeks).
Topics:
See links and homeworks above for topics covered so far.

Combinatorial objects
 Overview of types of objects
 Generation: subsets, Gray codes, permutations
 Trees, ranking

Backtracking
 Naive and enhanced backtracking
 Generating cliques
 Knapsack and traveling salesman problems
 Satisfiability problem, SATsolvers
 Estimating size of backtrack tree

Heuristic searches for combinatorial configurations
 Hill climbing
 Simulated annealing
 Tabu search
 Genetic Algorithms

Basis reduction
 Reduced basis
 Solving systems of integer equations
 Solving subsetsum problem

Computations in Ramsey theory
 Ramsey, Folkman and van der Waerden numbers
 Constructing critical configurations
 Computing, analyzing, and using automorphism groups of configurations

Computations in design theory
 Constructing balanced incomplete block design
 Constructing Steiner triple systems
 Constructing tdesigns and coverings

Student presentations
Useful Links