MAS334 Combinatorics

8. Reduction theorems

We will now introduce two results that allow us to calculate the rook polynomial of a board in terms of rook polynomials of smaller or simpler boards.

Theorem 8.1.

Let B be an n×n board, in which some squares may be blocked off. Let s be an unblocked square. Let C be the same as B, except that s is blocked off. Let D be the same as B, except that s’s row and column are removed. Then for k>0 we have ck(B)=ck(C)+ck-1(D), and so

rB(x)=rC(x)+xrD(x).
Proof.

The constant term on both sides is equal to one. Consider instead the coefficients of xk, where k>0. The coefficient in rB(x) is ck(B), which is the number of ways of placing k non-challenging rooks on B. We can write this as ck(B)=p+q, where p is the number of placements that do not have a rook at s, and q is the number of placements that do have a rook at s. To place k rooks on B without using s is the same as to place k rooks on C, so p=ck(C). To place k rooks on B including s is the same as to place a rook at s, and then place k-1 more rooks on B, avoiding s’s row and column. This in turn is the same as placing k-1 rooks on D, so we have q=ck-1(D). Note also that ck-1(D) is the coefficient of xk-1 in rD(x), which is the same as the coefficient of xk in xrD(x). The equation ck(B)=p+q now tells us that ck(B)=ck(C)+ck-1(D), or that the coefficients of xk are the same in rB(x) and rC(x)+xrD(x). As this works for all k, we have rB(x)=rC(x)+xrD(x) as claimed. ∎

Remark 8.2.

We say that C is the result of blocking s, and that D is the result of stripping s.

Example 8.3.

Boards B, C and D could be as follows:

As all squares in D are white, Proposition 7.11 gives

rD(x)=k=04(4k)2k!xk=1+16x+72x2+96x3+24x4.

Next, in C the middle row is fully blacked out, and it is easy to see that this makes it irrelevant, so C is equivalent to a 4×5 board in which all squares are white. We can therefore use Proposition 7.11 again to get

rC(x)=k=04(4k)(5k)k!xk=1+20x+120x2+240x3+120x4.

The theorem now gives

rB(x)=rC(x)+xrD(x)=1+21x+136x2+312x3+216x4+120x5.
Example 8.4.

It is interesting to see how Theorem 8.1 works out in some trivial cases. First consider the linear board Ln from Example 7.5, so Ln just consists of n blank squares in a row. Blocking any square gives Ln-1, and stripping any square gives the empty board, so Theorem 8.1 gives rLn(x)=rLn-1(x)+xr(x). Even for the empty board, there is a unique way of placing no rooks, so we have r(x)=1, so rLn(x)=rLn-1(x)+x. From this it follows inductively that rLn(x)=1+nx (which is already obvious from the definitions, as we remarked in Example 7.5.)

Now consider the diagonal board Dn from Example 7.6. Here blocking any square gives Dn-1, and stripping any square also gives Dn-1. Thus, Theorem 8.1 gives rDn(x)=(1+x)rDn-1(x). From this it follows inductively that rDn(x)=(1+x)n (which is already obvious from the definitions, as we remarked in Example 7.6.)

Definition 8.5.

Let B be an n×n board with some squares blocked off, as before. Suppose that the set of unblocked squares has been split into two parts C and D, so that B=CD and CD=. We say that C and D are fully disjoint if

  • (a)

    There is no row that contains a square from C and also a square from D; and

  • (b)

    There is no column that contains a square from C and also a square from D.

Example 8.6.

Consider the board B as shown on the left below.

We can divide B into disjoint subboards C and D, as shown by the second picture. Note that:

  • (a)

    Rows 1,3 and 5 contain only C’s, whereas rows 2 and 4 contain only D’s.

  • (b)

    Columns 1,2 and 5 contain only C’s, whereas columns 3 and 4 contain only D’s.

This shows that C and D are fully disjoint.

Theorem 8.7.

Let B be an n×n board with some squares blocked off, as before. Suppose that B can be split into two subboards C and D, which are fully disjoint. Note that C and D can be regarded as boards in their own right, so they have rook polynomials rC(x) and rD(x). Then

rB(x)=rC(x)rD(x).

(We call this method factoring.)

Proof.

To place k rooks in B, we first need to decide how many of them will be in C, and how many in D. If we place i rooks in C, then there will be k-i in D. There are ci(C) ways of placing i non-challenging rooks in C, and ck-i(D) ways of placing k-i non-challenging rooks in D. Moreover, the rooks in C cannot challenge those in D or vice-versa, because of conditions (b) and (c) in the theorem. Thus, we can put the two sets of rooks together, and we always have a set of k non-challenging rooks in B. From this we see that there are ci(C)×ck-i(D) ways of placing k non-challenging rooks in B, with precisely i of them in C. By considering all possible values of i, we get ck(B)=i=0kci(C)ck-i(D). This in turn gives

rB(x) =k0ck(B)xk=k0i=0kci(C)ck-i(D)xk
=(i0ci(C)xi)(j0cj(D)xj)=rC(x)rD(x).

Example 8.8.

Consider again the board B from example 8.6

Boards C and D are small enough that we can calculate the rook polynomials by inspection:

rC(x) =1+8x+14x2+4x3
rD(x) =1+3x+x2.

Theorem 8.7 therefore gives

rB(x) =rC(x)rD(x)=(1+8x+14x2+4x3)(1+3x+x2)
=1+11x+39x2+54x3+26x4+4x5.
Problem 8.9.

Consider the following table, in which all the entries are in the range 1-5:

You can check that there are no repeats in any row or column. How many ways are there of adding a fourth row, so that there are still no repeats in any row or column?

Solution.

We start by extending the table a little:

We want to add new row, in such a way that there are no repeats in any row or column. Column a already contains 1, 2 and 4, so the new entry cannot be any of those, so it must be in the set {3,5}. Column b already contains 2, 4 and 3, so the new entry cannot be any of those, so it must be in the set {1,5}. In the same way, we see that the new entries in columns c, d and e must be taken from the sets {2,4}, {1,2} and {3,4}, as indicated in the diagram. This gives us a matching problem, with chessboard diagram as shown on the left below. Adding a new row is equivalent to solving the rook problem for this board. For example, one possible solution is to place rooks at a3,b5,c2,d1,e4, as shown in the middle picture. This indicates that we can legitimately add a new row to our table, with column a containing 3, column b containing 5, column c containing 2, column d containing 1 and column e containing 4. The result is shown in the right-hand picture.

We want to find the number of ways to add a new row, which is the same as the number of ways of placing 5 non-challenging rooks on the board, which is the coefficient of x5 in the rook polynomial. As an illustration of the relevant methods, we will in fact calculate the full rook polynomial, by repeatedly using Theorems 8.1 and 8.7.

The following picture shows boards B1,,B15. We write rk(x) for the rook polynomial of board Bk. Our problem is to calculate r1(x).

By inspection, we have

r4(x) =r5(x)=1+2x
r7(x) =r8(x)=r11(x)=r12(x)=1+3x+x2
r14(x) =r15(x)=1+4x+3x2.

Now consider board B3. We have divided the empty cells into two groups, marked P and Q respectively. There is no row that contains both P and Q, and there is no column that contains both P and Q, so P and Q are fully disjoint. Thus, Theorem 8.7 is applicable, and we get r3(x)=r4(x)r5(x). We can also factor boards B6, B10 and B13 in a similar way. We find that

r3(x) =r4(x)r5(x)=(1+2x)2=1+4x+4x2
r6(x) =r7(x)r8(x)=(1+3x+x2)2=1+6x+11x2+6x3+x4
r10(x) =r11(x)r12(x)=(1+3x+x2)2=1+6x+11x2+6x3+x4
r13(x) =r14(x)r15(x)=(1+4x+3x2)2=1+8x+22x2+24x3+9x4.

Now consider board B9, in which we have marked one square with a red dot. Blocking that square gives B13, and stripping it gives B10. Theorem 8.1 therefore tells us that r9(x)=r13(x)+xr10(x). We can also block and strip the marked square in B2 to get B6 and B3, or we can block and strip the marked square in B1 to get B9 and B2. We therefore have

r9(x) =r13(x)+xr10(x)=(1+8x+22x2+24x3+9x4)+x(1+6x+11x2+6x3+x4)
=1+9x+28x2+35x3+15x4+x5
r2(x) =r6(x)+xr3(x)=(1+6x+11x2+6x3+x4)+x(1+4x+4x2)
=1+7x+15x2+10x3+x4
r1(x) =r9(x)+xr2(x)=(1+9x+28x2+35x3+15x4+x5)+x(1+7x+15x2+10x3+x4)
=1+10x+35x2+50x3+25x4+11x4+2x5.

(If we wanted to save writing, it would not be hard to do this calculation without explicitly drawing any of the boards to the right of the dotted line.) In particular, the number of ways of adding an admissible row to our original table is the number of ways of placing 5 non-challenging rooks on B1, which is the coefficient of x5 in r1(x), which is 2. In fact, the two possible rook placements are a3b5c2d1e4 and a5b1c4d2e3, so the two possibilities for the extra row are (3,5,2,1,4) and (5,1,4,2,3).

Problem 8.10.

Calculate the full rook polynomial for the board in Problem 7.14.

Solution.

We use the same method as in the previous example, but written in a slightly more efficient way.

We have boards B1,,B13. However, B5 and B6 have not been drawn separately, they are just marked as subsets of B4. Similarly, B9 and B10 are just marked as subsets of B8, and B12 and B13 are subsets of B11. By inspection, we have

r3(x) =r9(x)=1+2x
r5(x) =r12(x)=r13(x)=1+3x+x2
r6(x) =r10(x)=1+x.

We next want to use the factoring theorem (Theorem 8.7) to calculate r4(x), r8(x) and r11(x). For that result to be applicable, we must check that the relevant subboards are fully disjoint. This is equivalent to the following claim: in boards B4, B8 and B11, any two squares in the same row have the same number, and any two squares in the same column have the same number. This is clear by inspection. We therefore have

r4(x) =r5(x)r6(x)=(1+3x+x2)(1+x)=1+4x+4x2+x3
r8(x) =r9(x)r10(x)=(1+2x)(1+x)=1+3x+2x2
r11(x) =r12(x)r13(x)=(1+3x+x2)2=1+6x+11x2+6x3+x4.

Next, blocking and stripping the marked square in B7 gives B11 and B8. Similarly, B2 gives B4 and B3, and B1 gives B7 and B2. We therefore have

r7(x) =r11(x)+xr8(x)=1+6x+11x2+6x3+x4+x(1+3x+2x2)
=1+7x+14x2+8x3+x4
r2(x) =r4(x)+xr3(x)=1+4x+4x2+x3+x(1+2x)
=1+5x+6x2+x3
r1(x) =r7(x)+xr2(x)=1+7x+14x2+8x3+x4+x(1+5x+6x2+x3)
=1+8x+19x2+14x3+2x4.

In particular, the number of ways of allocating the jobs in Problem 7.14 is the same as the number of ways of placing 4 non-challenging rooks on B1, which is the coefficient of x4 in r1(x), which is 2. This is the same answer as we found previously in Problem 7.14.