Topics in Advanced Algorithms -
CSCI-761, Spring 2019
bldg. 70B, room 3657,
(585) 475-5193, email@example.com
office hours: TR 6:20pm-8pm, or send email
Tuesday/Thursday, 5:00pm-6:15pm, room 70-1455
General Course Documents
College course document, and
common RIT policies and calendar.
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, t-designs, 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.
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).
papers and presentations.
Other Journal articles.
CSCI-665 or ((CSCI-261 or CSCI-264) and permission of the
- 5% class participation
- 40% homeworks, programming exercises
- 25% midterm exam, Thursday, March 7, 5:00pm-6:15pm, 70-1455
- 30% final exam, Thursday, May 2, 7pm-9:30pm, 70-1455
Links to supporting materials as used in classes, chronologically:
at ANU in ACT of AUS.
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,
further links to canonical labeling, automorphisms and such.
For homework #2, look at the tables I, II, III and IV on pages 45-47 of a
very old paper posted at position #95 of the
(or get paper's
or just the tables tabs88.pdf).
There are three nonisomorphic (3,4;8)-Ramsey critical graphs
for K3 versus K4, check out their
linked to cycle representation of their automorphism group generators.
Two papers with
Jan Goedgebeur, at positions
#33 and #29 of the
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.
Cayley graphs of groups are explaining things even more,
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
Refreshing what you know about
of binomial coefficients and
(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
by Petkovsek, Wilf and
Doron Zeilberger. A=B is free.
problem of colored permutations.
Collatz 3n+1 conjecture.
Computing Cliques by Donald Kreher.
Ramsey page at RIT-CS.
Ramsey arrowing, Folkman problems (n weeks).
See links and homeworks above for topics covered so far.
- Overview of types of objects
- Generation: subsets, Gray codes, permutations
- Trees, ranking
- Naive and enhanced backtracking
- Generating cliques
- Knapsack and traveling salesman problems
- Satisfiability problem, SAT-solvers
- Estimating size of backtrack tree
Heuristic searches for combinatorial configurations
- Hill climbing
- Simulated annealing
- Tabu search
- Genetic Algorithms
- Reduced basis
- Solving systems of integer equations
- Solving subset-sum 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 t-designs and coverings