Main
Date: 16 Apr 2006 02:02:10
From: Cld
Subject: Active chess analysis
I wonder if it exist a chess software that permit me to manually assign
a score for a specific position during its analysis. For example, if I
decide that a position is won by a side, I would like to declare that
to the chess program, so as to it will avoid to waste time in its
analysis. I think that this could highly improve the analysis depth of
the other lines.
There are other ways that I think they could be useful to manually
drive an analysis, but IMO this is the most important.

Thanks in advance for any information about that.
Cld.





 
Date: 22 Apr 2006 16:30:17
From: Cld
Subject: Re: Active chess analysis
Johnny T ha scritto:

>
> The truth is... You are simply not going to either be fast enough to
> make that decision before the computer does, or even more importantly it
> isn't going to create enough time/space to gain significant depth in any
> other line. By the time you would have pruned the tree, you will find
> the computer is likely at search depths that can't be extended
> significantly.
>

Hello Johnny,
I don't agree. I often see the programs to waste an huge amount of time
analysing a position clearly draw or won by one side. And if I manually
drive the program making some moves, then it convince itself of that.
Then (and this is funny) it recognize it as clearly draw or won. But it
is enough, for instance, to analyze another line, and again it get
confused about position.
I'm pretty sure that I could highly improve an analysis if simply I
could "prune" some line by hand.

Cld.



 
Date: 17 Apr 2006 23:40:00
From: [email protected]
Subject: Re: Active chess analysis
I was thinking today that a chess engine should have the capacity to
know its analyzing a certain position (say the position "on the board"
in an advanced chess match) but the human could at the same time
analyze a variation by playing some moves, that the chess engine would
analyze, but mainly for purposes of making sure that variation was
included in its analysis or evaluation of the original position. So the
idea would be that if the computer thinks one move is best in the
original position, but the human thinks another move is interesting,
the human could play that move and the chess engine would know its
being played for purposes of seeing whether its really relevant to the
original position or not. Then the human could keep playing further
moves going deeper into the variation, until either the human was
convinced that the computer had been right in the first place, or the
computer/chess engine might realize that its evaluation of the original
position should be modified. So I guess that means king a position
as the starting point for analysis, and then forcing a variation to be
included in the tree of variations the chess engine is looking at in
order to evaluate properly the starting position.

Not sure that makes any sense, just something I was thinking about
today ...



  
Date: 18 Apr 2006 10:31:51
From: David Richerby
Subject: Re: Active chess analysis
[email protected] <[email protected] > wrote:
> I was thinking today that a chess engine should have the capacity to
> know its analyzing a certain position (say the position "on the
> board" in an advanced chess match) but the human could at the same
> time analyze a variation by playing some moves, that the chess
> engine would analyze, but mainly for purposes of making sure that
> variation was included in its analysis or evaluation of the original
> position.

It already does that, to some extent. Suppose the computer is
analyzing position A. You play a couple of interesting moves (say,
three ply, including a sacrifice that the computer doesn't seem to
like) leading to position B and the computer now starts to analyze
that. As the computer analyzes position B, it's filling the hash
table with evaluations of positions that arise from there and, for
example, a ten-ply analysis from position B is a thirteen-ply analysis
with respect to position A. Perhaps it now sees that the sacrifice
that leads to B is justified.

Now, after letting the computer think about B for a little while,
retract the moves back to position A. The hash table still contains
lots of information about B so, when it analyzes from A, it will use
this information (though some of it will get replaced, unfortunately,
but a larger hash table means you keep more stuff). Analyzing from A
again, it will quickly see that position B is a possibility and then
pick up the evaluation from the hash table. It now knows that the
sacrifice is good.

This is, I think, why Fritz analyzes games `backwards'. That is, it
starts by checking that the resignation/draw agreement wasn't a
blunder and works back towards the beginning of the game until it
reaches its opening book. Having already analyzed the position
resulting from White's n-th move, it has a good idea of the evaluation
of that move that it can compare with other possibilities.


> Not sure that makes any sense, just something I was thinking about
> today ...

Made sense to me. Not sure if my reply makes any sense but, if it
doesn't, ask me to explain it again. :-)


Dave.

--
David Richerby Expensive Laptop Whisky (TM): it's
www.chiark.greenend.org.uk/~davidr/ like a single-malt whisky that you
can put on your lap but it'll break
the bank!


 
Date: 17 Apr 2006 10:34:58
From: David Richerby
Subject: Re: Active chess analysis
Cld <[email protected] > wrote:
> I wonder if it exist a chess software that permit me to manually
> assign a score for a specific position during its analysis. For
> example, if I decide that a position is won by a side, I would like
> to declare that to the chess program, so as to it will avoid to
> waste time in its analysis.

I think Johnny T has already addressed this point in his post: it's
unlikely that you could do this fast enough to be worthwhile. The
problem is that there are many similar positions that could come up in
the analysis: if you're attacking my queen with a knight, moving
anything other than the queen is likely to be disastrous but you'd
have to tell the enging that each of my thirty-odd alternative moves
loses. The engine will work that out itself much faster and its own
pruning should stop it spending very long at all on those variations.

One thing that I do if there seem to be several equally good moves in
a position is to make one of the moves and let the engine analyze the
resulting position. This narrows down the search as you describe and
can be repeated for the other moves.

There is one tool that might be of use to you: Freezer.

http://www.freezerchess.com/

It's designed for endgames and I'm not sure it's applicable anywhere
else but it lets you say things like, `If White's king ever leaves
this set of squares, he loses.'


Dave.

--
David Richerby Confusing Cheese (TM): it's like
www.chiark.greenend.org.uk/~davidr/ a brick of cheese but you can't
understand it!


 
Date: 16 Apr 2006 21:56:53
From: Johnny T
Subject: Re: Active chess analysis
I think I want to rephrase your question, so that it is a bit clearer
what you are asking.

I believe that you want to "prune" the search tree arbitrarily, in order
to provide more search depth to other parts of the tree. It really
doesn't matter if a particular part is "winning" or not. Though more
technically correct, is that you want to patently want to declare a line
"losing" and therefor not worthwhile to search.

The truth is... You are simply not going to either be fast enough to
make that decision before the computer does, or even more importantly it
isn't going to create enough time/space to gain significant depth in any
other line. By the time you would have pruned the tree, you will find
the computer is likely at search depths that can't be extended
significantly.

The technique that would likely work better in an advance chess model is
to have several computers, and that you actually make a couple of
candidate moves on those machines. This will have several advantages.
You prune the tree to one or two single trunks. It improves "pondering"
beyond just hash-table size. You are actually thinking ahead, on your
time.

The actual move decision should probably be based on, what move does the
program come up with on it's own, and score. What does the program
score your candidate moves. And sometimes you will come up with two
different moves that do not create tactical blunders within the
computers horizon, and you should use *your* judgment as to which moves
seems better.

You can add a third mix to this step and add a database search to each
of the candidate moves to see what historical judgments have been made
in any given position, if any.

Cheers
Cld wrote:
> I wonder if it exist a chess software that permit me to manually assign
> a score for a specific position during its analysis. For example, if I
> decide that a position is won by a side, I would like to declare that
> to the chess program, so as to it will avoid to waste time in its
> analysis. I think that this could highly improve the analysis depth of
> the other lines.
> There are other ways that I think they could be useful to manually
> drive an analysis, but IMO this is the most important.
>
> Thanks in advance for any information about that.
> Cld.
>


  
Date: 17 Apr 2006 10:28:25
From: David Richerby
Subject: Re: Active chess analysis
Johnny T <[email protected] > wrote:
> The technique that would likely work better in an advance chess
> model is to have several computers, and that you actually make a
> couple of candidate moves on those machines. This will have several
> advantages. You prune the tree to one or two single trunks.

ISTR reading that Fritz 9 allows you to do this with a single engine:
that is, I think you can say, `Analyze this position for me but only
consider these three moves and tell me which of them is best.'


Dave.

--
David Richerby Transparent Electronic Vomit (TM):
www.chiark.greenend.org.uk/~davidr/ it's like a pile of puke but it uses
electricity and you can see right
through it!