RIT Computer Science

Topics in Advanced Algorithms -
Combinatorial Computing
CSCI-761, Spring 2019


Stanisław Radziszowski

bldg. 70B, room 3657,
(585) 475-5193, spr@cs.rit.edu
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.


Prerequisites: CSCI-665 or ((CSCI-261 or CSCI-264) and permission of the instructor)



Links to supporting materials as used in classes, chronologically:
  1. nauty home by Brendan McKay at ANU in ACT of AUS.
  2. g6-format, 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.
  3. Wolfram root page on graph isomorphism problem, GI, with further links to canonical labeling, automorphisms and such.
  4. 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 list (or get paper's pdf directly, or just the tables tabs88.pdf).
  5. 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).
  6. 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.
  7. 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.
  8. 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.
  9. Imre Leader's problem of colored permutations.
  10. Collatz 3n+1 conjecture.
  11. Computing Cliques by Donald Kreher.

    coming soon

  12. Exploring Ramsey page at RIT-CS.
  13. Ramsey arrowing, Folkman problems (n weeks).


See links and homeworks above for topics covered so far.
  1. Combinatorial objects
  2. Backtracking
  3. Heuristic searches for combinatorial configurations
  4. Basis reduction
  5. Computations in Ramsey theory
  6. Computations in design theory
  7. Student presentations

Useful Links