January 23, 2018

Post puzzles for others to solve here.

Re: January 23, 2018

Postby SteveG48 » Wed Jan 24, 2018 10:01 pm

200e200w wrote:Hi Steve,
As I've written it, the chain is a bi-directional AIC...

For me, it isn't a bi-directional AIC. I also think that it doesn't follow the rule 3:
3) Each link must be stand-alone and independent of the truth states of candidates elsewhere in the chain."

That's my opinion.

200e200w


Good discussion. Which link do you think does not follow rule 3, and why?
Steve
User avatar
SteveG48
2019 Supporter
 
Posts: 4483
Joined: 08 November 2013
Location: Orlando, Florida

Re: January 23, 2018

Postby eleven » Wed Jan 24, 2018 10:50 pm

Hi 200e200w,

the only thing i look at is, if a solution is logically correct, however it is formulated.
No doubt, that Steve's chain is.

So it is just about formulation.
My opinion is, that it is a well-formed AIC, as soon as you accept the or-sign '|' (and the &-sign in other examples). The old players here do. If you do not, please write down your rules for an acceptable notation and we will see, if it becomes adopted.
eleven
 
Posts: 3153
Joined: 10 February 2008

Re: January 23, 2018

Postby 200e200w » Thu Jan 25, 2018 7:33 am

Hi Steve,
I think this:
... - (5|2)r2c1,r4c2 = (58)r4c12 - ...

does not follow the rule 3, because the links are branched. However, that's only my opinion. Another thing to say, I am using chains and nets like AIC's only from joining this forum and I still do not know everything about how to distinguish Nets from AIC's.

200e200w
200e200w
 
Posts: 208
Joined: 20 January 2018

Re: January 23, 2018

Postby David P Bird » Thu Jan 25, 2018 10:20 am

Hi 200e200w,

The great majority of the Boolean nodes we use in chains are composed of cells that occupy a single house. This means the links between them are also confined to single houses. However, we also allow patterns such as fish and URs that aren't restricted in this way, and a less obvious case is the internal 'branching' in ALSs. So, if we allow these patterns, then advanced players should also allowed to compose 'split' Boolean nodes from the set of cells that are peers to the same node whether they lie in the same house or not. In Steve's chain if (2) and (5) are true in r2c25 then neither of them can occupy the split node r2c1,r4c2, an observation that the reader can easily confirm. (Steve, it would be easier on the reader if you included the passenger digits in the ALSs.)

If proving this relationship needed the reader to follow a single link for one of the digits but, say, three links for the other, then a branched path is being followed and it would be a network approach. Therefore there are tight restrictions governing the use of split nodes in bidirectional chains.

You may consider this to be rather a fine distinction, but in my view, it allows what is routinely accepted in some situations to be accepted in others that are equivalent.
<A mutant fish example>.
<Example in a previous puzzle>

David PB
.
David P Bird
2010 Supporter
 
Posts: 1043
Joined: 16 September 2008
Location: Middle England

Re: January 23, 2018

Postby 200e200w » Thu Jan 25, 2018 11:31 am

Hi DPB,
I read your post and re-read the Steve's chain, and I must agree to you and Steve that it is a bidirectional AIC. I have misread the chain as the chain that does not follow the rule 3. Now I know that the Steve's chain follows this rule. I'll quote it once again:
3) Each link must be stand-alone and independent of the truth states of candidates elsewhere in the chain.

And the chain:
(4=3)r2c78 - (3=25)r2c23 - (5|2)r2c1,r4c2 = (58)r4c12 - (5|8=4)b6p26 => -4 r6c8 ; stte


200e200w
200e200w
 
Posts: 208
Joined: 20 January 2018

Re: January 23, 2018

Postby SteveG48 » Thu Jan 25, 2018 2:25 pm

David P Bird wrote:Hi 200e200w,

The great majority of the Boolean nodes we use in chains are composed of cells that occupy a single house. This means the links between them are also confined to single houses. However, we also allow patterns such as fish and URs that aren't restricted in this way, and a less obvious case is the internal 'branching' in ALSs. So, if we allow these patterns, then advanced players should also allowed to compose 'split' Boolean nodes from the set of cells that are peers to the same node whether they lie in the same house or not. In Steve's chain if (2) and (5) are true in r2c25 then neither of them can occupy the split node r2c1,r4c2, an observation that the reader can easily confirm. (Steve, it would be easier on the reader if you included the passenger digits in the ALSs.)

If proving this relationship needed the reader to follow a single link for one of the digits but, say, three links for the other, then a branched path is being followed and it would be a network approach. Therefore there are tight restrictions governing the use of split nodes in bidirectional chains.

You may consider this to be rather a fine distinction, but in my view, it allows what is routinely accepted in some situations to be accepted in others that are equivalent.
<A mutant fish example>.
<Example in a previous puzzle>

David PB
.


Thanks for your comments, David. They are always helpful.

With regard to the highlighted, you probably remember that we had a lot of discussion awhile back about including the passenger digits in these expressions. People referred to notation not including them as "abbreviated" and some indicated that they thought it detracted from clarity. For that reason, I included them for a long time. However, other players here routinely leave them out, to the point where leaving them out seemed to have become a standard. Only very recently did I start to leave them out again. I'm still torn as to which is best. Clarity, after all, is the whole purpose of standard notation. On the other hand, it could be argued that leaving the unessential passengers out actually aids clarity by allowing the reader to see what is essential and what isn't.
Steve
User avatar
SteveG48
2019 Supporter
 
Posts: 4483
Joined: 08 November 2013
Location: Orlando, Florida

Re: January 23, 2018

Postby David P Bird » Thu Jan 25, 2018 3:18 pm

Steve, all I will say is this
1) try to recall your early days and the effort that was involved in understanding how ALSs (either ANSs or ANSs) work and the different types of links they require.
2) the writer of a notation will probably be far more familiar with the distribution of the digits than the reader, but for the latter to validate the chain, he/she needs to check the numbers of cells and digits involved. This is made easier (particularly for the larger ALSs) if the writer provides a checklist. Furthermore, following this discipline makes beginners' errors less likely - and most of us are quite capable of making those!

I champion making our posts and notations as easy to digest as possible because, if we fail to attract newcomers, the forum will suffer a lingering death.

David
.
David P Bird
2010 Supporter
 
Posts: 1043
Joined: 16 September 2008
Location: Middle England

Re: January 23, 2018

Postby SteveG48 » Thu Jan 25, 2018 3:37 pm

David P Bird wrote:I champion making our posts and notations as easy to digest as possible because, if we fail to attract newcomers, the forum will suffer a lingering death.

David
.


Thanks, David. I certainly agree with that. It makes me feel good to see that newcomers are still welcomed here as warmly as I was a couple of years ago, just as it saddens me to see that some of the old timers don't often appear any more.
Steve
User avatar
SteveG48
2019 Supporter
 
Posts: 4483
Joined: 08 November 2013
Location: Orlando, Florida

Re: January 23, 2018

Postby SpAce » Sat Jan 27, 2018 4:53 am

This is a very interesting discussion, as I've been wondering about branching-chain notations lately. I guess I agree with everyone a bit. I saw Steve's chain as an obvious net, but apparently it's not if split nodes are indeed an accepted part of AICs. However, I think it's a bit of splitting hairs (or chains).

While I also aim to write bidirectional and valid AICs, I personally I think it's more important that the chain is intuitively understandable (talking about attracting newcomers). Intuitiveness is subjective, of course, but at least for me the split-node chains -- while technically correct (and I guess I'm slowly acquiring the taste) -- still take a bit of deciphering, and seeing the grid is pretty much a must. I'd prefer notations that could be followed even without seeing the grid, which of course is a pretty tall order in many cases even without split nodes.

In this case 200e200w's translation was more intuitive to me, although I never agreed with the statement that Steve's original chain was somehow incorrect. Personally I prefer something in between those two. My intuition would be to break Steve's chain:

(4=3)r2c78 - (3=25)r2c23 - (5|2)r2c1,r4c2 = (58)r4c12 - (5|8=4)b6p26 => -4 r6c8

...into something like this:

(4=83)r2c78 - (3=25)r2c23 - [[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8

...or possibly something even more explicit:

(4=83)r2c78 - (3=2)r2c2 - [[(2=8)r4c2] | [(2=5)r2c3 - r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8

(4)r2c8 = (83)r2c78 - (3=2)r2c2 - [[(2=8)r4c2] | [(2=5)r2c3 - r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8

(4)r2c8 = (83)r2c78 - (3=2)r2c2 - [[(2=8)r4c2] | [(2=5)r2c3 - r2c1 = (5)r4c1]] - (8|5)r4c8 = (34)b6p26 => -4 r6c8

(4)r2c8 = (83)r2c78 - (3=2)r2c2 - [[(2=8)r4c2 - (8)r4c8] | [(2=5)r2c3 - r2c1 = r4c1 - (5)r4c8]] = (34)b6p26 => -4 r6c8

Would those forms be acceptable? I understand that they're now explicit nets and thus not valid AICs, although they're bidirectional. Does it really matter as long as the logic is correct and understandable? I guess the most relevant part is that the notation somehow proves the relationship: 4r2c8 OR 4r4c8 OR 4r5c9 (=> NOT 4r6c8).

PS. I vote for including passenger digits in most cases. I'm learning to live without seeing them, but it hasn't been exactly intuitive.
-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: January 23, 2018

Postby SpAce » Sat Jan 27, 2018 6:47 am

David P Bird wrote:In Steve's chain if (2) and (5) are true in r2c25 r2c23 then neither of them can occupy the split node r2c1,r4c2, an observation that the reader can easily confirm.


Yes, but only by looking at the grid and the digit distribution in those cells. The chain alone doesn't help us much:

(3=25)r2c23 - (5|2)r2c1,r4c2 = (58)r4c12

Assumption of (2&5)r2c23 only tells us directly that neither 2 nor 5 can occupy r2c1. What we know about r4c2 is wholly dependent on the derived assumption that 2 goes into r2c2, which is only apparent if we look at the grid. Also, 2r2c2 doesn't make 5r4c2 impossible -- the strong link between (5)r2c1 and (5)r4c1 does, but again, we only know that by looking at the grid. Not that it matters here as the next node allows 5 in r4c2. However, would the link (25)r2c23 - (5|2)r2c1,r4c2 be technically incorrect if we had a 5 in r4c2? The NAND-link states that it can't be there but there's no direct constraint that would eliminate it either. Or am I understanding something totally wrong?
-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: January 23, 2018

Postby eleven » Sat Jan 27, 2018 9:21 am

SpAce wrote:Yes, but only by looking at the grid and the digit distribution in those cells.

How can you follow any link without looking at the grid, be it a simple strong link or an ALS with or without passenger digits ?
In split nodes you just have to look at 2 digits instead of one, and it is really simple in Steve's chain.
Often to evaluate the eliminations of a loop is much more tricky.
eleven
 
Posts: 3153
Joined: 10 February 2008

Re: January 23, 2018

Postby SteveG48 » Sat Jan 27, 2018 4:12 pm

SpAce wrote:This is a very interesting discussion, as I've been wondering about branching-chain notations lately. I guess I agree with everyone a bit. I saw Steve's chain as an obvious net, but apparently it's not if split nodes are indeed an accepted part of AICs. However, I think it's a bit of splitting hairs (or chains).

While I also aim to write bidirectional and valid AICs, I personally I think it's more important that the chain is intuitively understandable (talking about attracting newcomers). Intuitiveness is subjective, of course, but at least for me the split-node chains -- while technically correct (and I guess I'm slowly acquiring the taste) -- still take a bit of deciphering, and seeing the grid is pretty much a must. I'd prefer notations that could be followed even without seeing the grid, which of course is a pretty tall order in many cases even without split nodes.

In this case 200e200w's translation was more intuitive to me, although I never agreed with the statement that Steve's original chain was somehow incorrect. Personally I prefer something in between those two. My intuition would be to break Steve's chain:

(4=3)r2c78 - (3=25)r2c23 - (5|2)r2c1,r4c2 = (58)r4c12 - (5|8=4)b6p26 => -4 r6c8

...into something like this:

(4=83)r2c78 - (3=25)r2c23 - [[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8



Hi, SpAce. I agree that this is an interesting discussion. It's the sort of thing that I came for and stay for at this forum. I also agree that clarity and simplicity are always highly desirable, but we need to take care that we don't allow the desire for simplicity to push us into logical error. Correctness of the Boolean expressions must be paramount.

In your suggested chain, (4=83)r2c78 - (3=25)r2c23 - [[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8 , we have a couple of problems. First, if you look on both sides of the bracketed expression you have weak links on both sides. The chain no longer alternates. It took me awhile after I came here to really understand that this renders a chain useless. Without alternation, no value assumed for a candidate at the start of the chain can imply anything about a candidate value at the end of the chain. Let's also look at the bracketed expression itself:

[[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] We have two terms that are ORed. The term (2=8)r4c2 is always true for this puzzle. Likewise the term (5)r2c1 = (5)r4c1, so the bracketed term must always evaluate as Boolean true. Your intent to enhance clarity has left me confused.

Please don't take this as anything except constructive. I value the contribution that you've made to the discussion.
Steve
User avatar
SteveG48
2019 Supporter
 
Posts: 4483
Joined: 08 November 2013
Location: Orlando, Florida

Re: January 23, 2018

Postby SpAce » Sat Jan 27, 2018 11:56 pm

SteveG48 wrote:Hi, SpAce. I agree that this is an interesting discussion. It's the sort of thing that I came for and stay for at this forum. I also agree that clarity and simplicity are always highly desirable, but we need to take care that we don't allow the desire for simplicity to push us into logical error. Correctness of the Boolean expressions must be paramount.


I agree. That's why I had a lengthy discussion about these in another thread, trying to get my branched chains correctly written using my style (or preferably something better). I was originally quite confused, especially about the correct use of ORs and ANDs between the branches, but eleven helped me out a lot, which I'm grateful for. Blame him if I'm still doing something wrong! :D

http://forum.enjoysudoku.com/nishio-vs-aics-when-is-it-considered-cheating-t34342-45.html#p262323

Anyway, I welcome any suggestions to improve my notation or to convert me into using something else. I'm just not yet sure if I can agree with your assessments here. It seems that you're misreading my intent, which of course means that my notation is not quite as intuitive as I thought (like I said, it's a very subjective concept!).

In your suggested chain, (4=83)r2c78 - (3=25)r2c23 - [[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] - (8|5=34)b6p26 => -4 r6c8 , we have a couple of problems. First, if you look on both sides of the bracketed expression you have weak links on both sides. The chain no longer alternates.


It sure does if you read it as intended. I understand what you mean if you read the bracketed part as one node, which it isn't. It's a container for the two parallel branches (within their own brackets and separated by the OR), and the preceding and following links (both weak, i.e. NANDs, in this case) apply to both branches equally. If you read it like that there's no discontinuity, is there? Both branches have a strong link inside them to ensure alternation and correct linking at both the split and the join point. Where's the problem?

Let's also look at the bracketed expression itself:

[[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] We have two terms that are ORed. The term (2=8)r4c2 is always true for this puzzle. Likewise the term (5)r2c1 = (5)r4c1, so the bracketed term must always evaluate as Boolean true. Your intent to enhance clarity has left me confused.


I'm not exactly sure if I understand your point. You may be right that if we rewrote the chain using logic gates, there might be problems. I haven't tried that exercise here so I don't know. Anyway, my intention is to imply this:

Code: Select all
(4=83)r2c78 - (3=25)r2c23 - (2=8)r4c2 -------
                          \                  \
                            (5)r2c1 = (5)r4c1 - (8|5=34)b6p26


If (2&5)r2c23 then NOT(2r4c2 OR 5r2c1), i.e. ((NOT 2r4c2) AND (NOT 5r2c1)) according to DeMorgan's theorem.
If (NOT 2r4c2) then 8r4c2
If (NOT 5r2c1) then 5r4c1
If (8r4c2 AND 5r4c1) then NOT(8b6p26 OR 5b6p26), i.e. (NOT(8b6p26) AND NOT(5b6p26))
If (NOT(8b6p26) AND NOT(5b6p26)) then (3&4)b6p26

Where does my notation fall short in expressing that logic?

Please don't take this as anything except constructive. I value the contribution that you've made to the discussion.


Of course I don't. I value your input as well. I surely don't claim to be an expert on this subject. I'm just pointing out that there are multiple forces at play here, and some of them may be in conflict with each other.
-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: January 23, 2018

Postby SpAce » Sun Jan 28, 2018 12:10 am

eleven wrote:
SpAce wrote:Yes, but only by looking at the grid and the digit distribution in those cells.

How can you follow any link without looking at the grid, be it a simple strong link or an ALS with or without passenger digits ?


You're right about that, which I guess is a general shortcoming of Eureka. I hate looking at complex ALS jumps exactly because of that reason. However, normal weak links can be verified and followed without looking at the grid, and even most strong links can be easily imagined as long as you trust the chain writer. In here the weak link from r2c23 to r4c2 is quite obscure, imho. Also, what about my question? Would that link be incorrect if there was a 5 in r4c2?
-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: January 23, 2018

Postby SteveG48 » Sun Jan 28, 2018 1:25 am

SpAce wrote:It sure does if you read it as intended.


I don't doubt that. The problem is whether others will understand your intent. I didn't. Beyond that, though, the idea is for the notation to be well enough defined so that intent is always understood.

Let's also look at the bracketed expression itself:

[[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] We have two terms that are ORed. The term (2=8)r4c2 is always true for this puzzle. Likewise the term (5)r2c1 = (5)r4c1, so the bracketed term must always evaluate as Boolean true. Your intent to enhance clarity has left me confused.

I'm not exactly sure if I understand your point. You may be right that if we rewrote the chain using logic gates, there might be problems. I haven't tried that exercise here so I don't know. Anyway, my intention is to imply this:

Code: Select all
(4=83)r2c78 - (3=25)r2c23 - (2=8)r4c2 -------
                          \                  \
                            (5)r2c1 = (5)r4c1 - (8|5=34)b6p26


If (2&5)r2c23 then NOT(2r4c2 OR 5r2c1), i.e. ((NOT 2r4c2) AND (NOT 5r2c1)) according to DeMorgan's theorem.
If (NOT 2r4c2) then 8r4c2
If (NOT 5r2c1) then 5r4c1
If (8r4c2 AND 5r4c1) then NOT(8b6p26 OR 5b6p26), i.e. (NOT(8b6p26) AND NOT(5b6p26))
If (NOT(8b6p26) AND NOT(5b6p26)) then (3&4)b6p26

Where does my notation fall short in expressing that logic?


First, let's look at your intent and compare it to my original formulation: (4=3)r2c78 - (3=25)r2c23 - (5|2)r2c1,r4c2 = (58)r4c12 - (5|8=4)b6p26 .

Your first item is If (2&5)r2c23 then NOT(2r4c2 OR 5r2c1). This is precisely what my chain indicated: (25)r2c23 - (5|2)r2c1,r4c2 Note that the use of the ampersand (&) symbol is generally considered optional. I could have written this as
(2&5)r2c23 - (5|2)r2c1,r4c2 or as (2&5)r2c23 - [(5)r2c1|(2)r4c2], but the meaning is exactly what you intended either way. If both 2 and 5 are true in r2c23 then neither is true in r2c1,r4c2.

Your next items are

If (NOT 2r4c2) then 8r4c2
If (NOT 5r2c1) then 5r4c1. Once again, this is what my chain says. (5|2)r2c1,r4c2 = (58)r4c12 . If neither 5 nor 2 is true in r2c1,r4c2 then both 5 and 8 must be true in r4c12. And so it goes. Your intent corresponds exactly with my chain.

Now let's look at your bracketed term, [[(2=8)r4c2] | [(5)r2c1 = (5)r4c1]] . The problem with viewing this as a container for parallel chains is that we need standardised notation to make intent clear. In standard boolean (and algebraic) notation, brackets and parentheses are used to set order of evaluation. Here, the term (2=8)r4c2 is in brackets and must be evaluated first. It always evaluates true. Likewise (5)r2c1 = (5)r4c1. Then we evaluate the | (OR). With true on both sides, it always evaluates true. As a standard boolean expression, it simply doesn't convey your intent.
Steve
User avatar
SteveG48
2019 Supporter
 
Posts: 4483
Joined: 08 November 2013
Location: Orlando, Florida

PreviousNext

Return to Puzzles