Update
This commit is contained in:
parent
a80abf8522
commit
08a3114a48
8 changed files with 36 additions and 19 deletions
16
go.md
16
go.md
|
@ -6,11 +6,11 @@ WIP
|
|||
|
||||
{ I am still learning the beautiful game of go, please excuse potential unintentional errors here. ~drummyfish }
|
||||
|
||||
Go is an old two-player board [game](game.md) that originated in Asia, one of the most beautiful, elegant, deep and popular games of this type in history, whose significance can be compared to that of [chess](chess.md), despite it largely remaining widely popular only in Asia. There however, especially in Japan, go is pretty big, it appears a lot in [anime](anime.md) etc.
|
||||
Go (from Japanese *Igo*, "surrounding board game") is possibly the world's oldest two-player board [game](game.md), which originated in Asia, one of the most beautiful, elegant, deep and popular games of this type in history, whose significance can be compared to that of [chess](chess.md), despite it largely remaining widely popular only in Asia. There however, especially in Japan, go is pretty big, it appears a lot in [anime](anime.md) etc. **Go is a bit difficult to get into** (kind of like [vim](vim.md)?) though the rules can be learned quite quickly; it is hard to make big-picture sense of the rule implications and it may take weeks to months before one can even call himself a beginner player.
|
||||
|
||||
{ There is a nice site hosting everything related to go: Sensei's Library at https://senseis.xmp.net/. ~drummyfish }
|
||||
|
||||
**Compared to chess** the rules of go are much more simple -- which is part of the game's [beauty](beauty.md) (see [easy to learn, hard to master](easy_to_learn_hard_to_master.md)) -- though the emergent complexity of those few rules is grandiose; so much so that to play the game well may be even harder than to play chess, as there are many more possibilities and mere calculation is not enough to be strong, one needs to develop a strong intuition; this is also the reason why it took 20 more years for [computers](computer.md) to beat the best humans in go than in chess. Many say that go is yet deeper than chess and that it offers a unique experience that can't be found anywhere else. The spirit of go is also more [zen](zen.md)-like and peaceful: while chess simulates [war](war.md) (something more aligned with western mentality), go is more about dividing territory, one could even see it not as a battle but rather a creation of beautiful patterns (something better aligned with eastern mentality).
|
||||
**Compared to chess** (some purists dislike this, see https://senseis.xmp.net/?CompareGoToChess) the rules of go are much more simple -- which is part of the game's [beauty](beauty.md) (see [easy to learn, hard to master](easy_to_learn_hard_to_master.md)) -- though the emergent complexity of those few rules is grandiose; so much so that to play the game well is usually considered more challenging than learning chess well, as there are many more possibilities and mere calculation is not enough to be strong, one needs to develop a strong intuition; this is also the reason why it took 20 more years for [computers](computer.md) to beat the best humans in go than in chess. Many say that go is yet deeper than chess and that it offers a unique experience that can't be found anywhere else; go is more mathematical, something that just exists naturally as a side effect of logic itself, while chess is a bit of an arbitrary set of more complex rules fine-tuned so that the game plays well. The spirit of go is also more [zen](zen.md)-like and peaceful: while chess simulates [war](war.md) (something more aligned with western mentality), go is more about dividing territory, one could even see it not as a battle but rather a creation of [art](art.md), beautiful patterns (something better aligned with eastern mentality).
|
||||
|
||||
**From [LRS](lrs.md) point of view go is one of the best games ever**, for similar reasons to chess (it's highly free, [suckless](suckless.md), cheap, [not owned by anyone](public_domain.md), [fun](fun.md), mathematically deep, nice for programming while the game itself doesn't even require a [computer](computer.md) etc.) plus yet greater [simplicity](minimalism.md) and beauty.
|
||||
|
||||
|
@ -32,9 +32,9 @@ The game considers **4-neighborhoods**, NOT 8-neighborhood, i.e. squares that do
|
|||
|
||||
**[Suicide](kys.md) is forbidden:** it is not allowed to place a stone so that it would immediately result in that stone (or a group it would join) being captured by enemy. I.e. if there is an enemy group with one empty square in the middle of it, you cannot put a stone there as that stone would simply have no liberties and would immediately die. Exception to this is the above mentioned taking of a group, i.e. if a suicidal move results in immediately taking enemy's group, it is allowed.
|
||||
|
||||
The **ko** rule states that one mustn't make a move that returns the board to the immediately previous state; this basically applies just to the situation in which the enemy takes your stone and you would just place it back, retaking his capturing stone. By the *ko* rule you cannot do this IMMEDIATELY, but you can still do this any further following round.
|
||||
The **ko** rule states that one mustn't make a move that returns the board to the immediately previous state; this basically applies just to the situation in which the enemy takes your stone and you would just place it back, retaking his capturing stone. By the *ko* rule you cannot do this IMMEDIATELY, but you can still do this any further following round. Some rulesets extend this rule to so called *superko* which prohibits repetition of ANY previously seen position (this covers some rare cases that can happen).
|
||||
|
||||
**Territory:** at any time any EMPTY square on the board belongs either to white (no black stone can be reached from it by traveling over neighbors), black (no white stone can be reached from it) or none (belongs to neither). Squares that have stone on them aren't normally considered to belong to anyone (though some scoring systems do), i.e. if you surround a territory as white, only the VACANT surrounded squares count as your territory. The size of territory plays a role in final scoring.
|
||||
**Territory:** at any time any EMPTY square on the board belongs either to white (no black stone can be reached from it by traveling over neighbors), black (no white stone can be reached from it) or none (belongs to neither). Squares that have stone on them aren't normally considered to belong to anyone (though some scoring systems do), i.e. if you surround a territory as white, only the VACANT surrounded squares count as your territory. The size of territory plays a role in final scoring. An alternative to territory is **area**, which is territory plus the squares occupied by player's stones and which is used under some rulesets.
|
||||
|
||||
**Prisoners** are enemy's stones that are OBVIOUSLY in your territory and so are practically dead. I.e. they are inside what's clearly not their territory and with further play would clearly be captured. Obvious here is a matter of agreement between players -- if players disagree whether some stones are obvious prisoners, they simply keep playing and resolve the situation.
|
||||
|
||||
|
@ -65,20 +65,18 @@ Here black's (`#`) territory is 23, and black made 9 captures during the game, g
|
|||
|
||||
TODO
|
||||
|
||||
## Play Tips
|
||||
|
||||
## Programming
|
||||
|
||||
See also https://senseis.xmp.net/?ComputerGoProgramming and https://www.chessprogramming.org/Go.
|
||||
|
||||
**Board representation:** a straightforward representation of the go board is as a simple [array](array.md) of squares; each square can be either empty, white or black, that's 3 values that can be stored with 2 bits, which allow storing 4 values, leaving one extra value to be used for some other purpose (e.g. marking illegal ko squares, estimated dead stones, marking last move etc.). 1 byte allows us to store 4 squares this way so we need only 91 bytes to represent the whole 19x19 board. On computers with enough RAM it may be considered to store 1 square in a single byte, making the board take more space but gaining speed (we don't need extra instructions for squeezing bit from/to a byte). Of course we furthermore have to keep track of extra things such as numbers of captured stones.
|
||||
|
||||
|
||||
|
||||
TODO
|
||||
|
||||
## Stats
|
||||
|
||||
Some [interesting](interesting.md) stats about go follow.
|
||||
|
||||
There are 2.08168199382 * 10^170 legal positions on a 19x19 board, 3.72497923077 * 10^79 for 13x13 and 1.03919148791 * 10^38 for 9x9. The number of possible games is estimated from 10^10^100 to 10^10^171.
|
||||
|
||||
An average high-level game lasts about 150 moves. Average branching factor is 250 (compare to 35 in chess).
|
||||
The longest possible game without passes has 4110473354993164457447863592014545992782310277120 moves. The longest recorded professional game seems to be mere 411 moves long (Hoshino Toshi vs Yamabe Toshiro, 1950). There are 2.08168199382 * 10^170 legal positions on a 19x19 board, 3.72497923077 * 10^79 for 13x13 and 1.03919148791 * 10^38 for 9x9. The number of possible games is estimated from 10^10^100 to 10^10^171. An average high-level game lasts about 150 moves. Average branching factor is 250 (compare to 35 in chess).
|
Loading…
Add table
Add a link
Reference in a new issue