From 0ad2e864f63e77157815242b96faafdfae376dd8 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 17 Jul 2025 08:23:32 +0200 Subject: Comments for drslice --- src/solvers/coord/drslice.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/solvers/coord/drslice.h') diff --git a/src/solvers/coord/drslice.h b/src/solvers/coord/drslice.h index 63aaa88..a0eb57e 100644 --- a/src/solvers/coord/drslice.h +++ b/src/solvers/coord/drslice.h @@ -1,3 +1,16 @@ +/* +TODO + +The pruning table for this coordinate shows some odd behavior, which +is actually also present in nissy-classic: after completing depth 14, +if the search is let run for higher depth, no more positions are found. +This could be as simple as a small bug in the logic of the pruning table +calculations - I may be assuming somewhere that I am never going to search +for depths >= 15, since they are the highest possible value anyway - +or some reason related to symmetry - are some cases actually impossible? +In the worst case, it is a bug to be fixed, but I find it unlikely. +*/ + #define CLASSES_CP_16 2768 STATIC uint64_t coordinate_cp_coord(cube_t); @@ -30,7 +43,6 @@ STATIC coord_t coordinate_drslice = { .is_admissible = &solution_always_valid, .is_solvable = &is_drslice_solvable, .pruning_distribution = { - /* TODO: copied from nissy-classic, to be verified */ [0] = 1, [1] = 3, [2] = 10, @@ -46,10 +58,9 @@ STATIC coord_t coordinate_drslice = { [12] = 18349792, [13] = 32843350, [14] = 34118883, - [15] = 0, /* TODO: unknown, why does nissy-classic not have - have this value? */ + [15] = 17284701 }, - .pruning_max = 15, /* TODO - either 14 or 15 */ + .pruning_max = 15, .sym = { .classes = CLASSES_CP_16, .max = FACT_8, -- cgit v1.3