Classics Collection

Classics Collection: Slitherlink

It is time for another round in our puzzle series “Classics Collection”. For the eighth group I selected Slitherlink, which I believe is quite suitable for the purpose of this blog. It is a very basic puzzle type, with rules that are easy to grasp. Also, like some other puzzle types in this series, there are hardly any obstructions for designing Slitherlink puzzles; they are very flexible in size and difficulty, and there are no global structural requirements which a puzzle author needs to know.

The puzzle type has one major flaw, which is its German designation. The German name “Rundweg” essentially just means “loop”, which is unsatisfying for obvious reasons. I wish we could popularize the puzzle under a different name now, but I have no idea how to achieve that. I guess we will forever be stuck in a place where we must carefully clarify each time we use the term “Rundweg” whether we mean this particular puzzle type or a general loop-based style.

As a side note, Slitherlink has spawned variants like few other puzzle styles. The German Puzzle Wiki and Ryotaro Chiba’s Unofficial WPC Wiki contain a lot of variants, and other puzzle websites (like the GM Puzzles Blog frequently feature Slitherlink variants. However, since one of the ideas of my blog is to provide an introduction for inexperienced solvers, I have decided to stick to the basic puzzle style for the time being. Anyway, here is the new set: Slitherlink

Rules: Draw a closed loop along the dashed lines that uses each grid point at most once. The numbers indicate how many edges of the respective cells are part of the loop.

Example and solution:

As usual, you will find some solving techniques below (this time a rather lengthy account, I am afraid), but first a few words on notation. Clearly, when you have found a loop segment, you draw it. It is not quite clear how far one should go when checking unused edges; doing it consistently throughout the grid consumes way too much time. On the other hand, it can certainly help to mark unused edge in some selected spots in order to find the next logical solving step. There is also one “advanced” solving technique for which an extended notation can be helpful, although in reality I could not get used to a fixed notation in this regard myself (see below).

Now, where to begin. It turns out that most solving techniques for Slitherlinks are specific clue constellations, but it is just impossible to present them all because basically it is a never-ending list. Some of them work straight away, others require preliminary work (for example the location of a few unused edges from other clues). Simply put, one has to find the most informative clue combinations, and the knowledge which combinations are informative comes with experience.

0’s are a good place to check off unused edges – in fact this is all they are good for, but since this is definitive progress, it should not be discounted. On the other hand, 3’s need many line segments, so they are also a good place to start. However, a single clue is rarely enough to find loop segments that must be part of a loop (there are exceptions), hence one should look out for regions with many clues.

One example for a clue combination that gets us started is a 3 adjacent to a 0, as in R3C5/R4C5 in Slitherlink 1 from the PDF file. The 0 rules out the shared edge between the two clues, so the other three segments must be used. In general, if there is a clue cell with just as many edges left as the number indicates (with the other edges eliminated by earlier solving steps), one can draw all the respective line segments.

Every piece of the loop that one has located gives new information. For example, if a vertex already belongs to two line segments, the remaining edges connected to it cannot be used as well. For instance, the two vertical edges above the 3 clue we just exploited cannot be part of the loop.

On the other hand, if a vertex has only one loop segment (i.e. an open end), there must of course be a continuation. And sometimes, as in our case, there is only one way left; since the loop cannot continue South because of the 0, we can add two horizontal segments away from the 3/0 frontier. Extending open ends is generally a crucial part of Slitherlinks.

The stuff from the previous two paragraphs happens frequently over the course of the solving path, so it is worth keeping an eye out for places where one has already made some progress, for clues nearby, etc. It often turns out that, in the early stages of a Slitherlink, one has a lot of open ends to work with, and in fact quite often the difficulty in Slitherlink puzzles lies in the search for the next step between all those open ends.

The next easy clue constellation one should definitely know consists of two adjacent 3’s (when I say “adjacent”, I always mean horizontally or vertically neighboring cells), like in the bottom row of Slitherlink 2. Without using the “inner” edge of this constellation one would be forced to add the outer six segments, yielding a closed loop. Since Slitherlinks are typically larger, this constitutes an immediate contradiction.

It does not end here. Without the vertical edge between R6C3 and R6C4, one would have to use the other three edges around R6C4. But this would eliminate two edges for the other clue, again leading to a contradiction. The same applies to the edge between R6C5 and R6C6. Therefore, all three vertical edges must be used by the loop.

Furthermore, any outer edges from the “frontier points” (like the edge between R5C4 and R5C5) cannot be used – try it. It turns out that a pair of 3’s in adjacent cells allows only two possible S-shaped paths. Of course, the same logic works for a vertical 3/3 constellation.

A diagonal 3/3 constellation (as in the Slitherlinks 2 through 5) is almost equally useful. One can deduce that the outer four segments must be used by the loop in such a constellation; otherwise, the path around one of the clues would lead to a contradiction for the other. Again, try it. Actually, there is some more elaborate logic behind diagonal clue chains; we will get back to this later.

Another point of interest are so-called dead ends. Sometimes there are not enough edges left for the loop to enter and leave a certain part of the grid. The simplest case is a clue of 0 near the boundary of the grid. Look at the top-left corner cell in Slitherlink 1, for example. The edge to the left of R2C1 cannot be used, because the upper of the two vertices constitutes a dead end (consisting of a single point). The same applies to the edge above row R1C2. Dead ends also occur at later stages in the center of the grid, so one should know to look for them.

When there are adjacent clues near the boundary, there is a good chance they can be exploited. Using the “dead end” argument for the corner cell in Slitherlink 2, only two of the edges around the clue in R2C6 are left for business, so this clue can be exploited immediately, and the 3 below it as well.

Grid corners are even better; they introduce a new solving concept which I will call “connected groups”. You see, the two outer edges of a corner cell can only be used in combination, otherwise one would be left with an open end with nowhere to go. In particular, if the corner cell contains a clue of 3, both segments must be part of the loop; if the clue is a 1, neither of them can be used.

Connected groups do not only occur in corners, though. If some edges of a clue cell have already been eliminated by earlier steps, the remaining edges can form new such groups. A very simple occurrence would be a clue of 0 which creates something like an artificial new corner for all diagonal adjacent cells. That is why one can draw two loop segments in a diagonal 0/3 constellation (see Slitherlink 1/5/6), and one can eliminate further edges in a diagonal 0/1 constellation – this also comes up in several puzzles of the set.

By now it seems that 1’s and 2’s yield less information than 0’s and 3’s, and it is true that the intermediate clues are often not useful as starting points. But this is only a very general statement; there are cases where one can work with 1’s and 2’s right away.

For instance, with reference to the previous “connected group” technique, something funny happens when a corner cell contains a 2. The loop can either pass through the outer edges (in which case the inner edges are eliminated), or it can avoid them (in which case both inner edges must be used by the loop). Either way, we will obtain open ends on two of its vertices. And in both cases the same outer edges of the adjacent cells must be part of the loop (e.g. the edge above R1C2 and left of R2C1 in Slitherlink 4) – make sure you understand this reasoning.

Which of the two paths is the correct one can only be resolved by other clues. I designed Slitherlink 4 specifially to emphasize this technique; it has three corner cells containing clues of 2, and in each case, the correct path can be found using the clues nearby. (Note that the fourth corner in that same puzzle contains a 3/3 combination, and the ambiguity of this constellation is also resolved for a corner cell.)

There are many more clue constellations which are informative enough to serve as starting points, and as mentioned above, it is impossible to list them all here. Some of them yield only a single segment, but even that can be useful. For instance, a 3/1 combination on the boundary of the grid forces the outer edge of the cell with the 3 to be part of the loop. In time, when one gets used to the puzzle type, one memorizes more and more of these constellations.

Let us discuss diagonal clue combinations some more. Some of the arguments regarding connected groups near corners have the potential to reproduce along a chain of clues, for example a 0/2/2/… combination or something similar. It turns out, though, that this is only the tip of the iceberg. A great deal of information can travel along diagonal clue sequences, and it is often a good idea to have a closer look.

Suppose we fix a clue cell, and let us assume we have some further information for one of the diagonally neighboring cells (say, the Northwest vertex and the touching cell in this direction). We have already seen that, if that touching cell contains a clue of 0, we get a connected group. But in fact, same holds for our clue cell if we only know that the two corresponding edges on the other side of the vertex in question form a connected group already.

There is actually nothing deep behind this. If both these outer edges are part of the loop, neither of the two respective inner edges of our clue cell can be used. On the other hand, if neither of the two outer edges is used, the effect is the same as with a clue of 0 in the neighboring cell: we can pass through the corner or not, but if we do, it only works for the respective edges in combination.

Now suppose instead that we know (from other solving steps outside our corrent view) that exactly one of the two outer edges is used. In other words, the vertex we have been looking at constitutes an open end. This means, exactly one of the inner edges must be used as well. It seems we do not get anywhere from this, since we obtain several possibilities on either side of the vertex; however, this piece of information can yield used or unused segments depending on what clue we have.

Let us fix some notation. If we have such an open end as described in the previous paragraph, let us say that “the loop walks into our clue (cell)”. If both outer edges are already part of the loop, we say instead that “the loop cuts into our clue”. And it makes sense to say that the loop “avoids” our clue (from that direction, at least) if neither of the outer edges is used.

If the clue of our focus is a 3, it should not come as a surprise that we get of lot of information. If the loop avoids the vertex from the outside, we must use both inner edges (North and West) because of the connected group. Also, one of the two remaining edges must be used, so we obtain an open end in the Southeast vertex, with consequences for the next diagonally touching cell.

If the loop walks into our 3, only one of the North and West edges can be part of the loop, but the South and East edge must both be used. And what happens if the loop cuts into our clue cell? This yields a contradiction immediately, because only two edges are left open for business, but we need three. Simply put, one can walk but never cut into a clue of 3.

If the clue in question is a 2, not a 3, it turns out that the information basically passes through our cell. If the loop cuts into our cell, we need the South and East edge, so our cell cuts into the next one. If the loop avoids our cell, we already know that we obtain a connected group through the Northwest vertex, but the remarkable consequence is that the Southeast vertex becomes the center of another connected group as well (which might be useful for the study of the following diagonally touching cell). And if the loop walks into our cell, it has to walk out on the opposite end.

Likewise, when our clue is 1, we can draw some conclustions. If the loop cuts into our cell, it has to walk out through the vertex on the opposite end (Southeast in our example). If the loop walks into our cell, either the North or the West edge is required for the loop. In that case, South and East must both remain unused, which yields a new corner-like connected group.

You may notice that a lot of this is parity-based logic. If the number of loop segments running into the vertex of our interest is even and the clue itself is even as well, the number of edges leaving the clue cell on the opposite end must again be even. If the number of “entry edges” is even but the clue is odd, there must be an odd number of “exit edges” as well. And so on. You may want to decide for yourself if you use some kind of notation to keep track, perhaps a small dot near a vertex in case of an odd number of entries and a small square in case of an even number. Like I said at the top, I did not manage it myself so far, but I have no doubts that it can be helpful.

The above type of argument yields a bunch of new constellations (and extensions to known constellations). For example, whenever a diagonal 3/3 combination of clues is followed by 2’s in one of the diagonal directions (see Slitherlink 3 or 4), one gets more loop segments immediately. By the way, this also works the other way round: a diagonal sequence of the form 3/2/…/2/3 needs four edges on the outer clue cells just like in case of a basic 3/3 combination, or else one would cut from end of the chain into the 3 on the other end.

The puzzle Slitherlink 6 in the PDF file is designed specifically to practice this kind of solving technique. The clue of 0 in R2C4 is an obvious starting point; it is not the only one, though. I mentioned a clue combination of 3/1 earlier on, and the resulting loop segment has a tremendous impact in terms of the above diagonal logic. Eventually, the consequences of diagonal clue chains will travel throughout the grid and even bounce off some of the boundaries in the process.

A few final words on global arguments. The rule that the entire loop must be connected means that we are not allowed to cut off smaller loop portions. We have already seen in the very simple case of adjacent 3/3 clues how this affects the solving logic regarding open ends. There are many larger puzzles where one must repeatedly avoid closing the loop prematurely.

If there are two open edges on neighboring vertices of the same loop piece, clearly one cannot use the connecting edge directly – assuming, of course, that there are parts of the grid which the loop must still visit later on. Sometimes, though, the forbidden connection is not quite as obvious. It may happen that one must make a (minor) trial and error attempt to see how a specific line segment will cause a contradiction.

Let us look at Slitherlink 5 to get an idea what I mean. The diagonal 3/3 constellation in the Northwest part of the grid gives us four loop segments, namely South and West of the clue in R2C1, and North and East of the clue in R1C2. Now suppose we draw the edge East of R2C1 as well. This leaves only one exit for the open end in the Northwest vertex passing through the outer part of the corner cell, but then it will force the closing of the loop in R2C2. Try it.

Or look at the 3/0 combination in R5C3 and R5C4. One of the open ends yields a loop segment between R6C3 and R6C4, as we have seen right at the beginning. If we go East from there, where does this leave is with regard to the Southwest corner region? We must still visit these parts in order to satisfy the clue in R6C2, but you will find that the 3 in R5C1 makes it impossible to enter and leave the region in two different places.

In general, if there is something like a “closed” region (meaning that there are only few potential entries to a whole group of cells, the number of entry points that are ultimately used must always be an even number (often 2). And if such a region slowly emerges from “local” steps, it is definitely worth looking at the global implications, such as grid vertices that must be passed in any case. Again, with Slitherlink experience comes a feeling for such situations.

The six smaller puzzles of today’s set serve to demonstrate the techniques and steps I have outlined above. The six larger puzzles require little more than the small ones in terms of solving techniques, but they are considerably harder when it comes to spotting the best places to proceed; also, they make heavier use of global arguments. I hope you enjoy the set. Have fun!

Leave a Reply

Your email address will not be published. Required fields are marked *