This commit is contained in:
@ -124,7 +124,6 @@ async fn get_move(request: Json<Request>) -> response::Json<Response> {
|
||||
let request = request.clone();
|
||||
let board = board.clone();
|
||||
let mut rng = SmallRng::from_os_rng();
|
||||
let actions = actions.clone();
|
||||
tokio::task::spawn_blocking(move || {
|
||||
let mut mcts_managers: Vec<_> = (0..request.board.snakes.len())
|
||||
.map(|id| MctsManager::new(u8::try_from(id).unwrap()))
|
||||
@ -153,16 +152,6 @@ async fn get_move(request: Json<Request>) -> response::Json<Response> {
|
||||
}
|
||||
}
|
||||
let my_mcts_manager = mcts_managers.into_iter().nth(usize::from(id)).unwrap();
|
||||
for action in actions {
|
||||
let score = my_mcts_manager.base.next[usize::from(action)]
|
||||
.as_ref()
|
||||
.map(|info| info.score as f32 / info.played as f32);
|
||||
if let Some(score) = score {
|
||||
info!("{action:?} -> {score}");
|
||||
} else {
|
||||
info!("{action:?} -> None");
|
||||
}
|
||||
}
|
||||
|
||||
let actions = my_mcts_manager.base.next.map(|action| {
|
||||
action.map_or(0.0, |action| action.score as f32 / action.played as f32)
|
||||
@ -171,7 +160,7 @@ async fn get_move(request: Json<Request>) -> response::Json<Response> {
|
||||
(actions, my_mcts_manager.base.played)
|
||||
})
|
||||
});
|
||||
let (actions, played) = join_all(action_futures).await.into_iter().fold(
|
||||
let (scores, played) = join_all(action_futures).await.into_iter().fold(
|
||||
([0.0; 4], 0),
|
||||
|(mut total, mut games), actions| {
|
||||
if let Ok((actions, new_games)) = actions {
|
||||
@ -183,7 +172,11 @@ async fn get_move(request: Json<Request>) -> response::Json<Response> {
|
||||
(total, games)
|
||||
},
|
||||
);
|
||||
let action = actions
|
||||
for action in actions {
|
||||
let score = scores[usize::from(action)];
|
||||
info!("{action:?} -> {score}");
|
||||
}
|
||||
let action = scores
|
||||
.into_iter()
|
||||
.enumerate()
|
||||
.max_by_key(|(_, score)| FloatOrd(*score))
|
||||
|
Reference in New Issue
Block a user