Author: Bruce Moreland
Date: 16:00:02 06/15/01
Go up one level in this thread
It's a little bit hard to tell from the post, but he's talking about a random *constant* value, that is set at program boot. There's nothing wrong with that idea, other than that you'd have to dump the constants to a log file if you want to be able to reproduce bugs. bruce On June 15, 2001 at 17:16:30, Eugene Nalimov wrote: >Without *lot of care* you will see search instabilities. Imagine, for example, >that you are using aspiration search, and searching the move with bounds (alpha, >beta). Search returned some value that is greater than beta. You start research >with bounds (beta, +infinity). But due to the randomness the critical position >now has score less than beta, so you'll end up having fail-high followed by >fail-low -- not very pleasant situation. > >You can fix this particular problem by always modifying your score by the same >value -- e.g. you can fill the 1024-entry table by the random values at the >program startup, and at the end of your evaluator write > score += rand_table[score&1023]; >This way you'll have some randomness, and there is some hope that program will >play different moves in the same position. But you still have to be careful if >you use book learning, persistent hash table, etc. > >Eugene > >On June 15, 2001 at 16:41:06, Tiago Ribeiro wrote: > >>Why not introduce some random factor in static evaluation? >> >>Example: >> >>srand( time ( 0 ) ); >> >>char ten = 7 + rand() % 5; >>char fif = 12 + rand() % 6; >>... >> >>#define DB_P_PENALTY ten >>#define BAD_BISHOP fif >> >>etc.,etc >> >>The same can be made for the value of the pieces! >> >>Just giving a small random margin, the game doesn't lose a significant quality >>and becomes unexpected, what can be a technique anti-great master! :) >> >>I will try this in 'Replicant'! >> >> >>Tiago Ribeiro
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.