nissy-core

The "engine" of nissy, including the H48 optimal solver.
git clone https://git.tronto.net/nissy-core
Download | Log | Files | Refs | README | LICENSE

commit 0ad2e864f63e77157815242b96faafdfae376dd8
parent b02fce00115ac597ba34fda128e43586f8710438
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Thu, 17 Jul 2025 08:23:32 +0200

Comments for drslice

Diffstat:
Msrc/solvers/coord/drslice.h | 19+++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)

diff --git 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,