This returns U2' but it should return U2:
cargo run --release -- search --max-depth 2 --generator-moves "U2" --scramble-alg "U2" ./samples/3x3x3/3x3x3-Reid.def.json
It's easy to fix this by adding (TurnMetric::Hand, MoveCount(2) | MoveCount(1)) => vec![r#move.amount], but I'd like to rethink the whole calculation. In particular:
- The existing logic already aimed to do this — what went wrong?
- Should the
(TurnMetric::Quantum, …) cases return r#move.amount instead of 1 (and -r#move.amount instead of -1)?
This returns
U2'but it should returnU2:It's easy to fix this by adding
(TurnMetric::Hand, MoveCount(2) | MoveCount(1)) => vec![r#move.amount],but I'd like to rethink the whole calculation. In particular:(TurnMetric::Quantum, …)cases returnr#move.amountinstead of1(and-r#move.amountinstead of-1)?