Andre Asbury

Teaching a Computer How to Bid

My latest little project, started about a week ago, is to write a computer program that can bid my canapĂ© system. It’s a rather interesting process but I’m afraid this will be another thing that I will give up on after a month or two. But if I succeed, I expect it would improve my bidding. Just going through the process of thinking about exactly how to evaluate hands and quantifying everything should make me a better bidder. I suppose the main point of this would be to practice the system and maybe teach other people this bidding system. I have succesfully gotten it to get through 3 bids (at least for 1 level openings, responses and most rebids) with no interference – that part is pretty easy because it’s so formulaic. Based on hcp and distribution, the bids are really straightforward. Beyond this, and even more when opposing bidding is added, more analytic skills are needed. The formulas can only go so far before there get to be too many possibilities to explicitly mention. I haven’t quite decided how to implement this.

If there’s one thing I’ve learned from working as a software engineer and redesigning an old and incredibly unorganized piece of software for the last few years is that knowing your requirements and having a detailed plan are essential to writing good code. Yet I jumped right in and started coding because I wanted to see some results right away.

I have also realized something about my programming interests. I dislike programming GUI’s. I guess I actually knew this before. I never liked doing any kind of interface programming but I enjoy the algorithms and logic parts of software. So, this project is gonna be all text on the console unless someone else volunteers to write a GUI. I don’t even want to think about programming a computer to actually play bridge – that has to be way harder than bidding.


1 Comment

kenrexfordMay 11th, 2010 at 7:46 pm

Fascinatingly difficult idea. More than any other approach, canape seems to be tied viciously to artful consideration and interpretation. I cannot imagine how to program this. Good luck. A very noble idea!

Leave a comment

Your comment