RossSCann, on 2012-October-17, 17:15, said:
I don't expect my program to stand up well against professional products. I am an 80 year old programming hobbyist and low intermediate level bridge player. However, on large samples my program might yield similar results in total because of 2nd rate declarer play facing 2nd rate defense. Dealing with random deals on a single dummy basis is really hard programming. Nobody is ever going to write code capable of expert play because the effort that would be required can'r be justified on a cost/benefit basis. A DeepFineese approach using standard opening leads might work, however as a more accurate equivalent of expert play. My program has 280,000 lines of C++ code dealing single dummy play and that is just scratching the surface of what would be needed for advamced play/defense.
I wonder if any of the commercial programs have the facility to play an input file of N hands and print summary results?
If you do get the time to run your challenge match you should publish it here.
If anyone has a contact with one or more of the commercial programs you should ask them to make available a version that can run from an input file of N hands and print the results. The coding to do this would be trivial. There would be no reason to incorporate such a feature in their commercial product, but they could put the version on their web site if they are not afraid of the competition. They could even do it as a console app for simplicity, with no other capability than running the file of N hands and displaying results.
It seems your program still has lots of issues. You still have a few hands that have 5-5 in the minors, which is impossible since North would rebid 2c, not 1nt. You have hands with North having 4 cd spades, which would have raised spades, not rebid 1nt. You have hands with 2245 and 1345 distribution that arguably would have opened 1c, not 1d, if the rebid planned was 1nt (if you open these hands 1d, it is with the intent to rebid 2c). You have hands with 16-17 hcp, which should not rebid 1nt (they should have opened 1nt, or rebid a new suit, possibly reversing). Your result matrix still has a handful of hands reaching 2nt/3nt contracts, which shouldn't be possible. You have something like 245 hands ending in 2H, which is too high given the distributional tally you posted. 2h should only be reached if North has 4 hearts, or 3 hearts and 1 spade. With equal length, or 2-3 in the majors, it's normal to give a preference. Following those rules with your deals, you'd only reach 2h 166 times. And that's before checking if your frequencies re HCP distribution and shape distribution are consistent with reality. After the 2h rebid, North should basically pass with 4 hearts or stiff spade, and bid 2s otherwise, which South would pass.
In any case, I don't think people other than yourself are going to really be interested in the output of your program. Why would we care how poor defense does vs. poor declarer play? I don't really have confidence that they would really cancel each other out, I'd rather just use double-dummy results. You say that "nobody is ever going to write code capable of expert play". I disagree with this. GIB *already* declares at an expert level IMO, at least after a few tricks when Gibson kicks in. Its problems are mainly in the bidding, and in the defense where its lack of signalling knowledge is a crippling handicap.
As for getting programs to get double-dummy/DeepFinesse results, there are already plenty of ways to do this. Thomas Andrew's Deal in Tcl, and Antony's port of this to python, already interface with Bo Haglund's double-dummy solver library, so you can write scripts to calculate results on a double-dummy basis. van Stavaren's dealer has code to interface with GIB's bridge.exe command line, which does have a double-dummy mode where it can read a hand from a file or stdin and output a result.
If you really wanted to program something that would be of use to people other than yourself, I would tackle the problem of feeding GIB a hand and a specified auction, and finding the *single dummy* result, then repeating for some large # of hands. This is theoretically possible using the console mode bridge.exe, but might be easier with access to the source code for the GUI. At one point there was a linux release of GIB including source code for the GUI, somebody may have a copy floating around somewhere. Or BBO could perhaps be convinced to re-release it. (I would also love it if they'd release mb.txt2 as Matt used to, the source of the bidding DB, would be useful for experiments). Maybe improving GIB's bidding DB could go open-source to some extent if BBO is willing, perhaps it would improve faster than what georgi can do on his own.