dailysudoku.com Forum Index dailysudoku.com
Discussion of Daily Sudoku puzzles
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ANP() loops

 
Post new topic   Reply to topic    dailysudoku.com Forum Index -> Solving techniques, and terminology
View previous topic :: View next topic  
Author Message
daj95376



Joined: 23 Aug 2008
Posts: 3855

PostPosted: Tue Jun 08, 2010 8:55 pm    Post subject: ANP() loops Reply with quote

I recently had the idea to support ANP() and other structures in my chain() routine. First, I modified it to store and print strong links with multiple candidate values. This went surprisingly well. Then I started investigating the logic I'd need to support my various chain types -- particularly loops.

In preparation to incorporating ANP() in loops, I decided to construct a couple of manual examples to guide me through the logic. I thought it might be fun to share my examples with the forum.

Example 1:

Code:
 (12=3)r13c3 - (34=5)r1c79 - (5=6)r5c9 - (6=2)r5c3   loop
 +-----------------------------------------------+
 |   .   .  123  |   .   .   .   |  34   .  345  |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .  12   |   .   .   .   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .  26   |   .   .   .   |   .   .  56   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 +-----------------------------------------------+

Code:
 (12=3)r13c3 - (34=5)r1c79 - (5=6)r5c9 - (6=2)r5c3   loop w/eliminations
 +-------------------------------------------------+
 | -134 -134  123  | -34 -34 -34   |  34 -34  345  |
 |  -1   -1  -12   |   .   .   .   |   .   .  -5   |
 |  -1   -1   12   |   .   .   .   |   .   .  -5   |
 |-----------------+---------------+---------------|
 |   .    .  -12   |   .   .   .   |   .   .  -5   |
 |  -6   -6   26   |  -6  -6  -6   |  -6  -6  56   |
 |   .    .  -12   |   .   .   .   |   .   .  -5   |
 |-----------------+---------------+---------------|
 |   .    .  -12   |   .   .   .   |   .   .  -5   |
 |   .    .  -12   |   .   .   .   |   .   .  -5   |
 |   .    .  -12   |   .   .   .   |   .   .  -5   |
 +-------------------------------------------------+

Example 2:

Code:
 (4=12)r23c3 - (12=3)r13c3 - (34=5)r1c79 - (5=6)r5c9 - (6=4)r5c3   loop
 +-----------------------------------------------+
 |   .   .  123  |   .   .   .   |  34   .  345  |
 |   .   .  124  |   .   .   .   |   .   .   .   |
 |   .   .  12   |   .   .   .   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .  46   |   .   .   .   |   .   .  56   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 +-----------------------------------------------+

Code:
 (4=12)r23c3 - (12=3)r13c3 - (34=5)r1c79 - (5=6)r5c9 - (6=4)r5c3   loop w/eliminations
 +--------------------------------------------------+
 | -1234 -1234 123  | -34 -34 -34   |  34 -34  345  |
 | -12   -12   124  |   .   .   .   |   .   .  -5   |
 | -12   -12   12   |   .   .   .   |   .   .  -5   |
 |------------------+---------------+---------------|
 |   .     .  -124  |   .   .   .   |   .   .  -5   |
 |  -6    -6   46   |  -6  -6  -6   |  -6  -6  56   |
 |   .     .  -124  |   .   .   .   |   .   .  -5   |
 |------------------+---------------+---------------|
 |   .     .  -124  |   .   .   .   |   .   .  -5   |
 |   .     .  -124  |   .   .   .   |   .   .  -5   |
 |   .     .  -124  |   .   .   .   |   .   .  -5   |
 +--------------------------------------------------+

It may take me more that one day to incorporate ANP() in my solver. Laughing _ Laughing _ Laughing _

[Edit: decided that (12=3)r1c3 should be (12=3)r13c3 in the Example 2.]


Last edited by daj95376 on Wed Jun 09, 2010 12:06 am; edited 2 times in total
Back to top
View user's profile Send private message
ronk



Joined: 07 May 2006
Posts: 397

PostPosted: Tue Jun 08, 2010 11:33 pm    Post subject: Reply with quote

daj95376, your examples are doubly-linked ALS-xy wings. Does your solver currently identify the non-doubly-linked versions?
Back to top
View user's profile Send private message
daj95376



Joined: 23 Aug 2008
Posts: 3855

PostPosted: Tue Jun 08, 2010 11:51 pm    Post subject: Reply with quote

Hello Ron,

My solver doesn't do anything with ALS or ANP(). I'm just testing the water to see what I'd be up against. Right now, that dust you see is me backtracking very quickly!

My solver does find SINs. Often an ALS/ANP elimination relates to a SIN elimination. I just don't know it without examining a SIN and seeing if I can rework it to look like an ALS/ANP.

Regards, Danny
Back to top
View user's profile Send private message
tlanglet



Joined: 17 Oct 2007
Posts: 2461
Location: Northern California Foothills

PostPosted: Wed Jun 09, 2010 7:27 pm    Post subject: Reply with quote

Danny,

I am pleased that you are interested in AN[PTQ] techniques, and was wondering where you place them in you scale of difficulty?

Ted
Back to top
View user's profile Send private message
daj95376



Joined: 23 Aug 2008
Posts: 3855

PostPosted: Wed Jun 09, 2010 8:27 pm    Post subject: Reply with quote

Ted,

My solver often generates 200+ strong links for my basic chain() routine to manage. I can easily envision two orders of magnitude increase to manage ANP(), ANT(), ANQ(), AHP(), AHT(), and AHQ(). As far as I'm concerned, I'll settle for SINs followed by T&E.

Regards, Danny
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    dailysudoku.com Forum Index -> Solving techniques, and terminology All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group