JPF wrote:Is there a way to make g.r.emlin use a modified version of SExplainer or PGExplainer without this bug?JPF
I think Jason (Site-Admin) will be the one to make the update. PGExplainer can be renamed to SudokuExplainer, but some script changes are required (SE's diuf.sudoku.test.serate to PGE's sudoku.serate). Or I can build a version of PGExplainer (with diuf.sudoku.test.serate) that can be a direct replacement. When rating Multiple Forcing Chains, PGE is about (rough estimate) 4 times faster than SE.
I've done some testing of lksudoku's fix on several vintages of SE: Testing with JPF's ED=10.0 submission, repeated 10 times, with a few seconds gap between each test.
Unmodified versions of SE (i.e. no lksudoku's fix):
- Code: Select all
unmodified
3 secs 5 secs 10 secs
SE 304,777 ED=10.0 x10 x10 x10
original ED=9.9 0
SE(1) 281,366 ED=10.0 0
private ED=9.9 x10
SKE 2021.9.28 ED=10.0 x6 x7
ED=9.9 x4 x3
PGE 56,712 ED=10.0 x4 x6
released ED=9.9 x6 x4
Modified versions of SE (i.e. with lksudoku's fix):
- Code: Select all
modified (lksudoku's fix)
3 secs 5 secs 10 secs
SE(1) 282,185 ED=10.0 x10
private ED=9.9 0
SKE 2021.10.3 ED=10.0 x10
ED=9.9 0
PGE 80,566 ED=10.0 x10
private ED=9.9 0
(1) private build (Java-6u45) of SE 1.2.1.3, with no debugging info. Other builds are Java-8, usually a recent release at the time of the build.
SKE is my current (development) version of SukakuExplainer.
I have no explanation for the results of the unmodified SE and SE(1), maybe it's a Java issue (HashMap implementation, as noted by lksudoku), all tests were run using Java-8 (java version "1.8.0_301").
For some technical stuff, I dumped the list of (available) Forcing Chains for the 2 steps leading to the ED=10.0 or ED=9.9 rating - it may be insightful to someone, but I myself will not follow this up as lksudoku's fix appears to have resolved the problem.
ED=10.0 case:
- Code: Select all
+----------------------+----------------------+----------------------+
| 1 479 8 | 5 479 349 | 2367 2469 2467 |
| 479 3 2 | 1789 6 1489 | 78 5 1478 |
| 6 5 47 | 1378 14789 2 | 378 89 148 |
+----------------------+----------------------+----------------------+
| 8 147 34567 | 2367 12457 1346 | 2567 246 9 |
| 457 2 14567 | 16789 145789 14689 | 5678 3 4678 |
| 357 47 9 | 23678 24578 34568 | 1 2468 2678 |
+----------------------+----------------------+----------------------+
| 2459 489 45 | 2689 2589 7 | 268 1 3 |
| 259 6 15 | 1289 3 1589 | 4 7 28 |
| 237 178 37 | 4 128 168 | 9 268 5 |
+----------------------+----------------------+----------------------+
Contradiction Forcing Chain (w/68 nodes): R4C3.4 on ==> R1C9.2 both on & off: r4c3<>4
Contradiction Forcing Chain (w/98 nodes): R5C6.6 on ==> R6C4.2 both on & off: r5c6<>6
Contradiction Forcing Chain (w/98 nodes): R6C6.3 on ==> R7C4.6 both on & off: r6c6<>3
Contradiction Forcing Chain (w/103 nodes): R5C5.5 on ==> R5C9.7 both on & off: r5c5<>5
Contradiction Forcing Chain (w/104 nodes): R4C3.7 on ==> R1C8.4 both on & off: r4c3<>7
Contradiction Forcing Chain (w/124 nodes): R8C6.1 on ==> R9C8.8 both on & off: r8c6<>1
Contradiction Forcing Chain (w/127 nodes): R6C1.7 on ==> R4C6.4 both on & off: r6c1<>7
Contradiction Forcing Chain (w/134 nodes): R4C5.1 on ==> R9C8.8 both on & off: r4c5<>1
Contradiction Forcing Chain (w/150 nodes): R1C6.9 on ==> R7C7.2 both on & off: r1c6<>9
1.85......32.6..5.65...2...8.......9.2.....3...9...1.......7.13.6..3.47....4..9.5 9.9, Contradiction Forcing Chain (w/68 nodes): R4C3.4 on ==> R1C9.2 both on & off: r4c3<>4
Contradiction Forcing Chain (w/98 nodes): R5C6.6 on ==> R6C4.2 both on & off: r5c6<>6
Contradiction Forcing Chain (w/98 nodes): R6C6.3 on ==> R7C4.6 both on & off: r6c6<>3
Contradiction Forcing Chain (w/102 nodes): R5C5.5 on ==> R5C9.7 both on & off: r5c5<>5
Contradiction Forcing Chain (w/104 nodes): R4C3.7 on ==> R1C8.4 both on & off: r4c3<>7
Contradiction Forcing Chain (w/124 nodes): R8C6.1 on ==> R9C8.8 both on & off: r8c6<>1
Contradiction Forcing Chain (w/127 nodes): R6C1.7 on ==> R4C6.4 both on & off: r6c1<>7
Contradiction Forcing Chain (w/134 nodes): R4C5.1 on ==> R9C8.8 both on & off: r4c5<>1
Contradiction Forcing Chain (w/150 nodes): R1C6.9 on ==> R7C7.2 both on & off: r1c6<>9
1.85......32.6..5.65...2...8.......9.2.....3...9...1.......7.13.6..3.47....4..9.5 10.0, Contradiction Forcing Chain (w/98 nodes): R5C6.6 on ==> R6C4.2 both on & off: r5c6<>6
ED=9.9 case:
- Code: Select all
pencilmarks as above.
Contradiction Forcing Chain (w/68 nodes): R4C3.4 on ==> R1C9.2 both on & off: r4c3<>4
Contradiction Forcing Chain (w/95 nodes): R5C6.6 on ==> R8C4.2 both on & off: r5c6<>6 <- this is different
Contradiction Forcing Chain (w/98 nodes): R6C6.3 on ==> R7C4.6 both on & off: r6c6<>3
Contradiction Forcing Chain (w/103 nodes): R5C5.5 on ==> R5C9.7 both on & off: r5c5<>5
Contradiction Forcing Chain (w/104 nodes): R4C3.7 on ==> R1C8.4 both on & off: r4c3<>7
Contradiction Forcing Chain (w/124 nodes): R8C6.1 on ==> R9C8.8 both on & off: r8c6<>1
Contradiction Forcing Chain (w/127 nodes): R6C1.7 on ==> R4C6.4 both on & off: r6c1<>7
Contradiction Forcing Chain (w/134 nodes): R4C5.1 on ==> R9C8.8 both on & off: r4c5<>1
Contradiction Forcing Chain (w/150 nodes): R1C6.9 on ==> R7C7.2 both on & off: r1c6<>9
1.85......32.6..5.65...2...8.......9.2.....3...9...1.......7.13.6..3.47....4..9.5 9.9, Contradiction Forcing Chain (w/68 nodes): R4C3.4 on ==> R1C9.2 both on & off: r4c3<>4
Contradiction Forcing Chain (w/95 nodes): R5C6.6 on ==> R8C4.2 both on & off: r5c6<>6
Contradiction Forcing Chain (w/98 nodes): R6C6.3 on ==> R7C4.6 both on & off: r6c6<>3
Contradiction Forcing Chain (w/102 nodes): R5C5.5 on ==> R5C9.7 both on & off: r5c5<>5
Contradiction Forcing Chain (w/104 nodes): R4C3.7 on ==> R1C8.4 both on & off: r4c3<>7
Contradiction Forcing Chain (w/124 nodes): R8C6.1 on ==> R9C8.8 both on & off: r8c6<>1
Contradiction Forcing Chain (w/127 nodes): R6C1.7 on ==> R4C6.4 both on & off: r6c1<>7
Contradiction Forcing Chain (w/134 nodes): R4C5.1 on ==> R9C8.8 both on & off: r4c5<>1
Contradiction Forcing Chain (w/150 nodes): R1C6.9 on ==> R7C7.2 both on & off: r1c6<>9
1.85......32.6..5.65...2...8.......9.2.....3...9...1.......7.13.6..3.47....4..9.5 9.9, Contradiction Forcing Chain (w/95 nodes): R5C6.6 on ==> R8C4.2 both on & off: r5c6<>6
Edit: I've added pencilmarks grid.
The '<- this is different' highlighted line is sometimes not there (instead has the '(w/98 nodes)' line) in both ED=10.0 and ED=9.9 ratings. So this may be a 'red herring'.