[computer-go] Congratulations to LeelaBot2 and to CzechBot
Jason House
jason.james.house at gmail.com
Mon May 12 15:47:58 PDT 2008
On May 12, 2008, at 4:33 PM, Gian-Carlo Pascutto <gcp at sjeng.org> wrote:
> Jeff Nowakowski wrote:
>> On Mon, 2008-05-12 at 21:14 +0200, Gian-Carlo Pascutto wrote:
>>> But I still categorically object to the stance that it's the bots
>>> or the programmers fault that it forfeits on time. As log as lag
>>> is not compensated there is no way to avoid time losses, even if
>>> the bot always moves instantly. You can at best improve the odds
>>> of this not happening.
>> I disagree.
>
> But what exactly do you disagree with?
>
> Do you claim it's possible to avoid time losses by better coding? If
> so, I'm very interested in what you have in mind. Measuring lag
> isn't the answer: if your opponent is willing to play 2500 moves and
> you can make at most 2 per second because of lag, then you will lose
> no matter what you do.
The length of a go game is not infinite, and is even much less than
2500 with stupid play. My code assumes a duration of 540 moves, or 270
per player. Assuming 2 moves per second, that's a minimum of 2:15 at
the start of the game that I'd set aside. That safety buffer drops as
the game goes on... After 300 moves, it's down to 1:00. If your bot
did your latency limit of 6 moves per second, that'd be 0:20. (I
apologize if I'm misquoting you)
With N assumed moves left, my code reserves a*N + b*sqrt(N). What I
described above is a*N. Many bot authors use a fixed constant and then
play as fast as possible when they breach that threshold.
> If I would take the reverse stance and make Leela move very fast on
> KGS and always dispute and continue games as long as possible, then
> I think it would not last a week without being banned.
>
> You cannot allow (lost) games to go on indefinitely and have no
> compensation for lag. That turns things into a game of "who has the
> fastest connection". I already know I don't, so I'm not very
> interested in playing it.
Winning can also be based on who has the fastest hardware, who has the
fastest implementation, and who has the strongest algorithm.
There are many small factors we all accept as participants in online
tournaments.
I think Leela's loss was unfortunate. It occured in an extreme case
for these tournaments. Is it worth using less time and the resulting
lost strength loss to avoid these extremes? Each author makes their
own decision. Is it worth the effort to speed up a bot in endgame?
Adding logic to shorten the number of moves in engame? Passing whem
you have enough to win the automatic scoring? To create/enforce a rule
change?
I don't know the answers. It's unfortunate that the match up of our
bots raised this concern. Believe it or not, my bot does have resign
logic, it just wasn't tested under those conditions. My bot will
appear to be better behaved in this next tournament.
More information about the computer-go
mailing list