Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fine tuning the engine's strength

Author: KarinsDad

Date: 13:01:09 07/25/00

Go up one level in this thread


On July 25, 2000 at 14:10:36, John Coffey wrote:

>I don't think that the goal is to play like a 1200.  Instead it is to be
>able to fine tune the ability of the computer.  If the computer is only
>looking at 512 nodes, it might not drop a piece, but it will not see past ply
>3 in the middle game and it will be beatable.
>

Node limitation is similar to ply limitation. It is not as crude a scale, but it
is the same insufficient concept.

Node count is exponential up the tree. 2 ply brute force results in 1260 nodes
generated for an average 35 move per side position. 2 ply is probably 1200
strength (assuming the same evaluation function). So, the computer would not
just hang a piece, but it could easily lose in a simple combination.

3 ply in a similar position might suddenly play real bad though. Why? Because it
would hang a piece for a pawn sometimes.

[D]5rk1/1n1n1ppp/8/2p5/8/2QN4/5PPP/5RK1 w

 - = - = - r k =
 = n = n = p p p
 - = - = - = - =
 = - p - = - = -
 - = - = - = - =
 = - Q N = - = -
 - = - = - P P P
 = - = - = R K -

Nxp nxN Qxn and not realize nxQ since it would not search 4 ply. The number of
brute force nodes at ply 3 would be 44,000. Approximately 35 times as many nodes
would be searched, but the program would play weaker than the 2 ply version
which would avoid the Nxp move due to losing the knight.

Now, I know that you will claim that this search does not result in a quiescent
position, hence, the example is not valid due to extensions, etc.

But, the reason for this example is to illustrate that the program HAS to have
some level of control over it's search, or it could return bogus information and
make an extremely bad move at 3 ply that it would not at 2 ply. So, the 1200
rated version of the program would play worse than the 1400 rated version.

Time limits, node limits, and even ply limits all have the same inherent type of
problem. They pick the best move found SO FAR, regardless of whether the search
got interrupted or not.

And in order to gradiate the scale, you do not want to limit the search and HOPE
for a tactical or positional mistake that a given rated player can take
advantage of in order to play at a similar rating as the computer is set at.
Instead, you want the program to play tactically, positionally, and
strategically inferior to it's normal powerful strength.

Even something as limiting the opening book to the first 4 moves does not mean
that the program won't play book until move 10. But that will rarely happen with
a 1200 rated player.

Do you understand the difference? You have to have the program determine what
it's best x moves are at a given position and pick one of them based on some
function (maybe random, maybe not, probably some sort of bell curve since even
the worst player in the world can accidentally make the best move on the board)
of the rated level that the program is set at. This is a much better way to
attempt to gradiate the scale in a reasonable manner since time, node count, and
 ply count while picking the best move each time results in more artificial
looking play.

KarinsDad :)



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.