Join Bridge Winners
All comments by Richard Willey
You are ignoring the author of this comment. Click to temporarily show the comment.
I am attaching a longish dealer script that I use to generate hands when practicing MOSCITO.

Right now, it will output 1st/second seat 2D opening bids. You may find some useful ideas to codify different typses of openings.

######### Definition - Opening Points

# 11 is the index for c13
# This function allows the user to define valuations for cacluating
# HCP
# Most hand evaluation is performed used a modified version of
# the 4 Aces Point Count.(Ace = 3, King = 2, …)
# All values are multiplied by 100 to avoid fractions

altcount 11 300 200 100 50 20

######### Definition - Opening Points

# 11 is the index for c13
# This function allows the user to define valuations for cacluating
# HCP
# Most hand evaluation is performed used a modified version of
# the 4 Aces Point Count.(Ace = 3, King = 2, …)
# All values are multiplied by 100 to avoid fractions

altcount 11 300 200 100 50 20

############## STRONG OPENINGS

one_club =

(
hcp(north)>=17
or
c13(north) >=1000
or
(hcp(north)>=15 and cccc(north)>=1600 and c13(north)>=900)
or
(hcp(north)==14 and cccc(north)>=1900 and c13(north)>=900)
or
(hcp(north)==13 and cccc(north)>=2000 and c13(north)>=900)
or

(
hcp(north)>=15 and
shape(north, any 4333 + any 4432 + any 5332 + any
5422)
and
c13(north) >= 900
)

)

#####
#Opening strength defines the minimum strength for a limited #opening bid
#####

opening_strength =
(
(
cccc(north) - 25 * shape(north, any 4441 + any 5440) >= 1050

or hcp(north) >= 11
)

and
c13(north) >= 600
)

and not

one_club

#MOSCITO Opening structure

#################### SINGLE SUITED PREEMPTS

#################### MAJORS

four_diamonds =

(
(
spades(north) >= 8 and
hascard(north, AS) + hascard(north, KS) == 2
)

or

(
spades(north) == 7 and
hascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AH) + hascard(north,KH) <=1

four_spades =

hcp(north) <= 9

and

(
(
spades(north) >= 7 and

hascard(north, AS) + hascard(north, KS) +
hascard(north,QS) + hascard(north, JS) >= 3
)

or

spades(north) >= 8
)

and not four_diamonds

three_spades =

spades(north) >= 6

and

(
hascard(north, AS) + hascard(north, KS) +
hascard(north, QS) + hascard(north, JS) >= 2
)

and

(
hearts(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_diamonds

and not four_spades

four_clubs =

(
(
hearts(north) >= 8 and
hascard(north,AH) + hascard(north,KH) == 2
)
or

(
hearts(north) == 7 and
hascard(north,AH) + hascard(north,KH) + hascard(north,QH) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AS) + hascard(north,KS) <=1

four_hearts =

hcp(north) <= 9

and

(
(
hearts(north) >= 7 and

hascard(north, AH) + hascard(north, KH) +
hascard(north,QH) + hascard(north, JH) >= 3
)

or

spades(north) >= 8
)

and not four_clubs

three_hearts =

hearts(north) >= 6

and

(
hascard(north, AH) + hascard(north, KH) +
hascard(north, QH) + hascard(north, JH) >= 2
)

and

(
spades(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_clubs

and not four_hearts

############## MINORS

three_nt =

hcp(north) <= 9

and

(
(
clubs(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AD) + hascard(north,KD) <= 1
)

or

(
diamonds(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AC) + hascard(north,KC) <= 1
)
)

three_clubs =

clubs(north) >= 6

and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) == 2 and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

three_diamonds =

diamonds(north) >= 6

and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) == 2 and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

two_nt =

(clubs(north) >=6 and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) +
hascard(north, JC) == 2

and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0

and

hascard(north, QD) + hascard(north, QH) + hascard(north, QS) <= 1

and

not three_clubs)

or

(diamonds(north) >=6 and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) +
hascard(north, JD) == 2

and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hascard(north, QC) + hascard(north, QH) + hascard(north, QS) <= 1 and

not three_diamonds)

and not three_nt

preempts =
four_spades or
four_clubs or
three_spades or
four_hearts or
four_clubs or
three_hearts or
three_diamonds or
three_clubs or
three_nt or
two_nt

###############################
## Weak Opening Bids
###############################

two_diamonds =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
clubs(north) <= 3 and
diamonds(north) >=4

two_hearts =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
hearts(north) >= 4 and

(
spade(north) >= 4 or
clubs(north) >= 5
)

two_spades =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325

and

(
(
shape(north, any 6322, any 6331, any 7222) and
spades(north) >=6
)

or

(
spades(north) >=4 and clubs(north) >=5
and hascard(north, AS) + hascard(north, KS) + hascard(north, QS) >= 1
)
)

############## LIMITED OPENINGS

##### Pre-Definitions

bad_spades = hascard(north, AS) + hascard(north, KS) + hascard(north,
QS) == 0
bad_hearts = hascard(north, AH) + hascard(north, KH) + hascard(north,
QH) == 0
balanced = shape(north, any 4432, any 5332, any 4333)

########

two_clubs =
opening_strength
and not preempts

and

(

(
clubs(north) >= 6 and
spades(north) < 4 and
hearts(north) < 3
)

or

(
clubs(north) >= 6 and
spades(north) == 4 and
bad_spades
)

or

(
clubs(north) >= 6 and
hearts(north) == 4 and
bad_hearts
)

)

one_notrump =

opening_strength and

(

(
balanced and not
shape(north, 5xxx, x5xx, 44xx, 4x4x, 4xx4, x44x, x4x4)
)

or

(
hearts(north) == 4 and
balanced and
(hcp(north) == 11 or hcp(north) == 12)
)

or

(
spades(north) == 4 and
balanced and
hearts(north) <= 3 and
(hcp(north) == 13 or hcp(north) == 14)
)

)

one_spade =
opening_strength
and not preempts
and not one_notrump

and

diamonds(north) >= 4 and
not one_notrump and
hearts(north) <4 and
spades(north) <4

or

(

diamonds(north) >=6 and

(
(spades(north) == 4 and bad_spades) or
(hearts(north) == 4 and bad_hearts)
)

)

one_heart =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and

(

(
spades(north) == 4 and
spades(north) > hearts(north)
)

or

(
spades(north) >= 5 and
spades(north) >= hearts(north)
)

)

one_diamond =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and
not one_heart

and

hearts(north) >= 4

and not

(balanced and hcp(north) <= 11)

###########

two_diamonds
April 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I think that it is absolutely necessary for the Tech Committee to be looking into the state of ACBLScore+

If Nic's claims are true, Hartman's head needs to roll. The best way to determine this is to have folks work with the code.

I've seen a lot of talk about moving forward and avoiding blame. I'm not very comfortable with that, especially if the League is spending yet more money trying to cover up the initial cock up.
April 4, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Kevin, I suspect that Nic is following the advice of his attorney regarding what is allowed to disclose. I understand that you would like to see more information. (I would as well). However, I don't think that we are going to see anything until someone on the Board makes a request to Nic to provide this data.

If you want more info, the right way to approach this is to contact your local member of the Board and ask them to make a request of Mr Hammond.

I am in the process of doing so. (Already exchanged some emails and will be having a phone call next week

I recommend that you do the same.
April 4, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
One point that concerns me enormously is the allegation that senior management invested significant amounts of resources trying to conceal an earlier mistake.

I understand that people don't want to play the blame game, however, this is looking more and more like ongoing malfeasance.

April 1, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Here's my preferred defense

X = Both majors

Typical example hands (minimum/maximum)

♠ KJT2 ♥QT98 ♦73 ♣762
♠ AJ73 ♥ KT532 ♦ 9 ♣ 763

1♦ = Lead directing (typically a canape overcall)
1♥ = Lead directing (typically a canape overcall)

1♠ = Spades

♠ AJ72 ♥ 52 ♦ QT62 ♣ 763
♠ AQJ73 ♥ 74 ♦ 843 ♣ K5
♠ AJ843 ♥ K742 ♦ 672 ♣ 4

1N = 2 suited with Spades and a minor

♠ AQ52 ♥ 673 ♦ QT632 ♣ 3
♠ AJT62 ♥ 4 ♦ 52 ♣ KJ942

2♣ = Clubs and Hearts

♠ 7632 ♥ QJ73 ♦ 4 ♣ KQ42
♠ 5 ♥ AQJ9 ♦ Q42 ♣ KQ8742

2♦ = Diamonds and Hearts

♠ Q52 ♥ KT52 ♦ QT62 ♣ 62
♠ 42 ♥ KJT82 ♦ AQ932 ♣ 3

2♥ = Hearts

♠ 73 ♥ QJT642 ♦ K72 ♣ 732
♠ K4 ♥ AQT9732 ♦ 73 ♣ 82

2♠ = Spades

2N = Clubs or (Diamonds and a major)

3C = Minors

♠ 4 ♥ 863 ♦ KJ762 ♣ KQ73
♠ 2 ♥ 63 ♦ AT572 ♣ AKT73

3♦ = Diamonds
3♥ = Majors
March 28, 2015
Richard Willey edited this comment Aug. 27, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I think that the author raises a VERY important point; one which I had foolishly not given appropriate consideration to until now.

It is manifestly unfair that players who have more access to ACBL sanctioned games and who play more, are able to win more attendance points. Just think of all those poor players who live in South Dakota and aren't fortunate enough to compete in District 7 (Prominently advertized as the “Hosts to America’s Biggest and Best Tournaments”). They are horribly disadvantaged by the current system.

I think that we immediate need to normalize masterpoint awards based on the number of events which are available in different geographies.

Or is there some reason why this logic only applies to the online version of the game (you know, the one that you don't play)



March 27, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
C C Wei paid to have his toys made legal.
March 26, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
You sue the ACBL to cost them money, not because you expect to win the eventual settlement
March 26, 2015
Richard Willey edited this comment March 26, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
> Jeff: what you do, occasionally opening 1NT with a
> singleton, with no way to uncover it, is expressly legal in
> the ACBL regardless of what chart you are using. Theirs is > an agreement to open a natural 1NT with a singleton, which
> is expressly against the rules.


Wrong. There's is an agreement to open a hand that shows either a natural NT or 4441 hand which is clearly legal under the Superchart.

The ACBL Superchart explicitly licenses “All of the ACBL MidChart plus any other non-destructive convention, treatment or method” and this is hardly destructive.





March 26, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
The House of Representatives has repealed the Affordable Care Act 40+ times. I am not going to get worked up by Board of Governors own version of the two-minute hate.
March 26, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
The truly amusing part about this suggestion is that K&R was never intended for use in evaluating balanced hands…
March 26, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Personally, I think that the advice that Don got was more than reasonable. In today's highly litigious society, I don't see a good way for the ACBL to gather this information without being exposed to risk in an age discrimination law suit.

As a practical example, as a hiring manager I am explicitly bared from asking candidates their age or any kind of leading questions that could be used to infer a person's age.

I understand that Don was trying to do the right thing. His concern was protecting the ACBL against a sudden wave of retirements rather than any desire to discriminate based on age. Even so, its the job of a legal department to say no.

March 25, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I believe that once you open 1NT with less than 10 HCPs you are not allowed to play conventional responses over your 1NT openings for some unspecified length of time in the future.

March 24, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Alternatively, why not just standardize on the same systems policies that the WBF uses for the Knockout rounds in the Bermuda Bowl, the Olympiad, etc.

1. A very significant number of players in these events are coming from overseas. I can't help but believe that adopting a well understood international standard would reduce the amount of confusion and director's calls

2. This would help North American internationalists gain more experience with the methods they will be encountering in competition

3. This would reduce the burden being placed on the ACBL. The number of “Superflight” events is trivial. I don't think it makes sense to invest time and effort to create yet another convention chart when there is a perfectly acceptable one available externally.

March 24, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
The only “meritorious purpose” for the existing guidelines is siphoning off as much money as possible from an aging player base while sacrificing any chance of sustaining the game more than another decade or two.

A couple weeks back, I was listening to Planet Money on NPR. That had an interesting piece on Magic the Gathering that prompted me to do a bit of research. MtG looks to be much bigger that bridge both in terms of number of players and size of tournaments. The overwhelming majority of its players are below the age of 30. Young people didn't give up on playing cards. They gave up on playing bridge. And they ACBL deserves all the blame.
March 23, 2015
Richard Willey edited this comment March 23, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Wouldn't it be much easier all around if we stopped placing restrictions on the strength for natural NT opening bids?

I severely doubt that folks are going to start opening Kamikaze NT's on a two count. The weak NT crowd want to maximize the chance that they're NT opening occurs. In turn, this means that they aren't going to depart too far from the average opening strength. They might start opening with 9-11 or even 8+ - 11, but I don't think anyone can seriously claim that its much more difficult to defend against this than a 10-12 HCP NT.

In a similar vein, the market has spoken. Relatively tight NT opening ranges seem to have won out. (I can't recall the last time I saw a 13-18 HCP NT opener). I don't see much reason in using the Endicott fudge to restrict this type of methods.

I say relax all these restrictions. The system will eventually reach some kind of equilibrium and we can do away with idiotic situations like this one.














March 23, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Interesting to note that Welland and Auken were also involved in a committee hearing involving a failure to prealert a midchart convention. (In this case a transfer advance of a 1 opening). I don't believe that this requires a defense and the failure to pre-alert was crucial to the decision.
March 21, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I am going to buck the tide and recommend Precision in the 90s by Barry Rigal. I'm not fond of the treatment of symmetric relay in the last section of the book, but other than this the book has always struck me as very strong.

I also like Jannersten,
March 20, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Nic, you're also a smart guy and I am willing to give you credit for understanding the difference between a technical debate about the best way forward and a political game of “cover my ass”.

Of course, this leads me to conclude that what you are doing here is largely political posturing. You know that the existing CEO can not admit to having made a mistake wrt ACBLScore+, not can he allow his direct reports to undermine him. (If you don't understand this I apologize)

I think that you need to ask yourself what your goals are:

If your end goal is to see as much of the ACBLScore+ code adopted, then your best option is to step back into the shadows. Work with the Technology Committee to get a reasonable set of APIs published and then help the adopt individual pieces of ACBLScore+ as stand along modules.

If instead, your end goal is to crucify Hartman, go on with what you're doing.

Personally, I think that either goal is reasonable and I wish you luck regardless…



March 17, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I am watching the video as we speak. I am currently listening to a detailed explanation about generating a requirements document.

I can not help but believe that this should have happened before the software was written and delivered to the ACBL.
March 13, 2015
.

Bottom Home Top