I'm fascinated about how modern computers play chess, and I was wondering if there is anything we can take away from their style of play. The (Computer) GMs in this arena of play are: Deep Blue, Hydra, Rybka, Fritz, Junior, and Shredder.
In order to understand their approach I'm writing my own chess program "Mosquito" nick name this since the first version should only prove to be a minor annoyance against CGMs.
Stage 1 of Development:
Hopefully I'm able to complete the following milestones within a month.
Milestone 1: Implement a way for the computer to see the world
Milestone 2: Produce a valid moves list.
Milestone 3: Implement an Interface for Max-Min Search
Milestone 4: Define Positional Evaluations
Progress on Milestone 1:
I decided to use BitBoards to easily produce how the computer sees the world (the chess board and its pieces) and to define the actions that can happen with the pieces. The reason for this choice is the work and summaries given by Tim Mann's page about Crafty. The only trouble I have right now is rotating the BitBoards to produce the desire effects for bishops and Queens.
What I have learned so far:
Computer's are force to consider every possible move and is able to do so because of the speeds that processors can achieve --- humans don't do this.
Pro: Humans don't have to look at junk. Con: Potential to miss killer move.
Its alot easier to teach a human the rules of chess but it's hard for the student to master the game but the reverse is true for computers. "But do they truely play like masters since they cheat and move the pieces around to they find something they like."
Extra info:
language being used: java (no research has been done on what would be the optimal language for this program, I'm just learning about computer chess.)
I wish to end this blog with a Game play between Deep Blue and Kasparov