Hello Everyone
Hope the holiday season is going well for all of you. It’s been a while since my last post and that has been because I am not having the success with the direction I am taking on my min/max program that I had hoped for. For example;
If white opens with
e4 in Chess Masters Grand Master Style the response is c5.
Now my engine wants to respond
e5
because e5 blocks the advance of e4, brings two new pieces into the game; black Queen and black Bishop where as c5 only brings blacks Queen into play on a short diagonal Queen side. The e5 move keeps the score even and the c5 move gives white a distinct advantage of 11.5 over black. This disparity continues and actually gets worse because the engine see an exchange as an advantage in most cases even if blacks piece has a higher value than white.
My approach up to this point has been to assign values by overall board score first then piece then mobility and finally position and rank. With this approach I have been able to beat my program in almost all matches. Since I am at best a low club player, my engine is not working.
I have started over. Now my approach will be by action first (what square am I moving to), the number of pieces that can move to that square (both black and white i.e.: exchanges), pins, potential checks then overall board score and piece value. This appears to be more in step with the though process of a human player and after all, making the program think is our goal.
While I have been working on this new approach, I have added new features to the Open Book module. The player can now step through a saved game one move at a time by player. This new feature helped me see my previous approach was wrong and pointed me in my new direction. Once I get a handle on the new engine, I will post that code as well as the new Open Book procedure.
That’s all for today, thanks for stopping by and check in again to see the progress.
Happy Holidays
Leave a comment