Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Mark Boon
On Jan 17, 2009, at 5:41 PM, Sylvain Gelly wrote: For the first difference you mention, as far as I remember it makes a small but significant difference and is one of the main reason I was talking about "tricky details". OK, I ran a test and after 1,000 games with 2K semi-light playouts I

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Sylvain Gelly
Good catch :)Indeed it makes no sense with the "*", sorry... Sylvain 2009/1/17 Magnus Persson > I think I found a bug in ChooseMove > > Quoting Sylvain Gelly : > > coefficient = 1 - rc * (rc + c + rc * c * b) >> > > I think this has to be > > coefficient = 1 - rc / (rc + c + rc * c * b) > >

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Magnus Persson
I think I found a bug in ChooseMove Quoting Sylvain Gelly : coefficient = 1 - rc * (rc + c + rc * c * b) I think this has to be coefficient = 1 - rc / (rc + c + rc * c * b) thus when c is 0 (initially) the coefficient is 0 when c goes towards infinity the coefficent goes 1 which is how

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Sylvain Gelly
Hi Issac, You are welcome, and I am happy there is finally a clearer of implementing RAVE out there. I believe I should have done it much earlier, sorry for that, but "better late than never", no? :) Best, Sylvain 2009/1/17 Isaac Deutsch > > Hi, > > > > Sorry for the slow reply. > > Hi > > I'd

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Sylvain Gelly
Hi Mark, For the first difference you mention, as far as I remember it makes a small but significant difference and is one of the main reason I was talking about "tricky details". For the second difference, I also don't want to "count a move if the opposite color played on that point first", and, u

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Sylvain Gelly
A small point: in "PlayoutOutTree", just after "if (!played.AlreadyPlayed(move)) {", there should have a "played.Play(move)". I believe it does not change the final result (as the check is also done in the backup, and the move played in the backup), but I simply forgot that line (that should make m

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Mark Boon
Thanks for taking the time Sylvain. I took a quick look to see how your pseudo-code compared to the reference implementation I made. There are a few small differences, and I think the place(s) where I deviated is exactly what confused Daniel Waeber. The first difference is that when I check

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Isaac Deutsch
> Hi, > > Sorry for the slow reply. Hi I'd prefer quality over speed anytime. ;) Your pseudo code is excellent and helped me to understand some of the trickier things. Thanks again! I think I will now be able to implement my own version. :) Regards, Isaac -- Pt! Schon vom neuen GMX MultiM

Re: [computer-go] How to "properly" implement RAVE?

2009-01-17 Thread Sylvain Gelly
Hi, Sorry for the slow reply. After those discussions, I figured out that pseudo code was the fastest clear and not ambiguous way to describe how to precisely implement the algorithm. I needed to find some time to write it. Note that I did not write only the backup phase because to clearly describ