Difference between revisions of "User:Selinger"
Line 10: | Line 10: | ||
Apart from [[ladder]]s, flanks are one of the most common "long-distance" patterns occuring in Hex. They are useful for [[climbing]], and they can be used to form large [[interior template|interior]] and [[edge template]]s. | Apart from [[ladder]]s, flanks are one of the most common "long-distance" patterns occuring in Hex. They are useful for [[climbing]], and they can be used to form large [[interior template|interior]] and [[edge template]]s. | ||
− | What makes a flank useful is that its owner can use it for [[climbing]]. For example, consider the following situation, and assume the stones "B" and " | + | What makes a flank useful is that its owner can use it for [[climbing]]. For example, consider the following situation, and assume the stones "B" and "J" are connected to opposite edges. |
<hexboard size="6x11" | <hexboard size="6x11" | ||
edges="none" | edges="none" | ||
coords="none" | coords="none" | ||
visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | ||
− | contents="R | + | contents="R J:a4 A:a6 b6 c6 e5 f5 h4 j3 B:k3 E *:k1" |
/> | /> | ||
− | Then Red can [[climbing|climb]] all the way from | + | Then Red can [[climbing|climb]] all the way from J to the cell marked "*", by a sequence of forcing moves as follows: |
<hexboard size="6x12" | <hexboard size="6x12" | ||
edges="none" | edges="none" | ||
Line 23: | Line 23: | ||
visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | ||
contents="R A:a6 b6 c6 e5 f5 h4 j3 B:k3 | contents="R A:a6 b6 c6 e5 f5 h4 j3 B:k3 | ||
− | R | + | R J:a4 2:b4 4:c4 6:d6 8:e3 10:f3 12:g5 14:h2 16:i4 18:j1 20:k1 |
B 1:a5 3:b5 5:d5 7:c5 9:e4 11:g4 13:f4 15:i3 17:h3 19:j2 21:k2" | B 1:a5 3:b5 5:d5 7:c5 9:e4 11:g4 13:f4 15:i3 17:h3 19:j2 21:k2" | ||
/> | /> | ||
Line 33: | Line 33: | ||
coords="none" | coords="none" | ||
visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | visible="area(a6,d6,g5,k3,k1,i1,e3,d3,a4)" | ||
− | contents="R | + | contents="R J:a4 A:a6 b6 c6 e5 f5 h4 j3 B:k3 E *:k1 |
B d5 R d6 B g4 R g5 B i3 R i4" | B d5 R d6 B g4 R g5 B i3 R i4" | ||
/> | /> | ||
Line 41: | Line 41: | ||
A flank can belong to Red or to Blue, and it can be oriented in any of the 6 cardinal directions of the Hex board (a cardinal direction is parallel to an edge or to the short diagonal). In addition, it can be facing up or down (the side it is facing is the side where the empty space is). For simplicity, the following definition refers to red flanks that are oriented left-to-right and facing upward. | A flank can belong to Red or to Blue, and it can be oriented in any of the 6 cardinal directions of the Hex board (a cardinal direction is parallel to an edge or to the short diagonal). In addition, it can be facing up or down (the side it is facing is the side where the empty space is). For simplicity, the following definition refers to red flanks that are oriented left-to-right and facing upward. | ||
− | We can define | + | Each flank has three distinguished points: a starting point, which we usually mark "A", an endpoint, which we usually mark "B", and a jumping-off point, which we mark "J". We can define flanks inductively as follows: |
− | * Base case: A single red stone, together with the indicated space, is a flank. | + | * Base case: A single red stone, together with the indicated space, is a flank. In this case, the stone marked "B" is both the starting point and the endpoint. The jumping-off point "J" is also shown. <br>F0: <hexboard size="3x1" |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
coords="none" | coords="none" | ||
− | contents="R | + | contents="R B:a3 E J:a1" |
/> | /> | ||
Line 55: | Line 55: | ||
coords="none" | coords="none" | ||
contents="R -:a3 +:b3" | contents="R -:a3 +:b3" | ||
− | + | /> F2: <hexboard size="4x3" | |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
Line 61: | Line 61: | ||
visible="area(a2,a4,b4,c1,c3,b1)" | visible="area(a2,a4,b4,c1,c3,b1)" | ||
contents="R -:a4 +:c3" | contents="R -:a4 +:c3" | ||
− | + | /> F3: <hexboard size="4x3" | |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
Line 67: | Line 67: | ||
visible="area(a2,a4,b4,c1,c3,b1)" | visible="area(a2,a4,b4,c1,c3,b1)" | ||
contents="R -:a4 +:c3 B b3 R b4" | contents="R -:a4 +:c3 B b3 R b4" | ||
− | + | /><br>Here, "−" denotes the previous endpoint, and "B" denotes the new endpoint. The orientation of these patterns matters, i.e., they cannot be rotated. | |
Here is an example of the flank obtained by starting with F0 and then extending with F1, F1, F3, F1, F2, F3, and F1. We always use "A" to denote the starting point and "B" to denote the endpoint of the flank: | Here is an example of the flank obtained by starting with F0 and then extending with F1, F1, F3, F1, F2, F3, and F1. We always use "A" to denote the starting point and "B" to denote the endpoint of the flank: | ||
Line 74: | Line 74: | ||
coords="none" | coords="none" | ||
visible="area(a4,a6,d6,g5,k3,k1,i1,e3,d3)" | visible="area(a4,a6,d6,g5,k3,k1,i1,e3,d3)" | ||
− | contents="R A:a6 b6 c6 B d5 R d6 e5 f5 h4 B i3 R i4 j3 B:k3" | + | contents="E J:a4 R A:a6 b6 c6 B d5 R d6 e5 f5 h4 B i3 R i4 j3 B:k3" |
/> | /> | ||
We can also use algebraic notation to denote flanks. For example, we write F0+F1+F1+F3+F1+F2+F3+F1 for the above flank. | We can also use algebraic notation to denote flanks. For example, we write F0+F1+F1+F3+F1+F2+F3+F1 for the above flank. | ||
Line 87: | Line 87: | ||
visible="area(a1,a3,b2,b1)" | visible="area(a1,a3,b2,b1)" | ||
contents="R B:a3 b2" | contents="R B:a3 b2" | ||
− | + | /> C2: <hexboard size="3x2" | |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
Line 93: | Line 93: | ||
visible="area(a1,a3,b2,b1)" | visible="area(a1,a3,b2,b1)" | ||
contents="R B:a3 b1" | contents="R B:a3 b1" | ||
− | + | /> C3: <hexboard size="3x2" | |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
Line 99: | Line 99: | ||
visible="area(a1,a3,b2,b1)" | visible="area(a1,a3,b2,b1)" | ||
contents="R B:a3 b1 B a2 R b2" | contents="R B:a3 b1 B a2 R b2" | ||
− | + | /> C4: <hexboard size="3x3" | |
float="inline" | float="inline" | ||
edges="none" | edges="none" | ||
Line 105: | Line 105: | ||
visible="-c3" | visible="-c3" | ||
contents="R B:a3 c2 c1" | contents="R B:a3 c2 c1" | ||
− | + | /> | |
Here, "B" denotes the original endpoint of the flank. Other cap patterns are also possible; the above C1–C4 are just some common examples of caps. | Here, "B" denotes the original endpoint of the flank. Other cap patterns are also possible; the above C1–C4 are just some common examples of caps. | ||
Line 115: | Line 115: | ||
coords="none" | coords="none" | ||
visible="-c3" | visible="-c3" | ||
− | contents="R A:a3 B:b3 c2" | + | contents="E J:a1 R A:a3 B:b3 c2" |
/> | /> | ||
F0+F2+C2: | F0+F2+C2: | ||
Line 122: | Line 122: | ||
coords="none" | coords="none" | ||
visible="area(a2,a4,b4,d2,d1,b1)" | visible="area(a2,a4,b4,d2,d1,b1)" | ||
− | contents="R A:a4 B:c3 d1" | + | contents="E J:a2 R A:a4 B:c3 d1" |
/> | /> | ||
F0+F2+F2+F3+F2+C1: | F0+F2+F2+F3+F2+C1: | ||
Line 129: | Line 129: | ||
coords="none" | coords="none" | ||
visible="area(a6,b6,g4,i2,i1,g1,d2,b3,a4)" | visible="area(a6,b6,g4,i2,i1,g1,d2,b3,a4)" | ||
− | contents="R A:a6 c5 e4 f4 B:h3 i2" | + | contents="E J:a4 R A:a6 c5 e4 f4 B:h3 i2" |
/> | /> | ||
− | + | The point of capped flanks is that if Red plays at the jumping-off point "J" of any capped flank, Red can [[strong connection|connect]]: | |
− | <hexboard size=" | + | |
+ | <hexboard size="6x9" | ||
edges="none" | edges="none" | ||
coords="none" | coords="none" | ||
− | contents="R A: | + | visible="area(a6,b6,g4,i2,i1,g1,d2,b3,a4)" |
+ | contents="R A:a6 c5 e4 f4 B:h3 i2 | ||
+ | R 1:a4 3:b6 5:c3 7:d5 9:e2 11:f2 13:g4 15:h1 | ||
+ | B 2:b5 4:a5 6:d4 8:c4 10:e3 12:g3 14:f3" | ||
/> | /> | ||
− | |||
− | + | Todo: POINT OUT HOW THIS GENERALIZES A 2ND ROW LADDER, WITH THE FLANK GENERALIZING THE "EDGE" AND THE CAP GENERALIZING A LADDER ESCAPE. | |
− | + | ||
− | POINT OUT HOW THIS GENERALIZES A 2ND ROW LADDER, WITH THE FLANK GENERALIZING THE "EDGE" AND THE CAP GENERALIZING A LADDER ESCAPE. | + | |
== Interior templates from capped flanks == | == Interior templates from capped flanks == | ||
− | + | There are several ways of constructing [[interior template]]s from capped flanks. The simplest is to add a Red piece to the jumping-off point "J". Since this [[strong connection|connects]] to the rest of the flank. Such a group can be viewed as a (potentially very large) interior template. | |
− | <hexboard size=" | + | |
+ | Many of the named interior templates are of this form. This is the case for the [[crescent]], [[trapezoid]] (in more than one way), [[scooter]], [[bicycle]], as well as the [[long crescent]] and various [[long trapezoid]]s. | ||
+ | <hexboard size="3x3" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-c3" | ||
+ | contents="R J:a1 A:a3 B:b3 c2" | ||
+ | /> <hexboard size="3x3" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-c3" | ||
+ | contents="R J:a1 A:a3 B:b3 c1" | ||
+ | /> <hexboard size="3x3" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-c3" | ||
+ | contents="R J:a1 A:a3 c2 c1" | ||
+ | /> <hexboard size="4x4" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="area(b1,a2,a4,b4,d2,d1)" | ||
+ | contents="R J:a2 A:a4 B:c3 d2" | ||
+ | /> <hexboard size="4x4" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="area(b1,a2,a4,b4,d2,d1)" | ||
+ | contents="R J:a2 A:a4 B:c3 d1" | ||
+ | /> <hexboard size="3x6" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-f3" | ||
+ | contents="R J:a1 A:a3 b3 c3 d3 B:e3 f2" | ||
+ | /> <hexboard size="3x6" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-f3" | ||
+ | contents="R J:a1 A:a3 b3 c3 d3 B:e3 f1" | ||
+ | /> <hexboard size="3x6" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-f3" | ||
+ | contents="R J:a1 A:a3 b3 c3 B:d3 f1 f2" | ||
+ | /> | ||
+ | Here is a larger template constructed by the same method. | ||
+ | <hexboard size="6x9" | ||
edges="none" | edges="none" | ||
coords="none" | coords="none" | ||
− | contents=" | + | visible="area(a6,b6,e5,g4,i2,i1,g1,b3,a4)" |
+ | contents="R J:a4 A:a6 c5 d5 f4 B:h3 i2" | ||
/> | /> | ||
− | |||
− | + | Another way to construct interior templates from capped flanks is to combine a flank and the mirror image of a flank so that they overlap at the point "J", schematically like this: | |
+ | <hexboard size="3x4" | ||
+ | float="inline" | ||
+ | edges="none" | ||
+ | coords="none" | ||
+ | visible="area(c1,a3,b3,d1)" | ||
+ | contents="E *:(c1--a3) J:d1 R A:b3" | ||
+ | /> + <hexboard size="3x2" | ||
+ | float="inline" | ||
+ | edges="none" | ||
+ | coords="none" | ||
+ | contents="E *:(b1--b3) J:a1 R A:a3" | ||
+ | /> = <hexboard size="3x5" | ||
+ | float="inline" | ||
+ | edges="none" | ||
+ | coords="none" | ||
+ | visible="area(c1,a3,e3,e1)" | ||
+ | contents="E *:(c1--a3) *:(e1--e3) J:d1 x:c3 R A:b3 A:d3" | ||
+ | /> | ||
+ | Here, the hex "J" remains empty. The point is that if Blue plays at "x", Red plays at "J", and vice versa. | ||
− | + | Several of the named interior templates are of this form. This is the case for the [[span]], the [[box]], the [[shopping cart]], and the [[long span]]: | |
− | + | <hexboard size="3x4" | |
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-a1 d3" | ||
+ | contents="R a2 R A:a3 R A:c3 R d2 E J:c1 x:b3" | ||
+ | /> <hexboard size="3x4" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-a1 d3" | ||
+ | contents="R b1 R A:a3 R A:c3 R d1 E J:c1 x:b3" | ||
+ | /> <hexboard size="3x4" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-a1 d3" | ||
+ | contents="R b1 R A:a3 R A:c3 R d2 E J:c1 x:b3" | ||
+ | /> <hexboard size="3x6" | ||
+ | float="inline" | ||
+ | coords="hide" | ||
+ | edges="none" | ||
+ | visible="-a1 f3" | ||
+ | contents="R a2 A:a3 A:c3 d3 B:e3 f2 E J:c1 x:b3" | ||
+ | /> | ||
== Edge templates from capped flanks == | == Edge templates from capped flanks == |
Revision as of 21:18, 7 March 2021
Contents
Proposed article: Flank
A flank is a sequence of friendly stones that are either adjacent or linked by bridges in a certain way, and with a certain amount of space on one side, for example like this:
Apart from ladders, flanks are one of the most common "long-distance" patterns occuring in Hex. They are useful for climbing, and they can be used to form large interior and edge templates.
What makes a flank useful is that its owner can use it for climbing. For example, consider the following situation, and assume the stones "B" and "J" are connected to opposite edges.
Then Red can climb all the way from J to the cell marked "*", by a sequence of forcing moves as follows:
It is not actually necessary for Red to play moves 6, 12, and 16; Red could also skip these moves. However, they usually do not hurt and may be useful to Red by solidifying Red's position below the flank.
Intruding into the flank's bridges does not help the opponent. The flank still works even if all the bridges have already been filled in:
Definition
A flank can belong to Red or to Blue, and it can be oriented in any of the 6 cardinal directions of the Hex board (a cardinal direction is parallel to an edge or to the short diagonal). In addition, it can be facing up or down (the side it is facing is the side where the empty space is). For simplicity, the following definition refers to red flanks that are oriented left-to-right and facing upward.
Each flank has three distinguished points: a starting point, which we usually mark "A", an endpoint, which we usually mark "B", and a jumping-off point, which we mark "J". We can define flanks inductively as follows:
- Base case: A single red stone, together with the indicated space, is a flank. In this case, the stone marked "B" is both the starting point and the endpoint. The jumping-off point "J" is also shown.
F0:
- Induction step: A flank can be extended with any of the following patterns:
F1: F2: F3:
Here, "−" denotes the previous endpoint, and "B" denotes the new endpoint. The orientation of these patterns matters, i.e., they cannot be rotated.
Here is an example of the flank obtained by starting with F0 and then extending with F1, F1, F3, F1, F2, F3, and F1. We always use "A" to denote the starting point and "B" to denote the endpoint of the flank:
We can also use algebraic notation to denote flanks. For example, we write F0+F1+F1+F3+F1+F2+F3+F1 for the above flank.
Capped flank
A flank is capped if it has been extended past its endpoint "B" with one of the following patterns:
C1: C2: C3: C4:Here, "B" denotes the original endpoint of the flank. Other cap patterns are also possible; the above C1–C4 are just some common examples of caps.
Here are some examples of capped flanks. In each case, the flank's starting point "A" and original endpoint "B" are shown.
F0+F1+C1:
F0+F2+C2:
F0+F2+F2+F3+F2+C1:
The point of capped flanks is that if Red plays at the jumping-off point "J" of any capped flank, Red can connect:
Todo: POINT OUT HOW THIS GENERALIZES A 2ND ROW LADDER, WITH THE FLANK GENERALIZING THE "EDGE" AND THE CAP GENERALIZING A LADDER ESCAPE.
Interior templates from capped flanks
There are several ways of constructing interior templates from capped flanks. The simplest is to add a Red piece to the jumping-off point "J". Since this connects to the rest of the flank. Such a group can be viewed as a (potentially very large) interior template.
Many of the named interior templates are of this form. This is the case for the crescent, trapezoid (in more than one way), scooter, bicycle, as well as the long crescent and various long trapezoids.
Here is a larger template constructed by the same method.
Another way to construct interior templates from capped flanks is to combine a flank and the mirror image of a flank so that they overlap at the point "J", schematically like this:
+ =Here, the hex "J" remains empty. The point is that if Blue plays at "x", Red plays at "J", and vice versa.
Several of the named interior templates are of this form. This is the case for the span, the box, the shopping cart, and the long span:
Edge templates from capped flanks
ADD EXAMPLES.
Usage example
FROM A GAME.
3rd row ladders along flanks
Above, we pointed out that climbing along a flank is analogous to a 2nd row ladder. It is similarly possible to climb along a flank at a greater distance. In other words, there is an analog of a 3rd row ladder along a flank. This requires slightly more space, and if the ladder is to connect, it requires a different kind of cap (or ladder escape).
ADD EXAMPLE.