## A revival of Broken Wings

Advanced methods and approaches for solving Sudoku puzzles

### A revival of Broken Wings

As you maybe guessed from my posts in the Ultimate FISH Guide, I'm curious if maybe all single digit template exclusions can be explained by some kind of general fish pattern. Since I'm not that ingenius in spotting fish patterns manually (I really envy ronk et al.) I coded an algorithm for this into my solver software. Thanks to the help of rkral on the Programmer's forum after generating 1.000.000 random sudokus, filtering leaves only about 20 puzzles that can be solved with templates but not with any kind of Ultimate Fish patterns (opposed to ~500 for every 10.000 puzzles before I included Ultimate Fish).

Now rkral pointed me to a technique by RodHagglund, called Broken Wing that, when he proposed it about a year ago, didn't receive the attention it deserves. For the first of my fishless template puzzles I could spot a Broken Wing instantaneously:

Code: Select all
`NoFish6.------------.------------.------------.| 1   56  3  | 8   9   7  | 4   2   56 || 25  7   8  | 4   235 6  | 59  39  1  || 9   256 4  | 1   235 25 | 8   7   356|:------------+------------+------------:| 258 4   6  | 25  7   9  | 1   38  35 || 3   25  7  | 6   1   258| 259 89  4  || 258 1   9  | 3   58  4  | 25  6   7  |:------------+------------+------------:| 6   9   2  | 7   4   1  | 3   5   8  || 4   8   5  | 9   6   3  | 7   1   2  || 7   3   1  | 25  258 258| 6   4   9  |'------------'------------'------------'  .  5  . | .  .  . | .  .  5  *5  .  . | . @5  . |*5  .  .   .  5  . | .  5  5 | .  .  5  ---------+---------+--------- *5  .  . | 5  .  . | .  .  5   . *5  . | .  . @5 |*5  .  .  @5  .  . | . -5  . |@5  .  .  ---------+---------+---------  .  .  . | .  .  . | .  .  .   .  .  . | .  .  . | .  .  .   .  .  . | 5  5  5 | .  .  . @ is marking the guardian cells that prevent  an impossible loop of 5 conjugated links`

Since r6c5 directly sees all the guardian cells, the 5 there can be eliminated.
I deem the Broken Wing technique as pattern based as any of the various fishes, so I guess I will try to implement this into my solver, too, to see if this is the missing link to explain all single digit template exclusions.

Or maybe I missed something and there really is some kind of fish hiding in this pattern. If so, I would be glad if someone would give me a hint.
But to make things clear, I'm not interested in any multidigit techniques or contradiction chains that maybe also solving this puzzle.
And I'll be adding some more fishless templates later.
Last edited by Obi-Wahn on Thu Jan 18, 2007 4:51 am, edited 1 time in total.

Obi-Wahn

Posts: 63
Joined: 05 January 2007

Is there a way you can combine c1279 and b1346 to generate your elimination?

Code: Select all
`*--------------------------------------------------*| 1   *56   3    | 8    9    7    | 4    2   *56   ||*25   7    8    | 4    235  6    |*59   39   1    || 9   *256  4    | 1    235  25   | 8    7   *356  ||----------------+----------------+----------------||*258  4    6    | 25   7    9    | 1    38  *35   || 3   *25   7    | 6    1    258  |*259  89   4    ||*258  1    9    | 3    8-5  4    |*25   6    7    ||----------------+----------------+----------------|| 6    9    2    | 7    4    1    | 3    5    8    || 4    8    5    | 9    6    3    | 7    1    2    || 7    3    1    | 25   258  258  | 6    4    9    |*--------------------------------------------------*`

If you assume that [r6c5]=5, then you eventually get to a point where there's a Coloring contradiction. The contradiction only involves cells in c1279 and b1346.

===== ===== ===== ===== alternate approach

Code: Select all
`# Kraken X-Wing c17\r26# (5) ([r4c1]|[r5c7]) => !([r4c9],[r5c2]) => X-Wing c29\r13 => [r2c5] => ![r6c5] *--------------------------------------------------* | 1    56   3    | 8    9    7    | 4    2    56   | |*25   7    8    | 4    235  6    |*59   39   1    | | 9    256  4    | 1    235  25   | 8    7    356  | |----------------+----------------+----------------| |#258  4    6    | 25   7    9    | 1    38   35   | | 3    25   7    | 6    1    258  |#259  89   4    | |*258  1    9    | 3    8-5  4    |*25   6    7    | |----------------+----------------+----------------| | 6    9    2    | 7    4    1    | 3    5    8    | | 4    8    5    | 9    6    3    | 7    1    2    | | 7    3    1    | 25   258  258  | 6    4    9    | *--------------------------------------------------*`
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

Hm, there is a fish pattern in b1346/c1279 but it doesn't yield an exclusion.

BTW, I think I found something Rod didn't think was possible.
RodHagglund wrote:I can't conceive of a way in which the "Broken Wing" guardians can be configured to directly eliminate a candidate unless at least one of the pairings is conjugate, and I think all the ones I have actually found have at least two conjugate pairs

In my first example all five conjugate links are broken by a guardian, two of them (c1, b4) by the same one r6c1.

Meanwhile I found 3 more examples without a fish but with a broken wing:

Code: Select all
`NoFish12.---------------.---------------.---------------.| 246  2346 2345| 7    46   1   | 245  8    9   || 46   9    1   | 456  8    2   | 45   7    3   || 8    7    245 | 45   3    9   | 6    1    245 |:---------------+---------------+---------------:| 1    8    6   | 3    9    5   | 27   4    27  || 3    5    7   | 2    1    4   | 8    9    6   || 9    24   24  | 8    7    6   | 3    5    1   |:---------------+---------------+---------------:| 2467 2346 234 | 1    5    8   | 9    36   47  || 457  36   8   | 9    46   37  | 1    2    457 || 4567 1    9   | 46   2    37  | 457  36   8   |'---------------'---------------'---------------'  4  4  4 | .  4  . | 4  .  .  -4  .  . |@4  .  . | 4  .  .   .  . @4 |*4  .  . | .  . *4  ---------+---------+---------   .  .  . | .  .  . | .  .  .   .  .  . | .  .  . | .  .  .   .  4  4 | .  .  . | .  .  .  ---------+---------+---------   4  4  4 | .  .  . | .  . *4   4  4  . | .  4  . | .  . *4  @4  .  . |*4  .  . |*4  .  . NoFish15.---------------.---------------.---------------.| 25   4    256 | 8    16   7   | 3    9    12  || 8    1    7   | 3    2    9   | 6    5    4   || 3    9    26  | 4    5    16  | 7    12   8   |:---------------+---------------+---------------:| 9    36   4   | 126  8    13  | 5    26   7   || 1256 368  18  | 26   7    356 | 9    4    236 || 256  7    25  | 9    4    356 | 1    8    236 |:---------------+---------------+---------------:| 16   2    9   | 16   3    4   | 8    7    5   || 4    5    3   | 7    9    8   | 2    16   16  || 7    68   18  | 5    16   2   | 4    3    9   |'---------------'---------------'---------------'  .  .  6 | .  6  . | .  .  .   .  .  . | .  .  . | .  .  .   .  .  6 | .  .  6 | .  .  .  ---------+---------+---------   . *6  . |*6  .  . | . @6  .   6 @6  . |@6  .  6 | .  . -6   6  .  . | .  .  6 | .  .  6  ---------+---------+---------   6  .  . |*6  .  . | .  .  .   .  .  . | .  .  . | .  6  6   . *6  . | . *6  . | .  .  . NoFish19.------------------.------------------.------------------.| 79    2     3    | 8     4     1    | 6     5     79   || 1579  8     157  | 567   3     56   | 24    29    479  || 457   45    6    | 57    2     9    | 3     1     8    |:------------------+------------------+------------------:| 8     46    24   | 1     9     26   | 7     3     5    || 15    3     15   | 4     8     7    | 9     6     2    || 26    7     9    | 256   56    3    | 14    8     14   |:------------------+------------------+------------------:| 2456  4569  8    | 3     1     2456 | 25    7     69   || 24567 1     2457 | 2569  56    2456 | 8     29    3    || 3     569   25   | 2569  7     8    | 125   4     169  |'------------------'------------------'------------------'  .  .  . | .  .  . | .  .  .   .  .  . | .  .  . | 2  2  .   .  .  . | .  .  . | .  .  .  ---------+---------+---------   .  . *2 | .  . *2 | .  .  .   .  .  . | .  .  . | .  .  .  *2  .  . | 2  .  . | .  .  .  ---------+---------+---------  *2  .  . | .  . *2 |@2  .  .  @2  .  2 | 2  . @2 | . -2  .   .  .  2 | 2  .  . | 2  .  . `

In all three examples SudoCue gives "a Nishio/Template Check" as the next hint, so I think this gives the existence authorization to the Broken Wing pattern.

And here's another quote from the inventor:
RodHagglund wrote:I’m not at all suggesting that the “broken wing” approach is more powerful than the sum of Turbot Fish linkage patterns taken as a whole

Since turbot fish are a subset of x-cycles and, as Harvard pointed out, x-cycles (even grouped ones) are a subset of ultimate fish, I think it's save for me to say that Broken Wings are indeed more powerful, because my solver wasn't able to spot any fish in these patterns.
But feel free to prove me wrong.

Obi-Wahn

Posts: 63
Joined: 05 January 2007

Obi-Wahn wrote:And here's another quote from the inventor:
RodHagglund wrote:I’m not at all suggesting that the “broken wing” approach is more powerful than the sum of Turbot Fish linkage patterns taken as a whole

Since turbot fish are a subset of x-cycles and, as Harvard pointed out, x-cycles (even grouped ones) are a subset of ultimate fish, I think it's safe for me to say that Broken Wings are indeed more powerful, because my solver wasn't able to spot any fish in these patterns.
But feel free to prove me wrong.

If you implement a broken wing technique and disable your ultimate fish technique -- with the techniques hierarchially adjacent -- it will be possible to test your conjecture.

In the mean time, I hope you continue to post puzzles here -- puzzles which have a Nishio/Template exclusion not also performed by ultimate fish.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

I think I was a little bit too enthusiastic. Of course I didn't want to imply that the broken wing can explain everything that ultimate fish can. Both techniques only partially overlap and there seem to be a few cases where broken wing works and ultimate fish doesn't but there are for sure many more cases the other way round.

But as promised, here are some more of the puzzles that are single digit template solvable but don't show a fish or a broken wing yet (at least not to me):

Code: Select all
`NoFish7.------------------.------------------.------------------.| 123   8     57   | 6     4     125  | 9     12    237  || 6     12    57   | 358   9     1258 | 157   4     2378 || 123   9     4    | 1358  12358 7    | 15    6     238  |:------------------+------------------+------------------:| 7     15    9    | 158   158   6    | 2     3     4    || 8     25    3    | 9     25    4    | 6     7     1    || 4     6     12   | 12    7     3    | 8     9     5    |:------------------+------------------+------------------:| 12    7     8    | 4     6     125  | 3     125   9    || 5     4     12   | 1237  13    9    | 17    8     6    || 9     3     6    | 1578  1258  1258 | 4     125   27   |'------------------'------------------'------------------'  1  .  . | .  .  1 | .  1  .   .  1  . | .  .  1 | 1  .  .   1  .  . | 1  1  . | 1  .  .  ---------+---------+---------   .  1  . | 1  1  . | .  .  .   .  .  . | .  .  . | .  .  .   .  .  1 | 1  .  . | .  .  .  ---------+---------+---------   1  .  . | .  .  1 | .  1  .   .  .  1 | 1  1  . | 1  .  .   .  .  . |-1  1  1 | .  1  .   2  .  . | .  .  2 | . -2  2   .  2  . | .  .  2 | .  .  2   2  .  . | .  2  . | .  .  2  ---------+---------+---------   .  .  . | .  .  . | .  .  .   .  2  . | .  2  . | .  .  .   .  .  2 | 2  .  . | .  .  .  ---------+---------+---------   2  .  . | .  .  2 | .  2  .   .  .  2 | 2  .  . | .  .  .   .  .  . | .  2  2 | .  2 -2 NoFish8.------------------.------------------.------------------.| 14    9     8    | 247   247   5    | 3     12    6    || 15    7     6    | 289   3     289  | 4     59    12   || 345   345   2    | 1     46    69   | 7     59    8    |:------------------+------------------+------------------:| 8     234   1    | 5     24    7    | 9     6     23   || 2349  6     5    | 2349  1     239  | 28    238   7    || 239   23    7    | 23689 268   23689| 1     4     5    |:------------------+------------------+------------------:| 7     1     4    | 2368  5     2368 | 268   238   9    || 25    258   9    | 23678 2678  4    | 268   1238  13   || 6     28    3    | 28    9     1    | 5     7     4    |'------------------'------------------'------------------'  .  .  . | 2  2  . | .  2  .   .  .  . | 2  .  2 | .  .  2   .  .  . | .  .  . | .  .  .  ---------+---------+---------   .  2  . | .  2  . | .  .  2   2  .  . | 2  .  2 | 2  2  .   2 -2  . | 2  2  2 | .  .  .  ---------+---------+---------   .  .  . | 2  .  2 | 2  2  .   2  2  . | 2  2  . | 2  2  .   .  2  . | 2  .  . | .  .  . NoFish9.------------------.------------------.------------------.| 6789  16789 679  | 5     4     78   | 178   3     2    || 34    178   34   | 178   6     2    | 9     178   5    || 78    2     5    | 178   9     3    | 4     6     178  |:------------------+------------------+------------------:| 5     67    1    | 3     8     9    | 2     4     67   || 389   4     39   | 2     7     6    | 18    5     138  || 2     678   367  | 4     1     5    | 678   9     3678 |:------------------+------------------+------------------:| 1467  3     467  | 9     2     478  | 5     178   1678 || 679   79    2    | 678   5     1    | 3     78    4    || 1467  5     8    | 67    3     47   | 167   2     9    |'------------------'------------------'------------------'  7  7  7 | .  .  7 | 7  .  .   .  7  . | 7  .  . | .  7  .   7  .  . | 7  .  . | .  .  7  ---------+---------+---------   .  7  . | .  .  . | .  .  7   .  .  . | .  .  . | .  .  .   .  7  7 | .  .  . | 7  .  7  ---------+---------+---------   7  .  7 | .  .  7 | .  7  7   7  7  . | 7  .  . | .  7  .   7  .  . |-7  .  7 | 7  .  . NoFish10.------------------.------------------.------------------.| 678   2     78   | 468   1     9    | 3     47    5    || 5678  578   9    | 2     3     468  | 68    47    1    || 1     3     4    | 7     568   568  | 689   2     69   |:------------------+------------------+------------------:| 2789  789   278  | 5     4     78   | 1     6     3    || 3     4     6    | 9     2     1    | 7     5     8    || 78    1     5    | 68    678   3    | 2     9     4    |:------------------+------------------+------------------:| 24    579   3    | 1     567   24   | 569   8     679  || 25789 6     278  | 3     578   2578 | 4     1     79   || 4578  578   1    | 468   9     45678| 56    3     2    |'------------------'------------------'------------------'  8  .  8 | 8  .  . | .  .  .   8  8  . | .  .  8 | 8  .  .   .  .  . | .  8  8 | 8  .  .  ---------+---------+---------   8  8  8 | .  . -8 | .  .  .   .  .  . | .  .  . | .  .  .  -8  .  . | 8  8  . | .  .  .  ---------+---------+---------   .  .  . | .  .  . | .  .  .   8  .  8 | .  8  8 | .  .  .   8  8  . | 8  .  8 | .  .  . NoFish11.------------------.------------------.------------------.| 248   3     25   | 48    9     458  | 1     6     7    || 578   578   9    | 6     578   1    | 3     4     2    || 467   467   1    | 2     47    3    | 9     8     5    |:------------------+------------------+------------------:| 24678 4678  3    | 478   248   9    | 5     1     68   || 2678  5678  25   | 3     1     27   | 46    9     468  || 1     9     48   | 5     6     48   | 7     2     3    |:------------------+------------------+------------------:| 3     458   6    | 19    458   458  | 2     7     19   || 459   1     7    | 49    245   26   | 8     3     469  || 489   2     48   | 14789 3     67   | 46    5     1469 |'------------------'------------------'------------------' -4  .  . | 4  .  4 | .  .  .   .  .  . | .  .  . | .  .  .   4  4  . | . -4  . | .  .  .  ---------+---------+---------   4  4  . | 4  4  . | .  .  .   .  .  . | .  .  . | 4  .  4   .  .  4 | .  .  4 | .  .  .  ---------+---------+---------   .  4  . | .  4  4 | .  .  .   4  .  . | 4  4  . | .  .  4   4  .  4 | 4  .  . | 4  .  4  -8  .  . | 8  .  8 | .  .  .   8  8  . | . -8  . | .  .  .   .  .  . | .  .  . | .  .  .  ---------+---------+---------   8  8  . | 8  8  . | .  .  8   8  8  . | .  .  . | .  .  8   .  .  8 | .  .  8 | .  .  .  ---------+---------+---------   .  8  . | .  8  8 | .  .  .   .  .  . | .  .  . | .  .  .   8  .  8 | 8  .  . | .  .  . `

I hope that makes up for spoiling your fun in manually fishing, Ron. ;-)

Obi-Wahn

Posts: 63
Joined: 05 January 2007

Obi-Wahn wrote:here are some more of the puzzles that are single digit template solvable but don't show a fish or a broken wing yet (at least not to me):

Thanks for the additional puzzles. So you're doing broken wing manually at this time

I hope that makes up for spoiling your fun in manually fishing, Ron. ;-)

I appreciate your concern, but it was just a matter of time before someone programmed an ultimate fish algorithm anyway. And since we see many things the same way, I'm actually glad it was you.

 Would you consider adding the original puzzles -- in line format -- to future posts? Both formats below are seen in this forum.
Code: Select all
`.2...1...3...7..2...823...9..9..8..4.8.....6.4..9..3..8...974...6..1...8...6...7.020001000300070020008230009009008004080000060400900300800097400060010008000600070`

Personally, I prefer the former but both are used about equally.[/edit]

TIA, Ron
Last edited by ronk on Thu Jan 18, 2007 9:47 am, edited 1 time in total.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

ronk wrote:So you're doing broken wing manually at this time

Actually, yes. I'm not that fast. It was only yesterday evening when I decided to study the broken wing technique and I ran out of coffee, so ...

Obi-Wahn

Posts: 63
Joined: 05 January 2007

### Re: A revival of Broken Wings

Code: Select all
`NoFish6.------------.------------.------------.| 1   56  3  | 8   9   7  | 4   2   56 || 25  7   8  | 4   235 6  | 59  39  1  || 9   256 4  | 1   235 25 | 8   7   356|:------------+------------+------------:| 258 4   6  | 25  7   9  | 1   38  35 || 3   25  7  | 6   1   258| 259 89  4  || 258 1   9  | 3   58  4  | 25  6   7  |:------------+------------+------------:| 6   9   2  | 7   4   1  | 3   5   8  || 4   8   5  | 9   6   3  | 7   1   2  || 7   3   1  | 25  258 258| 6   4   9  |'------------'------------'------------'  . a5  . | .  .  . | .  . a5  X5  .  . | . b5  . |X5  .  .   . a5  . | . B5 B5 | .  . a5  ---------+---------+--------- x5  .  . | 5  .  . | .  . A5   . A5  . | .  .  5 |x5  .  .  X5  .  . | . -5  . |X5  .  .  ---------+---------+---------  .  .  . | .  .  . | .  .  .   .  .  . | .  .  . | .  .  .   .  .  . | 5  5  5 | .  .  . `

I like this one...
X = x - A = a - B = b

(5)r26/c17 = (5)r4c1|r5c7 - (5)r4c9|r5c2 = (5)c29/r13 - (5)r3c56 = (5)r2c5 => r6c5 <> 5

Certainly not any easier than the broken wing deduction, though.
Myth Jellies

Posts: 593
Joined: 19 September 2005

[withdrawn]
Last edited by daj95376 on Thu Jan 18, 2007 3:36 pm, edited 1 time in total.
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

[withdrawn]
Last edited by daj95376 on Thu Jan 18, 2007 3:36 pm, edited 2 times in total.
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

[withdrawn]
Last edited by daj95376 on Thu Jan 18, 2007 3:37 pm, edited 2 times in total.
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

Obi-Wahn wrote:here are some more of the puzzles that are single digit template solvable but don't show a fish or a broken wing yet (at least not to me)

I was able to find four broken wings -- that use a strong inference for a "remote guardian" -- in three of the puzzles, with two broken wings in NoFish11. Doing a little cut and paste on the style of rkral here:

Code: Select all
`NoFish7 2  .  . | .  . G2 | . -2  2 . *2  . | .  . *2 | .  . G2 2  .  . | . *2  . | .  .  2---------+---------+--------- .  .  . | .  .  . | .  .  . . *2  . | . *2  . | .  .  . .  .  2 | 2  .  . | .  .  .---------+---------+--------- 2  .  . | .  .  2 | .  2  . .  .  2 | 2  .  . | .  .  . .  .  . | . G2  2 | .  2  2`

If all the guardian cells ('G')were false, we would have a turbot fish ('*')with five conjugate links -- an impossibility. Hence, at least one of the guardian cells must be true. Except for r9c5, r1c8 sees all the guardians. But r1c8 indirectly sees r9c5 via the empty rectangle in b9. Therefore r1c8<>2.

Code: Select all
`NoFish10G8  . *8 |*8  .  . | .  .  .G8 *8  . | .  .  8 | 8  .  . .  .  . | .  8  8 | 8  .  .---------+---------+--------- 8 G8  8 | .  .  8 | .  .  . .  .  . | .  .  . | .  .  .-8  .  . |G8  8  . | .  .  .---------+---------+--------- .  .  . | .  .  . | .  .  . 8  .  8 | .  8  8 | .  .  .G8 *8  . |*8  . G8 | .  .  .`

If all the guardian cells ('G')were false, we would have a turbot fish ('*')with five conjugate links -- an impossibility. Hence, at least one of the guardian cells must be true. Except for r9c6, r6c1 sees all the guardians. But r6c1 indirectly sees r9c6 via the empty rectangle in b5. Therefore r6c1<>8.

Code: Select all
`NoFish11 4  .  . | 4  . G4 | .  .  . .  .  . | .  .  . | .  .  . 4 G4  . | . -4  . | .  .  .---------+---------+---------G4 *4  . |*4 G4  . | .  .  . .  .  . | .  .  . | 4  .  4 .  .  4 | .  . *4 | .  .  .---------+---------+--------- . *4  . | . G4 *4 | .  .  . 4  .  . | 4  4  . | .  .  4 4  .  4 | 4  .  . | 4  .  4`

If all the guardian cells ('G')were false, we would have a turbot fish ('*')with five conjugate links -- an impossibility. Hence, at least one of the guardian cells must be true. Except for r4c1, r3c5 sees all the guardians. But r3c5 indirectly sees r4c1 via the empty rectangle in b1. Therefore r3c5<>4.

Code: Select all
`NoFish11 8  .  . | 8  . G8 | .  .  . 8  8  . | . -8  . | .  .  . .  .  . | .  .  . | .  .  .---------+---------+--------- 8  8  . | 8  8  . | .  .  8 8  8  . | .  .  . | .  .  8 .  . *8 | .  . *8 | .  .  .---------+---------+--------- .  8  . | . G8 *8 | .  .  . .  .  . | .  .  . | .  .  .G8  . *8 |*8  .  . | .  .  .`

If all the guardian cells ('G')were false, we would have a turbot fish ('*')with five conjugate links -- an impossibility. Hence, at least one of the guardian cells must be true. Except for r9c1, r2c5 sees all the guardians. But r2c5 indirectly sees r9c1 via the empty rectangle in b1. Therefore r2c5<>8.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

ronk wrote:Would you consider adding the original puzzles -- in line format -- to future posts?

Here's the complete list of all puzzles of this kind I found so far.
They are all minimal puzzles so you have to go through a lot of basic eliminations and even some ultimate fish to arrive at the point of the template check. I have replaced #2 and #4 which actually were solvable with some kind of fish pattern, so the other numbers are the same as in my previous posts.

Code: Select all
`........29.2.....4.6.3..98..1...8.6....13.....3...74....8......6..24.31.....7...5....1.85.87.....32..............7......82...7..96.4..8..59...7.4.....1.6....8.52...5....7.1......6..43...2....6..2..53...7...........2..5.8...9....9.48....7.26.3...72....62...4..758.....1..1.4.6.8...2.8....3.....9....3...4..14..6..2.....7.......4..8......2..1.....5.134.9.....8.64.8...71.751.....383...4........6..75.7......1......2...84.6..1..4....7.....79...3.761...4.........69...1.58.8....7...31.....9.8.64........9..4......7.....9..62.........7.46..73..5.784....95....9.86.3.........8..53.6.7..3......21.....8..5......6......7..7...14.71......9..9..4...6...9.574...54..3.....6.9...25....6.5.1..92...4..76.5....4...9..3.9.......2..1..4..8.3.....2..1...5..9......1347........54......6...7.8.15..3.9....1......6.3..41.....9...2.3..9.1.7..96..3....12...8......95.....31.......56.723..6.......17...8...2..3..5....7....9.9...2.7.....3.61.1......4.3.7..48..9....63......589....89...2..1........9......481......7..648....3..7.......9..61.....8..9...5.1....8...6.751.2........5...4.2...1..2.7....21......7..1...62...3...4..6....7...4.7.69.3.........9.3.1..2...8.7....1.3..6.....45...89.4.....7.............4.1...2.....7.453......7....2.39.1.53.4..4.5.....38.........3......95...86.4....4...........6....81...921.6.4.3.53........6.1.8..43...14...68...7.1..2..4.9..7.7.....2.1...927......5..8..2.......1.........48.9....7..5..2...5..219.4.6.94.5....9.3..8.9....48.........6..7......5.2....65.....3......6.29..88.......5...4...62.79..3.....831..7..........3...78.4.....97.5.1.......9....2.1.4..34.8....8...2...9...7..2.....4.7......6..48.29..36.........39.5....6....68...4129.5.3.7...5..74....1.......7.16..9.6...85...1........`

Obi-Wahn

Posts: 63
Joined: 05 January 2007

[Withdrawn]
Last edited by daj95376 on Sat Jan 20, 2007 4:50 pm, edited 1 time in total.
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

Perhaps now that we have gotten used to avoiding deadly patterns using URs, we will be a little more comfortable avoiding the deadly pattern represented by the broken wing.

Code: Select all
`NoFish7 .------------------.------------------.------------------. | 123   8     57   | 6     4     125  | 9     12    237  | | 6     12    57   | 358   9     1258 | 157   4     2378 | | 123   9     4    | 1358  12358 7    | 15    6     238  | :------------------+------------------+------------------: | 7     15    9    | 158   158   6    | 2     3     4    | | 8     25    3    | 9     25    4    | 6     7     1    | | 4     6     12   | 12    7     3    | 8     9     5    | :------------------+------------------+------------------: | 12    7     8    | 4     6     125  | 3     125   9    | | 5     4     12   | 1237  13    9    | 17    8     6    | | 9     3     6    | 1578  1258  1258 | 4     125   27   | '------------------'------------------'------------------'  a1  .  . | .  . a1 | . a1  .   . b1  . | .  . A1 | 1  .  .  A1  .  . | 1  1  . | 1  .  .  ---------+---------+---------   . B1  . | 1  1  . | .  .  .   .  .  . | .  .  . | .  .  .   .  . b1 |B1  .  . | .  .  .  ---------+---------+---------  a1  .  . | .  . a1 | . a1  .   .  .  1 | 1  1  . | 1  .  .  a.  .  . |-1  1 a1 | . a1  . `
This is a simple kracken type of chain...
(1)r179/c168 = (1)r2c6|r3c1 - (1)r2c2 = (1)r4c2 - (1)r6c3 = (1)r6c4

Code: Select all
` a2  .  . | .  .  2 | . -2  2   . X2  . | .  .  2 | .  .  2  X2  .  . | . X2  . | .  . a2  ---------+---------+---------   .  .  . | .  .  . | .  .  .   . X2  . | . X2  . | .  .  .   .  .  2 | 2  .  . | .  .  .  ---------+---------+---------   2  .  . | .  .  2 | . B2  .   .  .  2 | 2  .  . | .  .  .   .  .  . | . A2  2 | . b2b-2 `
I have noticed that these broken wings are examples of impossible swordfish groups. When this is true, you have a few options. You can assume one of the cells outside the group sharing a row with the group is true; you can do the same for columns; or you can assume one of the candidates outside the fish group breaking the odd loop of conjugates is true. The last seems to be the most efficient way for these (often the only way). Of course if we know one of a set of candidates must be true, we can group them and form a strong link. Thus we have...

(2)r235/c125 is FALSE => (2)r1c1|r3c9 = (2)r9c5 - (2)r9c89 = (2)r7c8 => r1c8 <> 2.

Code: Select all
`NoFish8 .------------------.------------------.------------------. | 14    9     8    | 247   247   5    | 3     12    6    | | 15    7     6    | 289   3     289  | 4     59    12   | | 345   345   2    | 1     46    69   | 7     59    8    | :------------------+------------------+------------------: | 8     234   1    | 5     24    7    | 9     6     23   | | 2349  6     5    | 2349  1     239  | 28    238   7    | | 239   23    7    | 23689 268   23689| 1     4     5    | :------------------+------------------+------------------: | 7     1     4    | 2368  5     2368 | 268   238   9    | | 25    258   9    | 23678 2678  4    | 268   1238  13   | | 6     28    3    | 28    9     1    | 5     7     4    | '------------------'------------------'------------------'   .  .  . |A2 X2  . | . X2  .   .  .  . | 2  .  2 | .  . X2   .  .  . | .  .  . | .  .  .  ---------+---------+---------   . a2  . | . X2  . | .  . X2   2  .  . | 2  .  2 | 2  2  .   2 -2  . | 2 a2  2 | .  .  .  ---------+---------+---------   .  .  . | 2  .  2 | 2  2  .   2  2  . | 2 A2  . | 2  2  .   . B2  . |b2  .  . | .  .  . `

(2)r124/c589 is FALSE => (2)r4c2|r6c5 = (2)r1c4|r8c5 - (2)r9c4 = (2)r9c2

Code: Select all
`NoFish9 .------------------.------------------.------------------. | 6789  16789 679  | 5     4     78   | 178   3     2    | | 34    178   34   | 178   6     2    | 9     178   5    | | 78    2     5    | 178   9     3    | 4     6     178  | :------------------+------------------+------------------: | 5     67    1    | 3     8     9    | 2     4     67   | | 389   4     39   | 2     7     6    | 18    5     138  | | 2     678   367  | 4     1     5    | 678   9     3678 | :------------------+------------------+------------------: | 1467  3     467  | 9     2     478  | 5     178   1678 | | 679   79    2    | 678   5     1    | 3     78    4    | | 1467  5     8    | 67    3     47   | 167   2     9    | '------------------'------------------'------------------'  C7 c7 C7B'| .  .da7 |a7  .  .   . c7  .  |D7  .  . | .  7  .  c7  .  .B'|D7  .  . | .  .  7B' ----------+---------+---------   . B7  .  | .  .  . | .  . b7b'  .  .  .  | .  .  . | .  .  .   .  7  7b'| .  .  . |A7  .  7b' ----------+---------+---------   7  .  7B'| .  . a7 | .  7  7B'  7  7  .  | 7  .  . | .  7  .   7  .  .  |-7  . a7 |a7  .  . `
This one is ugly. Perhaps someone else can find something better. It does highlight a neat little trick though. Note that when you have multiple elements strongly linked, it doesn't matter if you move one of them from one side of the strong link to the other. Thus in my opening link I have one of the candidates that escape an X-wing on the same side as the X-wing. I repeat this trick in the latter branch as well.
Code: Select all
`                    ------ r4c9 = r4c2 ------                   /                         \r19/c67|r7c6 = r6c7                           r12c2|r3c1 = r1c13 - r1c6 = r23c4                   \                         /                    r4c9|r6c29 = r1c3|r37/c39`

One of the endpoints must be true, so r9c4 <> 7

Code: Select all
`NoFish10 .------------------.------------------.------------------. | 678   2     78   | 468   1     9    | 3     47    5    | | 5678  578   9    | 2     3     468  | 68    47    1    | | 1     3     4    | 7     568   568  | 689   2     69   | :------------------+------------------+------------------: | 2789  789   278  | 5     4     78   | 1     6     3    | | 3     4     6    | 9     2     1    | 7     5     8    | | 78    1     5    | 68    678   3    | 2     9     4    | :------------------+------------------+------------------: | 24    579   3    | 1     567   24   | 569   8     679  | | 25789 6     278  | 3     578   2578 | 4     1     79   | | 4578  578   1    | 468   9     45678| 56    3     2    | '------------------'------------------'------------------'  a8  . X8 |X8  .  . | .  .  .   8  8  . | .  . A8 | 8  .  .   .  .  . | . X8 A8 | 8  .  .  ---------+---------+---------  B8 B8 B8a| .  . -8b| .  .  .   .  .  . | .  .  . | .  .  .  -8  .  . | 8 a8  . | .  .  .  ---------+---------+---------   .  .  . | .  .  . | .  .  .  a8  . X8 | . X8 A8 | .  .  .   8  8  . | 8  .  8 | .  .  . `

(8)r138/c345 is FALSE => (8)r18c1|r4c3|r6c5 = (8)r238c6 - (8)r4c6 = (8)r4c123 => r6c1 <> 8

Code: Select all
`NoFish11 .------------------.------------------.------------------. | 248   3     25   | 48    9     458  | 1     6     7    | | 578   578   9    | 6     578   1    | 3     4     2    | | 467   467   1    | 2     47    3    | 9     8     5    | :------------------+------------------+------------------: | 24678 4678  3    | 478   248   9    | 5     1     68   | | 2678  5678  25   | 3     1     27   | 46    9     468  | | 1     9     48   | 5     6     48   | 7     2     3    | :------------------+------------------+------------------: | 3     458   6    | 19    458   458  | 2     7     19   | | 459   1     7    | 49    245   26   | 8     3     469  | | 489   2     48   | 14789 3     67   | 46    5     1469 | '------------------'------------------'------------------'  -4  .  . |B4  .aB4 | .  .  .   .  .  . | .  .  . | .  .  .   4 a4  . | .b-4  . | .  .  .  ---------+---------+---------  a4 X4  . |X4 A4  . | .  .  .   .  .  . | .  .  . | 4  .  4   .  .  4 | .  . X4 | .  .  .  ---------+---------+---------   . X4  . | . A4 X4 | .  .  .   4  .  . | 4  4  . | .  .  4   4  .  4 | 4  .  . | 4  .  4 `
(4)r467/c246 is FALSE => (4)r1c6|r3c2|r4c1 = (4)r47c5 - (4)r3c5 = (4)r1c46 => r1c1 <> 4

Code: Select all
`b-8  .  . | 8  . a8 | .  .  .  b8 B8  . | . -8  . | .  .  .   .  .  . | .  .  . | .  .  .  ---------+---------+---------   8  8  . | 8  8  . | .  .  8   8  8  . | .  .  . | .  .  8   .  . X8 | .  . X8 | .  .  .  ---------+---------+---------   .  8  . | . a8 X8 | .  .  .   .  .  . | .  .  . | .  .  .  A8  . X8 |X8  .  . | .  .  . `
(8)r679/c346 is FALSE => (8)r1c6|r7c5 = (8)r9c1 - (8)r12c1 = (8)r2c2 => r2c5 <> 8

Some notes: The broken wing cases here reduced to a broken swordfish with only 2 candidates in the box where 4 are possible. You could also have a broken swordfish with 3 candidates in that box, and perhaps similar reductions. Also this could possibly be expanded to a broken jellyfish or other constraint group.

[edit - fixed a missing candidate in NoFish 10]
Last edited by Myth Jellies on Fri Jan 19, 2007 7:02 pm, edited 2 times in total.
Myth Jellies

Posts: 593
Joined: 19 September 2005

Next