Compare commits
2 Commits
e966a3ac9a
...
967f1f6efb
| Author | SHA1 | Date | |
|---|---|---|---|
|
967f1f6efb
|
|||
|
94831b720b
|
15
src/elo.rs
15
src/elo.rs
@@ -18,25 +18,19 @@ type AgentMaker = Box<dyn Fn(Piece) -> Box<dyn Agent>>;
|
|||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
let total_memory = 30_000_000_000;
|
let total_memory = 30_000_000_000; // 30 GB
|
||||||
let num_threads = std::thread::available_parallelism()
|
let num_threads = std::thread::available_parallelism()
|
||||||
.map(NonZero::get)
|
.map(NonZero::get)
|
||||||
.expect("unable to get number of threads");
|
.expect("unable to get number of threads");
|
||||||
let mem_per_thread = total_memory / num_threads;
|
let mem_per_thread = total_memory / num_threads;
|
||||||
|
|
||||||
let fmv_base = FutureMoveConfig {
|
let fmv_base = FutureMoveConfig {
|
||||||
max_depth: 10,
|
|
||||||
min_arena_depth: 14,
|
|
||||||
top_k_children: 2,
|
|
||||||
up_to_minus: 10,
|
|
||||||
// max_arena_size: usize::MAX,
|
|
||||||
max_arena_size: mem_per_thread / FutureMoves::ARENA_ENTRY_SIZE,
|
max_arena_size: mem_per_thread / FutureMoves::ARENA_ENTRY_SIZE,
|
||||||
do_prune: false,
|
|
||||||
print: false,
|
print: false,
|
||||||
children_eval_method: Default::default(),
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
let configs = [4, 5, 6]
|
let configs = [2, 4, 6, 8]
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(move |d| FutureMoveConfig {
|
.map(move |d| FutureMoveConfig {
|
||||||
max_depth: d,
|
max_depth: d,
|
||||||
@@ -236,7 +230,7 @@ impl PlayerArena {
|
|||||||
self.process_outcome(i, j, &o);
|
self.process_outcome(i, j, &o);
|
||||||
|
|
||||||
if received_num > 0 {
|
if received_num > 0 {
|
||||||
term.clear_last_lines(self.players.len())
|
term.clear_last_lines(self.players.len() + 1)
|
||||||
.expect("unable to clear prev lines");
|
.expect("unable to clear prev lines");
|
||||||
}
|
}
|
||||||
term.write_str(format!("{}", self).as_str())
|
term.write_str(format!("{}", self).as_str())
|
||||||
@@ -244,6 +238,7 @@ impl PlayerArena {
|
|||||||
|
|
||||||
received_num += 1;
|
received_num += 1;
|
||||||
p.inc(1);
|
p.inc(1);
|
||||||
|
println!();
|
||||||
// break if all pairs were recieved
|
// break if all pairs were recieved
|
||||||
if received_num == num {
|
if received_num == num {
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ pub struct FutureMoves {
|
|||||||
board: Board,
|
board: Board,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Allocative)]
|
#[derive(Copy, Clone, Allocative, Default)]
|
||||||
pub struct FutureMoveConfig {
|
pub struct FutureMoveConfig {
|
||||||
/// Max depth of that we should try and traverse
|
/// Max depth of that we should try and traverse
|
||||||
pub max_depth: usize,
|
pub max_depth: usize,
|
||||||
|
|||||||
Reference in New Issue
Block a user