Combinatorial Computing
VCSG-801
Fall 2011

Assignment 1, due Thursday, September 22, 2011

Part 1, no programming

  1. Draw all nonisomorphic graphs on 4 vertices.
  2. How many distinct 5 by 5 0-1 matrices are there representing a pentagon? Try to prove it in just a few lines of counting reasoning.
  3. Draw all (nonisomorphic) graphs on 10 vertices and 5 edges (there are 26 of such graphs).
  4. Prove that R(C_4,C_4) = 6. You may consider an intermediate lemma stating that every C_4-free graph has at most 7 edges.

Part 2, programming exercise

  1. Build a file with 26 lines containing g6-formats of all nauty-canonically labeled graphs on 10 vertices and 5 edges.
  2. With the help of nauty compute the Ramsey numbers R(C_4,K_n) for n = 3, 4 and 5, and build g6-formats of all nonisomorphic graphs witnessing the lower bound for corresponding numbers. For correctness compare your results to those in the paper at position 34 of the list.
  3. Repeat the previous step for some n > 5. The case for n = 9 is an open research question.


Assignment 2, due Tuesday, October 4, 2011

Part 1, Dynamic programming and knapsack

Consider the algorithm described in the textbook on page 25.
  1. Let the knapsack problem instance have the profits {3,5,7,9,12}, weights {1,2,3,4,5} and the capacity M=10.
  2. What is the meaning of the entry P[3,7] ?
    Use the dynamic programming algorithm to produce the dynamic programming table P[j,m] for this instance.
  3. Describe briefly how to enhance this algorithm so we can recover the actual choice of objects to be packed.
  4. What is needed to decide if the optimal solution is unique ?

Part 2, Generating k-sets of an n-set

This question concerns the algorithm on the handout (given in class 9/22) for enumerating all k-sets (sets of k elements) of an n-set. Sets are naturally encoded in registers as sets containing those elements corresponding to bit positions at which bit is 1.
  1. Give experimental running time comparison of this algorithm with the naive approach of the loop processing all n-strings with bit counting.
  2. Prove that this algorithm correctly enumerates all k-sets of an n-set for n < WORDSIZE.
  3. *(optional) Perform experiments with other algorihms for the same problem.


Midterm Exam, Thursday, October 13, 2011


Assignment 3, due Thursday, October 27, 2011

Part 1, for everybody

Implement coloring and clique finding algorithms as follows.

  1. Greedy graph coloring as in Algorithm 4.16 page 137.
  2. Maximum clique algorithm 4.19 page 139. Use at least two different bounding functions.

The algorithms of this assignment should be tested on three types of graphs:

Submit:
  1. Trace in detail the behavior of each algorithm on one of the small graphs.
  2. Compare your implementation in efficiency with the experiments done by the authors of the textbook, as reported in Tables 4.4 and 4.5 on page 140.
  3. Hardcopy of the commented source code.

Part 2, for volunteers, open deadline

The tasks below can lead to capstone projects, MS project/thesis and conference presentations. Complete one or more of the following tasks:
  1. Evaluate the maximum clique finding algorithms developed by Patric Ostergard.
  2. Find some new lower bounds for any of the cases listed in my survey paper Small Ramsey Numbers. Anything goes. You do need a fast clique testing algorithm, though in practice it may be targeted and tuned for very special parameters. Try non-classical cases (like K6 versus K7-e), try multicolor cases. When in doubt, discuss with me the details. GA's or simulated annealing are OK, team work is OK, any tools you can find on the web are OK, just give me some new lower bounds ... If your work on this part is good, you can be excused from completing Part 1.
  3. Compute maximum clique order in Paley graphs up to 20000 vertices. Or, just try to be better than Shearer (up to 7000, with cpu times) and Exoo (up to 10000).
Submit:


Assignment 4, due as soon as possible

Let S_n be the set of graphs on n vertices without W_5 (4-spoked wheel) and without C_5 in the complement. Generate the sets S_n for n = 8, 9, 10. Describe, as well as you can, the graphs in S_n for the largest n for which S_n is not empty. In short, sort out the truth about R(W_5,C_5). If, instead of computations, you just prove what is the value of R(W_5,C_5) it will be also fine.


Assignment 5, due Thursday, November 17, 2011

This assignment is to be handed in on the exam day.


Final Exam, Thursday, 12:30-2:30pm, November 17, 2011, 70-3455


Back to the course page