On Tue, May 13, 2008 at 1:51 PM, Mark Boon <[EMAIL PROTECTED]> wrote:
>
> On 13-mei-08, at 14:10, Álvaro Begué wrote:
>
>
> What others do is the right thing to do. Your method will introduce
>
> some biases.
> Could you elaborate what bias it could lead to? I also do the same as Jason.
> I did consider the possibility of a bias but couldn't immediately think of
> one.

This has been explained already. After the first eye appears on the
board, the first empty point after the eye has a probability of being
picked that is twice the probability of any other empty point.

> What good does moving it to the end of the list do? Next time around it's
> just as likely to be picked as when left in place. Or do you only process
> the 'end' after the 'front' moves are all tried?

You move it to the end and you reduce the number of candidates by one.
The code is roughly this:

int pick(Move *empties, int num_empties) {
  int num_candidates = num_empties;
  int picked;

  do {
    picked = rand()%num_candidates;
    num_candidates--;
  } while(!acceptable(empties[picked]);

  return picked;
}


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

Reply via email to