Nishio vs AICs. When is it considered cheating?

Post the puzzle or solving technique that's causing you trouble and someone will help

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 12:19 am

I found a simpler and a bit more useful net in the same puzzle state. It would shave off (at least) two steps from my solution. Can someone replace that with a linear chain?

Code: Select all
+--------------+---------------+---------------------+
| 78  39  78   | 49   1    24  | 235   6       2345  |
| 2   46  46   | 3    7    5   | 8     1       9     |
| 1   39  5    | 469  26   8   | 7     23      234   |
+--------------+---------------+---------------------+
| 456 1   3    | 8    259 B24  |C2569 C259     7     |
| 568 2   68   | 1    359  7   | 3569  4       358   |
| 9   457 478  |a4(5) 235  6   | 1    g(2)3-5 F2358  |
+--------------+---------------+---------------------+
| 457 457 9    | 2    58   1   | 345   3578    6     |
| 3   456 2    | 7    568  9   | 45    58      1     |
| 567 8   1    |D56   4    3   | 259   2579   E25    |
+--------------+---------------+---------------------+


(5)r6c4 [[= (4)r6c4 - (4=2)r4c6 - r4c78] & [= (5)r9c4 - (5=2)r9c9 - r6c9]] = (2)r6c8 => -5 r6c8

(Sorry eleven, I have to study your net notations more to use them.)

Edit: Not quite there yet, but now I'd write it like this:

(5)r6c4 = [[ (4)r6c4 - (4=2)r4c6 - (2)r4c78 ]|[ (5)r9c4 - (5=2)r9c9 - (2)r6c9 ]] = (2)r6c8 => -5 r6c8
Last edited by SpAce on Thu Dec 28, 2017 8:07 am, edited 1 time in total.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby eleven » Thu Dec 28, 2017 12:44 am

SpAce wrote:(Sorry eleven, I have to study your net notations more to use them.)

No problem. Since i was forced to formulate my moves as AIC's to be taken serious here, i have some practice.
This one i would write
5r6c4=45r69c4-(4|5=2)r4c6&r9c9-2r4c78|r6c9=r6c8
eleven
 
Posts: 1741
Joined: 10 February 2008

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 1:03 am

eleven wrote:
SpAce wrote:(Sorry eleven, I have to study your net notations more to use them.)

No problem. Since i was forced to formulate my moves as AIC's to be taken serious here, i have some practice.


Yeah, I've seen some of your past notation debates :) I'm not taking any sides. I understand both subjective preferences as well as the need to some standardization. I don't, however, understand if someone has actual trouble understanding your implication chains. I think it's the most intuitive format, though not the most concise or expressive. I like Eureka because it contains the most information in a relatively small package. It's requirement for bidirectionality makes it an awkward choice for nets, however.

This one i would write
5r6c4=45r69c4-(4|5=2)r4c6&r9c9-2r4c78|r6c9=r6c8


That's pretty neat and concise but takes a bit to decipher. It does reflect the parallelism well.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 7:58 am

eleven wrote:In an AIC notation i would write it
(3=29)r78c7,r9c79 - (2r6c9 | [9r5c7=(9-3)r5c5=(3-2)r6c5]) = 2r6c8 - (2=3)r3c8 => -3r1c6,r7c8


Thanks for the options! I like this style best. At first the OR-pipe felt wrong going forward but I now think it's actually correct both ways, which implies that my AND was very wrong (among other things). Because of that -- and the removing of the stupid r9c8 from the ALS -- your chain is reversible, too, so isn't it actually proper AIC/Eureka (or are there other rules that forbid nets)?

However, if you do reverse it, how would you write the last (original first) node? The direct reversal (92=3) seems a bit weird, since what is meant is (9|2=3) or more precisely (9=23) OR (2=93). Seems equally weird to write the original first node as (3=2|9) to make it work backwards but would it even be logically correct going forward? I keep getting confused with these extra ORs and ANDs when they're mixed with implied ORs, NANDs & ANDs. To avoid the ambiguity, I guess one could split the chain a bit differently:

(3=45)r78c7 - [[ (5=2)r9c9 - (2)r6c9 ]|[ (5=29)r9c79 - (9)r5c7 = (9-3)r5c5 = (3-2)r6c5 ]] = (2)r6c8 - (2=3)r3c8 => -3 r1c6, r7c8

And backwards:

(3=2)r3c8 - (2)r6c8 = [[ (2-3)r6c5 = (3-9)r5c5 = (9)r5c7 - (9=25)r9c79 ]|[ (2)r6c9 - (2=5)r9c9 ]] - (5=43)r78c7 => -3 r1c6, r7c8

Is that correct (if my stylistic preferences are ignored)?
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby eleven » Thu Dec 28, 2017 6:36 pm

I can't see a problem with the links (3=29)r78c7,r9c79 - (2r6c9 | 9r5c7) from both sides.
Left to right: if 3 is not in the 3 ALS cells, then both 2 and 9 must be there (and 4), therefore (not 2r6c9 and not 9r5c79) <=> not (2r6c9 or 9r5c7)
Right to left: 2r6c9 or 9r5c7 implies, that one of 2 and 9 is missing in the 3 cells <=> not (2 and 9), but 3.
eleven
 
Posts: 1741
Joined: 10 February 2008

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 7:47 pm

eleven wrote:I can't see a problem with the links (3=29)r78c7,r9c79 - (2r6c9 | 9r5c7) from both sides.
Left to right: if 3 is not in the 3 ALS cells, then both 2 and 9 must be there (and 4), therefore (not 2r6c9 and not 9r5c79) <=> not (2r6c9 or 9r5c7)
Right to left: 2r6c9 or 9r5c7 implies, that one of 2 and 9 is missing in the 3 cells <=> not (2 and 9), but 3.


That interpretation makes perfect sense. So, if you actually wrote the chain backwards, you could simply use (92=3)? And if you wanted to include the passenger digits? It would be (92=453) or in JC's style (92=45=3)?
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby eleven » Thu Dec 28, 2017 8:42 pm

I am not familiar with JC's style. But the 45 do no harm, when you write (3=2945)... or (345=29) or (34=259) etc.

[Added:]Btw i don't bother about passenger digits. The only example i saw, where it might be useful was Leren's finding in your thread here.
But for me it keeps to be a very very rare example, where you have both a loop and a chain, only different by one ALS digit:
2r3c1=(2-7)r1c1=r3c12-(7=4)r3c89 => -4r3c1
2r3c1=(2-7)r1c1=r3c12-(7=2)r3c89, loop (9 other eliminations)
eleven
 
Posts: 1741
Joined: 10 February 2008

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 10:30 pm

eleven wrote:I am not familiar with JC's style.


I like it because it makes explicit which digits in an ALS are used for linking and which are the bystanders. Its main benefit is in continuous loops when the bystander digits become locked and are actually (possibly the most) important eliminators. The obvious drawback is the confusing (and technically incorrect) double strong link, but it just has to be interpreted so that only the first one is used and the other ignored when traversing each direction. I saw it first here:

http://forum.enjoysudoku.com/how-to-notate-this-als-chain-nightmare-sun-dec-2-2007-t34302.html#p261342

More of it here (mainly because I adopted it during that previous thread):

http://forum.enjoysudoku.com/continuous-loops-with-als-nodes-t34306.html

But the 45 do no harm, when you write (3=2945)... or (345=29) or (34=259) etc.


Yes, I think I now understand what the problem in my thinking was. Thanks for helping me correct it, once again. Too bad I'm afraid I'm not done with making mistakes with these, but maybe some day. Anyway, I still think it's clearer if the linking digits are on the correct sides whether you include the bystanders or not. It seems to be a Eureka standard, too:

"When an embedded ALS is part of the chain, the digit linked to the previous node is isolated from the remaining digits with a strong link symbol. The remaining digits are placed in such an order that the digit linked to the next node is the last one.

(1)r5c4-(1=264)r5c789-(4)r4c8"

http://sudopedia.enjoysudoku.com/Eureka.html
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Thu Dec 28, 2017 10:44 pm

eleven wrote:[Added:]Btw i don't bother about passenger digits. The only example i saw, where it might be useful was Leren's finding in your thread


Sorry, I didn't notice your addition so my previous post had the same link. It wasn't originally Leren's but JC's finding. They just had different ways to notate the passengers, and I personally preferred JC's. Whether you include passengers or not at all is another personal preference, but I like explicit notations that minimize the need to see the grid when interpreting the chain.

But for me it keeps to be a very very rare example, where you have both a loop and a chain, only different by one ALS digit:
2r3c1=(2-7)r1c1=r3c12-(7=4)r3c89 => -4r3c1
2r3c1=(2-7)r1c1=r3c12-(7=2)r3c89, loop (9 other eliminations)


I don't understand your example. Can you elaborate? Why would you need both a chain and a loop? Doesn't the loop take care of everything? I don't think continuous loops with productive ALS nodes are that rare. They're my favorite thing when found because they can be quite nice weapons of mass destruction.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby eleven » Thu Dec 28, 2017 11:51 pm

From my point of view the use of constraints and multiple partial solutions as well as base/cover or home/away techniques are program(mer) findings (XSudo - but only under windows - is something to play with that). If you can give me hints, how to find them manually (without excel sheet), i would try it (again).
Personally i see JC's loop as a combination of the chain (eliminating 4) and the loop, which, if you spot it, can be written as well as

2r3c1=(2-7)r1c1=r3c12-(7=24)r3c89, loop => -4r3c1 and 9 loop eliminations

Nice, because it is a rare plant, but nothing i would look for all the time.
eleven
 
Posts: 1741
Joined: 10 February 2008

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Fri Dec 29, 2017 1:15 am

eleven wrote:From my point of view the use of constraints and multiple partial solutions as well as base/cover or home/away techniques are program(mer) findings (XSudo - but only under windows - is something to play with that). If you can give me hints, how to find them manually (without excel sheet), i would try it (again).


You're preaching to the choir on that. I have no plans to even try that any time soon as I don't really see it as a human-friendly technique (I don't even fish for the same reason). I was only talking about the conclusion which isn't that hard to find by simple scanning:

JC: "Loop[2r3c1=(2-7)r1c1=7r3c12-(7=4=2)r3c89] => - (48)r1c1, 7r3c7, 4r3c1246, 2r3c6, 4r1c8, 4r2c9 (10 candidates)"

The relevant part to this discussion was the (7=4=2) bit, where the passenger is explicitly isolated. Makes it easier to use it for eliminations.

Personally i see JC's loop as a combination of the chain (eliminating 4) and the loop, which, if you spot it, can be written as well as

2r3c1=(2-7)r1c1=r3c12-(7=24)r3c89, loop => -4r3c1 and 9 loop eliminations


And the only difference between JC's loop and yours is the extra "=", right? I just don't see why you want to see a separate chain here. To me the loop seems to eliminate all 10 candidates just fine by itself. In fact, I'd write it like this to eliminate 14 candidates (not that it really changes anything here):

(2)r3c1 = (2-7)r1c1 = (7)r1c8 - (7=14=2)r3c789 - loop
=> -48 r1c1; -2 r3c6; -1 r2c7, r3c246; -7 r3c7; -4 r1c8, r2c9, r3c1246

What do you need an extra chain for? All weak links in a continuous loop can be broken and seen as separate chains, if you'd like to. That way, however, you wouldn't get the extra ALS eliminations which are only possible with a continuous loop (because it guarantees that the passengers become locked -- which is why it's useful to isolate them in the loop notation). In my loop 1 and 4 get locked in r3c789 and eliminate all 1s and 4s in both b3 and r3. That's in addition to the normal loop eliminations along the weak links.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Fri Dec 29, 2017 6:46 am

eleven, I get back to the net notation for a second. As I said, I had a bit of a hard time accepting the OR between the branches, even though I was smart enough to trust your judgment on that. While it was immediately clear that the OR made more sense when looked at from the strong link side, i.e. when the chain was reversed, somehow the AND seemed more natural from the weak link side, i.e. the original direction. Clearly lacking logical intuition (and/or forgetting to translate the weak link into NAND), I had to prove to myself that the OR works both ways. Let's see if I got it right:

Code: Select all
a = b - (c | d) = e

<=>

(a OR b) AND (b NAND (c OR d)) & ((c OR d) OR e)

<=>

(a | b) & ~(b & (c | d)) & ((c | d) | e))

(a | b) & (~b | ~(c | d)) & ((c | d) | e))

(~a -> b) & (b -> ~(c | d)) & (~(c | d) -> e)

~a -> b -> ~(c | d) -> e

<=>

~a -> b -> (~c & ~d) -> e

~e -> (c | d) -> ~b -> a

=> (a | e)


The OR seems to work both ways indeed. Not so if AND were used:

Code: Select all
a = b - (c & d) = e

(a | b) & ~(b & (c & d)) & ((c & d) | e))

(a | b) & (~b | ~(c & d)) & ((c & d) | e))

(~a -> b) & (b -> ~(c & d)) & (~(c & d) -> e)

<=>

~a -> b -> ~(c & d) -> e       

<=>     

~a -> b -> (~c | ~d) -> e

~e -> (c & d) -> b -> a


Neither chain makes any sense now.

So, assuming I didn't make critical errors, we can conclude that OR is indeed right and AND is wrong. I hope I learned something. Thanks, eleven, for pointing me to the right direction -- once again.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby eleven » Fri Dec 29, 2017 11:04 am

I agree, that you can see the elimination of the 4 as part of the loop.
Different to the other eliminations the loop is not needed for the 4.
However, i still think, that this is a very rare case. But as said, i did not look for that.
eleven
 
Posts: 1741
Joined: 10 February 2008

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Sat Dec 30, 2017 1:44 am

eleven wrote:This one i would write
5r6c4=45r69c4-(4|5=2)r4c6&r9c9-2r4c78|r6c9=r6c8


At first I didn't understand your reason to switch to a quite different format, but I think I do now. This net is different from the other one, and it can't be split-joined quite as simply (at least I can't), as neither OR or AND seem to work alone. I see it as this abstraction:

a = (b & c) - (d | e) = f

while the other one was this:

a = b - (c | d) = e

Quite different. Therefore, I guess your translation is probably correct and my previous attempts horribly wrong. Yet I would personally prefer a little bit more explicit and readable format (a subjective judgment, of course). Would this be an ok alternative:

(5)r6c4 = [(4)r6c4 & (5)r9c4] - [[(4=2)r4c6 - (2)r4c78] | [(5=2)r9c9 - (2)r6c9]] = (2)r6c8

The workout for my abstraction:
Code: Select all
a = (b & c) - (d | e) = f

<=>

~a -> (b & c) -> (~d & ~e) -> f

~f -> (d | e) -> (~b | ~c) -> a

Both implication chains seem logical and fitting to our situation.

The same in more detail:
Code: Select all
(a | (b & c)) & (~((b & c) & (d | e)) & ((d | e) | f)
(a | (b & c)) & (~(b & c) | ~(d | e)) & ((d | e) | f)

<=>

(~a -> (b & c)) & ((b & c) -> ~(d | e)) & (~(d | e) -> f)
(~f -> (d | e)) & ((d | e) -> ~(b & c)) & (~(b & c) -> a)

<=>

~a -> (b & c) -> ~(d | e) -> f
~f -> (d | e) -> ~(b & c) -> a

<=>

~a -> (b & c) -> (~d & ~e) -> f
~f -> (d | e) -> (~b | ~c) -> a
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: Nishio vs AICs. When is it considered cheating?

Postby SpAce » Sat Dec 30, 2017 3:43 am

eleven, you recently showed a net example in another thread:

http://forum.enjoysudoku.com/december-13-2017-t34323.html#p261757

If I understand correctly, it follows the same format (reversed) as my first example here:

a = (b | c) - d = e

I was thinking, could it be notated like this as well (would be easier to understand for me):

(4)r4c59 = [[(5)r4c5 - r7c5 = r7c7] | [(5)r4c9]] - (5=1)r63c7 - (1=7)r2c4,r3c5 - (7=4)r4c459 => -4 r4c3

Actually I'd probably do it like this to keep things a bit simpler:

(4)r4c59 = [[(5)r4c5 - r7c5 = r7c7] | [(5)r4c9]] - (5=4)r6c7 - (4=1)r3c6 - (1=4)r3c5 - r2c4 = (4)r4c4

Code: Select all
 
 *-------------------------------------------------------------------*
 |  267    4     2679   |  57     8      157   |  3      79   12     |
 |  3      1     27     | g47     9      6     |  248    5    248    |
 |  8      5     79     |  3     f14     2     | e14     79   6      |
 |----------------------+----------------------+---------------------|
 |  1      9     7-4    | h(4)57 a3(4)5   8    |  6      2   a3(4)5  |
 |  246    236   5      |  1      234    9     |  7      8    34     |
 |  247    23    8      |  6      2345   457   | d45     1    9      |
 |----------------------+----------------------+---------------------|
 |  9      26    126    |  8     B156    3     | C125    4    7      |
 |  2456   7     1246   |  9      1456   145   |  1258   3    1258   |
 |  45     8     3      |  2      7      145   |  9      6    15     |
 *-------------------------------------------------------------------*
SpAce
 
Posts: 218
Joined: 22 May 2017

PreviousNext

Return to Help with puzzles and solving techniques

cron