Generating with constraints So, the next step, actually generating things. As I wrote last week, my strategy first was to generate entirely random hands. But! I realized that if we do that, we make some assumptions about our partner, because they will have an average hand. I then wanted to generate a random hand for […]
A fitness function for bidding systems [Desiderius part #17]
Last week I explained why a DSL and genetic programming are such an awesome combination. So, we can almost start to mutate our ACOL code. But, there is one thing we need: a fitness function, a function that tells us we are going the right way. When mutating a string, we used the Levenshtein distance […]
Genetic programming on a DSL [Desiderius #16]
Hi desi lovers! Service notice: Sorry I missed a post last weekend, I was prepping my F# Exchange talk. If you have not read any of my Desi posts, you can save some time and watch my talk that more or less covers posts 1/5, 8, 15 and 16 (yes, that is this one) If […]
Intro Genetic Programming [Desiderius part #15]
I missed a weekend, sorry guys! I was busy babysitting a five year old and contemplating the LambdaConf situation. To make it up I have a totally fresh and new topic to talk about: genetic programming. I do not want to design a bidding systems, I want to make the best one possible, and for […]
History repeats [Desiderius #14]
Two weeks ago I talked about the playing logic and the improvements kot_2010 made, but there is a bit more info I want to share. Let’s talk a little bit more about how I designed the playing history. History is a list of lists, where each inner list is a trick. Visually: //An empty game: [ […]