Test position----find the draw

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

kgburcham
Posts: 2016
Joined: Sun Feb 17, 2008 4:19 pm

Test position----find the draw

Post by kgburcham »

How long does it take your program to find the draw?

[D] 2kr3r/1pqbbp2/p2ppn1p/8/3N1P1p/2NBRQ2/PPP3PP/2KR4 w - -
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Test position----find the draw

Post by Dann Corbit »

kgburcham wrote:How long does it take your program to find the draw?

[D] 2kr3r/1pqbbp2/p2ppn1p/8/3N1P1p/2NBRQ2/PPP3PP/2KR4 w - -
Since there was no restriction on commercial/non-commercial:

Code: Select all

Analysis from C:\test\draw.epd   
3/25/2009 7:34:53 PM Level: 600 Seconds
Analyzing engine: Rybka 3

1)                      
    Avoid move: 
    Best move (Rybka 3): Bd3xa6
    OK! Found in: 00:00
      2	00:00	         407	1.566	-0.72	g2g4 h4xg3/ep
      2	00:00	         454	1.747	-0.70	f4f5 e6e5
      3	00:00	         634	2.440	-0.83	f4f5 e6e5
      3	00:00	         860	3.133	-0.78	g2g4 h4xg3/ep
      3	00:00	       1.282	4.671	-0.68	a2a3 Kc8b8
      4	00:00	       1.955	7.124	-0.64	a2a3 Kc8b8
      5	00:00	       3.992	8.445	-0.58	a2a3 Kc8b8
      6	00:00	       7.683	15.276	-0.58	a2a3 Kc8b8
      7	00:00	      22.488	39.840	-0.74	Nc3e4
      8	00:00	      27.969	47.028	-0.78	Nc3e4 d6d5 Ne4xf6 Be7xf6 Bd3e2 Kc8b8 Kc1b1
      9	00:01	      39.034	36.569	-0.78	Nc3e4 d6d5 Ne4xf6 Be7xf6 Bd3e2 Kc8b8 Qf3f2 Rd8c8 c2c3 Bd7a4
     10	00:01	      39.059	36.593	-0.78	Nc3e4 d6d5 Ne4xf6 Be7xf6 Bd3e2 Kc8b8 Qf3f2 Rd8c8 c2c3 Bd7a4
     11	00:01	     121.527	87.636	-0.78	Nc3e4 d6d5 Ne4xf6 Be7xf6 Bd3e2 Kc8b8 Qf3f2 Rd8c8 c2c3 Bd7a4
     12	00:03	     672.060	184.550	-0.80	Nc3e4 Kc8b8 Kc1b1 Rh8g8 Ne4xf6 Be7xf6 Bd3f1 d6d5 c2c3 Bd7a4
     13	00:07	   1.466.776	218.787	-0.82	Nc3e4 Kc8b8 Kc1b1 Rh8g8 Ne4xf6 Be7xf6 Bd3f1 d6d5 c2c3 Rd8c8 g2g4
     14	00:14	   3.506.543	254.046	-0.82	Nc3e4 Kc8b8 Kc1b1 Rh8g8 Ne4xf6 Be7xf6 Bd3f1 d6d5 c2c3 h6h5 Re3e2 Bd7a4
     14+	00:20	   5.070.924	254.079	-0.62	Bd3xa6
     14+	00:28	   6.724.526	240.278	-0.02	Bd3xa6
     14	00:47	  11.042.378	240.803	 0.00	Bd3xa6 b7xa6 Qf3a8+
     15	00:52	  12.347.217	240.065	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
     16	01:05	  14.811.014	230.869	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
     17	01:33	  22.426.752	246.416	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
     18	02:21	  35.864.894	260.591	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
     19	04:58	  83.835.706	287.423	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
   3/25/2009 7:45:05 PM, Time for this analysis: 00:10:00, Rated time: 00:00

1 of 1 matching moves
3/25/2009 7:45:06 PM, Total time: 12:10:13 AM
Rated time: 00:00 = 0 Seconds
Howard E
Posts: 261
Joined: Wed Mar 08, 2006 8:49 pm

Re: Test position----find the draw

Post by Howard E »

i7-920 512 hash
not so bad of a time to find Bxa3 for such an old engine.
Nice position!

ProDeo Ares:
15 01:23 198.960.442 2.397.113 -0.56 Nf5 Bf8 Nd4 d5 f5 e5 Ne6 Bxe6 fxe6 Be7 exf7 d4 Qf5+ Rd7 Ne4 dxe3 Nxf6
16 04:13 610.582.423 2.413.369 -0.75 Nf5 Bf8 Nd4 d5 h3 Bc5 Nce2
16 08:10 1.159.282.999 2.365.883 -0.51 Rde1 Rhg8 R3e2 Bf8
16 11:45 1.689.664.069 2.396.686 -0.51 Bxa6
16 29:42 171.918.431 106.980 +0.14 Bxa6 bxa6 Qa8+ Qb8 Qxa6+
17 30:04 240.328.714 147.531 +0.14 Bxa6 bxa6 Qa8+ Qb8 Qxa6+
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Test position----find the draw

Post by Sven »

Dann Corbit wrote:

Code: Select all

     15	00:52	  12.347.217	240.065	 0.00	Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5
Unbelievable that Rybka 3 presents this PV which repeats the same position six times! The draw is already reached after the second repetition (third occurrence): Bd3xa6 b7xa6 Qf3a8+ Qc7b8 Qa8xa6+ Qb8b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7 Qa6a5 Qb7c7 Qa5a6+ Qc7b7
Is this normal Rybka 3 behaviour? Looks strange for me.

Sven
Al G. L.

Re: Test position----find the draw

Post by Al G. L. »

Its strange, i agree. Just wasting time printing those repititious moves. The time spent there could've been used searching other possible alternative moves, considering R3 is a very strong engine and must steer away from a perpetual check.

Also, if one of the best engine like R3 found a draw at the end of the line, isnt it more correct for such an engine to try other unclear moves which might complicate the position and pull off a win instead?

so, i think it would be nice to see R3 calculate Kb1 or Rde1 or Nf5 which are unclear and where it can use its strength to pull off a win, other than recalculating and printing perpetual checks 6 times.

don't get me wrong, im a vas and Rybka fan also.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Test position----find the draw

Post by Matthias Gemuh »

Al G. L. wrote:Its strange, i agree. Just wasting time printing those repititious moves. The time spent there could've been used searching other possible alternative moves, ....

You are totally wrong about that.

The repitions accumulate because Rybka _is_ "searching other possible alternative moves" but cannot find any, even at deeper depths.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
Al G. L.

Re: Test position----find the draw

Post by Al G. L. »

i mean, if Bxa6 leads to a series of forced moves which leads to 0.00, then why not calculate and perhaps play Rde1 or Nf5 or Kb1, which are unclear positions and where R3 might pull a win due to its search strength, rather than sticking to perpertual moves.
Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Re: Test position----find the draw

Post by Edmund »

Al G. L. wrote:i mean, if Bxa6 leads to a series of forced moves which leads to 0.00, then why not calculate and perhaps play Rde1 or Nf5 or Kb1, which are unclear positions and where R3 might pull a win due to its search strength, rather than sticking to perpertual moves.
This trick might work if playing against a weaker engine, but in general we want the engines to pick the best move. If it sees nothing other than the forced draw, it means that all other lines lead to a position with eval < 0. So if you let two R3 play each other the other alternative would mean that the chance of loosing is larger than the chance of winning.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Test position----find the draw

Post by Matthias Gemuh »

Al G. L. wrote:i mean, if Bxa6 leads to a series of forced moves which leads to 0.00, then why not calculate and perhaps play Rde1 or Nf5 or Kb1, which are unclear positions and where R3 might pull a win due to its search strength, rather than sticking to perpertual moves.

Just repeating what Edmund said,

you are demanding that R3 should skip the only move it would draw the game with, and pick one of the losing moves to avoid repetitions (and lose).

An engine can be set to avoid a draw and gamble with a slighty worse move,
by defining a contempt.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
Al G. L.

Re: Test position----find the draw

Post by Al G. L. »

'demanding' is a strong word :). no, im not demanding something from Vas, it was just my opinion (but I realised this was already implemented by Vas earlier, more on this on the last paragraph).

Avoiding draw, as what i've stated earlier would be acceptable and would be the right path if you know your program is the strongest on the planet, as mentioned by Glass engine programmer above.

Picking the slightly weaker move as long as it's not less than 1 pawn would be acceptable I guess.

IIRC this feature, playing a weaker move to avoid a draw, was present in the previous versions of Rybka, the very reason why it's being crushed by geniuses like Nakamura (see the game below to understand this point). In the game below, Rybka is avoiding draw and giving up pawns only to find its position hopeless in the end and lose.

This game is probably the reason why this feature was removed by vas in R3.
http://www.chessgames.com/perl/chessgame?gid=1497429

----
edit
.... and pick one of the losing moves...
No, weaker move does not necessarily mean 'losing moves'...
P.S. please remove that period on your signature