Forum Archive : Programming

How to count plies?

From:   tanglebear
Address:   tanglebear@the.den
Date:   24 March 2003
Subject:   Optimizing Gnu BG speed

I recently started using Gnu Backgammon.  It seems much slower than
other bots set at their highest setting. But maybe I don't know how to
set it up correctly.  What I did is go into Settings|Players and set
ply for move and cube to 3 ply.  I've also tried different levels of
Reduced Evaluations.  I have not tried changing Move Filter or Noise.
Any advice?

Nis Jorgensen  writes:

You should note that gnubg 3-ply equals Snowie 4-ply -- for some
reason they are counting in different ways. Also, as you probably
noticed, gnubg does not have any "highest settings" - you can set it
to do 64-ply if you like.

Jørn Thyssen  writes:

An explantion:

The reason behind this is that we name a static neural net evaluation
0-ply, because there is no look-ahead. Similarly, we name the 2-ply
evaluation "2-ply" because gnubg looks two full rolls ahead. I can't
see the logic behind naming a two roll lookahead evaluation for
"3-ply" :-)

You can argue that you count "moves" instead of "rolls", so in a 2-ply
chequer evaluation you look three moves ahead, hence it makes sense to
call it 3-ply. However, in a 2-ply cube evaluation you only look two
moves ahead, so it really doesn't make any sense to call it "3-ply".

Douglas Zare  writes:

For the evaluations of moves, TD-Gammon, Jellyfish, and Snowie used
the same definitions of these terms long before gnu. That should count
for something, no? It hinders communication if you make up new
definitions of established terms, introducing ambiguity, and I don't
see any real justification for this.

Jørn Thyssen  writes:

I should add that the numbering of plies in gnubg wasn't invented by
me. Personally I do not think this should be changed in gnubg, but of
course, if the majority of the developers think it should, then they
can do it! I won't (or can't) hinder it, but I won't help either!

David Montgomery  writes:

I know that when Snowie came out I felt that they had added 1 to all
the ply for marketing reasons. I have handy my JellyFish 2.0 manual.
Let me quote what it says for level 7:

    Level 5 here makes a longer list of candidates, and these are
    evaluated with a combination of lookahead and simplified double
    lookahead (2-ply).  This means that some of the 2-roll sequences
    are analyzed.  Doing this calculation on a list of positions can
    be considered an extra level of looking ahead, and could therefore
    be called "3-ply play".

This certainly isn't so clear-cut in favor of Snowie's terms.
And in any event it would only apply to checker play.

My perception was and is that Snowie made up a new definition,
introducing ambiguity, without any justification except marketing.
For what little it is worth, I agree with the gnubg terminology.

(After writing this, I searched a bit in the
archives, and discovered that most people used 1-ply like Snowie
does, even before Snowie came out.  I feel I must concede that
this was the more widespread usage.  I still prefer gnubg's,
and still believe that there was no clear-cut standard.)

Albert Silver  writes:

Yes, for what it's worth I find GNU's ply definition more logical. As
a chess player who has used dozens of chess engines, the term ply has
always meant how many moves it looked ahead. In fact I always thought
Snowie was looking 3 plies AHEAD until I discovered GNU. At first I
didn't even realize it was Snowie the problem, but when I did I felt
tricked, though to be fair the time difference was only in the order
of a month since I took this game up late last year. At first, I had
thought that GNU was too slow/weak to reach 3 plies (checker plays to
be clear) like Snowie. :-)))

Due to their long-term presence and widespread use, Snowie's may be
the current "standard" but it's a stupid one IMO. Reminds me slightly
of the confusion of when the new Millenium started caused by the fact
that the counting was started with one and not a zero.
Did you find the information in this article useful?          

Do you have any comments you'd like to add?     



Adjusting to a weaker opponent  (Brian Sheppard, July 1997) 
Anticomputer positions  (Bill Taylor+, June 1998) 
BKG 9.8 vs. Villa  (Raccoon+, Aug 2006) 
BKG 9.8 vs. Villa  (Andreas Schneider, June 1992) 
BKG beats world champion  (Marty Storer, Sept 1991) 
Backgames  (David Montgomery+, June 1998)  [Long message]
Blockading feature  (Sam Pottle+, Feb 1999)  [Long message]
Board encoding for neural network  (Brian Sheppard, Feb 1997) 
Bot weaknesses  (Douglas Zare, Mar 2003) 
Building and training a neural-net player  (Brian Sheppard, Aug 1998) 
How to count plies?  (Chuck Bower+, Jan 2004)  [GammOnLine forum]
How to count plies?  (tanglebear+, Mar 2003) 
Ideas for improving computer play  (David Montgomery, Feb 1994) 
Ideas on computer players  (Brian Sheppard, Feb 1997) 
Introduction  (Gareth McCaughan, Oct 1994) 
Measuring Difficulty  (John Robson+, Feb 2005)  [GammOnLine forum]
Methods of encoding positions  (Gary Wong, Jan 2001) 
N-ply algorithm  (eXtreme Gammon, Jan 2011) 
Neural net questions  (Brian Sheppard, Mar 1999) 
Pruning the list of moves  (David Montgomery+, Feb 1994) 
Search in Trees with Chance Nodes  (Thomas Hauk, Feb 2004) 
Source code  (Gary Wong, Dec 1999) 
TD-Gammon vs. Robertie  (David Escoffery, June 1992) 
Training for different gammon values  (Gerry Tesauro, Feb 1996) 
Training neural nets  (Walter Trice, Nov 2000) 
Variance reduction in races  (David Montgomery+, Dec 1998)  [Long message]
Variance reduction of rollouts  (Michael J. Zehr+, Aug 1998)  [Long message]
Variance reduction of rollouts  (Jim Williams, June 1997) 
What is a "neural net"?  (Gary Wong, Oct 1998) 
Writing a backgammon program  (Gary Wong, Jan 1999) 

[GammOnLine forum]  From GammOnLine       [Long message]  Long message       [Recommended reading]  Recommended reading       [Recent addition]  Recent addition

  Book Suggestions
Computer Dice
Cube Handling
Cube Handling in Races
Extreme Gammon
Fun and frustration
GNU Backgammon
Luck versus Skill
Magazines & E-zines
Match Archives
Match Equities
Match Play
Match Play at 2-away/2-away
Opening Rolls
Pip Counting
Play Sites
Probability and Statistics
Source Code
Strategy--Bearing Off
Strategy--Checker play


Return to:  Backgammon Galore : Forum Archive Main Page