On Nov 30, 2008, at 11:49 AM, Mark Boon <[EMAIL PROTECTED]> wrote:

Indeed, the scaling question is very important. Even though I think I have AMAF/ RAVE working now, it's still not so clear-cut what it's worth. With just 2,000 playouts I'm seeing a 88% win-rate against plain old UCT tree-search without RAVE. At 10,000 playouts this win- rate drops to 75%. With 50,000 to 69%. All of these results have a margin of error of a few points, but the trend is obvious. UCT plays weaker than UCT+RAVE but it scales a little better. This doesn't necessarily mean they converge. From the few data-points that I have it looks like UCT+RAVE might converge to a winning rate of 66% against plain UCT search with playouts in the hundred-thousands or millions. Is that about 100 ELO points? That in itself would be justification enough to keep it. But there's a computation-cost as well. Plus, as soon as you start to introduce other move-selection procedures it may eat into the gain RAVE provides even further.

Anyhow, the way I have it set now I can easily switch between using AMAF information to compute RAVE or not. There are also still some parameters to tune. So this is not the last word on it by far. It's more like a good starting point. Also, even if it's not something to use in a final playing-engine, it's good to have a 'base-line' that provides the best possible time/strength combination to run quick tests against.

Is there actually a well-understood basis for the diminishing return of UCT+RAVE vs. UCT? I have given it a little thought, but it's not entirely obvious to me why UCT+RAVE wouldn't scale better than what I'm seeing.

I've also run into a few 'fluke' results. Winning streaks of a dozen games in a row (or more) happen between equally strong programs. So to be reasonably sure I'd like to get about 1,000 games. If you want to make sure two implementations are equivalent, like in case of the ref-bots, I'd recommend 10,000 games.

If all I want to know is whether something is an improvement or not, then I usually settle for fewer games. If after a (few) hundred games I see a win-rate of 50% or less I decide it's not an improvement (not one worth anything anyway), if I see a winning-rate of around 60% or more I keep it. Anything in between I might decide to let it run a bit more. The improvements that I keep I run with longer thinking times overnight to see if they scale. After all, the only real test worth anything is under realistic playing circumstances.

You've claimed to be non-statistical, so I'm hoping the following is useful... You can compute the likelihood that you made an improvement as:
erf(# of standard deviations)
Where # of standard deviations =
(win rate - 0.5)/sqrt(#games)

Erf is ill-defined, and in practice, people use lookup tables to translate between standard deviations and confidence levels. In practice, people set a goal confidence and directly translate it to a number of standard deviations (3.0 for 99.85%). This situation requires the one-tailed p test.

After about 20 or 30 games, this approximation is accurate and can be used for early termination of your test.





Mark

On 29-nov-08, at 11:32, Don Dailey wrote:

On Sat, 2008-11-29 at 11:58 +0100, Denis fidaali wrote:

From my own experience, an important testing case whenever trying
to get AMAF to work, is the scaling study.


No truer words ever spoken.  This is one of the secrets to strong
programs, if they scale, they are probably soundly designed. I do that with Chess. I find that some program changes scale up, particular sound algorithms that reduce the branching factor. I have to run tests pretty fast in order to get results I can interpret, but I also plot the result
visually with gnuplot.

As many here will recall,  my own Fatman study vs Leela showed that
Leela scaled better with increasing depth than Fatman. Nothing like a
graph to reveal this very clearly, although you can also look at the
numbers if you are careful.

It's important to point out that you will be completely mislead if you
don't get enough samples.  It's very rare that 100 or 200 games are
enough to draw any conclusions (unless it's really lopsided.)  I
remember once thinking I had found a clear scalable improvement but
decided that it must run longer - but I was hopeful.  When the
improvement started to decline, I discovered that I had by accident been
running the same exact program against itself.

The point is that it is not uncommon to get really "lucky", and have an
equal program look substantially superior - for  a while.

- Don


My prototype was quite strong considering that it used only 1000
light playout
(and score 25-30 % win against gnugo lvl 0), but it seemed to not get
much
over that as the number of playout grew ... (also there had a serious exponential complexity problem, which i never get into the trouble of
investigating :) )

I know that Zoe was about 2000 elo with i think 50k simulations,
and ... never
got any real better as the number of simulations increased.

Both prototype were toying with AMAF, so i really think you need a bit
of scalability
study whenever trying to asses an engine employing it. (although it
could very well be
that the scalability trouble came out of some nasty bugs. Both
aforementioned prototype
where quite messy ...)

From: [EMAIL PROTECTED]
Subject: Re: [computer-go] RAVE formula of David Silver (reposted)
Date: Sat, 29 Nov 2008 03:39:58 -0200
To: computer-go@computer-go.org
CC:


On 28-nov-08, at 17:28, [EMAIL PROTECTED] wrote:

I would be very interested to see the RAVE code from Valkyria.
I'm
sure others would be too.


I'm much more interested in a general concise description. If such
a
description cannot be given easily, then I think there's little
point
including it in the definition of a MCTS reference engine.

I found a serious flaw in my code collecting the AMAF scores, which
explains why I wasn't seeing any gains so far with AMAF turned on.
Now over the first 100+ games UCT+RAVE scores 90% over plain UCT.
I'm
going to run a test overnight, but so far it looks good. It should
have collected a few thousand samples by tomorrow.

Hopefully next week I can go back to testing my list of playout
improvements, which is why I started making the MCTS reference
implementation in the first place. This RAVE stuff caused a bit of
a
distraction, but it's nice to have if it works.

Mark
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


______________________________________________________________________



Souhaitez vous « être au bureau sans y être » ? Oui je le ve ux !
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to