diff options
Diffstat (limited to 'src/solvers/coord')
| -rw-r--r-- | src/solvers/coord/drslice.h | 19 |
1 files changed, 15 insertions, 4 deletions
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 @@ | |||
| 1 | /* | ||
| 2 | TODO | ||
| 3 | |||
| 4 | The pruning table for this coordinate shows some odd behavior, which | ||
| 5 | is actually also present in nissy-classic: after completing depth 14, | ||
| 6 | if the search is let run for higher depth, no more positions are found. | ||
| 7 | This could be as simple as a small bug in the logic of the pruning table | ||
| 8 | calculations - I may be assuming somewhere that I am never going to search | ||
| 9 | for depths >= 15, since they are the highest possible value anyway - | ||
| 10 | or some reason related to symmetry - are some cases actually impossible? | ||
| 11 | In the worst case, it is a bug to be fixed, but I find it unlikely. | ||
| 12 | */ | ||
| 13 | |||
| 1 | #define CLASSES_CP_16 2768 | 14 | #define CLASSES_CP_16 2768 |
| 2 | 15 | ||
| 3 | STATIC uint64_t coordinate_cp_coord(cube_t); | 16 | STATIC uint64_t coordinate_cp_coord(cube_t); |
| @@ -30,7 +43,6 @@ STATIC coord_t coordinate_drslice = { | |||
| 30 | .is_admissible = &solution_always_valid, | 43 | .is_admissible = &solution_always_valid, |
| 31 | .is_solvable = &is_drslice_solvable, | 44 | .is_solvable = &is_drslice_solvable, |
| 32 | .pruning_distribution = { | 45 | .pruning_distribution = { |
| 33 | /* TODO: copied from nissy-classic, to be verified */ | ||
| 34 | [0] = 1, | 46 | [0] = 1, |
| 35 | [1] = 3, | 47 | [1] = 3, |
| 36 | [2] = 10, | 48 | [2] = 10, |
| @@ -46,10 +58,9 @@ STATIC coord_t coordinate_drslice = { | |||
| 46 | [12] = 18349792, | 58 | [12] = 18349792, |
| 47 | [13] = 32843350, | 59 | [13] = 32843350, |
| 48 | [14] = 34118883, | 60 | [14] = 34118883, |
| 49 | [15] = 0, /* TODO: unknown, why does nissy-classic not have | 61 | [15] = 17284701 |
| 50 | have this value? */ | ||
| 51 | }, | 62 | }, |
| 52 | .pruning_max = 15, /* TODO - either 14 or 15 */ | 63 | .pruning_max = 15, |
| 53 | .sym = { | 64 | .sym = { |
| 54 | .classes = CLASSES_CP_16, | 65 | .classes = CLASSES_CP_16, |
| 55 | .max = FACT_8, | 66 | .max = FACT_8, |
