bug-gnubg
[Top][All Lists]

## Re: [Bug-gnubg] GNU Backgammon overview/background

 From: Øystein Johansen Subject: Re: [Bug-gnubg] GNU Backgammon overview/background Date: Tue, 11 Nov 2003 02:55:42 +0100 User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2.1) Gecko/20021130

Thomas Hauk wrote:

I just wrote up a quick chapter for my thesis on Gnubg.


I'd appreciate it if any of you (especially Jorn and Jim) could have a quick look at it, and either correct any errors or suggest additions. I am especially hardpressed to find much information on the history of Gnubg; perhaps this may be an opportunity for you guys to not only help me out but also use what I have as the basis for a History section for your Web site.


Anyway, it's only 2 pages long (I just quickie-LaTeXed it). You can get it at
http://www.cs.ualberta.ca/~hauk/public/wrapper.ps


Once you guys have had a look at the chapter I'll pass it along to my supervisors for review.

Thanks,

\begin{Minor silly comment}
Jørn and Øystein, can be written i \LaTeX{} like this:
J\oe rn and \Oe ystein

It's a long time since I used \LaTeX{} now, so correct me if I'm wrong!

\end{Minor silly comment}


I'm not sure about the start time of gnubg. It started with Garys toys costello and abbott. I'm not sure when he started the call it GNU Backgammon. I remember I wasn't really impressed the first time I tried it. It was a command line interface only. (I couldn't get the ext board working at that time. I don't remeber why.) It played a poor game, and it didn't even have any doubling routines yet. I think that must have been about late 1998.


I don't like the sound of the crashed neural net definition. What about rewriting to:


... added the restriction that the player has 6 or less checkers left, not including checkers borne off or crashed at the 1 or 2 points.


Temporal difference learning was only used in the first stages of the program. With this kind of training the program reached a intermediate playing strength. Later the nets have been trained with supervised training with positions from a position database. The desired outputs of the training positions in the database are based on rollouts. The latest contact and crashed nets are trained by a slighly different technique. It's like the net is trained to play like the 2-ply evaluation.


The race net is not trained with TD at all! (or maybe it was back in last century, but it played horrible). Just think about it. When there's no contact, taking the opponents next roll move and is quite independent of the players move. The weights will therefore not converge to any values at all. Same thing when it comes to evaluation of race position. 1-ply evaluation of a race is just a waste of time, since the opponents roll and move won't affect your best move. (..well, maybe some small point...)


The race net is therefore trained against the OSR evaluator. OSR is the One Side Rollout algorithm. It simply rolls out the position at one side using heuristic move rules. For each game it rolls out it keeps track of how many rolls it used to get off. Then it gets a roll distribution for the position. The same is done for the other side, and the winning probability is calculated is the same way as the 1 sided bearoff database. This OSR algorithm is used to train the race network.

I hope you have seen Josephs training page:
http://pages.quicksilver.net.nz/pepe/ngb/index-top.html


If you don't understand the bearoff database calculation and OSR, you should also look at the article by M. Buro.
Efficient Approximation of Backgammon Race Equities.
ICCA Journal, Vol. 22, No. 2, pp. 98-102. ISSN 0920-234X

\begin{quote}
Unfortunately, gnubg has an unusual definition of ply
\end{quote}


I strongly disagree. This is the way most chess engines count their plies. This is also the way JellyFish counts it's plies. I really wonder why "everybody" thinks it's GNU Backgammon that's the sinner of this naming convention, since the truth is that the sinner is Snowie? As I type this, I feel this discussion has been typed before. I suggest you search the archives of the mailing list.

Strongest in the World?

I actually feel more confident with the analysis done by Michael Depreli at GammOnLine. Search net for his results. He's probably reading this mail, so I guess he can mail you his methods and final results.


Albert Silver have also run a series of 7-point matches agains Snowie4. (That was before the latest 0.14 net). Check this thread out:
http://mail.gnu.org/archive/html/bug-gnubg/2003-06/msg00096.html
Jørn did a luck analysis of Alberts matches and concludes:

I didn't look for any typos, but I didn't see anyone in the read through.

Thanks,
-Øystein