https://www.hexwiki.net/index.php?title=Mustplay_region&feed=atom&action=historyMustplay region - Revision history2024-03-28T12:30:22ZRevision history for this page on the wikiMediaWiki 1.23.15https://www.hexwiki.net/index.php?title=Mustplay_region&diff=8303&oldid=prevDemer: /* In a game */ open-parens was before sentence, so period goes before close-parens2023-10-04T01:16:59Z<p><span dir="auto"><span class="autocomment">In a game: </span> open-parens was before sentence, so period goes before close-parens</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:16, 4 October 2023</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 210:</td>
<td colspan="2" class="diff-lineno">Line 210:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Apart from the areas near the two blue edges, the only overlap of these two threats is h8, and indeed, h8 is a winning move for Red. (Red could also start by first [[intrusion|intruding]] in the areas near Blue's edges, say at b12, but this is not necessary<del class="diffchange diffchange-inline">)</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Apart from the areas near the two blue edges, the only overlap of these two threats is h8, and indeed, h8 is a winning move for Red. (Red could also start by first [[intrusion|intruding]] in the areas near Blue's edges, say at b12, but this is not necessary.<ins class="diffchange diffchange-inline">)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Verification of templates ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Verification of templates ===</div></td></tr>
</table>Demerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=8302&oldid=prevSelinger: Added an application from an actual game.2023-10-02T23:00:38Z<p>Added an application from an actual game.</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 23:00, 2 October 2023</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 191:</td>
<td colspan="2" class="diff-lineno">Line 191:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Of these, x, y, u, v, and w are losing: if Blue plays there, Red can respond at z, re-establishing both threats.  </div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Of these, x, y, u, v, and w are losing: if Blue plays there, Red can respond at z, re-establishing both threats.  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The unique winning move for Blue is z. In fact, this is basically a [[foiling]] move.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The unique winning move for Blue is z. In fact, this is basically a [[foiling]] move.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== In a game ===</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Consider the following position from an actual game, with Red to move:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><hexboard size="13x13"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  contents="R l1 d10 B e4 R h6 B i10 R h10 B f7 R g8 B h7 R g7 B i4 R j4 B i5 R j5 B j3 R k3 B i6 R j6 B i8 R j8 B i9 R j10 B i11 R k10 B j9 R l8 B h12 R l11 B k2 R l2 B k7 R g5 B h3 R f4 B g2 R f3 B f2 R e3 B e2 R d3 B d2 R b3 B c3 R b4 B c4 R b5 B c5 R b6 B c6 R b7 B c7 R b8 B c8 R b9 B c10 R c9 B d9 R d8 B e9"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  /></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">One of Blue's threats is e6, with the carrier as shown:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><hexboard size="13x13"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  contents="R l1 d10 B e4 R h6 B i10 R h10 B f7 R g8 B h7 R g7 B i4 R j4 B i5 R j5 B j3 R k3 B i6 R j6 B i8 R j8 B i9 R j10 B i11 R k10 B j9 R l8 B h12 R l11 B k2 R l2 B k7 R g5 B h3 R f4 B g2 R f3 B f2 R e3 B e2 R d3 B d2 R b3 B c3 R b4 B c4 R b5 B c5 R b6 B c6 R b7 B c7 R b8 B c8 R b9 B c10 R c9 B d9 R d8 B e9 B *:e6</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  S blue:area(a10,a13,c11,c10,d9,e9,f8,f6,c6,c3,d2,g3,h4,i4,h7,h8,i9,j9,m7,m4,i7,i3,h2,d2,c3,c7,e8,c10)"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  /></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Another Blue threat is f10, with the following carrier. Note that f10 is connected to Blue's i8 group by double threat at g9 and g11, marked with "*".</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><hexboard size="13x13"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  contents="R l1 d10 B e4 R h6 B i10 R h10 B f7 R g8 B h7 R g7 B i4 R j4 B i5 R j5 B j3 R k3 B i6 R j6 B i8 R j8 B i9 R j10 B i11 R k10 B j9 R l8 B h12 R l11 B k2 R l2 B k7 R g5 B h3 R f4 B g2 R f3 B f2 R e3 B e2 R d3 B d2 R b3 B c3 R b4 B c4 R b5 B c5 R b6 B c6 R b7 B c7 R b8 B c8 R b9 B c10 R c9 B d9 R d8 B e9 B *:f10</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  S blue:area(a10,a13,c11,c10,d9,e9,e10,g12,h12,i11,j9,m7,m4,h8,i8,e9,d9,c10)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  E *:g9,g11"</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  /></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Apart from the areas near the two blue edges, the only overlap of these two threats is h8, and indeed, h8 is a winning move for Red. (Red could also start by first [[intrusion|intruding]] in the areas near Blue's edges, say at b12, but this is not necessary).</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Verification of templates ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Verification of templates ===</div></td></tr>
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7995&oldid=prevSelinger: /* Computer Hex */ Added cross-reference to branching factor.2023-01-29T17:48:50Z<p><span dir="auto"><span class="autocomment">Computer Hex: </span> Added cross-reference to branching factor.</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:48, 29 January 2023</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 259:</td>
<td colspan="2" class="diff-lineno">Line 259:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Computer Hex ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Computer Hex ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Mustplay analysis is used in computer Hex to reduce the number of possibilities that must be considered for a player's next move. This drastically reduces the size of the search tree.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Mustplay analysis is used in computer Hex to reduce the <ins class="diffchange diffchange-inline">[[branching factor|</ins>number of possibilities<ins class="diffchange diffchange-inline">]] </ins>that must be considered for a player's next move. This drastically reduces the size of the search tree.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== See also ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== See also ==</div></td></tr>
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7915&oldid=prevSelinger: Added a link2022-12-31T21:48:53Z<p>Added a link</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 21:48, 31 December 2022</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 10:</td>
<td colspan="2" class="diff-lineno">Line 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>To determine Blue's mustplay region, Blue should consider the possible ways in which Red could make a connection if it were ''Red's'' turn.  These are called Red's ''<del class="diffchange diffchange-inline">threats</del>''. Red has (at least) the following threats:</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>To determine Blue's mustplay region, Blue should consider the possible ways in which Red could make a connection if it were ''Red's'' turn.  These are called Red's ''<ins class="diffchange diffchange-inline">[[threat]]s</ins>''. Red has (at least) the following threats:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* If Red plays at e4, Red is [[virtual connection|connected]] by two templates, namely [[edge template II]] and [[edge template IV2d]]. The [[carrier]] of Red's connection is the set of all cells that are required for the connection, and is highlighted: <hexboard size="7x7"</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* If Red plays at e4, Red is [[virtual connection|connected]] by two templates, namely [[edge template II]] and [[edge template IV2d]]. The [[carrier]] of Red's connection is the set of all cells that are required for the connection, and is highlighted: <hexboard size="7x7"</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 54:</td>
<td colspan="2" class="diff-lineno">Line 54:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Definition ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Definition ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>From the point of view of a player, a ''threat'' is a [[virtual connection]] between the opponent's board edges that the opponent can create in a single move. The ''carrier'' of the threat is the set of cells (empty or not) that are required for the virtual connection to be valid. The player's mustplay region is determined as follows:</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>From the point of view of a player, a ''<ins class="diffchange diffchange-inline">[[</ins>threat<ins class="diffchange diffchange-inline">]]</ins>'' is a [[virtual connection]] between the opponent's board edges that the opponent can create in a single move. The ''carrier'' of the threat is the set of cells (empty or not) that are required for the virtual connection to be valid. The player's mustplay region is determined as follows:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Identify as many threats as possible.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Identify as many threats as possible.</div></td></tr>
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7821&oldid=prevSelinger: Fixed typos and improved a diagram.2022-08-27T13:44:53Z<p>Fixed typos and improved a diagram.</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 13:44, 27 August 2022</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 179:</td>
<td colspan="2" class="diff-lineno">Line 179:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   edges="all"</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   edges="all"</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>             R *:f5 S red:area(g3,g4,f7,e7,e6,d6,c7,a7,a6,b5,c5,d6)"</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>             R *:f5 S red:area(g3,g4,f7,e7,e6,d6,c7,a7,a6,b5,c5,d6)<ins class="diffchange diffchange-inline">-e6</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">            E *:d6 *:f6</ins>"</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>We therefore see that Blue's mustplay region consists of the following six cells:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>We therefore see that Blue's mustplay region consists of the following six cells:</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 254:</td>
<td colspan="2" class="diff-lineno">Line 255:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   contents="R g1 S blue:(f3 f5 d5)"</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   contents="R g1 S blue:(f3 f5 d5)"</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>To finish verifying the template, it then remains to show that each of these three moves <del class="diffchange diffchange-inline">are </del>losing for Blue. See the article on [[edge template V1a]] for the details.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>To finish verifying the template, it then remains to show that each of these three moves <ins class="diffchange diffchange-inline">is </ins>losing for Blue. See the article on [[edge template V1a]] for the details.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Computer Hex ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Computer Hex ===</div></td></tr>
<!-- diff cache key openshift_mediawiki-hw1_19_2_:diff:version:1.11a:oldid:7717:newid:7821 -->
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7717&oldid=prevSelinger: /* See also */ Added a "see also".2022-04-26T01:19:23Z<p><span dir="auto"><span class="autocomment">See also: </span> Added a "see also".</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:19, 26 April 2022</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 263:</td>
<td colspan="2" class="diff-lineno">Line 263:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [[AND and OR rules]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [[AND and OR rules]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* [[Second order template]]s</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td></tr>
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7599&oldid=prevSelinger: Added cross reference to AND and OR rules2021-12-17T02:43:17Z<p>Added cross reference to AND and OR rules</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 02:43, 17 December 2021</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 259:</td>
<td colspan="2" class="diff-lineno">Line 259:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mustplay analysis is used in computer Hex to reduce the number of possibilities that must be considered for a player's next move. This drastically reduces the size of the search tree.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mustplay analysis is used in computer Hex to reduce the number of possibilities that must be considered for a player's next move. This drastically reduces the size of the search tree.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== See also ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* [[AND and OR rules]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== References ==</div></td></tr>
<!-- diff cache key openshift_mediawiki-hw1_19_2_:diff:version:1.11a:oldid:7455:newid:7599 -->
</table>Selingerhttps://www.hexwiki.net/index.php?title=Mustplay_region&diff=7455&oldid=prevSelinger: Creating "Mustplay region"2021-07-06T01:05:47Z<p>Creating "Mustplay region"</p>
<p><b>New page</b></p><div>Informally, a ''mustplay region'' for a player is a set of cells in which the player must move to avoid losing immediately. Mustplay analysis is an important tool for analyzing Hex positions, because it can help narrow down the number of possibilities a player must consider.<br />
<br />
== Example == <br />
<br />
Consider the following position, with Blue to move:<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3"<br />
/><br />
<br />
To determine Blue's mustplay region, Blue should consider the possible ways in which Red could make a connection if it were ''Red's'' turn. These are called Red's ''threats''. Red has (at least) the following threats:<br />
<br />
* If Red plays at e4, Red is [[virtual connection|connected]] by two templates, namely [[edge template II]] and [[edge template IV2d]]. The [[carrier]] of Red's connection is the set of all cells that are required for the connection, and is highlighted: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3<br />
R *:e4 S red:(e1--d1--d4--f4 area(f4,f7,c7))"<br />
/><br />
<br />
* If Red plays at e5, then Red is connected via two copies of [[edge template II]] and two [[bridge]]s, as shown: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3<br />
R *:e5 S red:(e1--d1--d4 area(d4,e4,f5,f7,e7,d5))"<br />
/><br />
<br />
* Alternatively, if Red plays at e5, Red is also connected via [[edge template II]] and [[edge template III2e]], as shown: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3<br />
R *:e5 S red:(e1--d1--d4 area(d4,e4,f6,f7,c7))"<br />
/> While the last two connections both use a Blue stone at e5, they have different carriers.<br />
<br />
* If Red plays at d5, Red is connected via a 3rd row [[ladder]], using f6 as a [[ladder escape]]. In this case, the carrier consists of the path the ladder will take and the space required for the ladder escape: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3<br />
R *:d5 S red:(e1--d1--d5 area(d5,f5,f7,c7))"<br />
/><br />
<br />
Blue's mustplay region consists of those empty cells that are in the carriers of all of Red's known threats. Therefore, Blue's mustplay region consists of the cells d1, e1, e5, e6, e7, and f7.<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c4 d2 d3 d4 f4 f6 B b3 c3 c5 c6 e2 e3<br />
S blue:(d1,e1,e5,e6,e7,f7)"<br />
/><br />
<br />
Note that this does not mean that all of d1, e1, e5, e6, e7, and f7 are winning moves for Blue, or even that Blue has any winning moves at all. Rather, what it means is that all ''other'' moves are losing. In other words, if Blue has any winning moves at all, they must be in Blue's mustplay region. Blue must now consider each of the six moves d1, e1, e5, e6, e7, and f7 and check if any of them are winning, or barring that, which one of them is least likely to be losing.<br />
<br />
To help narrow down Blue's choices even further, it helps to consider [[captured cell|captured]] and [[dominated cell|dominated]] cells. In the above example, d1, e1, e7, and f7 are captured by Red, and therefore, Blue should not play there. This leaves Blue with e5 and e6 as the only possible moves to consider. It so happens that e5 is winning and e6 is losing. Therefore, considering the mustplay region has helped Blue identify the only possible winning move. Blue will play e5 and win the game.<br />
<br />
== Definition ==<br />
<br />
From the point of view of a player, a ''threat'' is a [[virtual connection]] between the opponent's board edges that the opponent can create in a single move. The ''carrier'' of the threat is the set of cells (empty or not) that are required for the virtual connection to be valid. The player's mustplay region is determined as follows:<br />
<br />
* Identify as many threats as possible.<br />
<br />
* Determine the intersection of the carriers of all of these threats.<br />
<br />
* With respect to the chosen set of threats, the ''mustplay region'' is the set of empty cells in that intersection.<br />
<br />
== Properties ==<br />
<br />
* All moves outside a player's mustplay region are losing. Moves within the mustplay region may be winning or losing.<br />
<br />
* If a player's mustplay region is empty, the player is losing.<br />
<br />
* If there are no winning moves in a player's mustplay region, the player is losing.<br />
<br />
* The mustplay region is not unique. By considering more opponent threats, a player may arrive at a smaller mustplay region.<br />
<br />
== Example: no winning move ==<br />
<br />
If there are no winning moves in a player's mustplay region, the player is losing. To illustrate this, consider the following position, with Blue to move.<br />
<hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3"<br />
/><br />
Red's main threats are:<br />
* d3, connecting via a [[ziggurat]]: <hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3<br />
R *:d3 S red:(area(e5,b5,d3,e3) d2 e1)"<br />
/><br />
* b4, connecting via [[edge template II]]: <hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3<br />
R *:b4 S red:(a5--b5--b3--c2--d2--e1)"<br />
/><br />
* c4, connecting via [[edge template II]] and a [[double threat]]: <hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3<br />
R *:c4 S red:(c5,b5,c4,d3,b4,b3,d2,c2,e1)"<br />
/><br />
The only empty cell in the carrier of all three threats is b5, hence Blue's mustplay region consists of b5. This means that all moves except possibly b5 are losing for Blue.<br />
<hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3<br />
S blue:(b5)"<br />
/><br />
Unfortunately for Blue, b5 is also losing, because if Blue plays b5, Red can win as follows:<br />
<hexboard size="5x5"<br />
coords="show"<br />
edges="all"<br />
contents="R b3 c2 d2 e1 B e2 c3 a4 a3<br />
B 1:b5 R 2:b4 B 3:a5 R 4:d4"<br />
/><br />
Therefore Blue has no winning moves at all and is losing the game.<br />
<br />
== Applications ==<br />
<br />
=== Foiling ===<br />
<br />
Consider the following situation, with Blue to move:<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c2 b4 f2 f5 B c4 d4 d5 g3"<br />
/><br />
<br />
Red's main threats are:<br />
<br />
* e4, connecting via [[bridge]]s and a [[ziggurat]]: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c2 b4 f2 f5 B c4 d4 d5 g3<br />
R *:e4 S red:area(f1,e3,e6,d7,g7,g5,f5,f3,g1)"<br />
/><br />
* a6, connecting via a 2nd row [[ladder]] and [[ladder escape]]: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c2 b4 f2 f5 B c4 d4 d5 g3<br />
R *:a6 S red:area(c1,a5,a7,f7,f5,e5,d6,b6,d1)"<br />
/><br />
* a6, connecting via a 2nd row [[ladder]] and a slightly different [[ladder escape]]: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c2 b4 f2 f5 B c4 d4 d5 g3<br />
R *:a6 S red:area(c1,a5,a7,g7,g5,f5,e6,b6,d1)"<br />
/><br />
<br />
Therefore, Blue's mustplay region consists of the following 5 cells:<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R c2 b4 f2 f5 B c4 d4 d5 g3<br />
S blue:area(e6,f6,d7,e7,f7) E x:e6 y:f6 z:d7 u:e7 v:f7"<br />
/><br />
Of these, y, z, u, and v are losing: if Blue plays there, Red wins by responding at x. Blue's unique winning move is x. This move is also known as a [[foiling]] move, because it takes away Red's template and Red's ladder escape at the same time.<br />
<br />
=== Solving Hex puzzles ===<br />
<br />
Consider the following puzzle, due to Eric Demer. Blue to move and win.<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4"<br />
/><br />
At first, the situation seems confusing here. Blue's central stones neither seem to have a convincing connection to the left edge nor to the right one. <br />
<br />
Mustplay analysis helps clarify the situation. First, let's note that Red's e3 and g3 are already very strongly connected to the top edge; Blue cannot gain anything by intruding into that connection. (In fact, Red has [[captured cell|captured]] rows 1&ndash;3). We therefore concentrate on the bottom part of the board. Within that region, Red's main threats are:<br />
<br />
* d4, connecting via [[edge template III2a]]: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4<br />
R *:d4 S red:(area(c7,c5,b5,a6,a7),d4,e3)"<br />
/><br />
<br />
* f5, connecting via [[double threat]] of f6 and a 2nd row [[ladder]] at d6, for which b5 and c5 are a [[ladder escape]]: <hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4<br />
R *:f5 S red:area(g3,g4,f7,e7,e6,d6,c7,a7,a6,b5,c5,d6)"<br />
/><br />
We therefore see that Blue's mustplay region consists of the following six cells:<br />
<hexboard size="7x7"<br />
coords="show"<br />
edges="all"<br />
contents="R g3 g2 e5 e3 c5 b5 a2 B d7 e4 d5 c4 b4<br />
S blue:(a6 b6 c6 a7 b7 c7) E x:a6 y:b6 z:c6 u:a7 v:b7 w:c7"<br />
/><br />
Of these, x, y, u, v, and w are losing: if Blue plays there, Red can respond at z, re-establishing both threats. <br />
The unique winning move for Blue is z. In fact, this is basically a [[foiling]] move.<br />
<br />
=== Verification of templates ===<br />
<br />
Mustplay analysis is also useful in the verification of templates. In that context, it is sometimes known as ''template reduction''. For example, consider [[edge template V1a]]:<br />
<hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1"<br />
/><br />
<br />
To show that the template is valid, we must show that Blue has no way of disconnecting the template's red stone from the edge. We use mustplay analysis to reduce the number of possiblities. Red's main threats are:<br />
<br />
* Connecting via a [[bridge]] to [[ziggurat]], in two different ways: <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:f3 S red:area(f2,f3,d5,g5,g2)"<br />
/> <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:f3 S red:area(f2,c5,f5,f3,g2)"<br />
/><br />
<br />
* Connecting via [[template IVa]]: <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:f2 S red:area(e2,c3,a5,g5,g3,f2)"<br />
/><br />
<br />
* Connecting via a [[bridge]] and [[template IVa]]: <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:h2 S red:area(h1,d5,j5,j3)"<br />
/><br />
<br />
* Connecting via a [[bridge]] and [[edge template III1b|template III-1-b]]: <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:f3 S red:area(f2,c5,g5,g2)-e5"<br />
/><br />
<br />
* Connecting via [[template IVb]], in two different ways: <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:f2 S red:area(e2,c3,a5,h5,h3,g2)-e4"<br />
/> <hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 R *:g2 S red:area(f2,d3,b5,i5,i3,h2)-f4"<br />
/><br />
Therefore, Blue's mustplay region consists of only three cells:<br />
<hexboard size="5x10"<br />
visible="area(a5,c3,d3,f1,h1,h2,i2,i3,j3,j5)"<br />
edges="bottom"<br />
coords="none"<br />
contents="R g1 S blue:(f3 f5 d5)"<br />
/><br />
To finish verifying the template, it then remains to show that each of these three moves are losing for Blue. See the article on [[edge template V1a]] for the details.<br />
<br />
=== Computer Hex ===<br />
<br />
Mustplay analysis is used in computer Hex to reduce the number of possibilities that must be considered for a player's next move. This drastically reduces the size of the search tree.<br />
<br />
== References ==<br />
<br />
R. Hayward, Y. Björnsson, M. Johanson, M. Kan, N. Po, and J. van Rijswijck: [http://webdocs.cs.ualberta.ca/~hayward/papers/s7x7hex1.pdf "Solving 7x7 Hex with domination, fill-in, and virtual connections"], ''Theoretical Computer Science'' 349;123&ndash;139, 2005.<br />
<br />
R. Hayward: [http://webdocs.cs.ualberta.ca/~hayward/papers/s7x7hex1.pdf "A puzzling Hex primer"]. In ''Games of No Chance 3'', Cambridge University Press, 56:151&ndash;162, 2009. <br />
<br />
[[category:Theory]]<br />
[[category:Intermediate Strategy]]<br />
[[category:Computer Hex]]</div>Selinger