|
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!
|
|