Advertisement

My online Checkers game

Started by November 04, 2004 08:00 AM
20 comments, last by Nice Coder 20 years ago
A good book on this very topic called Blondie 24: Playing At The Edge of AI by David Foge. (http://www.amazon.co.uk/exec/obidos/search-handle-form/202-9212201-6430268) is well worth a read. It's solution is based on neural nets, but it discusses many other ways that people have tried.
I second the vote for Blondie24. I would point out, however, that is a 3-way hybrid system. The AI searches the moves using a standard game tree method and each board is evaluated using a neural network. Fogel also used Evolutionary Computation to evolve the neural networks by pitting them against each other and then evaluating them against (unsuspecting) human palyers. The board representations that gave the best results are quite interesting.

-kirk

Advertisement
ok... nice game.

Downsides: Its very easy to beat. (it falls for a few gambits, it doesn't think tactically at all)
It doen't see some of the bigger tradoffs not coming off in its favour (better position for me, an easy take further along, ect.)
It also gets stuck on loops. (moving one king backwards, and forwards, and backwards, and...)

Upsides: It makes its moves quickish. (but then again its not a very deep search).
The interface is nice.
It sees some neat things (its got minimax, so it will always see them).
You do need to give it some sort of tactical eval tho. It would make it a much better bot.

Some simple bitboards would help wonders with this...

Do you use bitboards, or a hash table? if not, then you should.
If your using alpha-beta, then try the history heuristic.
Also try the killer heuristic.
Make you move ordering work for you.
Continuously search.

And try programming it withe osme simple tactical heuristics. (maybe for ply's 1-3, then for the rest, only a simple heuristic? it would allow more cutoff's, yet still be fast).

Once you've done these things, congradulate yourself, you now have one very good checkers playing computer!
From,
Nice coder

[Edited by - Nice Coder on November 6, 2004 8:13:32 PM]
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.

Quote:
Some simple bitboards would help wonders with this...

Do you use bitboards, or a hash table? if not, then you should.
If your using alpha-beta, then try the history heuristic.
Also try the killer heuristic.
Make you move ordering work for you.
Continuously search.



Could you elaborate on this? I know that move order can result in better alpha-beta cut-offs. I don't know what you mean by history heuristic... Is it comparing current position on the board with some position in a database? And killer heuristic?

How would you go by implementing bit boards?

Thanks for all the constructive replies!

Edo
Edo
Google is your friend. You haven't even tried.
[google] [razz]

Click

Click

Click

Click thy clickersons, and thee will find the true might of thy most mighty [google]

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Advertisement
Found some wikis.

Click
click
Click
Click
Click
Click

Good clickings to you, sir.

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Great game , but why so much memory required 230 MB ? I thought my pc was going to die :)

@Nice Coder: Thanks for the Wikis!

@DMINATOR: Don't know what you mean, when I run the game, it requires a mere 7 MB. Anyone else encountered this problem? Could this be related to the fact that it uses the .NET framework?

Anyways, I'm reading up on all the optimizations and will implement them soon. I will keep you up date.

Edo
Edo
Sorry i didn't made the screenshot , but my system allocates about 13 MB by default to it's needs. Maybe it was some special position of checkers on the board but checkers showed up with about 150 MB request and oeverall it was about 220 memory request.

This topic is closed to new replies.

Advertisement