July 24, 2018

Post puzzles for others to solve here.

July 24, 2018

Postby ArkieTech » Tue Jul 24, 2018 10:50 am

Code: Select all
 *-----------*
 |8..|4.3|...|
 |...|.89|..4|
 |.64|57.|...|
 |---+---+---|
 |.4.|9..|5..|
 |32.|...|.46|
 |..5|..4|.7.|
 |---+---+---|
 |...|.41|89.|
 |5..|39.|...|
 |...|7.5|..1|
 *-----------*


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

Re: July 24, 2018

Postby pjb » Tue Jul 24, 2018 2:25 pm

Code: Select all
 8       57     e127    | 4     f16     3      | 2679   256    29     
b127     357     1237   | 16     8      9      | 267    256    4     
 9       6       4      | 5      7      2      | 13     18     38     
------------------------+----------------------+---------------------
c17      4      d178    | 9      23     6      | 5      18     23     
 3       2       189    | 18     5      7      | 19     4      6     
 6       89      5      | 128    123    4      | 1239   7      2389   
------------------------+----------------------+---------------------
a27      37      2367   | 6-2     4      1      | 8      9      5     
 5       1       26     | 3      9      8      | 4      26     7     
 4       89      89     | 7     g26     5      | 26     3      1     

(2)r7c1 = (2-1)r2c1* = (1-7)r4c1 = r4c3 - (27=1)r1c3* - (1=6)r1c5 - (6=2)r9c5 => -2 r7c4; stte

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

Re: July 24, 2018

Postby Ngisa » Tue Jul 24, 2018 2:37 pm

Code: Select all
+-----------------------+--------------------+-----------------------+
| 8       h57*    i127  | 4       6-1      3 | 2679     256     29   |
| 127      35      1237 | 16      8        9 | 267      256     4    |
| 9        6       4    | 5       7        2 | 13       18      38   |
+-----------------------+--------------------+-----------------------+
| 17       4       178  | 9      a123      6 | 5        18      238  |
| 3        2       189  | 18      5        7 | 19       4       6    |
| 6        89      5    | 128    a123      4 | 1239     7       2389 |
+-----------------------+--------------------+-----------------------+
|f27      g37      2367 | 26      4        1 | 8        9       5    |
| 5        1      e2*6  | 3       9        8 | 4       d26      7    |
| 4        89      89   | 7      b26       5 |c26       3       1    |
+-----------------------+--------------------+-----------------------+

(1=2)r46c5 - r9c5 = r9c6 - r8c8 = r8c3* - (2=7)r7c1 - r7c2 = r1c2* - (2*7*=1)r1c3 => - 1r1c5; stte

Clement
Ngisa
 
Posts: 831
Joined: 18 November 2012

Re: July 24, 2018

Postby SteveG48 » Tue Jul 24, 2018 3:48 pm

Code: Select all
 *------------------------------------------------------------*
 | 8    e57    127   |  4    d16    3     | 2679 d256   29    |
 |f127   357   1237  |ce16    8     9     | 267   256   4     |
 | 9     6     4     |  5     7     2     | 13    18    38    |
 *-------------------+--------------------+-------------------|
 | 17    4     178   |  9     23    6     | 5     18    23    |
 | 3     2     189   |  18    5     7     | 19    4     6     |
 | 6     89    5     |  128   123   4     | 1239  7     2389  |
 *-------------------+--------------------+-------------------|
 | 7-2   37    2367  |ab26    4     1     | 8     9     5     |
 | 5     1   ab26    |  3     9     8     | 4    c26    7     |
 | 4     89    89    |  7     26    5     | 26    3     1     |
 *------------------------------------------------------------*


2r7c4,r8c3 = (6)r7c4&r8c3 - (6=12)r2c4,r7c8 - (1|2=56)r1c58 - (5|6=71)r1c2,r2c4 - (1|7=2)r2c1 => -2 r7c1 ; stte
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2411
Joined: 08 November 2013
Location: Orlando, Florida

Re: July 24, 2018

Postby Sudtyro2 » Tue Jul 24, 2018 9:29 pm

SteveG48 wrote: 2r7c4,r8c3 = (6)r7c4&r8c3 - (6=12)r2c4,r7c8 - (1|2=56)r1c58 - (5|6=71)r1c2,r2c4 - (1|7=2)r2c1 => -2 r7c1 ; stte

Hi Steve,
Thx for a real(no-memory) AIC solution!

SteveC
Sudtyro2
 
Posts: 601
Joined: 15 April 2013

Re: July 24, 2018

Postby Cenoman » Tue Jul 24, 2018 9:51 pm

Code: Select all
 +---------------------+-------------------+----------------------+
 |  8     57    127    |  4     16    3    |  2679   256   29     |
 |  127   357   1237   |  16    8     9    |  267    256   4      |
 |  9     6     4      |  5     7     2    | b13    c18    38     |
 +---------------------+-------------------+----------------------+
 | e17    4     178    |  9     23*   6    |  5     d18    23*    |
 |  3     2     189    |  18    5     7    |  19     4     6      |
 |  6     89    5      |  128   123*  4    | a1239## 7     2389*  |
 +---------------------+-------------------+----------------------+
 | f27    37    2367   |  26    4     1    |  8      9     5      |
 |  5     1    g26     |  3     9     8    |  4     h26    7      |
 |  4     89    89     |  7     26#   5    |  6-2    3     1      |
 +---------------------+-------------------+----------------------+

UR(23)r46c59 using externals (C5,B6)
(3)r6c7 - (3=1)r3c7 - r3c8 = r4c8 - (1=7)r3c1 - (7=2)r7c1 - r8c2 = (2)r8c8
(2)r9c5,r6c7
=> -2 r9c7; ste
Cenoman
Cenoman
 
Posts: 815
Joined: 21 November 2016
Location: Paris, France

Re: July 24, 2018

Postby pjb » Wed Jul 25, 2018 12:08 am

Code: Select all
                   
(2)r7c1 = (2-1)r2c1   -   (27=1)r1c3 - (1=6)r1c5 - (6=2)r9c5 => -2 r7c4; stte
                \\           /
            (1-7)r4c1 = r4c3

If I wrote my solution like this one could call it "branching " rather than "memory". Is there any real difference? Correct me please if I'm wrong, but doesn't Steve's solution have "branching"?

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

Re: July 24, 2018

Postby SpAce » Wed Jul 25, 2018 1:14 am

pjb wrote:
Code: Select all
                   
(2)r7c1 = (2-1)r2c1   -   (27=1)r1c3 - (1=6)r1c5 - (6=2)r9c5 => -2 r7c4; stte
                \\           /
            (1-7)r4c1 = r4c3

If I wrote my solution like this one could call it "branching " rather than "memory". Is there any real difference?

Not really. Any memory chain can be rewritten as a branched chain (in other words, a net), I guess, and possibly vice versa (perhaps with a lot of difficulty in some cases). I think yours was simpler as a memory chain.

[Edit: I think there's a slight problem with your net presentation, as there are two weak links next to each other. I'd try something like this, perhaps:
Code: Select all
(2)r7c1 = (2)r2c1 ------------ (27=1)r1c3 - (1=6)r1c5 - (6=2)r9c5 => -2 r7c4; stte
           |                     |
          (1)r2c1 = (1-7)r4c1 = (7)r4c3

]
Correct me please if I'm wrong, but doesn't Steve's solution have "branching"?

Yes, it does. However, the branching is internal to the nodes, which makes it a split-node AIC. The chain itself doesn't branch, and all the nodes are boolean variables, which makes it a valid AIC as per David's definitions. That doesn't change the fact that it has branching (many branches, in fact).
Last edited by SpAce on Wed Jul 25, 2018 2:46 am, edited 2 times in total.
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 710
Joined: 22 May 2017

Re: July 24, 2018

Postby SpAce » Wed Jul 25, 2018 1:56 am

About those memory chains. I have otherwise no problem with them (in fact I love them!), but I would personally prefer some changes to the memory markers seen here. In both Phil's and Clement's chains the "storing" and "recalling" (or "sending" and "receiving") nodes look the same because the markers are on the same side, which I find less than ideal for readability. Also, in Clement's chain the same character is used for two different memory markers, which is worse. There's no real problem understanding either chain here, but in more complicated memory chains it might be an issue.

pjb wrote:(2)r7c1 = (2-1)r2c1* = (1-7)r4c1 = r4c3 - (27=1)r1c3* - (1=6)r1c5 - (6=2)r9c5 => -2 r7c4; stte

I'd rather see either this:

(2)r7c1 = (2-1)r2c1* = (1-7)r4c1 = r4c3 - *(27=1)r1c3 - (1=6)r1c5 - (6=2)r9c5 // markers outside the nodes, on opposite sides (pointing to each other)

or this:

(2)r7c1 = (2*-1)r2c1 = (1-7)r4c1 = r4c3 - (*27=1)r1c3 - (1=6)r1c5 - (6=2)r9c5 // markers next to the relevant candidates, on opposite sides (pointing to each other)

or some other variant of the storing and recalling markers clearly differentiated.

The same changes here plus a different character for the second marker:
Ngisa wrote:(1=2)r46c5 - r9c5 = r9c6 - r8c8 = r8c3* - (2=7)r7c1 - r7c2 = r1c2* - (2*7*=1)r1c3 => - 1r1c5; stte

(1=2)r46c5 - r9c5 = r9c6 - r8c8 = r8c3* - (2=7)r7c1 - r7c2 = r1c2^ - *^(27=1)r1c3

or:

(1=2)r46c5 - r9c5 = r9c6 - r8c8 = (2*)r8c3 - (2=7)r7c1 - r7c2 = (7^)r1c2 - (*2^7=1)r1c3

(In fact, I don't really see a reason for the second marker at all, because the storing and recalling nodes are right next to each other, but I left it there just to make a point of using different characters for different markers. I know at least Phil does that anyway.)

I think my alternatives would make it more obvious where a memory is stored and where it's recalled. I've said it before but never received any comments. Is there a good argument for the prevailing, imho less readable, style? Anyway, nice solutions, everyone :)
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 710
Joined: 22 May 2017

Re: July 24, 2018

Postby SteveG48 » Wed Jul 25, 2018 2:02 am

SpAce wrote:Yes, it does. However, the branching is internal to the nodes, which makes it a split-node AIC. The chain itself doesn't branch, and all the nodes are boolean variables, which makes it a valid AIC as per David's definitions. That doesn't change the fact that it branches.


Agreed. As you say, it has branching internal to the nodes.

To answer Phil's question, the end result is the same. I simply prefer to write bi-directional AICs per David's definitions whenever I can, even if that sometimes makes the chain more complex than it might be if other techniques were used. That doesn't stop me from using memory chains, Kraken's, and so forth if I must.

It's just a matter of taste, but I thank SteveC for noticing. :)
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2411
Joined: 08 November 2013
Location: Orlando, Florida

Re: July 24, 2018

Postby SteveG48 » Wed Jul 25, 2018 2:08 am

SpAce wrote:I think my alternatives would make it more obvious where a memory is stored and where it's recalled. I've said it before but never received any comments. Is there a good argument for the prevailing, imho less readable, style? Anyway, nice solutions, everyone :)


I agree. I prefer "markers next to the relevant candidates, on opposite sides (pointing to each other)". That's the way Danny Jones liked to do it.
Steve
User avatar
SteveG48
2018 Supporter
 
Posts: 2411
Joined: 08 November 2013
Location: Orlando, Florida

Re: July 24, 2018

Postby SpAce » Wed Jul 25, 2018 2:37 am

SteveG48 wrote:I simply prefer to write bi-directional AICs per David's definitions whenever I can, even if that sometimes makes the chain more complex than it might be if other techniques were used. ... It's just a matter of taste, but I thank SteveC for noticing. :)

As I recall, it was one of you Steves who made me see the difference some months ago :)

I agree. I prefer "markers next to the relevant candidates, on opposite sides (pointing to each other)". That's the way Danny Jones liked to do it.

Thanks, Steve! That variant would be my favorite too.
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   
SpAce
 
Posts: 710
Joined: 22 May 2017

Re: July 24, 2018

Postby Ngisa » Wed Jul 25, 2018 1:26 pm

[quote="SpAce"]


Ngisa wrote:(1=2)r46c5 - r9c5 = r9c6 - r8c8 = r8c3* - (2=7)r7c1 - r7c2 = r1c2* - (2*7*=1)r1c3 => - 1r1c5; stte

(1=2)r46c5 - r9c5 = r9c6 - r8c8 = r8c3* - (2=7)r7c1 - r7c2 = r1c2^ - *^(27=1)r1c3

or:

(1=2)r46c5 - r9c5 = r9c6 - r8c8 = (2*)r8c3 - (2=7)r7c1 - r7c2 = (7^)r1c2 - (*2^7=1)r1c3

(In fact, I don't really see a reason for the second marker at all, because the storing and recalling nodes are right next to each other, but I left it there just to make a point of using different characters for different markers. I know at least Phil does that anyway.)

I think my alternatives would make it more obvious where a memory is stored and where it's recalled. I've said it before but never received any comments. Is there a good argument for the prevailing, imho less readable, style? Anyway, nice solutions, everyone :)SpAce Posts: 255Joined: 22 May 2017

I can see. Noted
Ngisa
 
Posts: 831
Joined: 18 November 2012


Return to Puzzles