Surreal Numbers
Surreal numbers are generalized numbers introduced by John Horton Conway in his book On Numbers and Games. In it, he also discusses positions in two-player combinatorial games. The surreal numbers can be seen as game positions (he calls them simply ‘games’) of a particular form. The term ‘surreal number’ was coined by Donald Knuth, in his book Surreal Numbers.
Details may be found at http://www.wikipedia.org/wiki/Surreal_number.
PJTraill: This article seems to be about abstract games as much as it is about surreal numbers. I feel that much of the material belongs there, and that this article should be shorter.
Table of contents | Table of diagrams {1|-1} [No pass go], +1 |
Definition
A game is like a set but with left- and right-membership^{[1]}, i.e., something of the form { L | R }, where L and R are sets of games. Thanks to the empty list, this definition is not circular but recursive. { | } is a game by the definition, and it is not defined in terms of anything else.
A surreal number is a game in which all games in L and R are also surreal numbers, and in which every member of L is less than every member of R^{[2]}.
I've cleaned up the relationship between numbers and games a bit, but without the definition of comparison it's still inadequate. --Matthew Woodcraft
In the game-theoretical interpretation of surreal numbers as (positions of) games, L is the list of options of the "left" player and R is the list of options of the "right" player. See CGT.
Remarkably, this definition yields in one fell swoop a system which can model many of the number systems that interest mathematicians: natural numbers, ordinals, rationals, reals and infinitesimals (but not complex numbers or quaternions).
Numbers and days
On the zeroth day
Meet { | } = 0 and discover why it's zero^{[3]}.
On the first day
Meet {0| } = 1, { |0} = -1 and {0|0} = *; and why they have the values they have^{[4]}.
On the second day
Meet {1|-1} and see why {*|*} = {-1|1} = 0.
- Meet {*| }, {*|0}, {-1|*}, {1|0}, {1|*}, {1|1} and their negatives. See why {1| } = 2 and {-1| } = 0.
- Meet strange beasts like {*,0|*,-1}.
- (Is the first number born on the Second Day supposed to be {-1|1}? -Tyler)
- You could say that these are all born simultaneously. - Migeru
- Sorry, looking at the question I didn't ask what I had intended to ask. Does {1|-1} simplify to *? If so, is the first term on day two a typo? -Tyler
- {0|0} = *, which has a temperature/miai value of 0. {1|-1} has a temperature of 1, but it chills to *. - Migeru
- In go terms, * is a dame. But {1|-1} is this:
Bildstein: I get it! Black has an option to turn it into a position where he has 1 more option than White, and White has an option to turn it into a position where he has 1 more option that Black.
Discussion
Bildstein: What is the exact relationship between miai values and surreal numbers?
Bill: If the number is dyadic with a denominator, when reduced to its lowest terms, of 2ⁿ, its miai value is -1/2ⁿ. If the number is not dyadic (such as 1/3 or 2/5), I believe that its miai value is -1/omega.
[1] Bildstein: Oh, rats! I just read TomsTechnicalIntroductionToCGT and thought I understood that games aren't actually sets, but now I'm reading that they are. Are they, or aren't they? What is left- and right-membership?
Bill: A game is a pair of sets, a left set and a right set. A game can be a member of either set.
Bildstein: So a game is not a set, it is a different beast. Thanks for clarifying that.
[2] TheBigH- isn't it true that something can have non-numbers as its left and right sets and still be a number? For example, { {-1|-1} | {1|1} } is equal to zero, which makes it a number, but neither {-1|-1} nor {1|1} are numbers.
fractic: Yes it is possible for numbers to have non-numbers as it's options. The simplest example would be 0=*+* = {*|*}. However the text above is the definition of a number. The class of the surreal numbers is recursively defined using only sets of previously constructed numbers. However after this construction is done it turns out that some other games are in fact equal to numbers.
[3] Bildstein: I thought {|}=0 by definition. But I can't seem to "discover why". I suppose it is still the zeroth day for me.
Bill: Well, it acts like 0. 1 + 0 = 1, for instance.
In go, a ko threat can be a zero, and adding one to a ko position can alter its value.
MtnViewMark: There isn't a "why" - it is "by definition", meaning Conway simply names the game {|} to be "0". He could have chosen to name it "Sydney", but it turns out that {|} behaves exactly like the number we know called "0", and it doesn't have an opera house. So "0" turns out to be a good name for it, because it will remind us of how the game {|} behaves in the theory.
Technically, I'm pretty sure that a ko threat is never a 0. It is an infinitesimal. It it were a 0, then you wouldn't have to answer it.
Bill: The game, {20 | 0 || 1}, could be a ko threat for Black, because it threatens to gain 20 pts. in two moves. But it also equals 0, because it is a second player win. If Black plays the threat, White can answer it to get back to 0.
[4] Bildstein: Jumping the gun, perhaps, but trying not to miss the boat... Why is {{|}|} = 1? I don't know. Is {{|}|} Even a surreal number? I can't seem to figure it out from the definition. Is {|} even a surreal number?
Bill: In terms of games, {{|}|} yields one move for Left, while White has no move. That's why it is +1.
Bildstein: So the number that we give a game is the number of moves left has minus the number of moves right has? But can you really talk about "the number of moves" a player has in a game? I don't know.
If {{|}|}=1, does that have any connection to a local endgame position with miai value of 1?
Bill:
This is more complex than {0 | }, but if White has sente he should resign, so it comes to the same thing.
The miai value of this play is -1, just as it is with regular go. Making a play costs a point.
MtnViewMark: Technically, the name we use for a surreal number is nothing more than short hand for humans. But, it turns out that if you name them well, then you can intuit how they act by the given name. { {|} | } is called "1", and indeed, it acts just like the normal number we call "1".
For example, if you add { {|} | } to { | {|} } you get a game who's value is equal to {|}. The names of these games are "1" and "-1" the result is equal to "0". To relate this example to playing game, in the first game, only Left has a move available. In the second, only Right. Playing these two games side-by-side (the game equivalent of adding), is no better or worse than having a game where no one can play.