dynamic null moves pruning

Programming Topics (Computer Chess) and technical aspects as test techniques, book building, program tuning etc

Moderator: Andres Valverde

dynamic null moves pruning

Postby Patrice Duhamel » 14 Oct 2008, 21:14

Hello,

I have a problem in Cheese with this Position : (WAC 74)

5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - -

Cheese found the best move Qxf1 until depth 12, and then play Qxe4

I'm using dynamic null moves pruning (using R = 2 if depth < 6, else R = 3)
If I disable dynamic null moves pruning, using always R = 3, or R = 2,
I found the correct move Qxf1 even after depth 12.

What's wrong ? :?

this is my code for null moves :
Code: Select all
int depthNullMoves = (2 * PLY);
   
if (depth > (6 * PLY)) depthNullMoves += PLY;

makeNullMove();

if (depth > (depthNullMoves + PLY)) {
   value = -search(depth - PLY - depthNullMoves, -beta, -beta + 1, &line, 0, ply + 1);
} else {      
   value = -search_quiescent(ply, -beta, -beta + 1, 0);
}

unMakeNullMove();

if (value >= beta) {

   // store in hash table and return beta
   // ...
      
}
User avatar
Patrice Duhamel
 
Posts: 49
Joined: 03 Dec 2006, 14:27
Location: France

Re: dynamic null moves pruning

Postby Ron Murawski » 15 Oct 2008, 04:04

Patrice Duhamel wrote:Hello,

I have a problem in Cheese with this Position : (WAC 74)

5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - -

Cheese found the best move Qxf1 until depth 12, and then play Qxe4

I'm using dynamic null moves pruning (using R = 2 if depth < 6, else R = 3)
If I disable dynamic null moves pruning, using always R = 3, or R = 2,
I found the correct move Qxf1 even after depth 12.

What's wrong ? :?

this is my code for null moves :
Code: Select all
int depthNullMoves = (2 * PLY);
   
if (depth > (6 * PLY)) depthNullMoves += PLY;

makeNullMove();

if (depth > (depthNullMoves + PLY)) {
   value = -search(depth - PLY - depthNullMoves, -beta, -beta + 1, &line, 0, ply + 1);
} else {      
   value = -search_quiescent(ply, -beta, -beta + 1, 0);
}

unMakeNullMove();

if (value >= beta) {

   // store in hash table and return beta
   // ...
      
}


Hi Patrice,

Don't null move if you are in check!

Ron
User avatar
Ron Murawski
 
Posts: 352
Joined: 26 Sep 2004, 21:50
Location: Schenectady, NY, USA

Re: dynamic null moves pruning

Postby Patrice Duhamel » 15 Oct 2008, 07:42

Thanks, but I already test if the player is in check.

I don't use null moves if :

- the current search is called by a null move search
- player is in check
- at pv node
- in pawn ending
User avatar
Patrice Duhamel
 
Posts: 49
Joined: 03 Dec 2006, 14:27
Location: France

Re: dynamic null moves pruning

Postby Harald Johnsen » 15 Oct 2008, 08:58

[diag]5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - -[/diag]

A priori this looks like a zugzwang problem in your search, but usually zz are a problem at the begining of the search, not at the end.
I think that at some point in the search white saved his position by null moving.

1) perhaps there is a missing condition for doing the null move search
2) perhaps you are not doing a verification search
3) perhaps you should not store the result of the NM search in the hash tables

NB: what are the PVs ? the Qf1+ pv is worth 600+ normaly

HJ.
User avatar
Harald Johnsen
 
Posts: 43
Joined: 20 Aug 2007, 17:01
Location: France

Re: dynamic null moves pruning

Postby Patrice Duhamel » 15 Oct 2008, 11:26

It changes nothing if I don't store the result of the null move search in hash table.

I don't make a verification for null moves.

Code: Select all
Cheese:
   1   00:00            209   835.427   +4,07   Qf4xe4
   2   00:00            850   1.014.288   +4,30   Qf4f1+ Qe2xf1 e3e2+ Nd1f2
   3   00:00          1.485   1.133.033   +4,30   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1
   4   00:00          3.381   1.339.988   +4,85   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1g1
   5   00:00          7.005   1.472.168   +5,35   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2
   6   00:00         17.207   1.569.364   +5,38   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4
   7   00:00         34.146   1.737.168   +5,85   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 e5e6 Rg2xh2
   8   00:00         63.757   1.856.557   +5,98   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 a2a4 Bc5f2+ Ke1e2 Bf2c5+ Ke2f3
   9   00:00        120.454   1.960.549   +6,17   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 h2h3 Rg2xa2
  10   00:00        340.059   1.909.645   +6,06   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 a2a4 Rg2xh2 e5e6 Bc5e7 e4e5
  11   00:00        612.069   1.970.987   +6,07   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 h2h3 Rg2xa2 Bc3d2 Kh8g8
  12   00:02      4.708.417   1.718.285   +6,51   Qf4xe4 Bc3e1 Qe4b1 Nd1xe3 Qb1c1 h2h4 Qc1xe3+ Qe2xe3 Bc5xe3+ Kg1h2 Rf8e8 Be1g3 Be3d4 Bg3f4
  13   00:04      7.410.345   1.721.812   +6,51   Qf4xe4 Bc3e1 Qe4b1 Nd1xe3 Qb1c1 h2h4 Qc1xe3+ Qe2xe3 Bc5xe3+ Kg1h2 Rf8e8 Be1g3 Be3d4 Bg3f4 Bd4xe5
User avatar
Patrice Duhamel
 
Posts: 49
Joined: 03 Dec 2006, 14:27
Location: France

Re: dynamic null moves pruning

Postby xinix » 15 Oct 2008, 11:53

Patrice Duhamel wrote:Hello,

I have a problem in Cheese with this Position : (WAC 74)

5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - -

Cheese found the best move Qxf1 until depth 12, and then play Qxe4

I'm using dynamic null moves pruning (using R = 2 if depth < 6, else R = 3)
If I disable dynamic null moves pruning, using always R = 3, or R = 2,
I found the correct move Qxf1 even after depth 12.

What's wrong ? :?


Nothing, Qe4 is also winning. Black threatens Rf2 and Rd8

Tony
xinix
 
Posts: 22
Joined: 28 Aug 2008, 21:42

Re: dynamic null moves pruning

Postby Daniel Shawul » 15 Oct 2008, 15:45

One should probably ask Dann Corbit, as he has done intensive analysis of WAC positions for long hours with best engines and found alternative moves not listed in the suite.

Daniel
User avatar
Daniel Shawul
 
Posts: 366
Joined: 28 Sep 2004, 09:33
Location: Ethiopia

Re: dynamic null moves pruning

Postby Dann Corbit » 18 Oct 2008, 00:45

It looks like this is simply a won position.
Any of the following win, and the best order is probably as follows {best to worst}:
Rd8, Qf1+, Qxe4, a5, Bb6

a5 and Bb6 give an advantage of about 7 pawns.
Qf1+ and Qxe4 give an advantage of about 8.5 pawns.
Rd8 gives an advantage of about 10.5 pawns.
Obviously, all of those are both winning and dominating.

Here is some Shredder output, using multi-pv, showing the 4 best moves:
Code: Select all
Analysis from C:\wac74.epd   
10/17/2008 4:35:05 PM Level: 180 Seconds
Analyzing engine: Shredder

1) Qf1+; id WAC.074;   
    Searching move: Qf4-f1
    Best move (EngineDeepShredder10UCI): a7-a5
    Not found in: 03:00
     4/10   00:00         16.108   1.073.866   +4.80   a7a5 Bc3xa5 Qf4xe4 Ba5c3
     4/11   00:00         23.257   1.550.466   +5.37   Rf8d8 Kg1h1 Qf4xe4 Kh1g1
     4/10   00:00         12.452   830.133   +5.48   Qf4xe4 b3b4 Bc5b6 a2a4
     4/11   00:00         26.996   1.799.733   +7.12   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xa2
   ---------------------------------------------------------------------------
     5/11   00:00         48.615   1.568.225   +4.74   Bc5b6 Bc3b4
     5/11   00:00         34.878   2.325.200   +5.02   Rf8d8 Kg1h1 Qf4xe4 b3b4 Bc5b6
     5/11   00:00         31.936   2.129.066   +5.24   Qf4xe4 b3b4 Bc5b6 Kg1h1 Kh8g8
     5/11   00:00         27.878   1.858.533   +7.12   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xa2
   ---------------------------------------------------------------------------
     6/20   00:01        122.716   303.002   +5.46   a7a5 Bc3e1 Qf4xe4 Be1xa5 Qe4xe5 h2h3
     6/20   00:01        141.997   168.642   +5.51   a7a6 b3b4 Qf4f1+ Qe2xf1
     6/20   00:01        101.445   250.481   +5.58   Bc5b6 Bc3e1 Qf4xe4 Be1c3 Kh8g8 a2a4
     6/13   00:01         51.913   133.110   +7.43   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4
   ---------------------------------------------------------------------------
     7/20   00:01        284.342   319.844   +5.47   Qf4xe4 a2a4
     7/14   00:01        213.331   244.365   +5.51   a7a5 Bc3e1 Qf4xe4 Be1c3 a5a4 b3b4 Bc5b6
     7/14   00:01        189.280   220.606   +5.54   a7a6 b3b4 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Bc5xf2 Kf1e2 Kh8g8
     7/14   00:01        149.278   177.289   +7.07   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xa2 b3b4 Bc5e7
   ---------------------------------------------------------------------------
     8/16   00:01        316.065   256.546   +5.56   a7a6 b3b4 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Bc5xf2 Kf1e2 Bf2g1 h2h4
     8/16   00:01        349.961   280.417   +5.78   a7a5 Bc3e1 Qf4xe4 Be1c3 Kh8g8 Bc3b2 a5a4 b3xa4
     8/22   00:01        430.746   336.783   +5.96   Qf4xe4 h2h3 Rf8f2
     8/16   00:01        297.550   244.494   +7.75   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 e5e6
   ---------------------------------------------------------------------------
     9/23   00:01        979.825   555.771   +5.61   Kh8g8 Bc3e1
     9/16   00:01        590.986   360.797   +5.70   a7a5 Bc3e1 Qf4xe5 Kg1h1 Qe5xe4 Be1xa5 Qe4f4 Ba5c3 Kh8g8
     9/16   00:01        518.237   322.487   +5.96   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1f5+ Kf1e2 Qf5xe5+ Ke2f1 Qe5xe1+ Kf1xe1
     9/16   00:01        444.059   347.192   +7.75   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 e5e6 Rg2xa2
   ---------------------------------------------------------------------------
    10/26   00:01      1.604.524   809.956   +5.84   Kh8g8 Bc3e1 Qf4xe4 Be1g3 Bc5d4
    10/26   00:01      1.469.745   759.950   +5.85   a7a5 Bc3e1 Qf4xe4 Be1g3
    10/26   00:01      1.235.649   665.759   +6.45   Qf4xe4 e5e6 Qe4xe6 b3b4 Bc5b6 a2a4 Rf8d8
    10/10   00:01      1.033.231   575.937   +8.02   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 h2h3 Rg2xa2 e5e6 a7a5 Bc3d2
   ---------------------------------------------------------------------------
    11/32   00:03      3.408.444   1.340.324   +6.40   a7a5 Bc3e1 Qf4xe4 e5e6 b7b6 Be1c3 Qe4xe6 Kg1h1 Rf8d8 Nd1b2 Qe6e4
    11/32   00:03      5.059.518   1.646.442   +6.43   Bc5b6 h2h3 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xa2 e5e6 Bb6c5 b3b4 Bc5d6
    11/32   00:03      2.941.968   1.232.496   +6.78   Qf4xe4 Bc3e1 Qe4d4 Nd1c3 Qd4xe5 Nc3d1 Bc5d4 Be1g3 Qe5b5 Qe2xb5 c6xb5 Bg3e1
    11/21   00:03      1.830.960   896.211   +8.06   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 h2h3 Rg2xa2 e5e6 a7a5 Bc3d2 Kh8g8
   ---------------------------------------------------------------------------
    12/36   00:03      6.936.084   1.916.574   +6.40   Bc5b6 h2h3 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 e5e6 Bb6c5 a2a4 Bc5e7 Bc3d4
    12/36   00:03      7.241.129   1.942.362   +6.53   a7a5 Bc3e1 Qf4xe4 e5e6 b7b6 Be1c3 Qe4xe6 Kg1h1 Qe6e4 Bc3d2 Rf8e8 Bd2c3
    12/36   00:03      6.621.724   1.878.503   +7.01   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1f5+ Kf1e2 Qf5xe5+ Ke2f1 Qe5f4+ Kf1e2 Qf4e4+ Ke2f1 Qe4d3+ Qe1e2 Qd3f5+ Qe2f3 Qf5b1+ Kf1e2 Qb1xa2+
    12/26   00:03      5.253.511   1.683.817   +8.18   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 a2a4 Rg2xh2 e5e6 Kh8g8 Ke1f1
   ---------------------------------------------------------------------------
    13/38   00:05      9.004.734   2.122.256   +6.53   a7a5 Bc3e1 Qf4xe4 e5e6 b7b6 Be1c3 Qe4xe6 Kg1h1 Qe6g4 Bc3xg7+
    13/38   00:05     11.946.342   2.313.837   +6.69   Bc5b6 a2a4 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 e5e6 Kh8g8 Bc3b4 Rg2g4 e6e7 Rg4xe4+ Ke1d2 Kg8f7
    13/38   00:05      8.419.823   2.075.893   +7.01   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1f5+ Kf1e2 Qf5xe5+ Ke2f1 Qe5f4+ Kf1e2 Qf4e4+ Ke2f1 Qe4d3+ Qe1e2 Qd3f5+ Qe2f3 Qf5b1+ Kf1e2 Qb1xa2+ Ke2d1 Qa2b1+ Kd1d2
    13/28   00:05      7.733.066   2.007.024   +8.31   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 h2h4 Rg2xa2 Bc3d2 Kh8g8 b3b4 Bc5d4 e5e6 Kg8f8
   ---------------------------------------------------------------------------
    14/40   00:09     26.149.755   2.699.468   +6.85   a7a5 Bc3e1 Qf4xe5 Be1c3 Qe5xe4 Bc3e1 Kh8g8 Nd1c3 Qe4f4 a2a4 Bc5d4 Qe2c4+ Qf4f7 Qc4xf7+ Kg8xf7 Kg1f1
    14/40   00:09     21.869.889   2.680.461   +6.91   Bc5b6 e5e6 Qf4xe4 Nd1xe3
    14/40   00:09     16.322.601   2.539.692   +7.51   Qf4xe4 h2h3
    14/28   00:09     12.722.425   2.370.932   +8.45   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 h2h4 Rg2xa2 Bc3d2 Kh8g8 b3b4 Ra2a1+ Ke1e2 Bc5e7 h4h5 Kg8f7
   ---------------------------------------------------------------------------
    15/44   00:20     46.530.390   2.901.439   +6.99   Bc5b6 e5e6 Qf4xe4 Bc3e1 Qe4xe6 Nd1c3 Qe6f6 Nc3e4 Qf6e5 Ne4c3 Bb6c7 g2g4 Bc7a5 Nc3d1 Ba5xe1 Qe2xe1
    15/44   00:20     60.005.971   2.952.032   +7.05   a7a5 Bc3xa5 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 Ba5c7 Rg2xh2 Bc7d6 Bc5d4 e5e6 Rh2xa2 e6e7 Ra2a8 Ke1d2
    15/44   00:20     34.870.144   2.822.350   +8.08   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1xa2 g2g3 Qa2xb3 Qe1d2 Qb3f3+ Kf1e1 Qf3xg3+ Ke1d1 Qg3b3+ Kd1e2
    15/30   00:20     27.513.298   2.721.663   +8.36   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 a2a3 Rg2xh2 Bc3d4 Kh8g8 e5e6 Rh2a2 Bd4c5 Kg8f8
   ---------------------------------------------------------------------------
    16/44   00:55     73.186.535   3.013.155   +7.16   a7a5 Bc3xa5 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 Ba5c7 Rg2xh2 Bc7d6 Bc5d4 e5e6 Rh2xa2 e6e7 Ra2a8 Ke1d2 g7g5
    16/44   00:55     68.989.517   3.006.472   +8.26   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1xa2 g2g3 Qa2xb3 Qe1d2 Qb3f3+ Kf1e1 Qf3xg3+ Ke1d1 Qg3b3+ Kd1e2 b7b5 Qd2d8+ Qb3g8 Qd8d7 Qg8c4+
    16/30   00:55     62.053.508   2.977.472   +8.57   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 a2a3 Rg2xh2 Bc3d4 Kh8g8 Bd4xa7 Rh2a2 Ba7e3 Kg8f7 Be3c1
    16/46   00:55    175.568.412   3.186.417   +9.25   Rf8d8 Kg1h1 Qf4xe4 Bc3a5 Rd8f8 h2h3 Qe4xe5 Ba5c3 Qe5f4 Nd1xe3 Bc5xe3 Bc3b4 Qf4f2 Qe2xf2 Rf8xf2 Bb4d6 Rf2xa2 Bd6e5 Ra2d2
   ---------------------------------------------------------------------------
    17/48   01:21    261.150.736   3.200.219   +7.32   a7a5 Bc3xa5 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 Ba5c7 Rg2xh2 Bc7d6 Bc5d4 e5e6 Rh2xa2 e6e7 Ra2a8 Ke1e2 Kh8g8
    17/48   01:21    248.118.884   3.222.239   +8.22   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1xa2 g2g3 Qa2xb3 Qe1e4 Qb3xg3 Qe4f5 Qg3g1+ Kf1e2 Qg1e3+ Ke2f1 Qe3c1+
    17/48   01:21    231.968.546   3.207.440   +8.69   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 h2h3 Rg2xa2
    17/48   01:21    230.524.946   3.201.290   +10.00   Rf8d8 Kg1h1 Qf4xe4 Bc3a5 Rd8f8 h2h3 Qe4xe5 Ba5c3 Qe5f4 Nd1xe3 Bc5xe3 Qe2d1 c6c5 Qd1f3 Qf4xf3 g2xf3 Rf8xf3 Kh1g2 Rf3f2+ Kg2g3 Rf2xa2 Bc3e5
   ---------------------------------------------------------------------------
    18/50   02:21    460.616.328   3.249.314   +7.36   a7a5 Bc3xa5 Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 Ba5c7 Rg2xh2 Bc7d6 Bc5d4 e5e6 Rh2xa2 e6e7 Ra2a8 Ke1e2 g7g5
    18/50   02:21    429.297.822   3.267.902   +8.56   Qf4xe4 h2h3 Rf8f2 Nd1xf2 e3xf2+ Kg1f1 Qe4b1+ Bc3e1 f2xe1Q+ Qe2xe1 Qb1xa2 g2g4 Qa2xb3 Kf1g2 Bc5d4 e5e6 Qb3d5+ Kg2g3 Bd4e5+ Kg3f2 Qd5xe6 Qe1b4 Qe6f6+ Kf2e3
    18/50   02:21    379.477.163   3.230.032   +8.70   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 a2a3 Rg2xh2 Bc3d4 Rh2a2 Bd4xa7 Ra2xa3 Ba7c5 Be7xc5 b4xc5
    18/50   02:21    376.379.119   3.222.065   +10.49   Rf8d8 Kg1h1 Qf4xe4 Bc3a5 Rd8f8 h2h3 Qe4xe5 Ba5c3 Qe5f4 Nd1xe3 Bc5xe3 Qe2d1 Be3c5 Qd1e1
   10/17/2008 4:38:08 PM, Time for this analysis: 00:02:59, Rated time: 03:00

0 of 1 matching moves
10/17/2008 4:38:08 PM, Total time: 12:03:03 AM
Rated time: 03:00 = 180 Seconds
Dann Corbit
 

Re: dynamic null moves pruning

Postby Dann Corbit » 18 Oct 2008, 01:03

Rybka output with multi-pv set to 6 (a huge handicap)
Code: Select all
     13   09:55    104.352.766   501.114   +5.06   Bc5b6 Bc3e1 Qf4xe5 h2h4 Bb6c7 g2g4 Qe5xe4 Nd1c3 Qe4f3 Qe2xf3 Rf8xf3 Kg1g2 Rf3f8 Nc3e2
     13   09:55    104.562.474   500.037   +5.10   a7a6
     13   09:55    104.228.260   501.839   +5.32   a7a5
     14   09:55    310.548.898   534.424   +7.34   Qf4xe4
     14   09:55    121.882.998   468.465   +8.64   Rf8d8
     14   09:55    110.097.910   484.081   +8.92   Qf4f1+
   10/17/2008 5:01:46 PM, Time for this analysis: 00:10:00, Rated time: 10:00


I will rerun with multipv set to 3, which is more reasonable.
Dann Corbit
 

Re: dynamic null moves pruning

Postby Dann Corbit » 18 Oct 2008, 01:20

Top 3 (note last ply not completed for Qf1+):

Code: Select all
     14   06:53    145.636.977   487.191   +7.33   Qf4xe4
     15   06:53    181.183.557   449.164   +8.84   Rf8d8
     15   06:53    170.817.984   456.389   +9.23   Qf4f1+
Dann Corbit
 

Re: dynamic null moves pruning

Postby Patrice Duhamel » 18 Oct 2008, 14:15

Thank you,

so Qxe4 is not wrong,
but I think it's strange that Cheese don't find the same result using dynamic null moves.
User avatar
Patrice Duhamel
 
Posts: 49
Joined: 03 Dec 2006, 14:27
Location: France

Re: dynamic null moves pruning

Postby Harald Johnsen » 18 Oct 2008, 17:01

Code: Select all
Cheese:
  10   00:00        340.059   1.909.645   +6,06   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 a2a4 Rg2xh2 e5e6 Bc5e7 e4e5
  11   00:00        612.069   1.970.987   +6,07   Qf4f1+ Qe2xf1 e3e2+ Nd1f2 e2xf1Q+ Kg1xf1 Rf8xf2+ Kf1e1 Rf2xg2 b3b4 Bc5e7 h2h3 Rg2xa2 Bc3d2 Kh8g8
  12   00:02      4.708.417   1.718.285   +6,51   Qf4xe4 Bc3e1 Qe4b1 Nd1xe3 Qb1c1 h2h4 Qc1xe3+ Qe2xe3 Bc5xe3+ Kg1h2 Rf8e8 Be1g3 Be3d4 Bg3f4

The output is strange, your best move @ depth 11 was Qf1, and you don't show any score for it @ depth 12. Do you start the search of the depth 12 with the last best move or do you have some bug here ?

HJ.
User avatar
Harald Johnsen
 
Posts: 43
Joined: 20 Aug 2007, 17:01
Location: France

Re: dynamic null moves pruning

Postby Patrice Duhamel » 18 Oct 2008, 17:24

The first move searched at depth 12 is the last best move Qf1
User avatar
Patrice Duhamel
 
Posts: 49
Joined: 03 Dec 2006, 14:27
Location: France


Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 34 guests