GNU (or GNL or public domain) Checkers AI

L

Luc The Perverse

Hi, for a christmas present for my grandpa I would like to make him a
checkers game. He had a checkers game in Windows 3.1 that was exceptionally
simple - he gets confused when something isn't too terribly easy.

We've tried to find him new checkers games, but frankly they just plain
suck.

I can make the GUI, and everything else - but he is a very good player of
checkers, so I will need a fairly good AI (preferably that has some
randomness involved, as well as an adjustable level of play)

I search google for GNU Checkers AI and got tons of results, and many many
dead ends.

Does someone know off hand where I could grab a good AI - or maybe even a
full open source checkers game?
 
Z

zero

Hi, for a christmas present for my grandpa I would like to make him a
checkers game. He had a checkers game in Windows 3.1 that was
exceptionally simple - he gets confused when something isn't too
terribly easy.

We've tried to find him new checkers games, but frankly they just
plain suck.

I can make the GUI, and everything else - but he is a very good player
of checkers, so I will need a fairly good AI (preferably that has some
randomness involved, as well as an adjustable level of play)

I search google for GNU Checkers AI and got tons of results, and many
many dead ends.

Does someone know off hand where I could grab a good AI - or maybe
even a full open source checkers game?

An interesting project might be something similar to what I am doing with a
chess game: make a program that uses AI concepts to teach itself how to
play. The concept I'm using is simple (and I suspect for checkers it would
be easier to implement than for chess). I define a pattern of pieces as
any list of pieces that either 1. are on adjacent squares or 2. are
attacking (or defending) eachother. Then, I just let the program play some
(at first random) games, and if it wins, the patterns in the game get a
positive score. If it loses, they get a negative score. I also take
things into account like when the pattern occurs (early in the game has
less inpact on the outcome than near the end), and the total mobility.
During the game, the program analyses the patterns and thus decides what
move it thinks is the best.
 
L

Luc The Perverse

zero said:
An interesting project might be something similar to what I am doing with
a
chess game: make a program that uses AI concepts to teach itself how to
play. The concept I'm using is simple (and I suspect for checkers it
would
be easier to implement than for chess). I define a pattern of pieces as
any list of pieces that either 1. are on adjacent squares or 2. are
attacking (or defending) eachother. Then, I just let the program play
some
(at first random) games, and if it wins, the patterns in the game get a
positive score. If it loses, they get a negative score. I also take
things into account like when the pattern occurs (early in the game has
less inpact on the outcome than near the end), and the total mobility.
During the game, the program analyses the patterns and thus decides what
move it thinks is the best.

That will only work if you team it against a competant opponent :) And it
must have enough innate knowledge to force mate.

But what I am trying to do is AVOID writing an AI.

X-Mas is very close - I may just begin looking for an already written game
:(
 
D

David Segall

Luc The Perverse said:
Hi, for a christmas present for my grandpa I would like to make him a
checkers game. He had a checkers game in Windows 3.1 that was exceptionally
simple - he gets confused when something isn't too terribly easy.

We've tried to find him new checkers games, but frankly they just plain
suck.

I can make the GUI, and everything else - but he is a very good player of
checkers, so I will need a fairly good AI (preferably that has some
randomness involved, as well as an adjustable level of play)

I search google for GNU Checkers AI and got tons of results, and many many
dead ends.

Does someone know off hand where I could grab a good AI - or maybe even a
full open source checkers game?
Sourceforge lists this one
<http://mysite.mweb.co.za/residents/wduminy/checkers.htm>. It's C++
not Java.
 
M

Monique Y. Mudama

That will only work if you team it against a competant opponent :)
And it must have enough innate knowledge to force mate.

Well, no, you could have two learning AIs match off against each
other. At the start, they would be pretty bad, but they would both
get better, much like two kids learning to play together, but much
much faster.

It would be interesting to see if they came up with bizarre strategies
that would be effective against a human opponent.
 
C

Chris Smith

Monique Y. Mudama said:
Well, no, you could have two learning AIs match off against each
other. At the start, they would be pretty bad, but they would both
get better, much like two kids learning to play together, but much
much faster.

It would be interesting to see if they came up with bizarre strategies
that would be effective against a human opponent.

In the generic sense, yes. However, it turns out checkers isn't really
a very interesting game from a strategy standpoint. It's about tactics.
More so even than the more typical computer chess opponent, the computer
checkers opponent does better mainly by looking more plies ahead into
the game. Even human checkers players do better by having the mental
capacity to look ahead more plies.

I doubt that your "learning" checkers programs would actually get much
better at all, since the more complex the decision trees they build, the
more difficult and computationally expensive it becomes for them to look
further ahead.

--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
 
Z

zero

Well, no, you could have two learning AIs match off against each
other. At the start, they would be pretty bad, but they would both
get better, much like two kids learning to play together, but much
much faster.

It would be interesting to see if they came up with bizarre strategies
that would be effective against a human opponent.

It seems my biggest problem is finding a good way to pick a move, taking
both the patterns and the total mobility into account. Trial and error I
suppose.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top