then it's more efficient to perform all 2.0 rated steps concurrently if they've already been found. This could put a major wrinkle in resolving the keep/discard the GUI debate.
daj95376
StrmCkr wrote:then it's more efficient to perform all 2.0 rated steps concurrently if they've already been found. This could put a major wrinkle in resolving the keep/discard the GUI debate.
but the overhead of keeping that ideal in motion across every implemented solving technique explodes exponentially in relation to time.
this is the issue i've noticed in my batch mode solver that applies every possible elimination for a given technique before it moves to the next (how ever it finds all the valid moves with zero eliminations).
daj95376 wrote:There appears to be a miscommunication here. I was not discussing "every implemented solving technique" ... only those with a 2.0 rating. And, my premise was that all of the eliminations had already been found for that rating ... as in the list ronk mentioned.
ronk wrote:what would be the point in making a list of moves
lksudoku wrote:ronk wrote:what would be the point in making a list of moves
A list of moves can be usefull for several reasons:
- parallelism of different calculations
- efficiency, sometimes computing all the moves at once takes less time then computing them one after the other, or does not add a significant time, hence you may get additional info for little cost
There appears to be a miscommunication here. I was not discussing "every implemented solving technique" ... only those with a 2.0 rating. And, my premise was that all of the eliminations had already been found for that rating ... as in the list ronk mentioned.
Personally, I'd suggest discarding any thought of resurrecting a faster version of SE and proceed straight to defining a hierarchy of techniques that are well-defined on a new rating scale. Then, everyone can try to implement a version of their own solver that match this hierarchy -- which is what I suspect many are hoping to do anyway!
PIsaacson wrote:Upon closer examination of SE and after trying to emulate it with a C++ framework of techniques that I already had plus modifying some to emulate things like "direct hidden ...", it became obvious that unless I could exactly duplicate the SE anomalies and bugs the scores would never match. Take the following as an example:
- Code: Select all
000000019300600000000000000600080500040000300000010000480000070000200400010900000
2578 2567 245678 |34578 23457 234578 |2678 1 9
3 2579 1245789 |6 24579 1245789 |278 2458 24578
125789 25679 12456789 |134578 234579 12345789 |2678 234568 2345678
--------- --------- ---------+--------- --------- ---------+--------- --------- ---------
6 2379 12379 |347 8 23479 |5 249 1247
125789 4 125789 |57 25679 25679 |3 2689 12678
25789 23579 235789 |3457 1 2345679 |26789 24689 24678
--------- --------- ---------+--------- --------- ---------+--------- --------- ---------
4 8 23569 |135 356 1356 |1269 7 12356
579 35679 35679 |2 3567 135678 |4 35689 13568
257 1 23567 |9 34567 345678 |268 23568 23568
1) r7c7 <= 1 hidden single in c7
2) r8c6 <= 1 hidden single in b8
3) r3c4 <= 1 hidden single in b2
4) r2c3 <= 1 hidden single in b1
5) r5c1 <= 1 hidden single in b4
6) r4c9 <= 1 hidden single in b6
7) r9c6 <= 8 hidden single in b8
8) r1c4 <= 8 hidden single in b2
9) r9c5 <= 4 hidden single in b8
10) r8c5 <= 7 hidden single in b8
11) r8c8 <= 9 hidden single in b9
12) r6c7 <= 9 hidden single in b6
13) r7c3 <= 9 hidden single in b7
14) r4c2 <= 9 hidden single in b4
15) r3c1 <= 9 hidden single in b1
16) r3c3 <= 8 hidden single in b1
17) r1c3 <= 4 hidden single in b1
18) r6c1 <= 8 hidden single in b4
19) r8c9 <= 8 hidden single in b9
20) r5c8 <= 8 hidden single in b6
21) r2c7 <= 8 hidden single in b3
22) r7c9 <= 2 hidden single in r7
23) r8c1 <= 5 direct hidden pair r8c23.<36>
24) r8c3 <= 6 direct hidden pair r9c13.<27>
25) r8c2 <= 3 full house in r8
26) r9c7 <= 6 direct hidden pair r9c89.<35>
27) r1c2 <= 6 hidden single in r1
28) r3c6 <= 4 direct hidden pair b3x89.<36>
Now enter the puzzle into SE and manually advance using F2
- Code: Select all
000000019300600000000000000600080500040000300000010000480000070000200400010900000
I agree 100% up to the first direct hidden pair, after which SE somehow misses the 1st available one, finds the second one (in my solution path), skips the others and instead finds a higher-rated pointing locked pair. The net result is that instead of the lower 2.0 final rating by finding all the available direct hidden pairs, SE over rates this puzzle at 2.6
Pat (2007.Dec.30) wrote:Nicolas Juillerat wrote:Direct Hidden Pair
Direct Hidden Pair is a special case of the more general Hidden Pair technique -- the Hidden Pair immediately reveals a Hidden Single in the same region.
Pat wrote:what you call a "Direct Hidden Pair"is not a Direct Hidden Pair as defined by Nicolas Juillerat
28) r3c6 <= 4 direct hidden pair b3x89.<36>
PIsaacson wrote:The b3x89 notation defines exactly the same cells as r3c89.
I maintain that the elimination at r3c6 does indeed qualify since it shares the same row.
ronk wrote:Pat wrote:what you call a "Direct Hidden Pair"is not a Direct Hidden Pair as defined by Nicolas Juillerat
28) r3c6 <= 4 direct hidden pair b3x89.<36>
Agreed, but how did you get past the earlier step ...
24) r8c3 <= 6 direct hidden pair r9c13.<27>
... when there is pair <36> in both r8c2 and r8c3?
Pat wrote:[the cells are indeed r3c89 but your "hidden" duo {3,6} exists only in b3 ( and not in r3 )
PIsaacson wrote:Anyway, ignoring why/how SE operates as it does, no one has commented on the profiling output.