Murat's Hypest-Gammon!

90 views
Skip to first unread message

mu...@compuplus.net

unread,
Jan 25, 2020, 3:35:04 AM1/25/20
to
On January 23, 2020 at 5:10:23 PM UTC-7, Tim Chow wrote:

> In any case, it shouldn't be that hard to write
> a program from scratch to compute exact cubeful
> equities in Hypergammon. I might do that sometime.

I'm pretty sure that you can't.

So, in order to help you get started with an easier
task, I invented an even simpler BG variant than
HyperGammon: HypestGammon..!! :)

Players start out with only one man on the 24-point
and roll only one die.

To decide who gets the opening roll, they play rock
paper scissor.

The rest is the same as regular BG, except there will
be obviously no doubles possible with a single die.

Let's see if you can write a program from scratch to
compute exact cubeful equities in "HypestGammon".!? :)

MK

Tim Chow

unread,
Jan 25, 2020, 1:42:46 PM1/25/20
to
On Saturday, January 25, 2020 at 3:35:04 AM UTC-5, mu...@compuplus.net wrote:
> I'm pretty sure that you can't.

I'm not as easily manipulated as you are.

---
Tim Chow

mu...@compuplus.net

unread,
Feb 1, 2020, 1:13:33 AM2/1/20
to
On January 25, 2020 at 11:42:46 AM UTC-7, Tim Chow wrote:

> On January 25, 2020 at 3:35:04 AM UTC-5, mu...@compuplus.net wrote:

>> I'm pretty sure that you can't.

> I'm not as easily manipulated as you are.

You sound like you have just realised that you have
been manipulated to claim something you can't do. :)

Or, perhaps, you manipulate yourself..?? ;)

MK

Tim Chow

unread,
May 21, 2020, 12:57:25 PM5/21/20
to
One of my colleagues expressed interest in HypestGammon, so I did finally
go ahead and write a program to compute the equities.

In fact, I did so in two different ways. The first way was to write down
a mixed integer program and then solve it with CPLEX. The second way was
to write an iterative program along the lines of what Tom Keith sketched.
Both methods gave the same numerical answers. It seems intuitively clear
that the equities should exist and be unique, but I don't actually have a
rigorous proof of that fact.

Note that in HypestGammon, checker play is deterministic. So cube decisions
are the only nontrivial decisions.

Note also that since there is only one checker, it doesn't really make sense
to talk about a gammon; a gammon is the same as a single win. But it does
make sense to talk about a backgammon; if I bear off my checker when my
opponent is on the bar or in my home board, then I win a backgammon. It is
easy to rerun my code with whatever backgammon value you want.

I can make the equities I computed available on my website if anyone is
interested. As a spot check, I find that if you win the initial rock-paper-
scissors game and get to go first, your cubeful equity is about 0.26081.
If you are allowed to double after winning rock-paper-scissors but before
rolling the die, then you should not double. Doubling decreases your equity
to about 0.03044.

In the meantime, I discovered that GNU Backgammon comes bundled with a program
called "makehyper" that computes cubeful equities for HyperGammon. That has
reduced my incentive for beefing up my program(s) to handle HyperGammon.

---
Tim Chow

Paul Epstein

unread,
May 21, 2020, 1:58:45 PM5/21/20
to
Hypestgammon doesn't sound like a bad game at all.
When learning concepts, it's often best to focus on them in isolation.
So the game might be a great tool for teaching doubling to beginners.
Since only the doubling is non-trivial, the game makes it possible to
focus on the doubling concept in isolation without being distracted
by checkerplay concepts. Alternatively, I've thought of the idea of
introducing skill into snakes and ladders, by playing it with a doubling cube.

Paul

Tim Chow

unread,
May 21, 2020, 2:44:26 PM5/21/20
to
On Thursday, May 21, 2020 at 1:58:45 PM UTC-4, Paul Epstein wrote:
> Hypestgammon doesn't sound like a bad game at all.
> When learning concepts, it's often best to focus on them in isolation.
> So the game might be a great tool for teaching doubling to beginners.
> Since only the doubling is non-trivial, the game makes it possible to
> focus on the doubling concept in isolation without being distracted
> by checkerplay concepts. Alternatively, I've thought of the idea of
> introducing skill into snakes and ladders, by playing it with a doubling
> cube.

It also occurs to me---and perhaps this was Murat's point---that it provides
a nice testing ground for investigating non-equilibrium strategies. For
example, one could see what happens if we pit the equilibrium strategy
against some simple strategy such as "double if my DMP winning chances are
>50% and take if and only if my DMP winning chances are >25%."

A more subtle question would be, suppose I want to publish a sequence of
(say) 25 consecutive games that seems to demonstrate that I can "beat the
bot." What strategy should I use to minimize the waiting time until I get
such a sequence? It probably isn't the equilibrium strategy. Almost surely
I want to increase variance at the expense of expected value. Offhand, I'm
not sure what kind of learning algorithm would work well to discover such a
strategy. Naively, I could start with some doubling/taking strategy, then
randomly change some decisions to see if it helps, but this seems like it
would take an inordinately long time to converge, because I might have to
simulate a lot of games to decide if my random change helped.

---
Tim Chow

mu...@compuplus.net

unread,
May 24, 2020, 3:37:06 AM5/24/20
to
On May 21, 2020 at 10:57:25 AM UTC-6, Tim Chow wrote:

> On January 25, 2020 at 3:35:04 AM UTC-5, mu...@compuplus.net wrote:

>> On January 23, 2020 at 5:10:23 PM UTC-7, Tim Chow wrote:

>>> In any case, it shouldn't be that hard to write
>>> a program from scratch to compute exact cubeful
>>> equities in Hypergammon. I might do that sometime.

>> So, in order to help you get started with an easier
>> task, I invented an even simpler BG variant than
>> HyperGammon: HypestGammon..!! :)

>> Let's see if you can write a program from scratch to
>> compute exact cubeful equities in "HypestGammon".!? :)

> One of my colleagues expressed interest in HypestGammon,
> so I did finally go ahead and write a program to compute
> the equities.

This renews my hope and interest to continue debating in RGB.

I never thought you would try even being dared. And, as you
confess, you wouldn't have if your colleague hadn't expressed
interest in it. So, if any credit may arise from your effort,
he/she should get it. Unless he requires to remain anonymous,
may we know who this "colleague" is?

More importantly than his name, I would like to know what was
the nature of his interest? Was it plain/scientific curiosity
to know/learn whithout any presuppositions? Or did he already
have an idea what the result would be and just wanted to find
out if he was right/wrong?

I'm sure we will later question and interpret your methods and
results after the fact. With that, what lead to the experiment
may be as worthy and meaningful as what came out of it.

> In fact, I did so in two different ways. The first way was
> to write down a mixed integer program and then solve it with
> CPLEX. The second way was to write an iterative program along
> the lines of what Tom Keith sketched.

Since you have already put in an effort into this, would you go
the extra step to explain and document what you have done? Even
if it may be too complex for non mathematicians at first, thru
future discussions, others may also understand eventually.

> Both methods gave the same numerical answers.

Was there ever the possibility in your mind that they woudn't?
If yes, by chance, have you even began to ask the question what
then..?

> It seems intuitively clear that the equities should exist and
> be unique, but I don't actually have a rigorous proof of that
> fact.

Well, at least you started on it. Hopefully more will follow.

> Note also that since there is only one checker, it doesn't
> really make sense to talk about a gammon; a gammon is the
> same as a single win. But it does make sense to talk about
> a backgammon; if I bear off my checker when my opponent is
> on the bar or in my home board, then I win a backgammon. It
> is easy to rerun my code with whatever backgammon value you
> want.

If it's going to make cube decisions more like regular gammon,
(and it it would be meaningful doing it), a new rule can be
injected to differentiate between single games and gammons. If
the checker has at least made into the loser's home board, then
it would be a single game vs. gammon lost otherwise, etc.

> I can make the equities I computed available on my website if
> anyone is interested.

Yes, plase. I would be very interested in not only the computed
equities but any and all other info you can make available, such
as program codes, etc.

> As a spot check, I find that if you win the initial rock-paper-
> scissors game and get to go first, your cubeful equity is about
> 0.26081.

Can we also speak in MWC also, if not instead.

> If you are allowed to double after winning rock-paper-scissors
> but before rolling the die, then you should not double. Doubling
> decreases your equity to about 0.03044.

Since it's not allowed, why would you even want to know that?
Are you trying to create strawmen already..??

> In the meantime, I discovered that GNU Backgammon comes bundled
> with a program called "makehyper" that computes cubeful equities
> for HyperGammon.

I saw that too. In fact, it refers to 1, 2 or 3 checker HyperGammon.

> That has reduced my incentive for beefing up my program(s) to
> handle HyperGammon.

Nonsense. How do you know Gnubg does it right? There is no way to
compare my HypestGammon to Gnubg's 1-checker HyperGammon, (since,
I assume it uses two dice), but you can improve your programs to
handle 1, 2 and 3 checker HyperGammon, and compare the results.

MK

mu...@compuplus.net

unread,
May 24, 2020, 4:48:51 AM5/24/20
to
On May 21, 2020 at 11:58:45 AM UTC-6, Paul Epstein wrote:

> When learning concepts, it's often best to focus on
> them in isolation. So the game might be a great tool
> for teaching doubling to beginners.

It's ironic that I pushed for it as a tool to "unteach"
you all... :))

Using an analogy, I believe that you guys started to
button your shirts (your bots) wrong after TD-Gammon v1.

After that, as you keep buttoning more holes (improving
various in-bred bots based on TD-Gammon v2), you keep
elaborating on the fallacy, without a chance to realize
that you are "progressing" in the wrong direction.

I could never get you guys to backtrack one button at a
time, which would be almost impossible anyway. That's
why I kept arguing that we all need to go back to the
beginning and start over with "buttoning a new shirt".

When there are countless books written about a fallacy
that is so established, nobody wanting to listen to
hear anything against it was easy enough to understand
but difficult to overcome the frustration and give up.

Never too late, HyperGammon being claimed to be a simpler,
solved version of BG, with perfectly calculatable cubeful
equities could be a tool for making my point easier for
you all to listen and begin to understand.

Then, better yet, I came up with HypestGammon, which at
last grabbed the attention of a mathematician collegue
and may give me some traction...

> Since only the doubling is non-trivial, the game makes
> it possible to focus on the doubling concept in isolation
> without being distracted by checkerplay concepts.

Again, it's ironic that for years I advocated that people
shoul learn cubeless BG first, focusing on checker play
concepts without being distracted by cube play concepts.

> Alternatively, I've thought of the idea of introducing
> skill into snakes and ladders, by playing it with a
> doubling cube.

After that you shhould move on to Hopscotch and see if the
calculated equities come out the same... :)

Doubling cube is a gambling tool, with the same simple
strategie that can be applied to any game "externally".

It doesn't add anything to any game that can be called
"skill" other than paying more attention to your winning
odds at any point, which you would need to know anyway.

In BG for example, a traditional cubeless match would be
5-points for a quick one, 7-points will prove skill more
and a real challenge would be best 2 of 3 5-pointers. A
good player would know and use his equity to vary his
checker play strategy.

In cubeful world, at championship level, 25-point matches
are the standard. Why? Because cube magnifies luck and
allows luck to truncate skill. A cubeless 7-pointer, even
sometimes a 5-pointer can last as long as a cubeful
25-pointer.

If it's not for money/gambling, cubeful BG is less enjoyable.
If it's for money/gambling, why bother playing BG anyway?
Just roll the dice, or flip a coin, or cut a deck of cards...

Knowing your cubeful equity more accurately may be claimed
to be additional level of skill but the problem is, except
simple positions such as in late games, you can't calculate
it. Or at least, not the way you are doing it now. So why
keep pretending?? Why not give up the bullshit and try to
do it right??

MK

Paul Epstein

unread,
May 24, 2020, 4:58:57 AM5/24/20
to
On Sunday, May 24, 2020 at 9:48:51 AM UTC+1, mu...@compuplus.net wrote:
....
> Again, it's ironic that for years I advocated that people
> shoul learn cubeless BG first, focusing on checker play
> concepts without being distracted by cube play concepts.
...

This opinion of yours is almost universal. Almost every backgammon
book, aimed at complete beginners, covers checkerplay before the cube.
I was trying to develop a different approach.
Very few people learn anything about the cube before they have thoroughly
understood checkerplay so you're advocating something that people already
agree with.

Paul

mu...@compuplus.net

unread,
May 24, 2020, 5:26:14 AM5/24/20
to
On May 21, 2020 at 12:44:26 PM UTC-6, Tim Chow wrote:

> It also occurs to me---and perhaps this was Murat's
> point---that it provides a nice testing ground for
> investigating non-equilibrium strategies. For example,
> one could see what happens if we pit the equilibrium
> strategy against some simple strategy such as "double
> if my DMP winning chances are >50% and take if and only
> if my DMP winning chances are >25%."

Well, you may be able to do such experiments now using
HypestGammon but when I was talking about regular BG,
I was arguing that:

a) Statistically, you will never lose the equity/edge/lead
you gain very early in the game.

b) Current calculations of cubeful equities for very early
or even for some middle game positions are inaccurate and
useless.

That's why this whole discussion here: let's see if you
can begin to calculate opening equities for HyperGammon,
or even HypestGammon, and then we can go from there to
talk about if you can calculate them in regular BG.

> A more subtle question would be, suppose I want to publish
> a sequence of (say) 25 consecutive games that seems to
> demonstrate that I can "beat the bot." What strategy
> should I use to minimize the waiting time until I get
> such a sequence? It probably isn't the equilibrium strategy.

Once you accomplish it, beating the bot becomes pretty
meaningless, especially you can't extrapolate from it
that transitively you can beat the humans players who
are beaten by the bot.

I played tens of thousand of games to accomplish that
just by playing my way, unlike the bot, without having
to know or show how I did it.

From there I progressed to experimenting with doubling
after opponents opening 63, 62, 64, etc. The reason I
picked 63 to experiment with first for example, is because
I noticed that TD-Gammon v1 cubeless opening roll equity
calculations showed it to be a bad opening roll.

> Offhand, I'm not sure what kind of learning algorithm
> would work well to discover such a strategy. Naively,
> I could start with some doubling/taking strategy, then
> randomly change some decisions to see if it helps, but
> this seems like it would take an inordinately long time
> to converge...

How about doing what I have done. If you agree with me that:

1) Statistically you will never lose the equity you gain at
any point in the game, including very early in the game, for
the rest of the game.

2) If opening 63 is a bad roll in cubeless rollouts, no
subsequent cube actions in that game will change that fact.

Why waste time with totally random cube decisions, instead
of using more likely possibilities based on previously
calculated cubeless equities through random play already,
such as my above 63 example??

Why don't you plug a few of these into your algorithm to
see what you may start to discover and then you can go
from there...

MK

Tim Chow

unread,
May 24, 2020, 7:56:56 PM5/24/20
to
On Sunday, May 24, 2020 at 5:26:14 AM UTC-4, mu...@compuplus.net wrote:
> a) Statistically, you will never lose the equity/edge/lead
> you gain very early in the game.

I don't understand what you're claiming here.

Are you saying that if you acquire an edge at some point in the game,
then the probability is >50% that you will retain an edge all the
way to the end of the game, without ever at any point ceding the edge
to your opponent?

---
Tim Chow

Tim Chow

unread,
May 24, 2020, 8:18:26 PM5/24/20
to
On Sunday, May 24, 2020 at 3:37:06 AM UTC-4, mu...@compuplus.net wrote:

> More importantly than his name, I would like to know what was
> the nature of his interest? Was it plain/scientific curiosity
> to know/learn whithout any presuppositions? Or did he already
> have an idea what the result would be and just wanted to find
> out if he was right/wrong?

He was interested in learning more about AlphaZero, coding up a simple
version of it himself, and he was looking for suggestions of simple games
to try it on, so I mentioned hypergammon and hypestgammon. He thought it
would be interesting to compare the AlphaZero strategy with the exactly
computed equilibrium equities, so I volunteered to compute the latter.

> Since you have already put in an effort into this, would you go
> the extra step to explain and document what you have done? Even
> if it may be too complex for non mathematicians at first, thru
> future discussions, others may also understand eventually.

Okay, I'll clean up my C code a bit and post it on my website later this
week. The C code was for the iterative method.

I could also post the linear programming code but that seems less useful.
I wrote it in Maple, which is a proprietary language, and it's not very
readable because I was coercing it to produce CPLEX LP files. But it's
easy enough to explain what I did, at least to someone who knows a little
bit about mixed integer programming. One introduces floating-point variables
for all the equities, and binary variables for the cube decisions, and writes
down the obvious constraints relating the variables.

> > Both methods gave the same numerical answers.
>
> Was there ever the possibility in your mind that they woudn't?
> If yes, by chance, have you even began to ask the question what
> then..?

Sure. As long as the cube value doesn't get out of control---and I think
it's not hard to show that it can't, although I haven't actually worked it
out---then equities are certainly well defined. I wasn't expecting this to
happen even though I hadn't mathematically ruled it out.

But there could be another issue---there might be some other solution
(besides the true equities) that satisfies all the obvious constraints.
If there is, then either the mixed integer programming solver or the
iterative algorithm might converge to the spurious solution. This also
seems unlikely, though less unlikely than the nonexistence of equities.

> > As a spot check, I find that if you win the initial rock-paper-
> > scissors game and get to go first, your cubeful equity is about
> > 0.26081.
>
> Can we also speak in MWC also, if not instead.

Well, that would require me to write more code, to play matches. What I've
done so far corresponds to playing a single money game, not a match.

> > If you are allowed to double after winning rock-paper-scissors
> > but before rolling the die, then you should not double. Doubling
> > decreases your equity to about 0.03044.
>
> Since it's not allowed, why would you even want to know that?
> Are you trying to create strawmen already..??

It wasn't clear to me from your description that it wasn't allowed. In
ordinary backgammon, we roll dice to determine the first player, and it
is understood that you can't double after you roll the dice. But if you
play rock-paper-scissors to determine the first player, then the first
player is determined *before* the die is rolled, so it's not immediately
clear whether the first player is allowed to double before rolling. It's
your game, so if you say no, then the answer is no. But since you didn't
say so explicitly in your original description, I figured I would mention it.

> > That has reduced my incentive for beefing up my program(s) to
> > handle HyperGammon.
>
> Nonsense. How do you know Gnubg does it right? There is no way to
> compare my HypestGammon to Gnubg's 1-checker HyperGammon, (since,
> I assume it uses two dice), but you can improve your programs to
> handle 1, 2 and 3 checker HyperGammon, and compare the results.

I didn't say it eliminated my incentive, just that it reduced it. Remember
that I'm doing this in response to a colleague, who is willing to trust GNU
Backgammon at this point.

---
Tim Chow

mu...@compuplus.net

unread,
May 25, 2020, 3:25:08 AM5/25/20
to
On May 24, 2020 at 2:58:57 AM UTC-6, Paul Epstein wrote:

> On May 24, 2020 at 9:48:51 AM UTC+1, mu...@compuplus.net wrote:

>> Again, it's ironic that for years I advocated that people
>> shoul learn cubeless BG first, focusing on checker play
>> concepts without being distracted by cube play concepts.

> This opinion of yours is almost universal. Almost every
> backgammon book, aimed at complete beginners, covers
> checkerplay before the cube.

I didn't mean to come across as I have invented the concept.
What I found ironic is the contrast coming back at me as
the opposite concept.

If you take the cube out of cubeful BG, you end up with BG.

If you take the BG out of BG, you end up with "cube skill",
"a naked flasher"... :))

I know what BG is without the cube. Perhaps you can explain
to me what the "cube skill" is without (independent of) BG?

For clarification and for the record: I have never ever read
even a single book on BG, or cube skill, or both.

I have read quite a few short articles in BG archives but
with "mental gloves" at that, for fear of getting infected! ;)

Tom Keith's writings about HyperGammon was perhaps the longest
article I have ever read, along with some papers about neural
nets, TD-Gammon, etc.

Since we are talking about "cubeful backgammon" and not
"backgammonful cube", it's natural that the books would first
teach the basics of backgammon but I still have a feeling that
they probably start introducing the cube into BG too soon for
what I meant in any case...

> I was trying to develop a different approach.

Fine. Now, as I have done with Chow, I am daring you to follow
through with it!

Let's see you "introduce skill" into snakes and ladders with
the doubling cube.

Before you start though, I want you to realize that you are
talking about "introducing the cube into snakes and ladders",
not "introducing snakes and ladders into the cube"! Got it??

With that said, let's see what you will come up with? I'll
be waiting very impatiently... ;)

MK

mu...@compuplus.net

unread,
May 25, 2020, 3:36:55 AM5/25/20
to
On May 24, 2020 at 5:56:56 PM UTC-6, Tim Chow wrote:
In the long run, yes. In fact, later in my same post I said
at any given point in a game instead of very early in a game.

The reason I said very early in a game was because the current
cubeful calculations of equity are most inaccurate/useless in
the early stages of a game rather than later.

I don't expect to argue against this since it's brainless simple
statistics. If player-A gains let's say 51% winning chances after
the fifth roll, calculated by roll-outs (statistics) based on
1296 or 4 billion tries, that number will never change as long as
it's calculated the same way, regardless of how many more billions
of tries, regardless of whether cubeless, cubeful, spoonful, cupful,
barrelful, etc....

Do you understand and do you agree now?

MK

Tim Chow

unread,
May 25, 2020, 10:31:58 AM5/25/20
to
The subtlety that I wanted to clarify was regarding the term "never lose
the edge."

If I have a 51% edge, then practically by definition, it means that in the
long run, I'm going to come out ahead *at the end of the game* more often
than not.

However, a 51% edge doesn't automatically say anything about what might
happen *during the course* of the game. It might be that, during the game,
the advantage will *swing back and forth* between me and my opponent. I
might have the edge at first, and then my opponent might have the edge, and
then the edge might return to me. In the end I'll prevail more often than
not, but perhaps only after see-sawing back and forth a few times.

When one says "never lose the edge," it could mean that such see-sawing
never occurs. After all, you might say that I had an edge, then I *lost
the edge*, then I *regained the edge*, and that it's not true that I *never*
lost the edge.

So which do you mean? If you mean that if I gain an edge (let's say for
concreteness a 51% chance of winning the game at DMP) then, in the long run,
I will win 51% of such games, then I agree...this is almost tautological.
if you mean that if I gain an edge, then more often than not there will
*never be any see-sawing* then I don't agree.

---
Tim Chow

Tim Chow

unread,
May 25, 2020, 2:03:24 PM5/25/20
to
On Sunday, May 24, 2020 at 8:18:26 PM UTC-4, I wrote:

> Okay, I'll clean up my C code a bit and post it on my website later this
> week. The C code was for the iterative method.

Okay, I've done this. Go to http://alum.mit.edu/www/tchow/fun.html and
search for "Hypestgammon". (The web server seems to be a bit flaky today
so if you get a "Not Found" error, try again a few seconds later.)

---
Tim Chow
Reply all
Reply to author
Forward
0 new messages