Another one

Advanced methods and approaches for solving Sudoku puzzles

Another one

Postby Addlan » Fri Jul 15, 2005 8:08 pm

Right, I feel frustrated to generate a Sudoku matrix manually. this will be the final one I try to generate. And it is asymmetric. Thanks for Scrose's very quick solution and thanks for Nick solving the previous one using forcing chain. Presumably this one will surely be solved by the same technique. I start to feel bored of the logic. It seems to me that a kind of chain will have to be established to solve this kind of things at the end of the day. And I feel that it may never need "try and error" to solve it given a logic like forcing chain. Based on this, I feel that it isn't worthy for people to think more about the transformation of the matrix, if the information is linked with each other, the transformation won't solve this and give a more systematic solution. However, the above is my personal view. Hope to hear some exciting news about Sudoku soon.

...|35.|..9
.67|...|...
...|..8|4..
-----------
.31|8..|...
.4.|7.6|.9.
...|..1|73.
-----------
..3|6..|...
...|...|81.
8..|.74|.6.
Addlan
 
Posts: 62
Joined: 15 July 2005

Postby scrose » Fri Jul 15, 2005 9:01 pm

I'm not sure if I'm applying double forcing chains correctly, but here goes...

Code: Select all
 {14}   {18}   {48}   | 3      5      7      | 6      2      9     
 {29}   6      7      | 4      1      {29}   | {35}   8      {35}   
 3      {259}  {259}  | {29}   6      8      | 4      7      1     
----------------------+----------------------+----------------------
 7      3      1      | 8      {49}   {59}   | 2      {45}   6     
 {25}   4      {258}  | 7      3      6      | 1      9      {58}   
 {569}  {589}  {5689} | {25}   {24}   1      | 7      3      {458} 
----------------------+----------------------+----------------------
 {124}  {127}  3      | 6      8      {25}   | 9      {45}   {247} 
 {2456} {257}  {2456} | {259}  {29}   3      | 8      1      {2457}
 8      {259}  {259}  | 1      7      4      | {35}   6      {235} 

(7,6)=2 =>            (2,6)=9 => (3,4)=2 =>            (6,4)=5
(7,6)=5 => (4,6)=9 => (2,6)=2 => (3,4)=9 => (8,4)=2 => (6,4)=5
scrose
 
Posts: 322
Joined: 31 May 2005

Postby Nick70 » Fri Jul 15, 2005 10:13 pm

scrose wrote:
Code: Select all
(7,6)=2 =>            (2,6)=9 => (3,4)=2 =>            (6,4)=5
(7,6)=5 => (4,6)=9 => (2,6)=2 => (3,4)=9 => (8,4)=2 => (6,4)=5


Well, this isn't a "clean" double forcing chain, because one step in the second one ((3,4)=9 => (8,4)=2) relies on the previous move (7,6)=5.

But you can make it much simpler:

Code: Select all
(7,6)=2 => (2,6)=9 => (3,4)=2 => (6,4)=5
(7,6)=5 => (4,6)=9 => (6,4)=5


Formally, the chains are actually:

Code: Select all
(7,6)=2 => (2,6)<>2 => (3,4)=2 => (6,4)<>2 => (6,4)=5
(7,6)=5 => (4,6)<>5 => (6,4)=5


Which isn't a minimal chain, because a nice property of double forcing chains is that the minimal ones have two paths of the same length.

You can easily balance it this way:

Code: Select all
(2,6)<>2 => (3,4)=2 => (6,4)<>2 => (6,4)=5
(2,6)<>9 => (4,6)=9 => (4,6)<>5 => (6,4)=5


My program had found a different minimal chain:

Code: Select all
(4,6)<>5 => (4,6)=9 => (4,5)<>9 => (8,5)=9
(7,6)<>5 => (7,6)=2 => (8,5)<>2 => (8,5)=9
Nick70
 
Posts: 156
Joined: 16 June 2005

Postby scrose » Fri Jul 15, 2005 11:52 pm

:idea:Eureka! Your detailed explanation really helped me understand how double forcing chains work. Thank you very much!:D
scrose
 
Posts: 322
Joined: 31 May 2005


Return to Advanced solving techniques