I found (and still find) the ideas and algorithms around Young Tableaux to be fairly unintuitive: jeux de taquin (JDT), Knuth equivalence and rectification; the RSK correspondence; the Littlewood-Richardson rule(s); promotion and evacuation.
In this post, I want to state (without proof) the basic ideas and facts surrounding the first algorithm above, JDT, and its connection to Knuth equivalence. The reference I am using is Fulton’s Young Tableaux textbook, which covers almost all of the above-mentioned algorithms. For this post, I’m essentially restating section 3.1, and parts of sections 1 and 2.
Knuth equivalence is an algorithm (an equivalence relation) that provides a computational solution to the following problem, called the longest-disjoint-subwords problem. Suppose we have a word from some (ordered) alphabet, say
with the usual ordering. What is the longest alphabetical (i.e., nondecreasing) subword of ? That’s easy enough… it’s , omitting the letters. What if we’re allowed to form two separate (disjoint) words — what is the longest total word length we can get? That’s a bit harder, but in this case 7 letters is optimal (for instance: is one way to do it). And, with three or more words, we can get all eight letters.
The problem of finding the largest possible (total) length of nondecreasing subwords is fairly tricky in general. For example, we couldn’t reuse the 11255 word when we were looking for pairs of words; we had to break it up. There are a large, combinatorial number of possibilities to check, so we can’t check all of them.
This is where Knuth equivalence comes in. We introduce two elementary transformations that bump a letter to the left in the word, while preserving the answer to the above question. These transformations are:
Focus on the letter , which moves leftwards in each of the above transformations. (The idea is, roughly, to keep moving low numbers to the left.) We say two words and are Knuth equivalent if we can get from one to the other using a sequence of these moves and their inverses.
It’s not at all obvious what kind of properties, if any, this equivalence relation has. The key one is the following:
Proposition. Let and be words, and let (resp. ) be the largest total lengths obtained using disjoint, alphabetical subwords of (respectively ). If and are Knuth equivalent, then .
Proof. Check all the cases. (It suffices to consider the case where and are precisely one elementary transformation apart, and to just show one inequality, say .)
So, thanks to a careful analysis of the inequalities, we have a way of manipulating our words without affecting the solutions to the longest-disjoint-subwords problem. (Note: in one of the cases of the above proof, the words actually change when we apply these transformations. But the total lengths remain the same.)
At this point, a reasonable question to ask is, what sort of ‘canonical’ form can we get by applying these transformations over and over? Can we get one that makes it easy to read off the answer to the problem? This leads to the second key input: Young Tableaux (and Young diagrams).
Definition. A partition is a finite weakly decreasing sequence of positive integers, say ). A Young diagram is a pictorial representation of a partition, as a grid of left-aligned boxes, with boxes in the first row, in the second, and so on.
Definition. A Young Tableau is a Young diagram with positive integers entered in the boxes, nondecreasing in both the rows and columns. A semi-standard or column-strict Young Tableau is one where the columns are strictly increasing.
Semi-Standard Young Tableaux (SSYTs for short) are perfect for the longest-disjoint-subwords problem. For one thing:
Proposition. Any word is Knuth equivalent to the row word of a unique(!) SSYT.
Let’s write out the entries of our tableau, from left to right, shortest row to longest row:
Compare this to the visualization of the tableau itself. Any alphabetical subword of row must follow a path from left to right across the tableau. It can go upwards diagonally too, but not vertically upwards (since the columns are strict).
So, right away we see that the longest possible word has length equal to the number of columns in the tableau, that is, the length of the first (longest) row. Likewise, if we’re allowed two words, the best we can do is the sum of the lengths of the first and second rows. And so on.
Proposition. The solutions to the longest-disjoint-subwords problems for the row word of an SSYT T of shape are, for each , the sum .
This concludes the theoretical discussion of the problem. To summarize: given a word , there exists a unique semi-standard Young tableau , whose row word row is obtained by applying the elementary Knuth transformations to , and which has the same answers to the longest-disjoint-subwords problem. But now these answers are easy to observe.
For fun: since concatenation of strings is associative, we get the following product structure on the set of tableaux:
Definition. Let be semi-standard Young tableaux. We define the product tableau to be the (unique) tableau corresponding to the concatenated word rowrow.
This operation is automatically associative, and its identity element is the “empty tableau”. Since associativity is typically the most difficult property to establish in algebra (after well-definedness), this is something of a Big Deal, and we’ll return to this product structure later.
The last thing I’d like to do is talk about bumping and sliding (JDT), two algorithms that carry out the above tableau product / Knuth equivalence procedures.
Given a tableau , let’s say we want to multiply on the right by a single block, . That is, we want to simplify the word row. Well, here’s an algorithm to do so, phrased in terms of the tableau:
1. Move backwards along the first row from right to left. As soon as you encounter something , stop and ‘bump out’ the last () box you passed, replacing it by . (If is placed on the end of the row, there’s nothing to bump, so the algorithm is completed.)
2. Repeat step 1 on the subsequent row, using the bumped-out value. Repeat until completed.
Lemma (Easy). The result is an SSYT.
Lemma (Hard). The row bumping algorithm preserves Knuth equivalence.
In other words (since the output is a new tableau), row bumping computes the tableau product, at least for a single box. To compute a more complicated product, , look at the concatenation rowrow and use the row bumping algorithm iteratively. Pictorially, this corresponds to bumping in the boxes of , one by one from left to right, starting with the shortest row.
Sliding and Rectification!
These algorithms start with skew tableaux. A skew diagram is a Young diagram with a smaller Young diagram deleted from it. All the other definitions (skew tableau, column-strict, row word, etc) work accordingly.
Here’s an algorithm, called sliding or jeu de taquin (JDT), to convert an arbitrary skew SSYT to a normal SSYT:
- Pick any inside corner, that is, a square in the deleted area, but such that both the squares below and to the right are both occupied.
- ‘Fill the hole’ by moving the smaller of the two entries (from the squares below or to the right) into it. In the case of a tie, choose the square below.
- Repeat step 2 at the new ‘hole’. Keep repeating until both the square below and the square to the right are empty.
- Repeat steps 1-3, starting at another inside corner, until the deleted area is all filled.
Lemma (Easy). The result, called the rectification, is an SSYT.
Lemma (Hard). Sliding/JDT (specifically, step 2) preserves Knuth equivalence. That is, if is the original skew SSYT and is its rectification, then row is Knuth equivalent to row.
Why is this helpful? Well, it’s really easy to express rowrow in terms of skew shapes: just put , as a whole, below and to the left of , touching at the tip. This is a skew tableau, called , and its row word is rowrow. Consequently, its rectification must be the tableau .
So, now we have two algorithms that convert arbitrary words into the row word of a tableau, while respecting Knuth equivalence. Although I’ve phrased this entire post as though the goal was to solve the longest-disjoint-subwords problem, the real reason I care about it is for the tableau product structure, which is of important use in Schubert calculus. But that’s another post.