The Two-Six Dream
![]() |
prev: Shifting Forces next: The Submarine Ruff |
♥T653
♦8432
♣QT8
It’s September 9, 2013 at the Soledad Club pairs game and you’re on lead with this uninspiring collection after the brief auction 2N (20-21 hcp) 3N. What’s your choice?
Clubs look bad. Of the equally unpromising red suits, surely the major suit is a better bet. Maybe you quickly settled on the ♥3. This was my choice too but only reluctantly and after giving considerable thought to the ♠A. Sometimes you just have to hit partner’s length. Moreover, I had recently read Winning Notrump Leads (2011) by David Bird and Taf Anthias. One of the big themes in the book is how often you need to set up a 5-3 major suit fit rather than a 4-4 major suit fit to set 3N. If you have the five card suit and a promising entry this is easy enough to see. But often you have the three card major and just have to hope partner has five. It works out more often than you might think.
At IMPs I would have led the ♠A without worry. But this was matchpoints. Leading the ace might surrender in overtrick. And the Bird and Anthias book demonstrated that shooting for the 2-6 or 2-5 fit was less likely to succeed than shooting for the 3-5 fit. This is partly because the defensive communication in the suit gets cut earlier and partly because partner is less likely to have six cards and even when he has five, the declaring side still has six cards, instead of the five it would if the defense had a 5-3 or 6-2 fit, and thus more potential to stop the suit. And yet the reduced communication in the spades seemed unimportant here because partner rates to have any quick side suit entry. Maybe that was enough to make the ♠A the percentage lead.
It was over quickly after I tabled ♥3. This was the hand (#21, rotated to put West on lead):
Declarer knocked out the ♦A and soon came to nine tricks (and could have made an overtrick on better play). But after the ♠A and another spade, declarer is quickly down two.
I was curious how often the ♠A was led. The contract was made nine times. It was set four times, including once by Maritha Pottenger who also sat in my seat. Hmm… very interesting—I had seen her reading Winning Notrump Leads just a few months ago.
Running a simulation
Still one hand proves nothing. I wanted to run a simulation. Bird and Anthias didn’t create their approach de novo. As they note in their acknowledgement section, they used Thomas Andrews’ Deal program and Bo Haglund’s DDS double dummy solver, both open source, along with custom code to generate hands which are consistent with the auctions examined and to tally the results of the simulation. DDS is a wonderfully efficient double dummy solver but it is released as Windows Dynamic-link Library (DLL), meaning it is a piece of code meant to be used by other programs rather than used directly. I decided to write an interface to it called Lead Solver that could run a set of deals through DDS and calculate the “Beats Contract” and “Average Tricks” statistics as shown in their books. The Lead Solver program churns through about 36 deals / second on my Windows 7 era quad-core laptop, fast enough to allow simulations of even 10,000 hands to run in a few minutes.
If you have Deal and Lead Solver setup on your computer the simulation pipeline from the DOS command line is as simple as:
leadsolver 3N 2n-3n-10000-hands.pbn results.txt
The output in the results.txt file looks like the following where I’ve trimmed the end of the rows for brevity because the defense never collected more than 9 tricks.
Double dummy analysis completed for 10000 deals in 4 m 53 s (0.03 sec/deal ave) Frequency of Tricks Taken Ld Avg %Set 0 1 2 3 4 5 6 7 8 9 … SA 3.00 15.53* [ 0 1063 3284 2745 1355 807 569 157 19 1 … ] H6 2.98 10.06 [ 151 863 2596 3004 2380 834 126 38 7 1 … ] H3 2.98 10.06 [ 151 863 2596 3005 2379 834 126 38 7 1 … ] D4 2.92 8.61 [ 134 844 2847 3117 2197 702 122 31 5 1 … ] D8 2.89 8.26 [ 142 875 2888 3105 2164 676 114 30 5 1 … ] HT 2.88 8.58 [ 189 978 2820 2959 2196 707 109 35 6 1 … ] S8 2.64 3.92 [ 190 934 3610 3433 1441 274 66 42 9 1 … ] C8 2.42 3.69 [ 274 1883 3322 2924 1228 298 48 21 2 0 … ] CT 2.41 3.97 [ 281 1888 3416 2804 1214 315 58 22 2 0 … ] CQ 2.33 3.30 [ 301 1960 3703 2636 1070 258 52 18 2 0 … ]
First notice that for setting the contract, the ♠A lead is a huge winner, 50% better than a low heart. In part this is due to layouts like the actual one above. The ace also offers the opportunity to make a judicious switch at trick two. But at matchpoints where the average number of tricks taken matters, it is an extremely close race between the ♠A and a low heart. This is why I ended up running a simulation of 10,000 hands, twice as many as Bird and Anthias usually ran. A second run on a different set of 10,000 hands in 3.00 and 2.97 average tricks for the ♠A and low heart leads respectively, quite consistent with the first run.
There isn’t much chance of setting the contract. That’s because 2N-3N is much wider range auction than say 1N-2N-3N where the declaring side is almost certainly in the 24-26 HCP range. The 3N bidder can have extras though not enough for a slam try.
I lied a bit about the simplicity of the pipeline. The file 2n-3n.tcl has to be created by you. It defines the conditions that the randomly dealt hands must meet in order to be accepted into the set of hands used to run the simulation. It is a short Tcl program that looks like this.
Even if you haven’t done much (or any) programming, the code is pretty easy to understand. Read && and || as “and” and “or” respectively. The code is processed from top to bottom. A randomly dealt hand is rejected if one of the rejection criterion is encountered before the final accept statement. Lines that start with a pound sign, colored green here, are comments that are ignored by the computer.
The code fixes the West hand. Then it requires that the opening hand (South) be a balanced 20-21 HCP. The balanced command in Deal returns true if the hand is 4-3-3-3, 4-4-3-2, or 5-3-3-2 without a 5-card major.
Finally the code limits the North hand to 3N bids by rejecting cases where North would pass, bid Stayman, transfer in a major, make a quantitative 4N bid, or trot out a special bid when holding a lot of minor suit cards. Here North is assumed to make a slam try with 11+ HCP on all hands and also on only 10 HCP when holding a five card or longer minor (the code doesn’t have to reject 10 HCP hands with a 5+ card majors because those hands would transfer and that scenario has been rejected earlier in the code).
It would be nice if you didn’t have to write the Tcl code. But that would require finding an open source bidding engine and I haven’t seen one. Even then, there is always some little thing the analyst wants to tweak. In time you come to appreciate the flexibility of the Deal program supporting Tcl. And in any case, writing Tcl is much more enjoyable than writing C++ to interface with DDS.
Simulation variations
Since the results of leading the ♠A and the low heart are so close at matchpoints, let’s vary North’s style a bit to see how this affects the results. First we’ll assume North has read Kit Woolsey’s Matchpoints and is willing to forgo finding a 4-4 major suit fit when 4-4-3-2 or 4-3-3-3 with 9+ HCP on the theory that with the extra values, notrump and a major suit contract are likely to take the same number of tricks. This will increase the average number of major suit cards in responder’s hand and therefore reduce the success rate of major suit leads. But how will it affect the relative success of the ♠A versus the low heart?
Here are the results:
Double dummy analysis completed for 10000 deals in 4 m 53 s (0.03 sec/deal ave) Frequency of Tricks Taken Ld Avg %Set 0 1 2 3 4 5 6 7 8 … H6 2.69 7.10 [ 101 1246 3512 2746 1685 590 94 22 4 … ] H3 2.69 7.10 [ 101 1246 3512 2747 1684 590 94 22 4 … ] SA 2.68 10.77* [ 0 1513 4016 2395 999 567 390 107 13 … ] D4 2.67 6.08 [ 85 1202 3645 2831 1629 501 83 22 2 … ] D8 2.64 5.79 [ 96 1251 3664 2810 1600 475 80 22 2 … ] HT 2.60 6.02 [ 132 1416 3647 2654 1549 499 78 22 3 … ] S8 2.39 2.46 [ 182 1489 4184 2875 1024 167 49 22 8 … ] CT 2.23 2.88 [ 203 2445 3723 2420 921 234 37 14 3 … ] C8 2.23 2.60 [ 200 2461 3627 2569 883 208 35 14 3 … ] CQ 2.17 2.49 [ 211 2531 3939 2263 807 202 33 12 2 … ]
Leading the ♠A is still the best chance of setting the contract but the low heart has edged ahead of the ♠A at matchpoints though statistically it is a dead heat. Overall defensive chances have dropped considerably.
So far we have assumed the 2N opener does not have a five card major. Let’s see what happens if we change that while also adding Puppet Stayman to the N-S card so they can find their 5-3 major suit fits. We will keep the Kit Woolsey style matchpoint approach but since opener can now have a five card major, let’s assume responder only forgoes looking for a major suit fit with 3-3 or shorter in the majors suits with 9+ HCP.
Here are the results:
Double dummy analysis completed for 10000 deals in 2 m 50 s (0.02 sec/deal ave) Frequency of Tricks Taken Ld Avg %Set 0 1 2 3 4 5 6 7 8 … SA 2.26 6.70* [ 0 2425 4857 1709 339 226 286 140 18 … ] H6 2.24 3.65 [ 273 2064 4202 2313 783 304 47 7 7 … ] H3 2.24 3.65 [ 273 2064 4202 2314 782 304 47 7 7 … ] D4 2.18 1.72 [ 263 1995 4566 2291 713 131 31 6 4 … ] D8 2.16 1.60 [ 285 2022 4564 2269 700 119 30 7 4 … ] HT 2.15 3.05 [ 391 2244 4199 2172 689 252 40 7 6 … ] S8 1.99 1.10 [ 452 2121 5047 2011 259 67 23 8 12 … ] C8 1.79 0.79 [ 532 3618 3704 1786 281 58 15 3 3 … ] CT 1.79 0.86 [ 538 3606 3792 1651 327 61 19 3 3 … ] CQ 1.74 0.67 [ 562 3697 3931 1472 271 45 16 3 3 … ]
The ♠A edges back into first place. Observe that the defenders chances have dropped considerably. This is because responder’s hand has an average of 0.83 HCP more than in the preceding simulation which in turn is because responder will choose a Puppet Stayman bid instead of 3N with a three card major to check for an eight card fit. Responder will only bypass Puppet Stayman for 3N holding a three card major when he has a good hand.
The new code defines a shape condition called balanced5M. This checks for a 5-3-3-2 shape where the five card suit is a major. This is necessary because the balanced shape condition included with the Deal program excludes 5-3-3-2 shape with a five card major.
This section was revised May 2016 due to an earlier bug in the code which prevented five card majors from appearing in opener’s hand. Specifically, the code [balanced south] || [balanced5M south] had been incorrectly coded as [balanced south || balanced5M south].
Conclusion
The choice between the ♠A and low heart lead is very close in all simulations. The different simulation criterion have a significant impact on the defender’s chances but almost no difference on the relative merits of these two leads. In my experience this seeming indifference to simulation specifics is common. In other words, the practical answer to the simulation, i.e. which card to lead, is quite robust.
Adding statistical calculation to the Tcl program
How did I figure out that responder is 0.83 HCP better on average in the Puppet Stayman scenario? I could have written a program to tally up the HCP in the north hand from the PBN output generated by the Deal program and then take an average. But there is no need to do that because the Deal program provides basic statistical functionality. I just modified the previous code where the additions and modifications are shown in blue.
Note that the final statistics are reported to stderr in the deal_finished subroutine. This prevents them from being included in the PBN output when Deal is used with the -i format/pbn switch as above.
Download the Tcl programs
If you want to investigate further, you can download a zip file of the Tcl programs used for this analysis. Get Lead Solver too. Happy hacking.
Note: In the Tcl files in the zip file, the leader’s hand is defined in the file west.tcl instead of in Tcl files for the N-S bidding scenarios. This more general approach requires that both Tcl files be fed to the Deal program. Thus the pipeline looks like:
leadsolver 3N 2n-3n-10000-hands.pbn results.txt
For the curious, the output formatting is also done with a Tcl file (pbn in the format folder) which lacks the .tcl file extension and which is included with the Deal program.