Down Under Upside Down - a Sudoku puzzle

Post puzzles for others to solve here.

Postby aran » Tue Dec 16, 2008 5:35 am

ronk wrote:I had edited my prior post to add the following question, but you responded during my edit, so I restored it.:(
champagne wrote:the final AIC

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a

'A' is valid

In the notation of that AIC, where is the contradiction that says 'a' is invalid:?:

He has establised aTrue => aFalse : => aFalse =>ATrue.
Or do you mean something else ?
aran
 
Posts: 334
Joined: 02 March 2007

Postby champagne » Tue Dec 16, 2008 6:12 am

ronk wrote:I had edited my prior post to add the following question, but you responded during my edit, so I restored it.:(
champagne wrote:the final AIC

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a

'A' is valid

In the notation of that AIC, where is the contradiction that says 'a' is invalid:?:


That form of AIC is so familiar to me that I have been surprised by your question.

Basically, in an AIC having a weak inference at each end, at least one of the end binary condition is FALSE.
(reversely, if th AIC ends with 2 strong inferences, at least one of the ends is TRUE.)

So here either 3r5c3.a is FALSE or 4r1c1.a is FALSE.

If 4r1c1 and 3r5c3 have the same tag; they must be both in or both out of the solution. Only one possibility, they are both out.


I can give a complementary (as in a former discussion) answer.

If 3r5c3 and 4r1c1 have the same tag, we must have a piece of AIC joining both.

we could write for example

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a = 4r7c1.A - 4r9c3.a = 3r9c3.A - 3r5c3.a



I guess you would accept <>3r5c3 out of that AIC

At the end, you get the same result

champagne
champagne
2017 Supporter
 
Posts: 7357
Joined: 02 August 2007
Location: France Brittany

Postby ronk » Tue Dec 16, 2008 11:55 am

champagne wrote:If 3r5c3 and 4r1c1 have the same tag, we must have a piece of AIC joining both.

Exactly, and I don't understand why it's in the land of the missing. OTOH maybe it's a great idea. Then instead of writing ...

(4=6)r7c1 - (6)r7c9 = (6)r4c9 - (6)r4c3 = (6-9)r1c3 = (9)r1c1 ==> r1c1<>4

... the AIC folks could just write ... (4)r7c1 = (9)r1c1 ==> r1c1<>4

champagne wrote:we could write for example

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a = 4r7c1.A - 4r9c3.a = 3r9c3.A - 3r5c3.a

Since I couldn't locate the 4r5c3.k = 6r1c3.K path, that still leaves a pretty big hole IMO.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby champagne » Tue Dec 16, 2008 10:56 pm

ronk wrote:
champagne wrote:If 3r5c3 and 4r1c1 have the same tag, we must have a piece of AIC joining both.

Exactly, and I don't understand why it's in the land of the missing. OTOH maybe it's a great idea. Then instead of writing ...

(4=6)r7c1 - (6)r7c9 = (6)r4c9 - (6)r4c3 = (6-9)r1c3 = (9)r1c1 ==> r1c1<>4

... the AIC folks could just write ... (4)r7c1 = (9)r1c1 ==> r1c1<>4

champagne wrote:we could write for example

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a = 4r7c1.A - 4r9c3.a = 3r9c3.A - 3r5c3.a

Since I couldn't locate the 4r5c3.k = 6r1c3.K path, that still leaves a pretty big hole IMO.


Ok ronk, no problem, but I would first change that statement

"If 3r5c3 and 4r1c1 have the same tag, we must have a piece of AIC joining both."

to that one:

"If 3r5c3 and 4r1c1 have the same tag, there must be a reason why it has been done"


And now our k,K piece

Code: Select all
4a679      467      46K9   |8    5a6A   1    |5A7a   2        3         
3          6A8a     1      |2    5A6a   7    |4      5a9      89       
7a8A        5        2     |3    9      4    |6      1        7A8a       
------------------------------------------------------------------------
1          4K8k     6k9    |5    7      2    |3      4689     4689   
279        23A7     3a4k9  |6    1      8    |25a7k  45A9     249   
2678       2678     5      |9    4      3    |28k    6k7K     1         
------------------------------------------------------------------------
4A6a       1        8      |7    2      5    |9      3        4a6A     
26         2A3a     7      |4    3A8a   9    |1      6a8A     5         
5          9        3A4a   |1    3a8A   6    |278K   478      247a8


(4r5c3.k;7r5c7.k) = 7r8c6.K - 6r8c6.k = 6r4c89.K - 6r4c3.k = 6r1c3.K


Here we use the symmetry rule (4r5c3.k;7r5c7.k).

This is something I already had in the solver to transfert effect of nice loops leadig to no elimination.

Said in another words, tagging procedure uses to basic links :

Strong links as here 9r1c1 = 9r1c3
equivalence links as here (4r5c3;7r5c3).

The second kind of link came up to now only from nice loops. It requested a few tens of lines of code to extend the scope to symmetry.
champagne
2017 Supporter
 
Posts: 7357
Joined: 02 August 2007
Location: France Brittany

Postby aran » Wed Dec 17, 2008 12:39 pm

champagne wrote:
Here is the situation after my last move and basic cleaning


Code: Select all
4679       467      46K9   |8    5a6A   1    |5A7a   2        3         
3          6A8a     1      |2    5A6a   7    |4      5a89     89       
7a8A        5        2      |3    9      4   |6      1        7A8a       
------------------------------------------------------------------------
1          4K8k     46k9   |5    7      2    |3      4689     4689   
2479       23A47    3a49   |6    1      8    |25a7   45A79    2479   
2678       2678     5      |9    4      3    |278k   6k7K     1         
------------------------------------------------------------------------
4A6a       1        8      |7    2      5    |9      3        4a6A     
26         23a6     7      |4    3A8a   9    |1      6a8A     5         
5          9        3A4a   |1    3a8A   6    |278K   478      2478


The 2 layers A,a K,k are the most important to go to the end.


r2c2;r8c2 is a pattern giving <> 6r8c2 (<=>8r2c8)
r4c2;r4c3 is a pattern giving <> 4r4c3 (<=>7r6c7)

we can also notice the weak link a - k (for example 8r2c2.a - 8r4c2.K)
we can deduct easily <>4r5c1 4r5c1 - 4r5c7.A = 8r2c2.a - 8r4c2.k = 4r4c2.K - 4r5c1
and <>4r5c2 4r5c2 - 3r5c2.A . . .

we are now here

Code: Select all
4a679      467      46K9   |8    5a6A   1    |5A7a   2        3         
3          6A8a     1      |2    5A6a   7    |4      5a9      89       
7a8A        5        2     |3    9      4    |6      1        7A8a       
------------------------------------------------------------------------
1          4K8k     6k9    |5    7      2    |3      4689     4689   
279        23A7     3a4k9  |6    1      8    |25a7k  45A9     249   
2678       2678     5      |9    4      3    |28k    6k7K     1         
------------------------------------------------------------------------
4A6a       1        8      |7    2      5    |9      3        4a6A     
26         2A3a     7      |4    3A8a   9    |1      6a8A     5         
5          9        3A4a   |1    3a8A   6    |278K   478      247a8


and the final AIC

3r5c3.a - 4r5c3.k = 6r1c3.K - 9r1c3 = 9r1c1 - 4r1c1.a


'A' is valid


Champagne, just looking at your top grid :
7r6c8K generates at immediate contradiction with 8r9c7K :
7r6c8-7r9c8=348r9c358-8r9c7
=> <7> r6c8 which solves the puzzle.
aran
 
Posts: 334
Joined: 02 March 2007

Postby champagne » Wed Dec 17, 2008 9:04 pm

aran wrote:Champagne, just looking at your top grid :
7r6c8K generates at immediate contradiction with 8r9c7K :
7r6c8-7r9c8=348r9c358-8r9c7
=> <7> r6c8 which solves the puzzle.


Hi Aran,

My solver has its own view of simple moves.

Your AIC includes a three cells "potential locked set". This is seen by the solver as much more complex than an AIC using only bi values.

I have in the solver an option to change that priority, but I activate it only if I want to go closer to players findings.

I don't worry if players do better than the solver:D

champagne
champagne
2017 Supporter
 
Posts: 7357
Joined: 02 August 2007
Location: France Brittany

Postby aran » Wed Dec 17, 2008 9:27 pm

champagne wrote:
I don't worry if players do better than the solver:D



Champagne, good attitude:D
aran
 
Posts: 334
Joined: 02 March 2007

Postby ronk » Wed Dec 17, 2008 10:24 pm

champagne wrote:(4r5c3.k;7r5c7.k) = 7r8c6.K - 6r8c6.k = 6r4c89.K - 6r4c3.k = 6r1c3.K

Here we use the symmetry rule (4r5c3.k;7r5c7.k)

With its use of 180-degree rotational symmetry and an empty rectangle, that chain segment is the most interesting and compliex of the entire chain. I'm astonished that it is the last segment revealed.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby champagne » Wed Dec 17, 2008 11:47 pm

ronk wrote:
champagne wrote:(4r5c3.k;7r5c7.k) = 7r8c6.K - 6r8c6.k = 6r4c89.K - 6r4c3.k = 6r1c3.K

Here we use the symmetry rule (4r5c3.k;7r5c7.k)

With its use of 180-degree rotational symmetry and an empty rectangle, that chain segment is the most interesting and compliex of the entire chain. I'm astonished that it is the last segment revealed.


The solver has no idea what is the shortest way to join to entities having the same tag. It only knows that tagging come from established strong links and "equivalence links".

Reversely, using the map of tagged candidates, i never spent more than some seconds to find a path when I have been asked to do it.

Here we have for sure an "equivalence link" based on symmetry. For me the rest is "routine".

Where you see as an empty rectangle the solver see a group bi value. But empty rectangle more typical pattern as that one

2 ..
2 ..
. 22

is also processed as a group strong link.

that one

2..
2..
222

is split in 2 strong links.

champagne
champagne
2017 Supporter
 
Posts: 7357
Joined: 02 August 2007
Location: France Brittany

Postby aran » Wed Dec 17, 2008 11:53 pm

champagne wrote:
And now our k,K piece

Code: Select all
4a679      467      46K9   |8    5a6A   1    |5A7a   2        3         
3          6A8a     1      |2    5A6a   7    |4      5a9      89       
7a8A        5        2     |3    9      4    |6      1        7A8a       
------------------------------------------------------------------------
1          4K8k     6k9    |5    7      2    |3      4689     4689   
279        23A7     3a4k9  |6    1      8    |25a7k  45A9     249   
2678       2678     5      |9    4      3    |28k    6k7K     1         
------------------------------------------------------------------------
4A6a       1        8      |7    2      5    |9      3        4a6A     
26         2A3a     7      |4    3A8a   9    |1      6a8A     5         
5          9        3A4a   |1    3a8A   6    |278K   478      247a8


(4r5c3.k;7r5c7.k) = 7r8c6.K - 6r8c6.k = 6r4c89.K - 6r4c3.k = 6r1c3.K


Here we use the symmetry rule (4r5c3.k;7r5c7.k).

This is something I already had in the solver to transfert effect of nice loops leadig to no elimination.

Said in another words, tagging procedure uses to basic links :

Strong links as here 9r1c1 = 9r1c3
equivalence links as here (4r5c3;7r5c3).

The second kind of link came up to now only from nice loops. It requested a few tens of lines of code to extend the scope to symmetry.

Champagne, of course if you use the 4r4c2K/7r6c8K symmetry rule you reach 6r1c3K one step quicker:!:
aran
 
Posts: 334
Joined: 02 March 2007

Postby champagne » Thu Dec 18, 2008 12:23 am

aran wrote:Champagne, of course if you use the 4r4c2K/7r6c8K symmetry rule you reach 6r1c3K one step quicker:!:


Again I never said I am the best:D

More seriously very often, within a layer, you have multiple ways to join 2 candidates.

May be ronk would object that you are using twice the symmetry, but for me, it's perfect.

congratulations, your are ready to get the best return out of symmetry.

champagne
champagne
2017 Supporter
 
Posts: 7357
Joined: 02 August 2007
Location: France Brittany

Postby ronk » Thu Dec 18, 2008 1:15 am

champagne wrote:The solver has no idea what is the shortest way to join to entities having the same tag. It only knows that tagging come from established strong links and "equivalence links".

And I now know you think that telling your readers of the use of rotational symmetry in a posted chain is not important. They can just figure it out for themselves.:(
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby aran » Thu Dec 18, 2008 12:44 pm

udosuk wrote:After initial singles:

Code: Select all
+-------------------+-------------------+-------------------+
| 4679  467   469   | 8     56    1     | 57    2     3     |
| 3    *68    1     | 2     56    7     | 4    -589   89    |
| 78    5     2     | 3     9     4     | 6     1     78    |
+-------------------+-------------------+-------------------+
| 1     468   469   | 5     7     2     | 3     4689  4689  |
| 2479  2347  349   | 6     1     8     | 257   4579  2479  |
| 2678  2678  5     | 9     4     3     | 278   678   1     |
+-------------------+-------------------+-------------------+
| 46    1     8     | 7     2     5     | 9     3     46    |
| 26   -236   7     | 4     38    9     | 1    *68    5     |
| 5     9     34    | 1     38    6     | 278   478   2478  |
+-------------------+-------------------+-------------------+

r2c2+r8c8={68} (symmetrical pointing pair @ r2c8+r8c2)
=> 6 @ c1,b7 locked @ r78c1
Now 6 @ r6 locked @ r6c28, and r2c2+r8c8={68} form 2 strong links of 6
Generalized x-wing: 6 @ c2 locked @ r26c2

Code: Select all
+-------------------+-------------------+-------------------+
| 479  *47    469   | 8     56    1     | 57    2     3     |
| 3    -68    1     | 2     56    7     | 4     59    89    |
|*78    5     2     | 3     9     4     | 6     1     78    |
+-------------------+-------------------+-------------------+
| 1    *48    469   | 5     7     2     | 3     4689  4689  |
| 2479  2347  349   | 6     1     8     | 257   4579  2479  |
|-278   2678  5     | 9     4     3     | 278   678   1     |
+-------------------+-------------------+-------------------+
| 46    1     8     | 7     2     5     | 9     3     46    |
| 26    23    7     | 4     38    9     | 1     68    5     |
| 5     9     34    | 1     38    6     | 278   478   2478  |
+-------------------+-------------------+-------------------+

Now r1c2 from {47}, r3c1 from {78}, r4c2 from {48}
XY-wing: r2c2+r6c1, seeing both r3c1+r4c2, can't have 8

All singles from here.

Any easy symmetry moves I've missed?:?:

Udosuk, I"m not at all saying this is something you missed because you mightn't have wanted it in the first place:!: but it's another way using symmetry :
(starting from your upper grid)
using the symmetrical play-off between r4c23 and r6c78 then influencing r6c12
(46)r4c23 (sym)=>(78)r6c78=>(26)r6c12 : contradiction
(89)r4c23 (sym)=>(62)r6c78=>(78)r6c12 : contradiction
(84)r4c23 (sym)=>(67)r6c78=>(28)r6c12 : contradiction
(69)r4c23 (sym)=>(82)r6c78=>(67)r6c12 : contradiction
(49)r4c23 (sym)=>(27)r6c78=>(57)r15c6=>8r9c7=>(46)r8c8+r7c9=>7r9c8 : contradiction with (sym)7r6c8.
So what is left is placed : r4c2=8 and r4c3=6
Singles to the end
aran
 
Posts: 334
Joined: 02 March 2007

Postby udosuk » Thu Dec 18, 2008 3:01 pm

aran wrote:Udosuk, I"m not at all saying this is something you missed because you mightn't have wanted it in the first place:!: but it's another way using symmetry :
(starting from your upper grid)
using the symmetrical play-off between r4c23 and r6c78 then influencing r6c12
(46)r4c23 (sym)=>(78)r6c78=>(26)r6c12 : contradiction
(89)r4c23 (sym)=>(62)r6c78=>(78)r6c12 : contradiction
(84)r4c23 (sym)=>(67)r6c78=>(28)r6c12 : contradiction
(69)r4c23 (sym)=>(82)r6c78=>(67)r6c12 : contradiction
(49)r4c23 (sym)=>(27)r6c78=>(57)r15c6=>8r9c7=>(46)r8c8+r7c9=>7r9c8 : contradiction with (sym)7r6c8.
So what is left is placed : r4c2=8 and r4c3=6
Singles to the end

You're right it wouldn't be something I consider elegant. The first 4 contradiction chains are cool but the 5th chain is way too long and the way it interacts with r8c8 and r6c8 is similar to my generalised x-wing but I think my move is much shorter.

Note I also spotted moves involving r46 (e.g. 6 @ b6 locked @ r4c89+r6c8 => r4c2 <> 6) but it wasn't necessary so I deliberately omitted them.
udosuk
 
Posts: 2698
Joined: 17 July 2005

Postby udosuk » Sat Dec 20, 2008 12:11 am

JPF in the Patterns Game thread wrote:
Code: Select all
 . . . | . . 1 | . 2 .
 3 . . | . . . | 4 . .
 . 5 6 | 7 . . | 8 . .
-------+-------+-------
 9 . . | . 8 . | 3 . .
 . . . | 5 . 7 | . . .
 . . 4 | . 9 . | . . 8
-------+-------+-------
 . . 9 | . . 5 | 6 7 .
 . . 3 | . . . | . . 4
 . 2 . | 6 . . | . . .       ED=9.4/9.4/9.2

Now if there is such a thing called almost symmetrical grid, this must be one.:)

Unfortunately, I don't think one can apply any symmetrical/automorphist trick to crack this one.:(

However, it allows us to obtain the following good example with one clue-change (r7c7=1 instead of 6):

Code: Select all
 . . . | . . 1 | . 2 .
 3 . . | . . . | 4 . .
 . 5 6 | 7 . . | 8 . .
-------+-------+-------
 9 . . | . 8 . | 3 . .
 . . . | 5 . 7 | . . .
 . . 4 | . 9 . | . . 8
-------+-------+-------
 . . 9 | . . 5 | 1 7 .
 . . 3 | . . . | . . 4
 . 2 . | 6 . . | . . .

Now this puzzle grid is symmetrical (180 degree rotation). But if you try to use Gurth's Symmetrical Placement here (r5c5=2) you'll run into trouble. Why? Because the puzzle has two solutions, one with r5c5=1, the other with r5c5=6.:!:

Also, we can get yet another example with two clue-changes (r9c24=[12] instead of [26]):

Code: Select all
 . . . | . . 1 | . 2 .
 3 . . | . . . | 4 . .
 . 5 6 | 7 . . | 8 . .
-------+-------+-------
 9 . . | . 8 . | 3 . .
 . . . | 5 . 7 | . . .
 . . 4 | . 9 . | . . 8
-------+-------+-------
 . . 9 | . . 5 | 6 7 .
 . . 3 | . . . | . . 4
 . 1 . | 2 . . | . . .

Again, 180 symmetry here, and applying GSP doesn't land you in immediate trouble. But still you can't solve it because this puzzle also has two solutions, both with r5c5=6.:!:

So it's a good demonstration that one shouldn't use symmetry/automorphism without assurance of solution uniqueness.:idea:

Could JPF or anyone, by changing no more than a handful of given clues, make a genuine symmetrical puzzle with a unique solution out of this one?:?:
udosuk
 
Posts: 2698
Joined: 17 July 2005

PreviousNext

Return to Puzzles

cron