tune: repetition history set to 100 plies
This commit is contained in:
parent
ede46552fe
commit
e27e18e482
18
src/lib.rs
18
src/lib.rs
@ -516,9 +516,8 @@ mod ringptr_tests {
|
||||
|
||||
/// Ring-buffer of previously seen hashes, used to avoid draw by repetition.
|
||||
///
|
||||
/// Only stores at most `HISTORY_SIZE` plies, since most cases of repetition happen recently.
|
||||
/// Technically, it should be 100 plies because of the 50-move rule.
|
||||
#[derive(Default, Clone, Copy, Debug)]
|
||||
/// Only stores at most `HISTORY_SIZE` plies.
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
struct BoardHistory {
|
||||
hashes: [Zobrist; HISTORY_SIZE],
|
||||
/// Index of the start of the history in the buffer
|
||||
@ -527,6 +526,17 @@ struct BoardHistory {
|
||||
ptr_end: RingPtr<HISTORY_SIZE>,
|
||||
}
|
||||
|
||||
impl Default for BoardHistory {
|
||||
fn default() -> Self {
|
||||
BoardHistory {
|
||||
// rust can't derive this
|
||||
hashes: [Zobrist::default(); HISTORY_SIZE],
|
||||
ptr_start: Default::default(),
|
||||
ptr_end: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for BoardHistory {
|
||||
/// Always equal, since comparing two boards with different histories shouldn't matter.
|
||||
fn eq(&self, _other: &Self) -> bool {
|
||||
@ -539,7 +549,7 @@ impl Eq for BoardHistory {}
|
||||
/// Size in plies of the board history.
|
||||
///
|
||||
/// Actual capacity is one less than this.
|
||||
const HISTORY_SIZE: usize = 15;
|
||||
const HISTORY_SIZE: usize = 100;
|
||||
|
||||
impl BoardHistory {
|
||||
/// Counts occurences of this hash in the history.
|
||||
|
Loading…
Reference in New Issue
Block a user