Tuesday, May 11, 2010

Teaching a Computer to Bid part 1

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:

  1. *Very* interesting....keep us posted on how it's going.