hrothgar, on 2011-July-26, 12:26, said:
This script assumes that the Spade length in partner's hand is <= 3 (which obviously ignores suit quality)
Estimated Diamond length
Four = 0.5792
Five = 0.3349
Six = 0.0794
Seven = 0.0065
MATLAB Code
%% Shape Shape(1:12,1) = 'C'; Shape(13:19) = 'D'; Shape(20:29) = 'H'; Shape(30:39) = 'S'; %% shuffle simlength = 10000000 MC_Result = zeros(simlength, 4); for i = 1:simlength index = randperm(39); Shape = Shape(index); foo = Shape(1:13,1); MC_Result(i, 1) = length(foo(foo == 'C')); MC_Result(i, 2) = length(foo(foo == 'D')); MC_Result(i, 3) = length(foo(foo == 'H')); MC_Result(i, 4) = length(foo(foo == 'S')); end Voids = MC_Result(:,3) == 0; MC_Result2 = MC_Result(Voids,:); Spades = MC_Result2(:,4) <= 4; MC_Result3 = MC_Result2(Spades, :); index = MC_Result3(:,2) >=4; Raises = MC_Result3(index,:); Four = length(Raises(Raises(:,2) == 4))/length(Raises) Five = length(Raises(Raises(:,2) == 5))/length(Raises) Six = length(Raises(Raises(:,2) == 6))/length(Raises) Seven = length(Raises(Raises(:,2) == 7))/length(Raises)
Thanks for the effort, but don't we, a posteriori, have to filter these results for the hands on which partner, holding 4=6 (or wilder) in the minors would have bid clubs? For example, with say Axx void xxxx AKQxxx, I suspect that many players would have chosen a call other than 4♥. My view is that it is not possible to filter these results objectively in that two players, even of equal skill, would not agree on exactly where the 'raise diamonds/bid clubs' divide should be made.
In terms of the usage of a priori and a posteriori, it seems to me that your analysis aims more at a posteriori, but without the benefit of the filter I suggest. But I found it interesting and I thank you.