Difference between revisions of "User:ArekKulczycki"
(→Proposition) |
|||
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | = Corner-Relative Coordinate System = | |
=== TL/DR === | === TL/DR === | ||
− | To see my reasons read the article. In a nutshell: | + | To see my reasons read the entire article. In a nutshell the point is: |
+ | * We should talk about the board in '''reference to the corners''', not the edges, for more intuitive navigation. | ||
+ | * Coordinates are easier handled as '''relative''', i.e. subjective to the player: the same cell is annotated differently for each of the 2 players. | ||
− | + | Now go to the [https://www.hexwiki.net/index.php?title=User:ArekKulczycki#Proposition Proposition paragraph] directly. | |
− | + | == Intro == | |
+ | Hex requires a coordinates system which makes it easy to talk about moves and positions. | ||
− | + | There have been attempts to create coordinate systems which are based on position of the stone in relation to both edges, which is logical and perfectly understandable approach. Obviously this is the way used in other board games and ourselves we annotate the boards this way, using letters for X coordinate and numbers for Y coordinate. This raises a question however... If we already have this notation, why do we still create new coordinate systems? Well, for a couple of reasons: | |
− | + | '''Problem 1)''' We play on multiple board sizes, so a coordinate means a different thing on one or another board. | |
− | + | '''Problem 2)''' The alphabet is confusing, as we don't know which in sequence is a letter, say, "k". However, having a pair of two numbers is confusing too, because if the coordinates are symmetrical then it's easy to confuse the order. | |
− | + | ||
− | + | '''Problem 3)''' The boards are really big... on a popular 19x19 board, it's hard to have even a slightest intuition what move we're describing when using YX coordinates. | |
− | + | '''Problem 3')''' On top of the objective intuition, it would be useful having 2 moves annotated, to easily see if they are adjacent or in a bridge relation. | |
− | + | ||
− | 3) | + | |
− | + | ||
So, back to my point, there have been attempts and they are still based on distances from edges. The values they introduce are the following: | So, back to my point, there have been attempts and they are still based on distances from edges. The values they introduce are the following: | ||
− | |||
− | |||
− | === Challenge === | + | '''a)''' replacing alphabet with numbers |
+ | |||
+ | '''b)''' making measurements from the closest edges, instead of the further ones (with a caveat that it requires an additional symbol to understand where the measurements is made from) | ||
+ | |||
+ | ==== Challenge ==== | ||
The values mentioned above are improvement over calling moves directly "o7" etc. But do they really make it *easy* to talk? Do they solve the issues 1-3? | The values mentioned above are improvement over calling moves directly "o7" etc. But do they really make it *easy* to talk? Do they solve the issues 1-3? | ||
Line 32: | Line 33: | ||
I don't blame nobody, we didn't have anything else. But how many people use assymetrical coordinates like even 54, 45, let alone 37 or 96? The reason we don't do it is not that we forget which side to count from. The real reason is that the distance from edges in itself is not so meaningful in Hex after all! | I don't blame nobody, we didn't have anything else. But how many people use assymetrical coordinates like even 54, 45, let alone 37 or 96? The reason we don't do it is not that we forget which side to count from. The real reason is that the distance from edges in itself is not so meaningful in Hex after all! | ||
− | How about a test? Let's mark a move with a lone digit when counting from bottom/left and use [https://en.wikipedia.org/wiki/Prime_(symbol) Prime] notation if counting from top/right, similar to [https://www.hexwiki.net/index.php/User:Mason#Relative_Coordinates Mason Coordinates | + | How about a test? Let's mark a move with a lone digit when counting from bottom/left and use [https://en.wikipedia.org/wiki/Prime_(symbol) Prime] notation if counting from top/right, similar to [https://www.hexwiki.net/index.php/User:Mason#Relative_Coordinates Mason Coordinates]. We use YX, that is, the column comes first and then the row. You're following so far? |
Let's talk about a game played on 13x13 board, so <code>11</code> is a bottom-left corner, <code>1'1'</code> is the top-right corner, got it? <code>1'1</code> is the top-left and <code>11'</code> is the bottom-right. Still with me? | Let's talk about a game played on 13x13 board, so <code>11</code> is a bottom-left corner, <code>1'1'</code> is the top-right corner, got it? <code>1'1</code> is the top-left and <code>11'</code> is the bottom-right. Still with me? | ||
− | "Draw the damn diagram already!" - that's what you're thinking right? But | + | "Draw the damn diagram already!" - that's what you're thinking right? But precisely what the coordinates are for is being able to talk about moves without seeing the board in front of us! So bear with me for a little longer and resist the urge of seeing pictures. |
==== Exercise ==== | ==== Exercise ==== | ||
− | + | The realistic exercise is to just imagine a single move at a time, one by one: | |
− | + | ||
− | + | ||
* <code>6'3</code> | * <code>6'3</code> | ||
* <code>75'</code> | * <code>75'</code> | ||
* <code>7'5</code> | * <code>7'5</code> | ||
− | How long does it take | + | How long does it take to figure out what move this is? Probably even more challenging is to read a sequence (11x11): |
− | + | <code>2'3</code>, <code>45'</code>, <code>43'</code>, <code>33'</code>, <code>34'</code>, <code>53'</code>, <code>55</code> | |
− | + | ||
− | When I | + | == Reasoning == |
+ | When I play a game of Hex, I don't care about the exact distances from edges. What I do care about (and you should too :)) is mostly 3 things: corners, ladders and bridges. | ||
− | + | When I make a move on an empty board, my reference points are corners. If I target the obtuse corner, my eyes will run a ladder along the short diagonal to find a move at a desired distance from this corner. Conversely, if I target the acute corner, my eyes will find the bridge connection to my side in that corner and follow bridge-by-bridge to a desired distance. (This last point comes with a caveat, the acute corner is not aimed at equivalently by black and white players because of how the bridge connection works. So the same "idea" does '''not''' mean the same "move" in terms of coordinates.) | |
− | 1) Independence on the board size. | + | If this is how I "find" my moves, why not base the coordinates off the same idea? That seems sensible, when I read a coordinate I will just mentally do what I always do: count steps from the corner and stop at the given distance. Let's see if this approach can solve the problems listed in the earlier paragraph. |
+ | |||
+ | '''Problem 1)''' Independence on the board size. | ||
We're focused solely on corners/diagonals, so we're good to go, every board has the same 4 corners. | We're focused solely on corners/diagonals, so we're good to go, every board has the same 4 corners. | ||
− | 2) The alphabet or a pair of numbers confusion. | + | '''Problem 2)''' The alphabet or a pair of numbers confusion. |
− | Let's use numbers only and | + | Let's use numbers only, but a primary and secondary number, such that their order has no ambiguity. We want to primarily reflect the distance from the corner. We can use a secondary number to distinguish between all the moves within the same distance from the corner. |
− | 3) Practical intuition on where the move is located. | + | '''Problem 3)''' Practical intuition on where the move is located. |
As stated before, our reference points to understand the moves are corners. Specifically, we're interested if a move fits into the obtuse corner by a ladder and if it fits to the acute corner by a bridge. | As stated before, our reference points to understand the moves are corners. Specifically, we're interested if a move fits into the obtuse corner by a ladder and if it fits to the acute corner by a bridge. | ||
− | If it isn't a perfect fit, then we would be interested "how far off" it is. The moves can be "off" in two directions | + | If it isn't a perfect fit, then we would be interested "how far off" it is. The moves can be "off" in two directions: may "miss the target" (not be connected by a ladder/bridge) or may "fall into" the edge too centrish by a ladder/bridge. This feature I define as '''offset''' and elaborate on this in the [https://www.hexwiki.net/index.php?title=User:ArekKulczycki#Offset Offset paragraph]. |
+ | |||
+ | '''Problem 3')''' Relation between 2 moves. | ||
+ | |||
+ | This is difficult in each of the systems I've seen. The benefit of the corner-related approach is that, in a sequence of moves, we should see from the annotations if they refer to the same corner and therefore produce a '''joseki''' structure. If a move annotation refers to a different corner than the previous one that indicates a '''tenuki'''. | ||
− | + | With a smart interpretation maybe it's possible to also get a correct intuition for reading '''joseki''' sequences, I will investigate that in the [https://www.hexwiki.net/index.php?title=User:ArekKulczycki#Joseki Joseki paragraph]. | |
− | + | ||
− | + | == Proposition == | |
Disclaimer: | Disclaimer: | ||
− | A move annotated with ''Corner-Relative Coordinates'', if stone color is skipped, can occur twice in a game, because it means something else for each of the players. Inclusion of stone color is optional, but makes the notation objective. | + | A move annotated with ''Corner-Relative Coordinates'', if stone color is skipped, can occur twice in a game, because it means something else for each of the players. Inclusion of stone color is optional, but makes the notation objective. '''Moreover''', each move can be described in as much as in 4 ways, in a frame of reference of each of the corners. Naturally it only makes sense to use the closest one, but moves in center could be understood in multiple ways. |
− | Based on | + | Based on the earlier reasoning, we need to pack several values into each coordinate: |
− | * [Optionally] Color of the stone. It is optional, because usually we know what color the next move is. | + | * [Optionally] Color of the stone. It is optional, because usually we know what color the next move is. Nevertheless, to conform with various color standards let's use '''b''' for black and '''w''' for white, '''R''' for red and '''B''' for blue. |
* Distance from the corner. For simplification, let's count distance in just 1 dimension, such that we define the distance from the corner as the distance from our own edge. Note that in the context of the long diagonal the distance can equivalently be counted with bridges from the corner cell. | * Distance from the corner. For simplification, let's count distance in just 1 dimension, such that we define the distance from the corner as the distance from our own edge. Note that in the context of the long diagonal the distance can equivalently be counted with bridges from the corner cell. | ||
Line 94: | Line 98: | ||
contents="R A:c4 B B:d8 R C:g5 B D:g8" | contents="R A:c4 B B:d8 R C:g5 B D:g8" | ||
/> | /> | ||
− | * A:= <code><4+1</code> | + | * A:= <code><4+1</code> or, including color, <code>R<4+1</code> |
− | * B:= <code>(4</code> | + | * B:= <code>(4</code> or, including color, <code>B(4</code> |
− | * C:= <code>)5</code> | + | * C:= <code>)5</code> or, including color, <code>R)5</code> |
− | * D:= <code>>5+1</code> | + | * D:= <code>>5+1</code> or, including color, <code>B>5+1</code> |
==== Exercise again ==== | ==== Exercise again ==== | ||
Line 107: | Line 111: | ||
* <code>)7-2</code> | * <code>)7-2</code> | ||
− | + | And the same sequence as above (11x11): | |
+ | |||
+ | <code><2-1</code>, <code>>5+1</code>, <code>>4+1</code>, <code>>3</code>, <code>>3-1</code>, <code>>3-2</code>, <code>(5</code> | ||
+ | |||
+ | == Translations == | ||
It is ofcourse possible to translate from [https://www.hexwiki.net/index.php/User:Mason#Relative_Coordinates Mason Coordinates] to mine. | It is ofcourse possible to translate from [https://www.hexwiki.net/index.php/User:Mason#Relative_Coordinates Mason Coordinates] to mine. | ||
− | The way to do it is to | + | |
+ | The way to do it is to | ||
+ | |||
+ | '''First''' identify the corner, there are 4 cases: | ||
+ | |||
1) No prime notation, it's <code>(</code> | 1) No prime notation, it's <code>(</code> | ||
+ | |||
2) Both coordinates are prime, it's <code>)</code> | 2) Both coordinates are prime, it's <code>)</code> | ||
+ | |||
3) First is prime, it's <code><</code> | 3) First is prime, it's <code><</code> | ||
+ | |||
4) Second is prime, it's <code>></code> | 4) Second is prime, it's <code>></code> | ||
− | + | '''Secondly''', once we got the corner, we again have 2 cases: | |
+ | |||
1) for white player we take the value of the second coordinate (column) | 1) for white player we take the value of the second coordinate (column) | ||
+ | |||
2) for black player we take the value of the first coordinate (row) | 2) for black player we take the value of the first coordinate (row) | ||
− | And finally we calculate the offset, player-based: | + | '''And finally''' we calculate the offset, player-based: |
− | + | ||
− | + | ||
− | + | ||
− | + | 1) for white player, from second coordinate (X) subtract the first (Y) | |
− | + | ||
− | <hexboard size=" | + | 2) for black player, from first coordinate (Y) subtract the second (X) |
+ | |||
+ | '''Example:''' | ||
+ | |||
+ | <code>4'7</code>, assuming black player, | ||
+ | |||
+ | First number is prime, so we're talking about top-left corner <, distance is 4, offset is <code>4 - 7 = -3</code>. Annotation: <code><4-3</code>. | ||
+ | |||
+ | The color of the stone naturally requires annotation in both systems, hence we had to assume one. | ||
+ | |||
+ | == Offset == | ||
+ | The move offset has a strategical meaning for the game. A positive offset means the move is a "blocking" or "defensive" move next to the opponent side. A negative offset means the move is located around the middle of own edge, usually considered suboptimal, but strongly connected. | ||
+ | |||
+ | <hexboard size="10x10" | ||
coords="none" | coords="none" | ||
− | contents="R 0: | + | contents="R 0:c4 +:b4 +:a4 -:d4 -:e4 B 0:c8 -:c7 -:c6 +:c9 +:c10" |
/> | /> | ||
− | Playing moves with an offset will determine the "shape" of your connection attempt. The shape that goes "around" the board I would call | + | Playing moves with an offset will determine the "shape" of your connection attempt. The shape that goes "around" the board I would call '''convex''', maybe popularly known as '''indirect'''. Instead a more '''direct''' shape that pushes through the middle I would call '''concave'''. Therefore convex moves (with positive offset) indicate an indirect strategy, while concave moves (negative offset) are an indicator of direct strategy. It sounds reasonable to propose these new terms when referring to the offset, the '''convex/concave''' moves for short. |
+ | |||
+ | == Joseki == | ||
+ | How to read joseki sequences? To be investigated... |
Latest revision as of 19:43, 30 September 2024
Contents
Corner-Relative Coordinate System
TL/DR
To see my reasons read the entire article. In a nutshell the point is:
- We should talk about the board in reference to the corners, not the edges, for more intuitive navigation.
- Coordinates are easier handled as relative, i.e. subjective to the player: the same cell is annotated differently for each of the 2 players.
Now go to the Proposition paragraph directly.
Intro
Hex requires a coordinates system which makes it easy to talk about moves and positions.
There have been attempts to create coordinate systems which are based on position of the stone in relation to both edges, which is logical and perfectly understandable approach. Obviously this is the way used in other board games and ourselves we annotate the boards this way, using letters for X coordinate and numbers for Y coordinate. This raises a question however... If we already have this notation, why do we still create new coordinate systems? Well, for a couple of reasons:
Problem 1) We play on multiple board sizes, so a coordinate means a different thing on one or another board.
Problem 2) The alphabet is confusing, as we don't know which in sequence is a letter, say, "k". However, having a pair of two numbers is confusing too, because if the coordinates are symmetrical then it's easy to confuse the order.
Problem 3) The boards are really big... on a popular 19x19 board, it's hard to have even a slightest intuition what move we're describing when using YX coordinates.
Problem 3') On top of the objective intuition, it would be useful having 2 moves annotated, to easily see if they are adjacent or in a bridge relation.
So, back to my point, there have been attempts and they are still based on distances from edges. The values they introduce are the following:
a) replacing alphabet with numbers
b) making measurements from the closest edges, instead of the further ones (with a caveat that it requires an additional symbol to understand where the measurements is made from)
Challenge
The values mentioned above are improvement over calling moves directly "o7" etc. But do they really make it *easy* to talk? Do they solve the issues 1-3?
The general public got convinced by describing several commonly used moves with distances like 11 is meant to be the first cell from the obtuse corner of the board, 22 is the second, 33 third etc. I don't blame nobody, we didn't have anything else. But how many people use assymetrical coordinates like even 54, 45, let alone 37 or 96? The reason we don't do it is not that we forget which side to count from. The real reason is that the distance from edges in itself is not so meaningful in Hex after all!
How about a test? Let's mark a move with a lone digit when counting from bottom/left and use Prime notation if counting from top/right, similar to Mason Coordinates. We use YX, that is, the column comes first and then the row. You're following so far?
Let's talk about a game played on 13x13 board, so 11
is a bottom-left corner, 1'1'
is the top-right corner, got it? 1'1
is the top-left and 11'
is the bottom-right. Still with me?
"Draw the damn diagram already!" - that's what you're thinking right? But precisely what the coordinates are for is being able to talk about moves without seeing the board in front of us! So bear with me for a little longer and resist the urge of seeing pictures.
Exercise
The realistic exercise is to just imagine a single move at a time, one by one:
-
6'3
-
75'
-
7'5
How long does it take to figure out what move this is? Probably even more challenging is to read a sequence (11x11):
2'3
, 45'
, 43'
, 33'
, 34'
, 53'
, 55
Reasoning
When I play a game of Hex, I don't care about the exact distances from edges. What I do care about (and you should too :)) is mostly 3 things: corners, ladders and bridges.
When I make a move on an empty board, my reference points are corners. If I target the obtuse corner, my eyes will run a ladder along the short diagonal to find a move at a desired distance from this corner. Conversely, if I target the acute corner, my eyes will find the bridge connection to my side in that corner and follow bridge-by-bridge to a desired distance. (This last point comes with a caveat, the acute corner is not aimed at equivalently by black and white players because of how the bridge connection works. So the same "idea" does not mean the same "move" in terms of coordinates.)
If this is how I "find" my moves, why not base the coordinates off the same idea? That seems sensible, when I read a coordinate I will just mentally do what I always do: count steps from the corner and stop at the given distance. Let's see if this approach can solve the problems listed in the earlier paragraph.
Problem 1) Independence on the board size.
We're focused solely on corners/diagonals, so we're good to go, every board has the same 4 corners.
Problem 2) The alphabet or a pair of numbers confusion.
Let's use numbers only, but a primary and secondary number, such that their order has no ambiguity. We want to primarily reflect the distance from the corner. We can use a secondary number to distinguish between all the moves within the same distance from the corner.
Problem 3) Practical intuition on where the move is located.
As stated before, our reference points to understand the moves are corners. Specifically, we're interested if a move fits into the obtuse corner by a ladder and if it fits to the acute corner by a bridge. If it isn't a perfect fit, then we would be interested "how far off" it is. The moves can be "off" in two directions: may "miss the target" (not be connected by a ladder/bridge) or may "fall into" the edge too centrish by a ladder/bridge. This feature I define as offset and elaborate on this in the Offset paragraph.
Problem 3') Relation between 2 moves.
This is difficult in each of the systems I've seen. The benefit of the corner-related approach is that, in a sequence of moves, we should see from the annotations if they refer to the same corner and therefore produce a joseki structure. If a move annotation refers to a different corner than the previous one that indicates a tenuki.
With a smart interpretation maybe it's possible to also get a correct intuition for reading joseki sequences, I will investigate that in the Joseki paragraph.
Proposition
Disclaimer: A move annotated with Corner-Relative Coordinates, if stone color is skipped, can occur twice in a game, because it means something else for each of the players. Inclusion of stone color is optional, but makes the notation objective. Moreover, each move can be described in as much as in 4 ways, in a frame of reference of each of the corners. Naturally it only makes sense to use the closest one, but moves in center could be understood in multiple ways.
Based on the earlier reasoning, we need to pack several values into each coordinate:
- [Optionally] Color of the stone. It is optional, because usually we know what color the next move is. Nevertheless, to conform with various color standards let's use b for black and w for white, R for red and B for blue.
- Distance from the corner. For simplification, let's count distance in just 1 dimension, such that we define the distance from the corner as the distance from our own edge. Note that in the context of the long diagonal the distance can equivalently be counted with bridges from the corner cell.
- The corner. We have 2 acute and 2 obtuse corners. I'm tempted to use lower- and uppercase letters but that might be confused with the original column coordinate. We need 2 pairs of symbols then. It can make intuitive sense to use angle brackets for left
<
and right>
acute corners, and parentheses for left(
and right)
obtuse corner.
- Offset. We need a number that will describe the offset of the move from one positioned perfectly on the diagonal. I'll define it such that it is strategically meaningful. The offset is positive if it is towards the closest opponent edge (a "blocking" move) and negative if is towards the middle of own edge. The offset is parallel to own edge and its value is naturally the distance in that dimension.
That's it! We're covered!
The format is $d+o
, where $ is a corner symbol, d is distance from the corner, o is the offset (positive or negative).
Looking at a 11x11 board, the corners: a1 is <1
, a11 is (1
, k1 is )1
, k11 is >1
.
- A:=
<4+1
or, including color,R<4+1
- B:=
(4
or, including color,B(4
- C:=
)5
or, including color,R)5
- D:=
>5+1
or, including color,B>5+1
Exercise again
I challenge you to imagine the stones based on the notation yet again, same as we did above for another system.
Black opens with <2-1
, white responds >5+1
and they follow with >4+1
, >3
, >3-1
, >3-3
. This time I had easier time writing it down. How readable was it for you? Let's try some single stones now:
-
)6+3
-
(7-2
-
)7-2
And the same sequence as above (11x11):
<2-1
, >5+1
, >4+1
, >3
, >3-1
, >3-2
, (5
Translations
It is ofcourse possible to translate from Mason Coordinates to mine.
The way to do it is to
First identify the corner, there are 4 cases:
1) No prime notation, it's (
2) Both coordinates are prime, it's )
3) First is prime, it's <
4) Second is prime, it's >
Secondly, once we got the corner, we again have 2 cases:
1) for white player we take the value of the second coordinate (column)
2) for black player we take the value of the first coordinate (row)
And finally we calculate the offset, player-based:
1) for white player, from second coordinate (X) subtract the first (Y)
2) for black player, from first coordinate (Y) subtract the second (X)
Example:
4'7
, assuming black player,
First number is prime, so we're talking about top-left corner <, distance is 4, offset is 4 - 7 = -3
. Annotation: <4-3
.
The color of the stone naturally requires annotation in both systems, hence we had to assume one.
Offset
The move offset has a strategical meaning for the game. A positive offset means the move is a "blocking" or "defensive" move next to the opponent side. A negative offset means the move is located around the middle of own edge, usually considered suboptimal, but strongly connected.
Playing moves with an offset will determine the "shape" of your connection attempt. The shape that goes "around" the board I would call convex, maybe popularly known as indirect. Instead a more direct shape that pushes through the middle I would call concave. Therefore convex moves (with positive offset) indicate an indirect strategy, while concave moves (negative offset) are an indicator of direct strategy. It sounds reasonable to propose these new terms when referring to the offset, the convex/concave moves for short.
Joseki
How to read joseki sequences? To be investigated...