Reply
 
LinkBack Thread Tools Display Modes
  #1   Report Post  
Old September 18th 05, 07:18 PM
StrayBullet
 
Posts: n/a
Default IMPROVING ALPHA / BETA

Hi,

I have some questions related to transposition table(TT).
First of all i want to say that my TT works perfectly well except
some known positions(draw positions etc.).My question(s) are NOT
related to these buggy positions.


I have read many and many articles about TT.
Some of them offers that when you probe the TT,
firstly look for cutoffs(if the position is there and depth is
sufficient to use TT info).
If a cutoff is possible just leave the node.(We are lucky)
If no cutoff is possible then improve alpha or beta according to score
type,if possible.

Briefly, i described the method offered in articles.
(I am doing the same things except improving alpha/beta!)

I am going to try to give a case where i am getting confused.
Assume that i found current position in TT and details are as below.

current depth to be searched : 6 current alpha : 0.0 current beta :
5.0
TT depth : 9 scoretype: UPPER TTsco 3.0

No cutoff exists !
Since scoretype is UPPER, current beta is adjusted as 3.0.
When i search the position to depth 6 with this new range( 0.0 - 3.0) i
get
some scores.


Q) If i get a score greater than new beta,lets say 3.5, can i do a
cutoff ?

Q) If you say "yes", then i ask you, since 3.0 comes from a more
valuable search(depth 9) and
3.5 comes from a less valuable search(depth 6), isn't it
unreasonable to trust on a
less accurate score and do a cutoff ?

Can i store the score (3.5) to TT ?
(I am asking this since i have a more valuable score in TT_ALWAYS)


Q) A score with a depth 6 should NOT beat a score with depth 9. Right ?


Thanks for your concern and replies.
Note : I analyzed some programs.For example, gerbil has no alpha/beta
improving. GnuChess has.
I could not understand Crafty's TT code / .

  #2   Report Post  
Old September 20th 05, 10:31 AM
Alexander Belov
 
Posts: n/a
Default

"StrayBullet" wrote in message
oups.com...
Hi,
...
Assume that i found current position in TT and details are as below.

current depth to be searched : 6 current alpha : 0.0 current beta :
5.0
TT depth : 9 scoretype: UPPER TTsco 3.0

No cutoff exists !
Since scoretype is UPPER, current beta is adjusted as 3.0.
When i search the position to depth 6 with this new range( 0.0 - 3.0) i
get
some scores.


Q) If i get a score greater than new beta,lets say 3.5, can i do a
cutoff ?


First of all, if you improve beta to 3.0, you do it for the position you
found in TT only, because it says "this position has score in the range
[-inf, 3.0] when searched to depth 9". If you found it has score 3.5, it
seams you have some errors in cutoffs because you shouldn't get score
outside of [0.0, 3.0] for depth 6 even if you use fail-soft cutoffs like:
if (val = beta)
{
return val;
}
because they return val outside of [0.0, 3.0] for depth 0,1 only, isn't it?

Then, if your current range is [0.0, 5.0], it means the opponent does not
have better play than 5.0 (less is better for opponent) for your other play
lines and only if you play to position with UPPER bound 3.0, it will improve
at least to 3.0. If the search finds that score for position is 3.0 you
don't do cutoff, because other play lines still don't give the opponent
better than 5.0, you improve alpha to 3.0, so the new range is [3.0, 5.0].

Q) A score with a depth 6 should NOT beat a score with depth 9. Right ?

TT is just cache. You decide, which values to keep and which to drop. Look
at the Crafty history in main.c. It says that Crafty has two TT with two
different policies - one is replaced with depth priority and the other is
always replaced (comment for version 9.10)


  #3   Report Post  
Old September 25th 05, 06:48 PM
StrayBullet
 
Posts: n/a
Default


Alexander Belov yazdi:
"StrayBullet" wrote in message
oups.com...
Hi,
...
Assume that i found current position in TT and details are as below.

current depth to be searched : 6 current alpha : 0.0 current beta :
5.0
TT depth : 9 scoretype: UPPER TTsco 3.0

No cutoff exists !
Since scoretype is UPPER, current beta is adjusted as 3.0.
When i search the position to depth 6 with this new range( 0.0 - 3.0) i
get
some scores.


Q) If i get a score greater than new beta,lets say 3.5, can i do a
cutoff ?


First of all, if you improve beta to 3.0, you do it for the position you
found in TT only, because it says "this position has score in the range
[-inf, 3.0] when searched to depth 9".



sure

If you found it has score 3.5, it
seams you have some errors in cutoffs because you shouldn't get score
outside of [0.0, 3.0] for depth 6 even if you use fail-soft cutoffs like:
if (val = beta)
{
return val;
}
because they return val outside of [0.0, 3.0] for depth 0,1 only, isn't it?


A search with depth 6 can return a score 3.0 because a depth6 score
is less sensitive and less correct than a depth 9 search ! There is no
problem here!
You can give a try with your own program if you have one


Then, if your current range is [0.0, 5.0], it means the opponent does not
have better play than 5.0 (less is better for opponent) for your other play
lines and only if you play to position with UPPER bound 3.0, it will improve
at least to 3.0. If the search finds that score for position is 3.0 you
don't do cutoff, because other play lines still don't give the opponent
better than 5.0, you improve alpha to 3.0, so the new range is [3.0, 5.0].




Q) A score with a depth 6 should NOT beat a score with depth 9. Right ?

TT is just cache. You decide, which values to keep and which to drop. Look
at the Crafty history in main.c. It says that Crafty has two TT with two
different policies - one is replaced with depth priority and the other is
always replaced (comment for version 9.10)


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
Recording the best moves in alpha beta search. RohiT rec.games.chess.computer (Computer Chess) 1 January 30th 05 04:23 PM
alpha - beta pruning still rules? sb rec.games.chess.computer (Computer Chess) 3 March 26th 04 05:32 PM
adjusting the window based on ttable Noah Roberts rec.games.chess.computer (Computer Chess) 11 November 5th 03 07:18 AM
Fail Soft Alpha Beta & Transpositions Orhan Öztürk rec.games.chess.computer (Computer Chess) 4 September 10th 03 04:58 PM
(Fail soft) alpha beta Delphi rec.games.chess.computer (Computer Chess) 7 September 7th 03 03:00 PM


All times are GMT +1. The time now is 10:15 AM.

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