Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: If you like to solve a mate...

Author: Tim Foden

Date: 02:17:16 03/12/01

Go up one level in this thread


On March 11, 2001 at 20:15:25, Heiner Marxen wrote:

>On March 11, 2001 at 17:50:18, Tim Foden wrote:
>
>>On March 11, 2001 at 16:47:14, leonid wrote:
>>
>>>Hi!
>>>
>>>If you like to solve one mate then try this:
>>>
>>>[D]1nrkrnR1/Pbqnq2Q/nnQb1nnN/B1nNQ3/6Q1/7B/3R4/1K3Q2 w - -
>>>
>>>Please, indicate your result.
>>>
>>>Probably you will find that this position is very easely solvable by selective
>>>search but brute force search could be slow. My program took already 1 minute to
>>>see only 4 moves deep.
>>
>>Hi Leonid,
>>
>>Green Light Chess 2.13 sees a mate in 6 after almost 52 seconds.  It sees a
>>couple of longer mates a lot earlier than this though.
>>
>>Cheers, Tim.
>
>Hi Leanid, Hi Tim!
>
>
>>Analysis, GLC 2.13, Duron 920MHz, 48MB hash:
>>
>> Game stage: Opening
>> Current eval: 12.29
>> Ply  Time  Score   Nodes  Principal Variation
>>  2   0.03     --   11565  axb8=Q  (a=16.12 b=17.12 e=16.12)
>>  2   0.03  12.73   11738  axb8=Q Ndxe5
>>  2   0.06  14.84   17505  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7
>>  2   0.06  14.84   20500  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7
>>  3   0.11  14.84   33886  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7 axb8=Q
>>  3   0.40  14.84  145913  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7 axb8=Q
>>  4   0.54  14.84  235962  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7 axb8=Q
>>                             Bxc6
>>  4   1.47  14.84  688186  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxc7+ Nxc7 axb8=Q
>>                             Bxc6
>>  5   1.62     ++  775518  Qexe7+  (a=14.34 b=15.34 e=15.34)
>>  5   2.02  21.62 1067523  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxf6+ Bxf6 Nd6+ Qxd6
>>                             Qxg6+ Kd8 Bxb6+ Nc7 Qxd6
>>  5   4.17  21.62 2511514  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxf6+ Bxf6 Nd6+ Qxd6
>>                             Qxg6+ Kd8 Bxb6+ Nc7 Qxd6
>>  6   4.21     ++ 2532468  Qexe7+  (a=21.12 b=22.12 e=22.12)
>>  6   5.02 320.85 3345261  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxf6+ Kxf7 Qfc4+
>>                             Nxc4 Qxc4+ Nce6 Q4xe6+ Nxe6 Qxe6# <ht>
>
>5 seconds for the first mate: that is quite good!
>Tim, your GLC appears to have a quite effective mate searcher mode!
>At this time Chest has just started depth=5 (depth=4 completed after 2.26 secs)

As I mentioned in a previous post, I have been making changes to GLC to find
these mates from Leonid quicker.  The version of GLC that is doing these
searches is now not different from the normal program in any way.  I added some
speedups:
1.  if previous iteration sees a mate score, search with previous score - 1,
infinity (also similar with fail high).
2.  if we are at ply p, and alpha/beta says mate in p - 1 or less, cut search.
3.  limit on quiescence search depth... max(4, current-iteration-depth).  I'm
not sure about this one.  I may try to make it kick in only if it looks like the
q-search is taking too long (e.g. kicking in if number of q-nodes passes a
certain value).

I guess the major difference to chest is that GLC is a normal chess program with
extensions, so it has a tendency to see the deeper forced mates first, and then
it attempts to find shallower, less forced, ones.

>>  6  10.58 320.85 8569308  Qexe7+ Rxe7 Qxe7+ Bxe7 Nf7+ Ke8 Nxf6+ Kxf7 Qfc4+
>>                             Nxc4 Qxc4+ Nce6 Q4xe6+ Nxe6 Qxe6# <ht>
>>  7  23.60 320.87  22058k  Qexe7+ Rxe7 Qgxg6 Qxc6 Rxf8+ Nxf8 Nf7+ Rxf7 Qfxf6+
>>                             Be7 Qxe7+ Rxe7 Qxe7# <ht>
>
>At 25.30 Chest has completed depth=5: nothing found, yet.
>
>>  7  51.64 320.89  50116k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8#
>>  7  52.50 320.89  50952k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8#
>>  8  53.58 320.89  51871k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8#
>>  8   1:08 320.89  67671k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8#
>>  9   1:11 320.89  69836k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>>  9   1:46 320.89 106483k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>> 10   1:51 320.89 111023k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>> 10   3:03 320.89 186526k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>> 11   3:09 320.89 192691k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>
>Now, at 4:45 Chest is ready, depth=6 complete.
>Ok, your 920 MHz are more than my 600 MHz.  Factor at most 1.5.
>
>> 11   5:24 320.89 333867k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>> 12   5:43 320.89 351228k  Qfxf6 Ngxe5 Rxf8 Nbxc6 Rxe8+ Kxe8 Qh5+ Kd8 Qg8+ Nf8
>>                             Qgxf8# <ht>
>                                     ^^^^
>You have a hash table hit for the mate position?  Funny ;-)

Yes.  It is a bit wierd.  But what happens is that the previous search finds the
same mate, but in a deeper line, while is it proving that all other lines are no
better.  In the next iteration, I get a hash hit with a valid draft.

I still mean to look at this again at a later date though!

>> 12   9:01  16/107         Qxc7+  >exit
>> local:  t=9:07  nps=1035781.7  n=566942340  (f=149619862  q=417322478)
>> total:  t=9:07  nps=1035781.7  n=566942340  draws=40259
>> trans:  probes=55260826  hits=8446959 (15.29%)  draft=5114077 (9.25%)
>
>Let me guess: you have 15.29% hash table hits, but only 9.25% have a good
>enough draft?

Spot on.

My statistics is similar (I count only hits with enough draft):
>     1340930 searches, 145141 hits: 10.8%
>ETC: 4000811 searches, 338125 hits:  8.5%
>
>> tcuts:  exact=232 (0.00%)  upper=1257871 (2.28%)  lower=3812673 (6.90%)
>> tstor:  exact=422 (0.00%)  upper=10632495 (59.68%)  lower=7184056 (40.32%)
>> ext:  check=43140568  recap=1653924  ppush=0  1rep=886378  thrt=0
>> q-moves:  gen=3614191  tested=539649  made/un=223170  max-dep=12
>> max eval diff:  part-1=1.74  part-2=1.50
>
>
>Chest confirms that: in 285 seconds (K7/600, 350MB hash) it finds that this
>is a mate in 6 and gives nearly the same PV:
>
>Qfxf6 Ngxe5 Rxf8   Nbxc6 Rxe8+  Kxe8  Qh5+   Kd8  Qhh8+  Nf8  Qhxf8#
>
>The defender has not many chances to check the attacker, what makes the
>search tree broader than usual.  Chest tries to prepare a check with Nbxd5.
>The effect can be seen in the effective branching factors for white on
>the different depthes:  107, 68.3, 18.4, 12.7, 11.3 and 0.5
>The second one (68.3) is unusually large, the others are more standard.
>
>Cheers,
>Heiner



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.