Programming

Forum Archive : Programming

 
Adjusting to a weaker opponent

From:   Brian Sheppard
Address:   brians@mstone.com
Date:   3 July 1997
Subject:   Re: If a bot could look at your rating
Forum:   rec.games.backgammon
Google:   01bc87b7$06cd6420$3ac032cf@polaris

Don Banks wrote:
> I think the main advantage that human experts have
> over computer programs is the ability to make a certain
> play based on the skill level of the opponent.
> In other words, a program like jellyfish plays exactly
> the same against everyone, whereas human players can
> make tactical adjustments.

Jake Jacobs and Walter Trice have written a book showing how
humans should handle the cube in an unequal match. See their
web page <http://homepage.interaccess.com/~itaewon/>

> But, on Fibs, a program can actually *see* how good you
> are before the match even starts.  Is there anything that
> can be gained by knowing the players' ratings?
>
> Of course. Here's an example.  Suppose that:
> jellyfish, rated 2000, is playing X, rated 1000, in a
> 4 point match.  At some point, player X doubles and jf
> owns the 2 cube.  Now suppose the game turns into a race
> and jellyfish is left with two checkers, one on the 2
> point and one on the five point, while the opponent is left
> with one checker on his one point.  It's jellyfish's roll.
>
> What to do. Double? There are 19/36 winning sequences for
> jf, and this is its last chance to double.
> But of course, if jf considers the difference in their
> rating, doubling is a very bad move.  The stakes are not
> equal in this match. Player X stands to win something like
> 8 ratings points, jf maybe around 4.
> In fact, jf would need to have an overwhelming advantage
> to re-double, in order to make this a profitable game
> in terms of ratings points.

It is possible to build a match equity table that shows your
chance of winning a match as a function of the difference in
your skill levels.

To my knowledge, JF does not use this capability. It is possible
that other programs do. It is not hard to do, since these programs
have match equity calculators already.

Another dimension is checker play. Stronger players should aim
for complex, dynamic positions where things are "up in the air."
Computer programs are stronger players, so they should strive
for complicated play. I do not know whether any programs do this.

It is harder to implement than the cube-handling trick above.
One approximation could be to choose opening plays on the basis of
one's opponent, and after that allow the program to play its natural
moves.

Another dimension of human play is modifying your behavior based
upon observed weaknesses in the opponent. For instance, if you
are not sure whether to double or not, you might be swayed by
the fact that the opponent incorrectly dropped a similar double.
This is hard to implement.

> I just think it would be interesting if this calculation
> were included in a bot's positional analysis, to see if it
> would significantly improve its rating.

I think you would be disappointed by the results. It may improve
the program's play, or it may not.

The problem is that programs are already playing so well, that it
is hard to change anything without making them weaker. The program
gives up equity every time it plays a non-optimal move. Will it
regain that equity by errors of the opponent? Or not?

The doubling cube provides us with examples and counterexamples.
For instance, in the last-roll situation you give it would be a
clear error to double. But please note the reason why it would be
an error: the opponent is presumed to make the correct take/drop
decision.

But in general a weak opponent cannot be presumed to make correct
take/drop decisions. What do you do then?

Some players (Kit Woolsey?) have argued that being more aggressive
with the cube pays dividends because weaker players make two
characteristic errors:

    1) They often drop takeable doubles, and

    2) Even if they correctly take, they are likely to botch the
    game after that point.

Other players (Jacobs and Trice?) argue that the doubling cube
should be offerred more sparingly. These players back up their
assertions with match equity calculations. But are they assuming
an unrealistic percentage of correct take/drop decisions?

I don't know what the resolution should be. I think that it is
safe to use an opponent-adjusted match equity table for deciding
whether to take/drop. It is safe, though unenterprising, to offer
doubles strictly on the basis of theoretical equity.

My belief is that programs have plenty of room for improvement in
their equity judgment. IMO, adjusting the program to "play-the-man"
is not the biggest problem at this point.

Warm Regards,
Brian
 
Did you find the information in this article useful?          

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

 

Programming

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
Books
Cheating
Chouettes
Computer Dice
Cube Handling
Cube Handling in Races
Equipment
Etiquette
Extreme Gammon
Fun and frustration
GNU Backgammon
History
Jellyfish
Learning
Luck versus Skill
Magazines & E-zines
Match Archives
Match Equities
Match Play
Match Play at 2-away/2-away
Miscellaneous
Opening Rolls
Pip Counting
Play Sites
Probability and Statistics
Programming
Propositions
Puzzles
Ratings
Rollouts
Rules
Rulings
Snowie
Software
Source Code
Strategy--Backgames
Strategy--Bearing Off
Strategy--Checker play
Terminology
Theory
Tournaments
Uncategorized
Variations

 

Return to:  Backgammon Galore : Forum Archive Main Page