Reply
 
LinkBack Thread Tools Display Modes
  #1   Report Post  
Old January 24th 07, 04:09 AM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jan 2007
Posts: 18
Default update material evaluation incrementally?

I am wondering if the top chess programs calculate material values only
at the terminal nodes where the evaluation function is called, or do
they keep a running count of material at each move. Is there a
significant difference in speed between the two methods?

Has anyone here experimented with each method and found there is or
isn't a real difference between them?

Thanks,
Loomis
  #2   Report Post  
Old January 24th 07, 09:40 AM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Apr 2005
Posts: 2,598
Default update material evaluation incrementally?

Loomis Philanthrope wrote:
I am wondering if the top chess programs calculate material values
only at the terminal nodes where the evaluation function is called,
or do they keep a running count of material at each move. Is there a
significant difference in speed between the two methods?


I imagine they keep a running count -- my engine certainly did, but it
was hardly top-class!

Keeping a running count means that, for each leaf on the tree, you
have to do two operations for each capture in the line leading to the
leaf (one to decrease the material count when making the move and one
to increase it again when the move is un-made). But that's worst-case
because some of those operations will be shared between different
leaves. Counting at each leaf means you have to do one operation for
each piece at each leaf. That has to be much more expensive.

Also, there's the point that the material count alone will very often
be enough to cut off the search without even looking at the rest of
the evaluation function.


Has anyone here experimented with each method and found there is or
isn't a real difference between them?


I've not experimented but the advantage of running counts seems to be
obvious and significant, without adding a significant amount of code.
Of course, many things that are `obviously true' about chess engines
turn out to be false. :-)


Dave.

--
David Richerby Permanent Mouldy Dish (TM): it's like
www.chiark.greenend.org.uk/~davidr/ a fine ceramic dish but it's starting
to grow mushrooms and it'll be there
for ever!
  #3   Report Post  
Old January 24th 07, 03:24 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jan 2007
Posts: 18
Default update material evaluation incrementally?

David Richerby wrote:
I've not experimented but the advantage of running counts seems to be
obvious and significant, without adding a significant amount of code.


This is what I thought as well. Especially since 30% of my engine's time
is spent in the eval function and a fair portion of that is spent
administering the loop over the piece list and switching on piece type.
I figured if I eliminated that loop in favor of a few subtractions and
additions as pieces are captured and un-captured there would be a
difference.

But after I made the changes, the engine played the same moves in nearly
the same amount of time. It seemed quite odd to me, so I wanted to know
if anyone else had tried this and what results they got.

Loomis
  #4   Report Post  
Old February 1st 07, 07:38 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Feb 2007
Posts: 3
Default update material evaluation incrementally?

On Jan 24, 7:24 am, Loomis Philanthrope
wrote:
David Richerby wrote:
I've not experimented but the advantage of running counts seems to be
obvious and significant, without adding a significant amount of code.


This is what I thought as well. Especially since 30% of my engine's time
is spent in the eval function and a fair portion of that is spent
administering the loop over the piece list and switching on piece type.
I figured if I eliminated that loop in favor of a few subtractions and
additions as pieces are captured and un-captured there would be a
difference.

But after I made the changes, the engine played the same moves in nearly
the same amount of time. It seemed quite odd to me, so I wanted to know
if anyone else had tried this and what results they got.

Loomis


In my simple TSCP-derived program, incremental material and pawn
evaluation sped up the search by over 30%. It may depend on how
complex your evaluation is (what proportion the material calculation
is to the rest of your eval terms). The more complex your evaluation,
the less benefit you get from simple incremental updates.

For further insight, you should ask again on the Computer Chess Club
(http://www.talkchess.com/).

Ian

  #5   Report Post  
Old February 2nd 07, 10:15 AM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Apr 2005
Posts: 2,598
Default update material evaluation incrementally?

Ian Osgood wrote:
In my simple TSCP-derived program, incremental material and pawn
evaluation sped up the search by over 30%. It may depend on how
complex your evaluation is (what proportion the material calculation
is to the rest of your eval terms). The more complex your
evaluation, the less benefit you get from simple incremental
updates.


As I said before, in many cases, material alone is enough to cause a
cut-off. This means that, by evaluating material separately, you
often don't have to call the evaluation function at all.


Dave.

--
David Richerby Broken Umbrella (TM): it's like an
www.chiark.greenend.org.uk/~davidr/ umbrella but it doesn't work!
Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
The cheating IBM Wlodzimierz Holsztynski (Wlod) rec.games.chess.politics (Chess Politics) 148 July 22nd 06 02:52 PM
The cheating IBM Chess One rec.games.chess.misc (Chess General) 120 July 22nd 06 02:52 PM
The cheating IBM Chess One rec.games.chess.computer (Computer Chess) 100 July 22nd 06 02:52 PM
what is the best evaluation to improve your game? Magnulus rec.games.chess.computer (Computer Chess) 14 December 21st 05 10:57 AM
Chessbase 9 Variation board stopped working with Last May's update Ghen rec.games.chess.computer (Computer Chess) 2 December 20th 05 02:20 AM


All times are GMT +1. The time now is 04:03 PM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2004-2019 ChessBanter.
The comments are property of their posters.
 

About Us

"It's about Chess"

 

Copyright © 2017