July 2, 2020

Post puzzles for others to solve here.

July 2, 2020

Postby tarek » Fri Jul 03, 2020 11:25 am

Code: Select all
+-------+-------+-------+
| . . . | 4 . . | 7 . 5 |
| . . 7 | . . 6 | . 9 3 |
| . 8 . | . . 3 | . . . |
+-------+-------+-------+
| 8 . . | . . 1 | 6 . . |
| . . . | . . . | . . 1 |
| . 3 9 | 2 . . | . . . |
+-------+-------+-------+
| 3 . . | 5 . . | 9 . . |
| . 9 . | . . . | . . 6 |
| 2 1 . | . 4 . | . 7 . |
+-------+-------+-------+
...4..7.5..7..6.93.8...3...8....16..........1.392.....3..5..9...9......621..4..7.

Play this puzzle online

Download Sukaku Explainer
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: July 2, 2020

Postby yzfwsf » Fri Jul 03, 2020 4:08 pm

Code: Select all
.-----------------.----------------.----------------.
| c69   b26   3   | 4    1289 a28  | 7     18    5  |
| 45    245   7   | 18   25    6   | 18    9     3  |
| 59    8     1   | 79   579   3   | 24    6     24 |
:-----------------+----------------+----------------:
| 8     45    24  | 37   37    1   | 6     245   9  |
| d4567 4567  e246| 89   89    45  | 245   3     1  |
| 1     3     9   | 2    6     45  | 458   458   7  |
:-----------------+----------------+----------------:
| 3     467   f468| 5    128   278 | 9     124   24 |
| g'47  9     g48 | 138  1238  h278| 1245  1245  6  |
| 2     1     5   | 6    4     9   | 3     7     8  |
'-----------------'----------------'----------------'

2r1c6 - (2=6)r1c2 -r1c1 = r5c1 [- r5c3 = (6-8)r7c3 = r8c3 & - 7r5c1 = r8c1] -(78=2)r8c6 => -6r1c3-2r1c6;stte
Last edited by yzfwsf on Mon Jul 06, 2020 1:25 am, edited 1 time in total.
yzfwsf
 
Posts: 845
Joined: 16 April 2019

Re: July 2, 2020

Postby Cenoman » Fri Jul 03, 2020 11:16 pm

Code: Select all
 +----------------------+---------------------+---------------------+
 | G69   Ha26*    3     |  4     1289   8-2   |  7      18     5    |
 |  45     245    7     |  18    25     6     |  18     9      3    |
 |  59     8      1     |  79    579    3     |  24     6      24   |
 +----------------------+---------------------+---------------------+
 |  8      45     24    |  37    37     1     |  6      245    9    |
 | F4567   4567   246   |  89    89     45    |  245    3      1    |
 |  1      3      9     |  2     6      45    |  458    458    7    |
 +----------------------+---------------------+---------------------+
 |  3    Db467*   468   |  5     128    278   |  9      124    24   |
 |Ec47*    9     c48*   |  138   1238  c278*  |  1245   1245   6    |
 |  2      1      5     |  6     4      9     |  3      7      8    |
 +----------------------+---------------------+---------------------+

Almost ALS Y-wing:
[(2=6)r1c2 - (6=4)r7c2 - (4=782)r8c136] = (7)r7c2 - r8c1 = (7-6)r5c1 = r1c1 - (6=2)r1c2 => -2 r1c6; ste

As a kraken:
Hidden Text: Show
Kraken cell (467)r7c2
(4)r7c2 - (4=782)r8c136
(6)r7c2 - (6=2)r1c2
(7)r7c2 - (7=4596)r1238c1 - (6=2)r1c2
=> -2 r1c6; ste
Cenoman
Cenoman
 
Posts: 2711
Joined: 21 November 2016
Location: France

Re: July 2, 2020

Postby Ngisa » Sat Jul 04, 2020 9:46 am

Code: Select all
+---------------------+-------------------+-------------------+
| 69     b26*     3   | 4     1289   a8-2 | 7       18     5  |
|c45      245     7   | 18   b25      6   | 18      9      3  |
| 459     8       1   | 79    2579    3   | 24      6      24 |
+---------------------+-------------------+-------------------+
| 8      45       24  | 37    37      1   | 6       245    9  |
| 4567   4567     246 | 89    89      45  | 245     3      1  |
| 1      3        9   | 2     6       45  | 458     458    7  |
+---------------------+-------------------+-------------------+
| 3     e467      468 | 5     128     278 | 9       124    24 |
|d47*    9       f4*8 | 138   1238   g278 | 1245    1245   6  |
| 2      1        5   | 6     4       9   | 3       7      8  |
+---------------------+-------------------+-------------------+

(2)r1c6 - (2=6*,5)r1c2,r2c5 - (5=4)r2c1 - (4=7*)r8c1 - (6*7*=4)r7c2 - (4=8*)r8c3 - (7*8*=2)r8c6 => - 2r1c6; stte

Clement
Ngisa
 
Posts: 1377
Joined: 18 November 2012

Re: July 2, 2020

Postby SpAce » Sat Jul 04, 2020 2:30 pm

Code: Select all
.--------------------.--------------------.----------------.
| b69   a26     3    | 4    1289  a2[8]   | 7     18    5  |
|  45    245    7    | 18   25     6      | 18    9     3  |
|  59    8      1    | 79   579    3      | 24    6     24 |
:--------------------+--------------------+----------------:
|  8     45     24   | 37   37     1      | 6     245   9  |
| c4567  4567  d246  | 89   89     45     | 245   3     1  |
|  1     3      9    | 2    6      45     | 458   458   7  |
:--------------------+--------------------+----------------:
|  3     467   e468  | 5    128   e2(7)-8 | 9     124   24 |
| c47    9     e4(8) | 138  1238  d27-8   | 1245  1245  6  |
|  2     1      5    | 6    4      9      | 3     7     8  |
'--------------------'--------------------'----------------'

(8=26)r1c62 - r1c1 = (67)r58c1 - (6|7)r5c3.r8c6 = (687)r78c3.r7c6 => -8 r78c6; stte

6x6 TM: Show
Code: Select all
 8r1c6       2r1c6
             2r1c2 6r1c2
                   6r1c1 6r5c1
                         7r5c1 7r8c1
                         6r5c3       6r7c3
 7r7c6.8r8c3                   7r7c2 8r7c3
==========================================
-8r78c6
-SpAce-: Show
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   

"If one is to understand the great mystery, one must study all its aspects, not just the dogmatic narrow view of the Jedi."
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: July 2, 2020

Postby SpAce » Sat Jul 04, 2020 4:43 pm

Hi yzfwsf and Clement,

Hope you guys don't mind if I use your chains for educational purposes? Don't worry -- both are perfectly understandable and the logic is correct, which are the two most important things. I also assume that neither was even meant to be a valid AIC, so there's no problem at all, as far as I'm concerned. (My only problem is when someone claims a chain is a valid AIC when it's not.) Anyway, just in case someone is interested, here are a couple of alternate ways to write them.

yzfwsf wrote:2r1c6 - (2=6)r1c2 -r1c1 = r5c1 [- r5c3 = (6-8)r7c3 = r8c3 & - 7r5c1 = r8c1] -(78=2)r8c6 => -6r1c3;stte

First, the conclusion should be -2r1c6, but I assume that was just a typo. Second, there's absolutely no need to start with 2r1c6 and a weak link. It's not incorrect, but it makes it a contradiction chain instead of a normal AIC. Idiomatic AICs should be written with a strong link at both ends. (The same goes for Clement's chain.) What actually makes it invalid is the branching part within the [brackets]. While the intention is easy to see, it breaks the AIC logic as written. It's pretty close, though. Here's how it could be written as a valid AIC using that style:

(2=6)r1c2 - r1c1 = (6)r5c1 - ([(6)r5c3 = (6-8)r7c3 = r8c3 - (8=!)r8c6] | [(7)r5c1 = r8c1 - (7=!)r8c6]) = (2)r8c6 => -2r1c6; stte

That way the branch part is a valid AIC node with alternating links on both sides. The '!' is a FALSE constant and necessary to make the links work. (There are a couple of other options to write it with the same effect.) Understanding why it has to be written that way requires a pretty deep understanding of AICs and their relationship with Boolean logic. I'm not going into those details now, so just take my word for it.

Here's how I'd actually write it:

(2=6)r1c2 - r1c1 = r5c1 - 6r5c3|7r5c1 = (678)b7p346 - (7|8=2)r8c6 => -2 r1c6; stte

6x6 TM: Show
Code: Select all
 2r1c2 6r1c2
       6r1c1 6r5c1
             7r5c1 7r8c1
             6r5c3       6r7c3
                         8r7c3 8r8c3
 2r8c6             7r8c6       8r8c6
====================================
-2r1c6

--

A couple of words about Clement's memory chain:

Ngisa wrote:(2)r1c6 - (2=6*,5)r1c2,r2c5 - (5=4)r2c1 - (4=7*)r8c1 - (6*7*=4)r7c2 - (4=8*)r8c3 - (7*8*=2)r8c6 => - 2r1c6; stte

Not much wrong with that, though I'd drop the first weakly linked node and prefer a bit different style with the memory markers:

(2=6*,5)r1c2,r2c5 - (5=4)r2c1 - (4=7^)r8c1 - (7|*6=4)r7c2 - (4=8)r8c3 - (8|^7=2)r8c6 => -2 r1c6; stte

Written in my style it's actually readable both ways, i.e. right-to-left works too. (Even so, it's not an AIC because of the quantum-leaping links.)

Here's how I'd actually write that as an AIC:

(2=546)r2c51.r1c2 - 4r8c1|6r7c2 = (7,48)b7p426 - (7|8=2)r8c6 => -2 r1c6; stte

7x7 TM: Show
Code: Select all
 2r2c5 5r2c5
       5r2c1 4r2c1
             4r8c1 7r8c1
 2r1c2                   6r1c2
                   7r7c2 6r7c2 4r7c2
                               4r8c3 8r8c3
 2r8c6             7r8c6             8r8c6
==========================================
-2r1c6
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: July 2, 2020

Postby pjb » Mon Jul 06, 2020 12:35 am

Code: Select all
b69     a26      3      | 4      1289   8-2    | 7      18     5     
 45      245     7      | 18     25     6      | 18     9      3     
 59      8       1      | 79     579    3      | 24     6      24     
------------------------+----------------------+---------------------
 8       45      24     | 37     37     1      | 6      245    9     
c4567    4567    246    | 89     89     45     | 245    3      1     
 1       3       9      | 2      6      45     | 458    458    7     
------------------------+----------------------+---------------------
 3      e467     468    | 5      128    278    | 9      124    24     
d47      9      f48     | 138    1238  g278    | 1245   1245   6     
 2       1       5      | 6      4      9      | 3      7      8     

(2=6)r1c2* - r1c1 = (6-7)r5c1 = r8c1^ - (67=4)r7c2* - (4=8)r8c3 - (78=2)r8c6^ => -2 r1c6; stte

Phil
pjb
2014 Supporter
 
Posts: 2552
Joined: 11 September 2011
Location: Sydney, Australia

Re: July 2, 2020

Postby yzfwsf » Mon Jul 06, 2020 1:27 am

Hi:SpAce
Thank you for pointing out the typo.BTW:My chain is a DNL,It's true that AIC will be shorter.
yzfwsf
 
Posts: 845
Joined: 16 April 2019

Re: July 2, 2020

Postby SpAce » Mon Jul 06, 2020 3:57 am

Hi yzwsf,

yzfwsf wrote:Hi:SpAce
Thank you for pointing out the typo.BTW:My chain is a DNL,It's true that AIC will be shorter.

Well, it's not a valid DNL either, most importantly because of the non-linking branching part (makes it an invalid AIC of any kind) and because the end links don't match (makes it an invalid DNL). A DNL is actually a valid AIC that just starts and ends in the same node with the same type of link at both ends -- either with two weak links (Type 1) or two strong links (Type 2). The same exact linking rules govern all types of AICs, including DNLs and the "Wannabe-DNLs", too. (That's why your chain wasn't a valid AIC of any kind, because the branching part couldn't link properly.)

There are two types of DNL:

Code: Select all
DNL Type 1: [a - b = c - d = e - a] => -a
DNL Type 2: [a = b - c = d - e = a] => +a

This is not a DNL (though it's a valid AIC):

Code: Select all
"Wannabe-DNL": [a - b = c - d = e] => -a (if e sees a)

Yes, I understand that it's a shortened version of DNL Type 1, but it's still not a proper DNL as written. Personally I think it's the worst style of writing AICs because of the non-matching end links, which makes it both redundant and hard to understand. It has all the downsides of DNLs but no upsides at all. The normal DNL is even more redundant but it's the easiest form to understand and to build for beginners, because it actually forms a full (discontinuous) loop as the name suggests. Thus it has at least that one good quality, while the other style has none.

The best style is obviously the idiomatic AIC with strong links at both ends (and not linking to the same candidate, except in rare cases when it simplifies things):

Code: Select all
Idiomatic AIC: [b = c - d = e] => -a (if both b and e see a)

All of those styles are actually valid AICs, if written correctly, because the AIC spec doesn't specify any particular end-link configuration. Yet, the "Idiomatic AIC" style should be used almost exclusively, unless there's a particularly overwhelming reason to write a DNL (and there almost never is). There's never a valid reason to use the "Wannabe-DNL" style, as far as I'm concerned.

PS. Technically this could be a valid style to write discontinuous loops, though I've never seen it used:

Code: Select all
DL Type 1: [a - b = c - d = e - loop] => -a
DL Type 2: [a = b - c = d - e = loop] => +a

That way the looping nature is explicit without repeating the start node. However, the problem with that is that it's easy to confuse with the actually important continuous loops that are traditionally marked with the '- loop' ending:

Code: Select all
CL: [a = b - c = d - e = f - loop] => -anything seen by (b,c), (d,e), (a,f)

Of course the differences are obvious if one looks at both end links (the same in a DL, opposite in a CL) or counts the nodes (odd in a DL, even in a CL). In both types of loops the 'N' should really be dropped in an AIC context, because it's a remnant of the obsolete Nice Loop paradigm. Thus, I'd prefer just DL for "Discontinuous Loop" and CL for "Continuous Loop". Normally the latter is called just "Loop" or "AIC-Loop".

Most importantly, there's really no reason to use discontinuous loops in the first place. They're good training wheels for beginners, but no one else should need them except in some very rare circumstances (and even then it's almost always Type 2).
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: July 2, 2020

Postby SpAce » Mon Jul 06, 2020 6:39 am

Hi Phil,

pjb wrote:(2=6)r1c2* - r1c1 = (6-7)r5c1 = r8c1^ - (67=4)r7c2* - (4=8)r8c3 - (78=2)r8c6^ => -2 r1c6; stte

No comment on that. I'm curious about something related, though. As I already mentioned here, I was a bit surprised to see a memory chain written by myself on your help page:

philsfolly wrote:(5)r1c4 = r3c5* - (5=3^)r3c2 - (3=7)r5c2 - r9c2 = r8c1 - (7|*5=3)r8c5 - r9c4^2 = r9c9 - (3=15)r7c78 => -5 r7c4

I would normally be happy to see that you'd apparently adopted my style of writing memory chains, but since you obviously haven't, I don't know why you'd choose to use my style as a reference on your page -- especially without crediting me as its author. I'm pretty sure your solver doesn't output chains in that style, since you don't either. There are very distinct differences between the two chains above, and in any other memory chain the two of us have ever written.

philsfolly wrote:Most complex chains are not bi-directional

That's probably true about most such chains, though not mine. My memory chains -- such as the one above -- are always bidirectional. That's why I'd prefer you didn't attach my chains to comments like that. That said, calling them "Complex AICs" (in the header of the linked help file) is misleading, because even my memory chains are not real AICs, and bidirectionality has nothing to do with it.

and therefore they do not yield nice loops when the ends see eachother.

Not true about my chains either. Of course one has to be much more careful when picking loop eliminations with branching chains, but that doesn't mean they can't be valid loops.

So, I'd rather you replaced my chain with your own in that help file, because it's really out of place there. Otherwise you should actually adopt my style and acknowledge its merits. Either way works for me, but I'm not really happy to see my chain just copy-pasted without any credits or appreciation of its workings -- especially by someone who's basically ignored most of what I've ever said.

(For example, apparently you're still waiting for someone cleverer to "discover a theoretical basis to prove [Almost-SK-Loops] are valid, and a way to avoid the T&E aspect", even though I've now done it twice as well as shown why they don't make any practical sense. I've seen neither acknowledgement nor counterarguments to what I've said about them, so I must assume that you've just ignored it just like the first time.)
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017


Return to Puzzles