[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Bug-gnubg] changes to skill handling
From: |
Albert Silver |
Subject: |
RE: [Bug-gnubg] changes to skill handling |
Date: |
Tue, 26 Aug 2003 13:35:45 -0300 |
(I sent this last Friday - August 22nd, but never saw it in the list, so
presume it was lost in cyberspace)
> First the issue of SKILL_VERYGOOD. I can't see why the fact that GNUbg
> 0ply and 2ply disagreed as a reason to mark a move verygood (or any
> other criteria for that matter).
Ok, here's my reasoning: how does one distinguish between a 'normal'
move and a 'good' move? When commenting, a human will call a move 'good'
because it shows superior understanding and is not necessarily easy to
see. How will a bot distinguish what is hard or easy to understand
though? Of course, one can identify at length numerous criteria and
create algorithms to help identify this. I did this with some chess
engines at Chess Assistant, to identify when a variation should be
added, and identifying the difficulty involved (to automatically create
quizzes from a game). Basically, this meant identifying the depth
required to see a certain move. Here I see it as being essentially the
same.
We agree that 0-ply is a strong player, better than the majority of
competitive players. Thus, if a move is best, but 0-ply is incapable of
seeing it, then we can assume that for that instant, finding this move
that 0-ply can't see, shows an understanding that is *above* that of
0-ply (let's not argue whether this was a lucky shot, etc.). The simple
logic is that if a player played a move that 0-ply could not find, but
that is indeed shown to be correct, that move is a 'good' move.
Who is going to determine whether the move was indeed correct? GNU
itself of course but at a greater depth. So even if my move is only
0.001 better than 0-ply's choice, the fact is that the move I chose is
better than what 0-ply is capable of, thus it must be a 'good' move.
So what about a 'very good' move? One may find better ways of doing
this, but again, my idea is simply the amount of equity better than
0-ply's choice. If 2-ply says that my move is in fact better than
0-ply's choice by 0.050 equity (the amount is arbitrary), then I didn't
just find a slightly better move than 0-ply, I found a much better
choice, so that makes it deserving of being called a 'very good' move.
I find the logic of this approach sound. It's far from perfect, but it
does make sense.
Albert