.

4 Practical ConsiderationsIn Use GEM was designed for use in a spreadsheet helper which supports various colouring schemes to help identify different patterns. Without colouring a fully graded grid could overload the user with the information available, so for GEM grids the spreadsheet works with a single focus digit at a time. It greys the cells missing the focus digit and in the others it colours the digit's graded instances in different colours for the p' and p" marks. This makes marking the grades for a digit at a time easy, but for back-tracking it's slower as at each change of linking digit the focus digit needs to be changed.

Seed ConjugatesIn a network of conjugately linked par nodes it is always possible to connect two opposite parity nodes with a linear AIC that starts and ends with strong links. So if AIC chains or nets that start with weak links from opposite parity nodes converge to show a candidate must be true or false, it will always be possible to construct chain or net to prove the deduction. As the AICs from the opposite parity par nodes are marked using different pairs of symbols, the direction they followed is known which helps identify the paths back to a pair of par nodes when the linear chain segment between them will complete the elimination chain.

There may be a choice of paths back from a deduction node to either the same par node or to different ones, allowing either the shortest or the simplest one to be notated. The bigger the conjugate net, the more options there will be.

For tough puzzles conjugate links may be scarce but then chains through a single link such as (a'=b") for a strong-only link in an ANS or (a.-b:) for two candidates in a multi-candidate cell with strong external links can be explored. It's therefore sensible to prioritise eliminations that will create new conjugate links to extend the starting net. When it appears no further progress can be made and a scan for patterns fails, it's time to consider what strong links in the puzzle have never been fully used and start mark-ups from those.

Marking Group NodesWhile users must follow the marking rules for single candidate nodes they are free to choose how to mark group node members according to their own needs as they only serve as reminders. In particular, for a candidate that could carry two grades, one from a direct link and the other from a group link, the grade from the direct link should be given priority. Usually one of the other group members will still be group graded and will continue to provide the reminder.

It is recommended that before any group node is marked, the need for it is checked by considering if there would be a more natural way of notating the bridging connection it provides, as there often is.

- Code: Select all
` *----------*----------*----------*`

| - - 1† | 1: 1: 1: | - - - |

| - - - | - - - | 1 - - |

| - 1‡ - | - 1† - | - - - |

*----------*----------*----------*

(1)r1c456 in this grid is a group node that could be par-graded, but there would no benefit from this as (1†)r1c3 ^ (1‡)r3c2 ^ (1†)r3c5 is available. Therefore the node has been sub-graded as these grade marks are stronger and can be used individually to show further links. In other circumstances before deciding how to mark a par group node, if there are multiple instances of the digit in the same house they should be sub-graded with the opposite grade first which should help reach a decision.

If (1)r3c1 existed in the grid then (1)r3c12 could be either graded as (1²) or (1:). If (1:) were used then when notating an elimination chain, the bridge from (1†)r1c3 to (1†)r3c5 should be apparent even if that decision isn't remembered.

- Code: Select all
` *----------*----------*----------*`

| - - 1. | 1; 1; 1; | - - - |

| 1 1 - | - 1. - | 1 1 - |

| 1 1 - | - 1. - | - 1 1 |

*----------*----------*----------*

In this example of an empty rectangle with a super-group node, it is more a matter of personal style to decide how the candidates in the super group (1)r1c456 should be marked. As the bridge between (1.)r1c3 and (1.)r3c5 is easy to see, an experienced user may opt to save time and leave the group node unmarked.

Fortunately, as the members of a sub-graded group node can be considered false either individually or in combination, there is no need for any special marking for sub-graded group nodes.

Branched PathsWhen all the candidates for a digit in a mini-line carry the same sub-grade if net methods are acceptable any strong link from this group can be followed. Otherwise before the link can be used, a check should be made to see if either they all link to the same par- or super-graded candidate, or if a pattern exists that would allow these candidates to be marked together. Such a case has already been illustrated in example 2.

However branched paths can also be followed when different chains have caused all but one of the set of [candidates in a cell] or [instances of a digit in a house] carry the same sub-grade mark so allowing the last one to be super-graded. It can even happen that they all carry the same parity sub-grade which would prove by contradiction that that parity must be the true one.

This makes GEM marking a powerful way to find net-based solutions. For purists who won't use nets, such tell-tale markings will often highlight key target eliminations to make to arrive at a more elegant solution.

Marking OrderThe different ALSs chains away from the par-graded candidates can be graded in any order so it is possible to mark-up the links for individual chains, digits, or box bands that lead an investigation in the chosen direction. However the resultant markings won't always be the same and may depend on the order used. A typical example of this is when two chain legs meet to form a closed loop when the meeting point will depend on the how far along each leg the nodes were previously graded. For elimination chains this can result in different victim candidates being identified when they are equivalent so that if one was eliminated the elimination of the other would follow. In these cases it's possible to adjust the notation to suit the player's preference.

Marking Pattern Based InferencesAs for simpler marking systems, while GEM grading will successfully identify eliminations for chain based patterns, that's as far as it goes. It is up to the user to spot a pattern that provides a non-chain inference that can be used to extend the grade markings, after which GEM will display the outcome. However, to back-track a path through a derived inference, its source must be remembered. So when a marked grid contains several of them it's worth jotting them down on a scratch pad.

These other patterns can either be spotted 'on the fly' as the inferences are being followed or by making a scan for them after the candidates linked by simple chains have been graded. Most common are ANS/AHS combinations in a house where the tell-tale sign to look out for is a floating candidate that must be false in an ANS at one parity; this will allow the external instances of the other floating candidates that see those in the ANS to be marked false at the same parity as they must be true in the ANS.

When an ANS contains exactly two floating candidates it is also qualifies as being AHS and the internal link between them becomes conjugate. When this is recognised it provides a way to extend the net of par graded digits.

| <3> 1†4‡ <7> | 2"4. 2.4.5‡ 68 | 689 1:5†6:9: 1:689 |

In this row (1†4‡)c2 have been par-graded. Cells (245)c45 now hold a par group node for (4) so, as (4) and (5) are conjugate, (5) can be par-graded too.

This sub-grid shows that an eye for chain based patterns is still needed when they exist in their Almost form.

- Code: Select all
` *-------------------*-------------------*-------------------*`

| 234: * * | - 4'7: - | - - 13 |

| - - - | - - - | - - - |

| - - 12 | - - - | * * * |

*-------------------*-------------------*-------------------*

There is an Almost X-Y wing (4)r1c1 = (123)XYWing:r1c19,r3c3 - (1)r1c23,r3c789

As (4:) r1c1 is false at p' it means the (1:) could be marked in the starred cells as at p' it would be eliminated by the wing. The GEM marking rules could only produce these gradings if another chain from the seed candidates enabled a further candidate in r1c1 to be graded, which isn't guaranteed.

Partial and Complete Mark-upsGEM grading can be used either to quickly follow-up individual observations or to systematically follow all the inferences available stemming from a linked set of par-graded candidates.

The partial mark-up approach is useful when a particular weakness has been spotted in a puzzle that has the potential to open it up. In this case there is no point in following inference trails away from this until later when hopefully more paths will be available.

If the systematic approach is taken, initially it will be impossible for the pincers from one set of par candidates to completely cover all the cells and different starting points will produce different clusters grade marks and of possible eliminations - some of which will be insignificant. If a computer is being used then alternative mark-ups can be made, evaluated, and saved before deciding which eliminations to prioritise

*. Having made some eliminations from one of the mark-ups another one can be recalled and the grade marks revised to reflect any changes made. All the other gradings will be unaffected (an advantage of using AICs rather than forcing chains). It is only when the set of par candidates used in a mark-up has been resolved that that mark-up will serve no further purpose.

The earlier examples 1 & 2 illustrated a typical mixed strategy being used where a single digit mark-up for (2) was extended to a complete mark-up once the set of par graded nodes had been extended.

* Obviously, until a candidate marked as a victim is actually eliminated, no inference should be used that depends on its absence.

Computerising GEMClearly it would be possible to utilise the GEM approach in a chain based solver/helper when the limitations regarding grading group nodes in a limited work space could be overcome. However, as the only programming I do nowadays is coding Sudoku worksheet functions, this isn't something that I'm contemplating.

.