Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Is there a program that gives a tree after a long search?

Author: Uri Blass

Date: 04:07:20 01/05/01

Go up one level in this thread


On January 03, 2001 at 09:27:35, Dieter Buerssner wrote:

>On January 03, 2001 at 05:07:12, Uri Blass wrote:
>
>>The problem after a long search is the fact that I do not understand the reason
>>for the score.
>>
>>I think that it is possible to give a tree.
>>
>>The idea is that only lines that were searched by the program for more than one
>>second(or different time control that the user choose) are going to be included
>>in the tree.
>>
>>The tree should include also only killers move for one side.
>>I mean that if the program analyzed 1.e5 dxe5 2.a3 when 2.a3 is not the killer
>>move of 1...dxe5 then the tree is not going to include 2.a3
>
>I am not certain, if I do totally understand what you want.
>For the root level of the search, I can produce the following output,
>which I sometimes find useful. This is for WAC 163
>
> 5rk1/2p4p/2p4r/3P4/4p1b1/1Q2NqPp/PP3P1K/R4R2 b - - 0 1
>
>At depth 8. Yace considered 1...cxd5 the best move.
>
>   nodes    time    score depth  {material balance at end of line}
>   3000905  21.105  -0.06  9t  1...cxd5 2.Qxd5+ Kh8 3.Qg5 Rg6 4.Qe5+ Rg7
>                               5.Rad1 Qe2 6.Nxg4 Qxg4 {0}
>
>And tried this first at depth 9. Then all the other moves are tried
>with zero window. This means, that the following lines are not PVs,
>you may want to call them upper-bound lines. null is the null move,
>just passing the right to move to the opponent.
>
>   3005119  21.105  -0.06  9x  1...Qxe3 2.Qxe3 Rf3 3.null Rg6 4.null Rxf2+
>                               5.Rxf2 Rd6 6.null Rg6 7.null Rd6 8.null Rg6
>                               {-1071}
>   3030266  21.105  -0.06  9x  1...Qxg3+ 2.fxg3 Bd1 3.null Rxf1 4.Nxd1 Rg1
>                               {HT} {-761}
>   3247499  21.105  -0.06  9x  1...Qxf2+ 2.Rxf2 Rxf2+ 3.Kh1 Bf3+ 4.Kg1 Rg6
>                               5.null h2+ 6.Kxf2 Rd6 7.null Rg6 8.null h1=Q
>                               9.Rxh1 Rh6 10.null Rxh1 11.null Rh2+ 12.Kf1
>                               Rh1+ 13.Kf2 Rh2+ 14.Kf1 Rh1+ 15.Kf2 {-491}
>[more such lines until eventually Qg2 fails high in zero window search]
>   4161253  27.521  -0.05  9t+ 1...Qg2+ 2.Nxg2 hxg2+ 3.Kxg2 Bf3+ 4.Qxf3 exf3+
>                               5.Kg1 cxd5 6.Rfe1 Rd6 7.a4 null {0}
>[And also with the full alpha beta window]
>   4212557  27.940   0.34  9++ 1...Qg2+ 2.Nxg2 hxg2+ 3.Kxg2 Bf3+ 4.Qxf3 exf3+
>                               5.Kg1 Rf5 6.Rfe1 Rfh5 7.Re8+ Kf7 8.Re2 fxe2
>                               9.dxc6 {340}
>[research with open upper bound]
>   4438258  28.850   5.27  9t  1...Qg2+ 2.Nxg2 hxg2+ 3.Kxg2 Bf3+ 4.Qxf3 exf3+
>                               5.Kg1 Rf5 6.Rfe1 Rfh5 7.Re8+ Kf7 8.Re7+ Kxe7
>                               9.d6+ cxd6 10.Re1+ Re6 11.Kf1 {500}
>[...]
>   4568215  28.850   5.27  9x  1...Kf7 2.null Qg2+ 3.Nxg2 hxg2+ 4.Kxg2 Bh3+
>                               5.Kh2 Bxf1+ 6.Kg1 Rh1+ 7.Kxh1 cxd5 8.null {-651}
>   4568215  30.056   5.27  9.  1...Qg2+ 2.Nxg2 hxg2+ 3.Kxg2 Bf3+ 4.Qxf3 exf3+
>                               5.Kg1 Rf5 6.Rfe1 Rfh5 7.Re8+ Kf7 8.Re7+ Kxe7
>                               9.d6+ cxd6 10.Re1+ Re6 11.Kf1 {500}
>   4577169  30.146   5.67 10++ 1...Qg2+ 2.Nxg2 hxg2+ 3.Kg1 Bf3 4.d6+ Rf7
>                               5.Qb8+ Kg7 6.Qg8+ Kxg8 7.Rac1 gxf1=Q+ 8.Rxf1
>                               {770}
>   5348999  32.717  Mat11 10t  1...Qg2+ 2.Nxg2 hxg2+ 3.Kxg2 Bf3+ 4.Qxf3 exf3+
>                               5.Kg1 Rf5 6.Rae1 Rfh5 7.Re8+ Kf7 8.Re7+ Kxe7
>                               9.Re1+ Kf8 10.Re8+ Kxe8 11.a4 Rh1# {920}
>   5433593  32.717  21.14 10x  1...cxd5 2.null Rh5 3.Qxd5+ Rxd5 4.Rac1 Qxe3
>                               5.null Qxc1 {1851}
>   5460099  32.717  11.14 10x  1...Qxe3 2.Qxe3 Rxf2+ 3.Rxf2 Rf6 4.null Rxf2+
>                               5.Qxf2 e3 6.null exf2 7.null f1=Q {851}
>   5510080  32.717  18.54 10x  1...Qxg3+ 2.fxg3 Rxf1 3.null cxd5 4.null Rf2+
>                               5.Kh1 Rf8 6.null Bf3+ 7.Kg1 h2+ 8.Kf2 Bd1+
>                               9.Ke1 h1=Q+ 10.Kd2 {590}
>
>etc.
>
>If anybody would find the above useful, I can easily make it available
>in the next version.

I think that it can be useful
>
>Now, if I understand you correctly, you not only want this at the root,
>but rather at any position visited, for which a refutation is found,
>and finding this refutation did need a considerable amount of time
>or nodes.

You understand me correctly.
>
>I am a bit puzzled, by what you mean, when you say, that you do not want to
>see positions, where both sides make illogical moves.

I mean to the following situation.
The program analyzed 1.e4 and found that it is the best move.

The program analyzed 1.d4 d5 and found that it has to continue to analyze
The program analyzed 1.d4 Nf6 and found that 1...Nf6 is a refutation of 1.d4

In this case the program does not have to show in the final output 1.d4 d5
because the program understood that 1.d4 is not the best for white and that 1.d4
d5 is not best for black.



>
>Also, you are probably aware of the fact, that the
>"considerable amount of time or nodes" may be misleading because of
>transposition tables. Two moves may be equally difficult to refute in
>principle, but one of them can be found in the hash tables, or the
>hash tables may give a cutoff soon.

I am aware of this fact but I think that in this case it is going to be possible
to learn the refutation for the second move from the refutation of the first
move.

>Actually, for a program with perfect move ordering and without any pruning
>techniques and hash tables, any move will be equally difficult to refute,
>and will almost need the same amount of time.
 I think, this just would
>mean, that you dump the search tree with all the "upper-bound lines"
>until a specific depth inside the search.
>
>-- Dieter

I think that it is not exactly the case I can see situations when program
without pruning and with perfect order of moves is going to need less time.

The possible situations are:

1)There is simplification of the positions so the number of legal moves is
reduced significantly.

2)The program refutes a move by a short checkmate so it does need to search a
long time in order to refute it.

Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.