Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Warren Miller

A Chess-Playing FPGA: Game Theory Quick Start Guide

Warren Miller
Page 1 / 2 Next >
Page 1 / 2   >   >>
Myplanet
Myplanet
12/10/2012 11:57:48 PM
User Rank
Guru
Re: Chess Play
Warren, thanks for the link. Since you had taken my comment in a serious way, I will make sure that I will learn to play chess in a month time. Thanks once again for your encouragement.

100%
0%
Warren Miller
Warren Miller
12/7/2012 8:21:36 PM
User Rank
Blogger
Re: Chess Play
Here is a good place to go to learn chess online- quickly and easily! 

http://www.chess.com/learn-how-to-play-chess 

Check it out mate (I know- terrible pun)

50%
50%
Warren Miller
Warren Miller
12/7/2012 8:19:12 PM
User Rank
Blogger
For the Advanced Student
For those of you that want to 'read ahead' and get into a much more detailed discussion check out the following paper from about 10 years ago:

http://www.iml.ece.mcgill.ca/%7Emboule/files/mbthesis02.pdf 

It is a Masters Thesis that outlines much of the hardware behind a move generator implemented in an FPGA. The design we are working on is very similar, so this is a good resource for the interested student... 

50%
50%
Warren Miller
Warren Miller
12/7/2012 1:07:37 PM
User Rank
Blogger
Re: It isn't a tree.
Hamster-

You make a valid point. You can have the position 'repeat' so the structure isn't a simple tree (where all nodes are different). This will result in additional moves being generated and evaluated. It will be a good exercise later in the design to see what amount of 'duplication' takes place. We can estimate the 'wasted' cycles to see what amount of 'speed-up' we could achieve by avoiding these duplications.

50%
50%
hamster
hamster
12/7/2012 12:56:13 PM
User Rank
Blogger
It isn't a tree.
One problem I can foresee is that it isn't a clean tree. If the same moves are played in a different order then the board may look the same (unless a piece is captured). If this isn't taken into account the number of states to evaluate will be a lot larger than it should, and a lot of time/cycles will be wasted.

50%
50%
Myplanet
Myplanet
12/6/2012 11:53:03 PM
User Rank
Guru
Chess Play
Warren, I think you had gone for this blog by the best assumption that engineers know how the play the game. I personally feels that before you going for this blog or parallel to this you have to go for another blog about "How to play Chess". Unfortunately I don't know how to play chess and so far I had seen only others playing chess.

100%
0%
Warren Miller
Warren Miller
12/6/2012 12:36:47 PM
User Rank
Blogger
Re: How does score interelate with the conditions for victory in chess?
Yes the score (or board evaluation function) is a very important part of the overall algorithm. The more accurate the evaluation function the better the moves.

For the initial version of the evaluation function we will just use the value of the pieces on the board. Typically if you are ahead in piece value (material) you have a better chance of winning. The King will be valued very, very high so if we get to a position where a King has been taken it is a win for the side taking the King.

More complicated board evaluation functions are possible and this may be a good topic to post once we design the initial version.

50%
50%
Max Maxfield
Max Maxfield
12/6/2012 10:13:37 AM
User Rank
Blogger
Re: How does score interelate with the conditions for victory in chess?
@Jezmo: It really doesn't matter how complex this gets or how much effort it takes to crack thsi problem... because I'm not the one who is doing all the work (grin)

50%
50%
JezmoSSL
JezmoSSL
12/6/2012 9:59:57 AM
User Rank
Blogger
Re: How does score interelate with the conditions for victory in chess?
max I think that might add some slight complication, if you look at deep blue and other chess playing super computers they are calculating moves squillions of levels deep, so I am not sure how you could implement that in an FPGA but we shall see.

50%
50%
Max Maxfield
Max Maxfield
12/6/2012 9:43:16 AM
User Rank
Blogger
Re: How does score interelate with the conditions for victory in chess?
@William: I agree -- the scoring algorithm is going to be very important -- if you could checkmate the other player without taking a single one of his/her pieces then you've won. There's also the idea of taking a "hit" now to lead the other player into a trap...

50%
50%
Page 1 / 2   >   >>
More Blogs from Warren Miller
Warren has finally started to write some HDL code to implement his chess-playing FPGA, but he's not a professional coder, so he needs our help and advice.
What might we see in new Ultra Low Density (ULD) CPLD families three-to-five years down the road? Are there new technologies or programmable structures that will find their way into ULD devices?
Following our evaluations, the resources required by a chess-playing FPGA implementation would seem reasonable, even for a small or midsized device.
A number of challenges are faced by the users and manufacturers of ultra-low-density devices (ULDs).
We are ready to consider how to use our Move Generator to traverse the tree of possible moves efficiently and find the sequence that produces the best board position.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS