Formal Definitions of Eye

Path: EyesCollection   · Prev: RecognizingAnEye   · Next: EyeLiberties
  Difficulty: Intermediate   Keywords: Life & Death, Shape, Go term

Table of contents Table of diagrams
Corner
Corner (2)
Corner (3)
A live group
The sansan invasion is alive
White is alive, black is dead
Two stones, no eyes
Two stones, one eye
An eye in the centre
An eye at the side
An eye at the corner

Below are attempts to formally describe the concept of eye and the associated criticism and discussion. The attempts go beyond the vague definition, found at the main page eye and the so-called 2/4 rule, used at recognizing an eye.

Examples of groups that live despite their "eyes" failing the 2/4 test are found at two headed dragon. Most of the test cases for the formal definition will be examples of two headed dragons. ---

Attempt by Dieter, commented by Tapani Raiko

  • A virtual eye is an empty space, reached by chains of the same color.
  • A group lives, if every chain reach two virtual eyes, and both eyes are reached for all the chains.

[1] (If chains that don't reach the virtual eyes can connect to the chains that do, without filling any of the virtual eyes chosen, they can be included in the living group).

Reach is meant as in the Tromp/Taylor rules. Virtual eye because it deviates from the concept of 'eye' we are accustomed to.

Actually, this works great for humans! This is exactly the method I personally use (and last I checked I was a human). It is easy to quickly visually check if all your chains can reach both eyes. If one of your chains can only reach one eye, and can't be joined to one of the other chains (that reaches both) - then it isn't part of the live group. Furthermore, if such a chain is forming one of the eyes - then that eye is false. This is exactly and clearly the case with the chains above the point a in the first two figures on this page.

This brings up two points:

  1. Does it make sense to define the concept of "false" eye out of the context of finding two live eyes?
  2. This discussion uses the term "chain" where I've seen other literature use "string". And the Instant Eye Tester uses "string" to mean something else.

I suppose that's why this whole sequence needs ToBeMasterEdited!

-- Mtn View Mark


[Diagram]

Corner

The previous definition does not cover this simple example. These chains do not reach the same virtual eyes.

[2] (Bookmark)

My proposition for the definition is:

  • A virtual eye is an empty point, reached by chains of the same color.
  • A chain is about to live, if it reaches two virtual eyes that are not falsified.
  • A virtual eye becomes false, if it is reached by a chain that is not about to live.
  • A chain lives unconditionally, if it is still about to live when all the appropriate eyes are falsified.

A chain is said to be alive, if the unconditional life can be obtained with alternate play. Seki is not taken into account here.

[Diagram]

Corner (2)

If one would like to use the definition with larger eyes, they should be careful. This would be alive using the definition, if virtual eyes larger than one would be blindly accepted.

-- Tapani Raiko


[Diagram]

Corner (3)

If you include the side remark[1] of my definition, your example meets it. The point A is then a connection point, and not a virtual eye.

(TapaniRaiko: Sorry, missed it. (Or there is a slight inaccuracy in the definition: no chain reaches the two virtual eyes in the example, so nothing can connect to such a chain either.) My definition is more complicated, but it does not require the selection.)


About your definition:

  • The concept of a living chain relies on the concept of a false eye.
  • The concept of a false eye relies on the concept of a living chain.

The definitions are thus self-recurrent.

(Tapani Raiko: Think of it as an algorithm. Virtual eyes are implicitely not false until the algorithm changes them to be. I did not want to write it mathematically, since it is less readable.)


About the Purpose of a Definition for Life

There is a difference between giving a correct definition and including theorems in your definition.

Of course other configurations of stones (chains) are said to be alive even if they don't meet the definition. That is because we know that the groups can always evolve to the status mentioned in the definition. Examples:

[Diagram]

A live group

This group is alive but not according to the strict definition of alive. It's alive because it will always be able to make two eyes. One can't include such groups in definitions. Rather you make a "theorem" saying that this group is alive, and give a proof.

(Tapani Raiko: Having two eyes is a shortcut to know that the group can not be captured. You can end reading, when Black gets two eyes. "A chain has two liberties that the opponent cannot remove" is a nice definition in itself and these two just clarify, what the unremovable liberties would look like. A "better definition" could cut the reading shorter. In fact a lot of Go knowledge is shortcuts. (like: The L group is dead.))

[Diagram]

The sansan invasion is alive

(in absence of outside walls)

-- Dieter Verhofstadt


Dieter Verhofstadt:

How about this:

Definition:

  1. A virtual eye is an empty point, reached only by chains of the same color.
  2. A collection of chains lives with eyes, if all the chains reach the same two virtual eyes.

Addition:

  1. A group of stones is alive with eyes, if for any sequence of moves by the opponent, there is a sequence of answers that turns the group into a collection of chains complying with definition 2.

Remarks:

  1. The definition reads "if" and not "if and only if".
  2. There is no question of bigger eyes. A virtual eye is one empty point reached only by chains of one color (so no other empty points).
  3. The definition does not include seki.
  4. The addition gives a method to bring down the status of a group to the definition. The addition is not included in the definition, since there are groups of stones for which no pro, let alone a computer program, can decide whether they are alive or not.

Topological life, as defined by Howard Landman

Bill Spight: Howard Landman, in his "Eyespace Values in Go" paper in Games of No Chance, defines topological life this way: A group is topologically alive if and only if the chains of the group surround more than one one-point eye, and each chain reaches more than one of those eyes. The definition given above, which required all chains to reach the *same* two eyes, is not so good. Each chain just has to reach two eyes, not necessarily the same ones.


Karl Knechtel's attempt

Karl Knechtel: This is my attempt at definitions. It has an aesthetic advantage in that there is no distinction between chains/strings/groups/whatever. I'll call them strings.

Define a path as a set of stones including a and b such that every stone is orthogonally adjacent to some other stone in the set.

Define a string as a path which is not a subset of a larger path. (This is the easiest way I can think of to specify the things formally.)

Define an eyespace as a set of points on the board satisfying the above definition for string, except with "stones" replaced with "empty points".

Define a liberty of a string (just to make sure we're clear on everything) as a point which is

  1. empty; and
  2. orthogonally adjacent to some stone in the string.

Define an eye as an eyespace, such that every string which has a point in the eyespace as a liberty is of the same colour. These strings are said to enclose the eye.

Define a simple eye as an eye, such that every point of the eye is a liberty of every string enclosing it. (A 3x3 eye is not "simple", therefore: this is important to the definition of unconditional life which follows, because with infinite passes a group with two such eyes could be captured. See Two Eyes Can Die.)

Next, apply the following algorithm to define true eyes and false eyes:

  • Mark every simple eye on the board as true.
  • Iterate until no more simple eyes are marked false on an iteration:
    • For each string on the board:
      • If there is exactly one simple eye such that
        • the simple eye is marked as true; and
        • some point of the simple eye is a liberty of the string being considered,
      • then mark that simple eye as false.

A true eye is any simple eye which is marked true after application of the algorithm; the simple eyes marked false are false eyes. (Large spaces are still not categorized as eyes; the idea is that further play can settle them into simple eyes which will almost certainly be true, but sufficient passes allow the other player to capture.)

Then:

[3] (Bookmark)

A string is unconditionally alive if and only if its liberties include two true eyes.

It is alive in sente if and only if,

  1. it is not unconditionally alive; and
  2. for any alternating play starting with the opposed player, the player owning the string can make it unconditionally alive. This is sufficient for "life" in endgame evaluation, I think.

It is alive in gote if and only if,

  1. it is not alive in sente or unconditionally alive; and
  2. there exists a point on the board such that if a same-colour stone is played there immediately, the group becomes alive in sente or unconditionally alive.

It is unconditionally dead if and only if there does not exist a set of points such that occupying those points with same-colour stones would render the group unconditionally alive.

It is dead in gote if none of the above apply, and it is not one of a pair of strings alive in seki:

Two strings are alive in seki if and only if

  1. the strings are opposite colours;
  2. for all points which are liberties of both strings, if a stone were played there by either player, both strings would immediately become alive in gote.

(Slight change here. "There exists" was the wrong criterion for the shared liberties in seki. If playing in one liberty makes a living shape and playing in the other makes a dead shape - that's no seki.)

Finally:

The game is completed when

  1. Any stone placed on the board by either player, not orthogonally adjacent to a string of the same colour (so that it forms a new string), would be unconditionally dead. (If it is dead in gote, the other player might well pass; but we should still demonstrate the status of the other group, for the reason given below, I think. Is it fair to punish new players by making a doomed invasion a contract to play until the string is unconditionally dead?);
  2. No string on the board is alive in gote or dead in gote. (The reason being that plays can render dead in gote strings alive in gote; if each player does that, then the next player has to choose between making his/her own group alive in sente or killing the other group, so the position is still unsettled.); and
  3. Having satisfied the above criteria, and having removed all unconditionally dead groups from the board, every empty point on the board is then either
    • part of an eye (what we would call "territory"), or
    • a liberty of a string which is alive in seki.

I think this is self-consistent, and sufficient to cover all cases. Comments?


Saesneg's attempt

Saesneg: I think I can simplify your definition, though I consider it doomed from the outset!

Every point on the board has the colour black, white or empty. If a point is not empty it is filled.

Two points are hard-connected if they are the same colour, and there exists an orthogonal path from one to the other via other points of the same colour.

A string is a set of points of the same colour such that every pair of members is hard-connected, and none is hard-connected to any non-members. Note that by this definition a string may consistent of empty points.

Two strings are adjacent if any member of one is adjacent to any member of the other. Two adjacent strings are called neighbours. Note that neighbours are, by definition, coloured differently.

A simple eye is a small empty string whose neighbours are all the same colour ('small' will be discussed later!).

Two filled strings are soft-connected if they are the same colour, and there is a path from one to the other via simple eyes and strings of the same colour.

A group is a set of filled-strings such that each pair of members is soft-connected, and none is soft-connected to any non-members.

Every simple eye adjacent to a group is a true eye, except those with a neighbour which is adjacent to only one true eye. Is this recursive statement logically well-formed?

A group with two true eyes is alive.

Unfortunately these attempts to formalise the definition of life cause as many problems as they solve. I do think they are useful as long as you continue to apply intuition and 'common sense' (which can feel very uncommon to a beginner). Firstly a sufficiently large eye is not really an eye in any meaningful sense. Secondly an eye can in practice be adjacent to strings of either colour, when it contains dead stones. Any attempt to define a dead stone rigorously is not for the faint-hearted. If there really were a simple formal definition of true eyes Computer Go would be a lot stronger than it is.


jvt: Semantics... in my opinion you can't define a single global true eye rigorously but it's easy to define two (or more) eyes. There is a simple formal definition of true eyes no one mentioned yet: a stone or group of stones is said to have two eyes if there is a way for the defender (even if the attacker plays first) to reach a configuration (including these stones) which Benson's algorithm recognizes as unconditionaly alive. That's all. Simple isn't it? This algorithm is used in Computer Go by some life and death programs / modules. Search + Benson as a cutoff test recognize all sort of shapes that are alive with two eyes, including any two-headed dragon, etc. Benson's algorithm is static (i.e. without search). There is no way to recognize two eyes generally without search. However many programs use an eye shape library for the most usual shapes.


Dieter: Due to a question I received by a reader who felt like not disturbing this community - (we want to be bothered more!) - I feel compelled to add that the subject of the discussion are groups of stones of different colour that are both alive (can't be captured), yet do not fall under the usual forms of co-existing life we encounter on the board:

  • seki (there are approach moves that neither party can occupy)
  • two eyes, where eyes are recognized as being of a certain shape (real, not false)

One of the examples under discussion displays a group with two (or more) eyes that we ordinarily recognize as being false, yet the group is alive. The whole issue is rather of formal-algorithmic kind than crucial to our understanding of Go.


[Diagram]

White is alive, black is dead

This is the curious situation I proposed.

There have been several definitions of eyes and alive / dead groups in this discussion. In this situation the small white group is unconditionally alive (black can't do anything to capture it) and the black group is dead (white can capture it at any time if needed).

I was simply wondering how well the definitions of an alive group presented here can handle this situation.

- Juha Nieminen?


Here's another position with 'eyes' that don't easily fit the usual sterotypes.

[Diagram]

Two stones, no eyes

There are no eyes on the black group, so the implication is that if the position is a seki, there aren't any on the two-stone white groups either.

Bill: Not so. Seki where a group with no eye lies between two opposing groups, each with one eye, are well known.

[Diagram]

Two stones, one eye

Here's the same two-stone corner group, but here it's an eye. The black group has an eye, so for seki, the white stones do too.

SiouxDenim


Second attempt by Dieter

Dieter: It is harder to read what's on this page already than to think of something new. Well, here it comes:

Preamble: the Tromp-Taylor rules

Definitions

A stone is a point not colored empty.

A chain is a number of stones of the same color that all reach eachother.

A liberty to a chain is an empty point adjacent to that chain.

A group is a number of chains.

A simple eye belonging to a group is a liberty to at least two chains of that group, which is no liberty to opponent chains, and which can only be filled by the opponent after all liberties of all chains to which it is a liberty, are filled by the opponent.

Theorem

A group with two simple eyes cannot be captured as a whole, if there is at least one chain reaching both eyes.

I think this covers all examples of groups alive with one-space eyes, which form the basis of the rest of life and death theory.


Should eyes own groups?

nstone

Conceptually, it might be easier to think of spaces owning contiguous groups, rather than vice versa. Consider:

A contiguous group of spaces is an ownerspace if it is continuously surrounded by stones of a single color, and/or a section of the board's boundary.

Ownerspaces own all boundary stones and their chains, Any ownerspace within an ownerspace is owned by the inner space. It can be other-colored.

A living group is a collection of stones made entirely of multiply-owned chains, all sharing owners. Assurance of life is equivalent to assurance of multiple-ownership.

Notice that when an ownerspace is entirely filled from the inside by an inner ownerspace, it ceases to exist, and its boundary groups may longer be multiply-owned and can be killed.


Unkx80's attempt

unkx80: Discussion moved from General Eye Definition.

Here is an attempt to give a general (not specific) definition of what is an eye (or sometimes called real eye). It is slightly modified from the 2/4 - 1/2 - 1/1 rule.

To qualify as an eye, the group must satisfy the following two conditions. If only the first condition is satisfied but not the second, then it is deemed as a false eye.

  • The group must surround at least one empty point.
  • The group must posess the following properties described below.

Confused: Here's an alternative wording for second condition which should work better:

  • No subset of the group can be captured without capturing the whole group.

Jasonred OOOH!!! I find that really brilliant, man! Not only is it brief, exact, and clear, but you can actually program it into a computer! Now you can explain eyes and two eyes easily. Dude, you might have just revolutionized Go programming! (well, it'll help if I want to make a go program anyhow, much easier than the these points for sides, these points for corners, etc. thing.

Bill: Confused is right. I do not know of any way to distinguish real eyes from false eyes in general without reference to play. There are many examples that can be distinguished without reference to play, but a general algorithm requires determining whether a cutting stone can be captured without reading.

Matt Noonan: Although this is a decent heuristic for false eyes, i think is is important to remember that it is flat-out wrong. There are groups for which the only eyes have all four diagonals controlled by white. This shows that the problem of finding out if an eye is false is really not a local one. In fact, as Bill pointed out above it is even worse -- in general it can't be done without reading.

Instant Eye Tester has a diagram of a black group with two real eyes, both of which have all the diagonals controlled by white.

(The properties described below will use black eyes, please switch the colours around if we are discussing white eyes.)

[Diagram]

An eye in the centre

For a Black eye in the center, three out of the four marked points must be unavailable to White. The corollary to this is that Two Corners Kills The Eye.

[Diagram]

An eye at the side

For a Black eye at the side, both marked points must be unavailable to White.

[Diagram]

An eye at the corner

For a Black eye at the corner, the marked point must be unavailable to White.


Robert Jasiek dismisses it all

RobertJasiek: You all fail because you do not define and refer to hypothetical-strategy and you are too careless about eye spaces. Here you find the intermediate result of 4 months of research: [ext] the Japanese 2003 Rules, draft 18. (The ko-pass rules, some details of the LD definitions, and some other details have been improved by me in the meantime.) From those rules, defining eye, eye space, etc. in general should be easy if you are sufficiently careful.

Defining such terms for Greedy Ancient Rules is much easier. Likewise, considering subboards given by pass-alive (Benson alive) strings is.


iopq: Define a group: a group is an orthogonally connected set of stones. Define territory: territory is an empty space surrounded orthogonally by only one color's stones and the edges of the board. Define a groupset: a groupset is a set of all groups that share territory. Define an unconditionally alive groupset: a groupset in which all of the members are orthogonally connected to two territories that are not orthogonally connected.

If every member of the groupset has two territories, those territories are eyes. Give me a counterexample if you please.

You can see that I don't include the positions where there is a white stone in the eyespace as unconditionally alive. That means I should have a broader definition of unconditionally alive. But I don't want to limit myself to rulesets that prohibit multiple stone suicide. I also don't want to include groups that can be killed if the opponent can move as many times as he or she wants in that local situation. Maybe if I define territory as a set of stones of the other color and empty points... but then I'd have to say that those stones are also dead... which would be a recursive definition. And I'd still have to include not "unconditionally dead" stones in that definition. Too much work.

1. Define a group: a group is a set of orthogonally connected stones.

2. Define territory: territory is an empty space surrounded orthogonally by only one color's stones and the edges of the board.

3. Define a groupset: a groupset is a set of all groups that share territory.

4. Define an unconditionally alive groupset: a groupset in which all of the members are orthogonally connected to two territories that are not orthogonally connected themselves.


Roule: how about this: 1: an "eye" is an empty space with chains orthogonally connected to it 2: an "potentially alive eye" is an eye attached by potentially alive chains 3: a "potentially alive chain" is a chain witch is attached to at least 2 eyes. 4: a group of chains and eyes is alive if all chains AND all eyes are potentially alive and if all chains and eyes are connected. 5: a chain is "attached" to an eye if it is orthogonally connected to it.


See also:


Path: EyesCollection   · Prev: RecognizingAnEye   · Next: EyeLiberties
This is a copy of the living page "Formal Definitions of Eye" at Sensei's Library.
(OC) 2007 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About