bug-gnubg
[Top][All Lists]

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

 From: Thomas Hauk Subject: Re: [Bug-gnubg] GNU Backgammon overview/background Date: Wed, 12 Nov 2003 15:09:02 -0700 (MST)

On Tue, 11 Nov 2003, Øystein Johansen wrote:
> > http://www.cs.ualberta.ca/~hauk/public/wrapper.ps
>
> \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}

Fair nuff... it's actually just \o and \O, but I added them in all the
same. I didn't think to do it since I just wanted to get the thing out.

> I'm not sure about the start time of gnubg. It started with Garys toys
> costello and abbott.

He actually sent me a link to a detailed interview with lots of history,
so I'll revamp based on that:

http://gtw.freeshell.org/interview.html

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

Changed it a bit.

> 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.

So... let me get this straight.

TD learning was employed to train a NN, which then produced a position
database along with what the NN thought to be the best move for that
position. Then a second NN was trained with only this resulting position
DB? In other words, the second NN is trained with expertly-labelled data,
where the expert is an older NN trained only with self-play?

> Race net stuff

> 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

Michael Buro is actually one of my two supervisors ;-)

He told me he was going to use the weekend to look through his race
papers. We might do some work using race doubling decisions and/or use of
ProbCut techniques.

> \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.

Compared to the rest of the AI world, yes, it _is_ an unusual definition
of ply. For example, a quick search reveals

"A computer program which evaluates no further than its own legal moves
plus the legal responses to those moves is searching to a depth of
two-ply."

Basically, a ply is a new level of nodes in a search tree, or simply a
move by a player. This is the accepted definition in AI.

Ply is also normally the depth of the tree. But in games where the search
trees have intermediary levels of chance nodes -- like backgammon -- then the
defintion of ply is [ply = (depth+1)/2]; a depth=1 search would be 1-ply,
a depth=3 search would be 2-ply, etc.

> 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.

I hope he does. I don't subscribe to GammonLine so someone will have to
help me out here ;-)

> 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:

Thanks, I've added those to my list.

And thanks for all the feedback. 8)

--
Some people, when confronted with a problem, think "I know, I'll use
regular expressions."  Now they have two problems.
--Jamie Zawinski, in comp.lang.emacs