September 10, 2018

Post puzzles for others to solve here.

September 10, 2018

Postby ArkieTech » Mon Sep 10, 2018 11:22 am

Code: Select all
 *-----------*
 |89.|...|.67|
 |61.|...|.93|
 |..2|...|8..|
 |---+---+---|
 |...|8.9|...|
 |...|.5.|...|
 |...|4.3|...|
 |---+---+---|
 |..4|...|9..|
 |93.|...|.86|
 |12.|...|.54|
 *-----------*


Play/Print this puzzle online
dan
User avatar
ArkieTech
 
Posts: 3001
Joined: 29 May 2006
Location: NW Arkansas USA

Re: September 10, 2018

Postby Ngisa » Mon Sep 10, 2018 1:17 pm

Code: Select all
+------------------+------------------------+------------------+
| 8      9      3  | 125      124      1245 | 24     6      7  |
| 6      1      5  | 27      b2478    c248  | 24     9      3  |
| 4      7      2  | 39       39       6    | 8      1      5  |
+------------------+------------------------+------------------+
| 23     45     6  | 8      ea7-2      9    | 57     34     1  |
| 23     48     19 | 1267     5       d12   | 67     34     89 |
| 7      58     19 | 4        16       3    | 56     2      89 |
+------------------+------------------------+------------------+
| 5      6      4  | 13       138     d18   | 9      7      2  |
| 9      3      7  | 25       24       245  | 1      8      6  |
| 1      2      8  | 69       69       7    | 3      5      4  |
+------------------+------------------------+------------------+

(2-7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2=7)r4c5 => - 2r4c5; stte

Clement
Ngisa
 
Posts: 828
Joined: 18 November 2012

Re: September 10, 2018

Postby SteveG48 » Mon Sep 10, 2018 2:23 pm

Code: Select all
 *------------------------------------------------------------*
 | 8     9     3     | c125  b124   1245  | 24    6     7     |
 | 6     1     5     | c27    2478  248   | 24    9     3     |
 | 4     7     2     | a3-9   39    6     | 8     1     5     |
 *-------------------+--------------------+-------------------|
 | 23    45    6     |  8    b27    9     | 57    34    1     |
 | 23    48    19    |ac67    5     12    | 67    34    89    |
 | 7     58    19    |  4     16    3     | 56    2     89    |
 *-------------------+--------------------+-------------------|
 | 5     6     4     |  13    138   18    | 9     7     2     |
 | 9     3     7     | c25   b24    245   | 1     8     6     |
 | 1     2     8     |ac69    69    7     | 3     5     4     |
 *------------------------------------------------------------*


(3=679)r359c4 - (7=124)r148c5 - (1=25679)r12589c4 => -9 r3c4 ; stte
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2403
Joined: 08 November 2013
Location: Orlando, Florida

Re: September 10, 2018

Postby SteveG48 » Mon Sep 10, 2018 2:38 pm

Ngisa wrote:
Code: Select all
+------------------+------------------------+------------------+
| 8      9      3  | 125      124      1245 | 24     6      7  |
| 6      1      5  | 27      b2478    c248  | 24     9      3  |
| 4      7      2  | 39       39       6    | 8      1      5  |
+------------------+------------------------+------------------+
| 23     45     6  | 8      ea7-2      9    | 57     34     1  |
| 23     48     19 | 1267     5       d12   | 67     34     89 |
| 7      58     19 | 4        16       3    | 56     2      89 |
+------------------+------------------------+------------------+
| 5      6      4  | 13       138     d18   | 9      7      2  |
| 9      3      7  | 25       24       245  | 1      8      6  |
| 1      2      8  | 69       69       7    | 3      5      4  |
+------------------+------------------------+------------------+

(2-7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2=7)r4c5 => - 2r4c5; stte

Clement


Hi, Clement. Your solution is essentially a proof by contradiction. In this case, if r4c5 is a 2 then it's also a 7, so it can't be a 2.

I frequently posted similar solutions when I first got here. I eventually stopped for two reasons. First, a lot of people just don't like starting a chain with a weak link, or using proof by contradiction, and told me so a number of times. More importantly, though, I realized that in the vast majority of cases the same chain can actually be shortened and give the same result. Your chain can be shortened to:

7r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 => - 2r4c5; stte

Either way, nice solution!
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2403
Joined: 08 November 2013
Location: Orlando, Florida

Re: September 10, 2018

Postby SpAce » Mon Sep 10, 2018 4:30 pm

Code: Select all
.---------------.--------------------.------------.
|   8    9   3  | 125  124  b*1245   |*24  6   7  |
|   6    1   5  | 27  c2478 b*248    |*24  9   3  |
|   4    7   2  | 39   39     6      | 8   1   5  |
:---------------+--------------------+------------:
|De(2)3  45  6  | 8  Cd27     9      | 57  34  1  |
|   3-2  48  19 | 67   5      1(#2)  | 67  34  89 |
|   7    58  19 | 4    16     3      | 56  2   89 |
:---------------+--------------------+------------:
|   5    6   4  | 13   138    18     | 9   7   2  |
|   9    3   7  | 25  B24   Aa#2#45  | 1   8   6  |
|   1    2   8  | 69   69     7      | 3   5   4  |
'---------------'--------------------'------------'

UR(24)r12c67 using externals:

|(2)r5c6
|(2-4|5)r8c6 = (54-8)r12c6 = (8-7)r2c5 = (7-2)r4c5 = (2)r4c1
|(4)r8c6 - (4=2)r8c5 - r4c5 = (2)r4c1

=> -2 r5c1; stte
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 694
Joined: 22 May 2017

Re: September 10, 2018

Postby SpAce » Mon Sep 10, 2018 4:54 pm

SteveG48 wrote:
Ngisa wrote:(2-7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2=7)r4c5 => - 2r4c5; stte

Hi, Clement. Your solution is essentially a proof by contradiction.

Yes, it is. It's also a Discontinuous Nice Loop -- which are proofs by contradiction.

I frequently posted similar solutions when I first got here.

Me too, because I learned about Nice Loops before I learned about AICs. It also seemed more intuitive at first.

I eventually stopped for two reasons. First, a lot of people just don't like starting a chain with a weak link, or using proof by contradiction, and told me so a number of times. More importantly, though, I realized that in the vast majority of cases the same chain can actually be shortened and give the same result.

I stopped too, once I saw that AICs were cleaner and more effective. Chains are often painfully long even without any redundancy. AIC Type 1s are also capable of eliminating multiple non-grouped candidates, which is not possible with Discontinuous Nice Loops (not a factor here, though, because it's an AIC Type 2). AICs are also more "patternish", for what it's worth.

I still sometimes use sort of "Discontinuous Nice Loops", especially Type 2 (the placing kind which starts and ends with strong links on the same candidate), with some AI Nets which would otherwise have multiple end points. I think stapling them together provides a neater solution in those cases, like here for a bad example.
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 694
Joined: 22 May 2017

Re: September 10, 2018

Postby SteveG48 » Mon Sep 10, 2018 5:58 pm

SpAce wrote:I stopped too, once I saw that AICs were cleaner and more effective.



Yes, but keep in mind that Clement's chain is a perfectly good AIC. The links alternate, each term can be evaluated as Boolean true or false, and each link stands alone without depending on other links. It's just longer than it needs to be for the desired conclusion. Starting with a weak link violates some people's sensibilities, but it's still an AIC.
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2403
Joined: 08 November 2013
Location: Orlando, Florida

Re: September 10, 2018

Postby Cenoman » Mon Sep 10, 2018 7:28 pm

Code: Select all
 +-----------------+----------------------+-----------------+
 |  8    9    3    | d25-1 a124    1245   |  24   6    7    |
 |  6    1    5    | c27    2478   248    |  24   9    3    |
 |  4    7    2    |  39    39     6      |  8    1    5    |
 +-----------------+----------------------+-----------------+
 |  23   45   6    |  8    a27     9      |  57   34   1    |
 |  23   48   19   | b67    5      12     |  67   34   89   |
 |  7    58   19   |  4     16     3      |  56   2    89   |
 +-----------------+----------------------+-----------------+
 |  5    6    4    |  13    138    18     |  9    7    2    |
 |  9    3    7    | d25   a24     245    |  1    8    6    |
 |  1    2    8    |  69    69     7      |  3    5    4    |
 +-----------------+----------------------+-----------------+

(124=7)r148c5 - r5c4 = (7-2)r2c4 = HP(25)r18c4 => -1 r1c4; ste
Cenoman
Cenoman
 
Posts: 811
Joined: 21 November 2016
Location: Paris, France

Re: September 10, 2018

Postby SpAce » Mon Sep 10, 2018 7:41 pm

SteveG48 wrote:Yes, but keep in mind that Clement's chain is a perfectly good AIC. The links alternate, each term can be evaluated as Boolean true or false, and each link stands alone without depending on other links. It's just longer than it needs to be for the desired conclusion. Starting with a weak link violates some people's sensibilities, but it's still an AIC.

You may be right but it's weird. I don't think the main problem is starting with a weak link (although rarely used or useful with AICs) but having mixed link types at the ends:

Ngisa wrote:(2-7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2=7)r4c5 => - 2r4c5; stte

That makes it a really unusual chain type, even if it's a legal AIC. I was almost ready to say that I was wrong to call it a Discontinuous Nice Loop, but looking at the definitions here it seems that it actually fits the DNL Type 3 even more exactly than I would have thought. Even then, I'd rather write it with the same link type at both ends (which makes the Type 3 an unnecessary complication, because every DNL can be written as either Type 1 or Type 2 or both like in this case):

DNL Type 1: (2-7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2)r4c5 => -2 r4c5

or better:

DNL Type 2: (7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 - (2=7)r4c5 => +7 r4c5

or even better as an AIC with strong links at both ends like you did:

AIC Type 2: (7)r4c5 = (7-8)r2c5 = r2c6 - (8=2)r57c6 => -2 r4c5

In all of those cases the logical relationship between the two end nodes is easy to see because they have the same link types. Both strong links means OR (the more useful kind), and both weak links means NAND. Having mixed link types makes it harder to see the exact relationship and perform deductions. In this case it would be: (2r4c5 -> 7r4c5) <-> ((not)2r4c5 OR 7r4c5). Sure, it proves the same thing (r4c5<>2) but the translation is more complicated than with the normal AIC or either of the DNLs. If the chain is reversed, the interpretation is even more complicated (from my POV): ((not)7r4c5 -> (not)2r4c5) <-> (7r4c5 OR (not)2r4c5).

That being said I understand that what seems intuitive and what doesn't depends on one's POV. A year ago I would have seen Clement's chain more intuitive than the more typical AIC variant.
Last edited by SpAce on Mon Sep 10, 2018 9:13 pm, edited 1 time in total.
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 694
Joined: 22 May 2017

Re: September 10, 2018

Postby Sudtyro2 » Mon Sep 10, 2018 8:49 pm

Withdrawn.
Last edited by Sudtyro2 on Tue Sep 11, 2018 10:17 am, edited 1 time in total.
Sudtyro2
 
Posts: 600
Joined: 15 April 2013

Re: September 10, 2018

Postby pjb » Mon Sep 10, 2018 10:10 pm

While I agree with Steve, I would prefer this chain to go the opposite direction:

(2=1)r5c6 - (1=8)r7c6 - r2c6 = (8-7)r2c5 = r4c5 => -2 r4c5

Written this way it clearly shows that if 2 at r5c6 is false ,then it is also false at r4c5, and obviously if 2 at r5c6 is true, the 2 at r4c5 is false. This is a straight aic, no contradiction in sight.
Phil
pjb
2014 Supporter
 
Posts: 2025
Joined: 11 September 2011
Location: Sydney, Australia

Re: September 10, 2018

Postby pjb » Mon Sep 10, 2018 10:14 pm

Code: Select all
 8       9       3      | 125    124    1245   | 24     6      7     
 6       1       5      | 27    c2478  b248    | 24     9      3     
 4       7       2      | 39     39     6      | 8      1      5     
------------------------+----------------------+---------------------
 23      45      6      | 8     d27     9      | 57     34     1     
 23      48      19     | 67     5     e2-1    | 67     34     89     
 7       58      19     | 4      16     3      | 56     2      89     
------------------------+----------------------+---------------------
 5       6       4      | 13     138   a18     | 9      7      2     
 9       3       7      | 25     24     245    | 1      8      6     
 1       2       8      | 69     69     7      | 3      5      4     

Same in disguise:
(1=8)r7c6 - r2c6 = (8-7)r2c5 = (7-2)r4c5 = r5c6 => -1 r5c6; stte

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

Re: September 10, 2018

Postby SpAce » Mon Sep 10, 2018 11:54 pm

pjb wrote:While I agree with Steve, I would prefer this chain to go the opposite direction:

(2=1)r5c6 - (1=8)r7c6 - r2c6 = (8-7)r2c5 = r4c5 => -2 r4c5

Written this way it clearly shows that if 2 at r5c6 is false ,then it is also false at r4c5, and obviously if 2 at r5c6 is true, the 2 at r4c5 is false. This is a straight aic, no contradiction in sight.

Same in disguise:
(1=8)r7c6 - r2c6 = (8-7)r2c5 = (7-2)r4c5 = r5c6 => -1 r5c6; stte

A year ago I would have agreed that Type 2 AICs (i.e. different digits at ends) would be clearer if they always started with the eventual elimination digit, but now I don't think it really matters. I'd use which ever way seems more natural, depending on potential ALS and other complex nodes for example. At worst, it might even be a mildly harmful convention, as it can keep beginners unaware of the fact that AICs are bidirectional and that (Type 2) eliminations can happen at both ends of the chain (which at first seems counter-intuitive).

Also, sticking to such a convention kind of clouds how AICs are (mostly) supposed to be interpreted: as a derived (usually) strong link between the two ends. There isn't any "if-else" logic needed as long as one understands that any candidate that is weakly linked to both ends can be eliminated. That way an AIC can be seen as a pattern instead of a forcing chain. Of course they're forcing chains too, but I don't think that POV needs to be reinforced because beginners have a natural tendency to see them as such anyway. The other POV is more elegant and fruitful in the long run, I think. Of course these are all just personal preferences.

Speaking of those, the one thing I would change in your chains is having the end point digit explicitly stated at both ends:

(2=1)r5c6 - (1=8)r7c6 - r2c6 = (8-7)r2c5 = (7)r4c5 => -2 r4c5
(1=8)r7c6 - r2c6 = (8-7)r2c5 = (7-2)r4c5 = (2)r5c6 => -1 r5c6

With that convention the directionality matters even less, because the chains are just as easy to read both ways. It also reinforces the idea of derived strong links between the ends: (2)r5c6==(7)r4c5 and (1)r7c6==(2)r5c6. But, again, that's just my personal preference. I'm happy to see your chains any way you choose to write them, because the logic is always impeccable and elegant and I can learn from it.

Added: Found this:

Steve K wrote:Strong link could be alternately described as:
A == B is A OR B
Weak link could be alternately described as:
A -- B is (~A) OR (~B)

The symmetry of using this equivalent definition somehow fits better for me. Also, it eliminates the clumsiness of A implies B.

The last sentence is what I tried to convey in my post as well.
Last edited by SpAce on Tue Sep 11, 2018 1:23 am, edited 1 time in total.
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 694
Joined: 22 May 2017

Re: September 10, 2018

Postby SpAce » Tue Sep 11, 2018 1:20 am

SteveG48 wrote:Yes, but keep in mind that Clement's chain is a perfectly good AIC. The links alternate, each term can be evaluated as Boolean true or false, and each link stands alone without depending on other links. It's just longer than it needs to be for the desired conclusion. Starting with a weak link violates some people's sensibilities, but it's still an AIC.

I would call it an AIC fragment because of the mixed end links. I haven't found any example that would call a mixed link variant an actual AIC. Personally I wouldn't like to call a chain with two weakly linked end-nodes an AIC either, but that's just a personal preference. I just don't see much use for those things, except perhaps to prove a derived weak link to be used as part of a real AIC (I've seen Steve K do that), which makes it also an AIC fragment. Then again, I guess my opinion is meaningless, because both Sudopedia and David's AIC Primer do accept both kinds:

Sudopedia wrote:An AIC chains together premises using alternating strong and weak inferences. The simplest AICs look like this (A, B, C, and D represent the premises):

A=B-C=D
A-B=C-D


David P Bird wrote:Elimination Rules
1. When an AIC starts and ends with strong links, any candidate weakly linked to both end nodes is false and can be eliminated.
2. When an AIC starts and ends with weak links to a particular candidate, it proves that this candidate is false and can be eliminated.

However, the earliest post about AICs that I can find states clearly the opposite:

Myth Jellies wrote:Alternating Inference Chain (AIC) is a chain which starts with an endpoint candidate which has a strong inference on the next candidate, which has a weak inference on the next candidate, which has a strong inference on the next candidate, and so on alternating weak and strong inferences until it ends with a strong inference on the final candidate at the other endpoint. The nodes of an AIC are really just the candidate premises themselves.

My personal inclination is to to go with that definition, unless someone can make me see why we would need the other kind, except for the mentioned fragment use case. To me it only seems to mimic Discontinuous Nice Loops, but why would we need that?
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 694
Joined: 22 May 2017


Return to Puzzles