SpAce wrote:I don't think you need two chains either way. The second chain is both available and effective alone in both cases, as far as I see:

biv-chain[4]: r1c7{n4 n9} - b6n9{r6c7 r6c8} - r6n4{c8 c3} - b7n4{r7c3 r7c2} ==> r1c2 ≠ 4; stte

or:

biv-chain-rc[5]: r1c2{n1 n4} - r1c7{n4 n9} - r6c7{n9 n8} - r6c3{n8 n4} - r7c3{n4 n1} ==> r1c3 ≠ 1, r7c2 ≠ 1, r9c2 ≠ 1; stte

Hi SpAce

You're right.

I can't get the alternative paths automatically in CSP-Rules, as the simplest-first strategy is fixed; but I can check afterwards:

- in the 3D case:

- Code: Select all
`(bind ?*simulated-eliminations* (create$ 412))`

(solve "...835.26.3.2.6.782867.4..5.6.923..159348176212.567..36...72.89872.596.43.96482.7")

stte

- in the 2D case:

- Code: Select all
`(bind ?*simulated-eliminations* (create$ 113 172 192))`

(solve "...835.26.3.2.6.782867.4..5.6.923..159348176212.567..36...72.89872.596.43.96482.7")

stte

At any stage, SudoRules always chooses the simplest rule applicable; that's why I call it the simplest-first strategy.

A real player has generally no fixed strategy. He takes whatever comes. If he finds a long chain, he will use it. I don't think, once he has found a solution, he will try to eliminate useless steps. But I understand that, for a few people in this forum, it's a game of itself to do this (and indeed, sometimes, it leads to paths with fewer steps).

Here is a third solution, again with typed-chains, each in a single 2D space. Maximum length is 4.

- Code: Select all
`biv-chain-rc[3]: r1c7{n4 n9} - r6c7{n9 n8} - r6c3{n8 n4} ==> r1c3 ≠ 4`

biv-chain-rn[4]: r4n5{c8 c7} - r7n5{c7 c2} - r7n4{c2 c3} - r6n4{c3 c8} ==> r4c8 ≠ 4

Again, the first chain can be discarded.

As a result,

the puzzle can be solved with biv-chains of maximum length 4 in the rn-space, though it requires length 5 in the rc-space.