Difference between revisions of "User:Selinger"

From HexWiki
Jump to: navigation, search
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 "C" are connected to opposite edges.  
+
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 C:a4 A:a6 b6 c6 e5 f5 h4 j3 B:k3 E *:k1"
+
   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 C to the cell marked "*", by a sequence of forcing moves as follows:
+
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 C:a4 2:b4 4:c4 6:d6 8:e3 10:f3 12:g5 14:h2 16:i4 18:j1 20:k1
+
             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 C:a4 A:a6 b6 c6 e5 f5 h4 j3 B:k3 E *:k1
+
   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 such flanks inductively as follows:
+
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. The stone marked "+" is both the starting point and the endpoint of the flank.<br>F0: <hexboard size="3x1"
+
* 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 +:a3"
+
   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"
+
/> 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"
+
/> 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 "+" denotes the new endpoint. The orientation of these patterns matters, i.e., they cannot be rotated.
+
/><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"
+
/> 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"
+
/> 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"
+
/> 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&ndash;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&ndash;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"
 
   />
 
   />
  
For any flank, let "C" be the hex that is positioned relative to the flank's starting point "A" as follows:
+
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="3x1"
+
 
 +
<hexboard size="6x9"
 
   edges="none"
 
   edges="none"
 
   coords="none"
 
   coords="none"
   contents="R A:a3 E C:a1"
+
  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"
 
   />
 
   />
If Red plays at "C" and climbs along a capped flank, Red will connect. Consequently, any capped flank, with a red stone added at position "C", is a [[strong connection|connected group]].
 
  
ADD EXAMPLES.
+
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 ==
  
Consider a capped flank with starting point "A", and suppose the hex marked "*" is also occupied by Blue:
+
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="3x1"
+
 
 +
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="B *:a1 A:a3"
+
  visible="area(a6,b6,e5,g4,i2,i1,g1,b3,a4)"
 +
   contents="R J:a4 A:a6 c5 d5 f4 B:h3 i2"
 
   />
 
   />
Then, given the right amount of space, the hex marked "*" together with the capped flank forms an interior templates.
 
  
ADD SOME EXAMPLES HERE. ALSO EXPLAIN MORE CAREFULLY WHAT IS THE "RIGHT" AMOUNT OF SPACE.
+
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.  
  
Moreover, two capped flanks growing in opposite directions from an empty hex and facing the same way form an interior template.  
+
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]]:
  
ADD EXAMPLE.
+
<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

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:

78645123

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.

BJA

Then Red can climb all the way from J to the cell marked "*", by a sequence of forcing moves as follows:

18201419218101715BJ249131116137512A6

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:

BJA

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:
    JB
  • 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:

BJA

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:
B
C2:
B
C3:
B
C4:
B

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:

JAB

F0+F2+C2:

JBA

F0+F2+F2+F3+F2+C1:

BJA

The point of capped flanks is that if Red plays at the jumping-off point "J" of any capped flank, Red can connect:

159115101412B18613427A3

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.

JAB
JAB
JA
JBA
JBA
JAB
JAB
JAB

Here is a larger template constructed by the same method.

BJA

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:

JA
+
JA
=
JAxA

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:

JAxA
JAxA
JAxA
JAxAB

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.