The only option is to print out slips for each of the hands and then have each pair make the hands they are not going to play.
If we have 3.5 tables, this is easy. We can run a 28-board, 7-round Howell and, assuming that pair 7 is the sitout ("phantom") pair, each pair deals out the boards they would have played against pair 7.
For reference, for a 3.5 table game, these are the boards that each pair needs to deal out before the game starts (7 is the sitout):
Similarly, for a 4.5 table game, we can run a 27-board, 9-round Howell and every pair can simply deal out the boards they would have played against pair 7.
Again, for reference, for a 4.5 table game, these are the boards that each pair needs to deal out before the game starts:
But what can we do if we have 4 full tables? Currently, we play a 28-board, 7-round Howell with no sitouts. Everyone plays every board and every pair plays every other pair. These are the best games at the club now. I can not figure out how best to use predealt hands with this configuration.
One option is to decide that the most important aspects are (a) to play every other pair and (b) play at least 24 boards. We can run the game as 5 tables, 8 rounds and 32 boards, with each pair making up the boards they would have played against pair 9/10 (those pairs are relaying on this movement, so it is only one set of 4 boards that everyone needs to make). The drawback is that we will have two sitouts, where without predealt hands, we had none and the games will take way too long.
I asked about this on Bridge Winners and someone suggested that I look at a paper on this topic by Matthew Johnson. His code no longer works (and tries to do everything including double dummy analysis), but the underlying idea is simple and elegant -- take a sorted hand, deal it once according to a random permutation and then deal it again, this time to the target combination of cards.
So, I went ahead and implemented the algorithm. It is less than 200 lines of Python code ... The program is here and this is what the output looks like. The output can be printed out, cut into pieces and used to deal the hands.
So, in summary, to use predealt hands in small games:
- If you are running a Howell movement with 3.5 or 4.5 tables, have everyone make the hands they would have played against the sitout pair.
- If you are running a Mitchell movement where everyone does not play all the boards, have the pairs make the boards they will not be playing.
- If you are running a full game, use the 2-stage process above. The predeal.py program will provide the instructions. There is very little information leakage and people can play the boards that they make.