Transposition table test positons

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Re: Transposition table test positons

Post by Robert Pope »

Henk wrote:Just use a pawn table.
That's not the point, Henk.
zd3nik
Posts: 193
Joined: Wed Mar 11, 2015 3:34 am
Location: United States

Re: Transposition table test positons

Post by zd3nik »

Dann Corbit wrote:

Code: Select all

8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
Is this correct? Bitfoot sees mate in 10 with Kb2;

info depth 21 seldepth 32 nodes 9511506 time 5338 nps 1781848 score mate 10 pv b1b2 b5c4 a1d1 c4b5 b2c3 b5c5 d1d3 c5c6 c3c4 c6b6 d3d6 b6c7 c4c5 c7b7 d6c6 b7b8 c5b6 b8a8 c6c8
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Transposition table test positons

Post by bob »

zd3nik wrote:
Dann Corbit wrote:

Code: Select all

8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
Is this correct? Bitfoot sees mate in 10 with Kb2;

info depth 21 seldepth 32 nodes 9511506 time 5338 nps 1781848 score mate 10 pv b1b2 b5c4 a1d1 c4b5 b2c3 b5c5 d1d3 c5c6 c3c4 c6b6 d3d6 b6c7 c4c5 c7b7 d6c6 b7b8 c5b6 b8a8 c6c8
You have a slight bug. It's definitely a mate in 13, verified by egtbs.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Transposition table test positons

Post by sje »

bob wrote:
zd3nik wrote:
Dann Corbit wrote:

Code: Select all

8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
Is this correct? Bitfoot sees mate in 10 with Kb2;

info depth 21 seldepth 32 nodes 9511506 time 5338 nps 1781848 score mate 10 pv b1b2 b5c4 a1d1 c4b5 b2c3 b5c5 d1d3 c5c6 c3c4 c6b6 d3d6 b6c7 c4c5 c7b7 d6c6 b7b8 c5b6 b8a8 c6c8
You have a slight bug. It's definitely a mate in 13, verified by egtbs.
[d]8/8/8/1k6/8/8/8/RK6 w - -[/d]

Code: Select all

[] dmcs
Ka2 MateIn15
Kb2 MateIn13
Kc1 MateIn15
Kc2 MateIn13
Ra2 MateIn14
Ra3 MateIn16
Ra4 Even
Ra5+ Even
Ra6 Even
Ra7 MateIn15
Ra8 MateIn15
[] dapv
1. Kb2 Kc5 2. Rd1 Kc4 3. Rd2 Kb4 4. Rc2 Ka4 5. Kc3 Kb5 6. Kb3 Ka5 7. Kc4 Kb6 8. Kb4 Ka6 9. Kc5 Kb7 10. Kb5 Ka7 11. Kc6 Ka8 12. Kc7 Ka7 13. Ra2#
zd3nik
Posts: 193
Joined: Wed Mar 11, 2015 3:34 am
Location: United States

Re: Transposition table test positons

Post by zd3nik »

bob wrote:
zd3nik wrote:
Dann Corbit wrote:

Code: Select all

8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
Is this correct? Bitfoot sees mate in 10 with Kb2;

info depth 21 seldepth 32 nodes 9511506 time 5338 nps 1781848 score mate 10 pv b1b2 b5c4 a1d1 c4b5 b2c3 b5c5 d1d3 c5c6 c3c4 c6b6 d3d6 b6c7 c4c5 c7b7 d6c6 b7b8 c5b6 b8a8 c6c8
You have a slight bug. It's definitely a mate in 13, verified by egtbs.
I was afraid of that. :cry:
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Transposition table test positons

Post by bob »

zd3nik wrote:
bob wrote:
zd3nik wrote:
Dann Corbit wrote:

Code: Select all

8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
Is this correct? Bitfoot sees mate in 10 with Kb2;

info depth 21 seldepth 32 nodes 9511506 time 5338 nps 1781848 score mate 10 pv b1b2 b5c4 a1d1 c4b5 b2c3 b5c5 d1d3 c5c6 c3c4 c6b6 d3d6 b6c7 c4c5 c7b7 d6c6 b7b8 c5b6 b8a8 c6c8
You have a slight bug. It's definitely a mate in 13, verified by egtbs.
I was afraid of that. :cry:
I'd check how you adjust mate scores from hash first. That's about the only way to get a shorter than real mate unless there is a more serious bug afoot.
zd3nik
Posts: 193
Joined: Wed Mar 11, 2015 3:34 am
Location: United States

Re: Transposition table test positons

Post by zd3nik »

bob wrote:I'd check how you adjust mate scores from hash first. That's about the only way to get a shorter than real mate unless there is a more serious bug afoot.
Thanks for the tip. I think you're right. The only special mate distance handling I have in my transposition table logic is for cases where the current position is mate:

Code: Select all

      case HashEntry::Checkmate: return (ply - Infinity);
I don't have logic to deal with entries that contain a move with mate in N score.

Thanks!
User avatar
hgm
Posts: 27869
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Transposition table test positons

Post by hgm »

xmas79 wrote:@hmg: how does it takes fairy-max 5 mins to find such mate?
Well, I guess it was a combination of being unlucky and the comparatively small hash table (only 12MB). When I tried just now with 96MB it was significantly faster:

Code: Select all

dep	score	nodes	time	(not shown:  tbhits	knps	seldep)
 26	+79.86 	89.0M  	1:18.14	b1b2 b5c5 a1d1 c5c4 d1d2 c4b5 d2c2 b5b4 b2a2 b4a5 a2a3 a5b5 a3b3
 25	+79.86 	38.9M  	0:33.54	b1b2 b5c5 a1d1 c5c4 d1d2 c4b5 d2c2 b5a4 c2c4 a4a5 b2a3 a5b5 c4c3
 24	+79.86 	24.7M  	0:21.32	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 c2c4
 23	+79.83 	11.4M  	0:09.59	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 b2c3 a4b5 c3b3 b5a5 b3c4 a5a6
 22	+79.81 	7.47M  	0:06.20	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 c2c3 a4b4 c3c1
 21	+5.33 	5.99M  	0:04.93	b1b2 b5c4 a1d1 c4b4 d1c1 b4a4 b2c3 a4b5 c3b3 b5a6 b3a4 a6b6 a4b4
 20	+5.27 	3.80M  	0:03.03	b1b2 b5c5 b2c3 c5c6 a1e1 c6d5 e1e2 d5c5 e2e5
 19	+5.04 	2.50M  	0:01.92	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 c2c4 a4a5 b2a3 a5b6 a3b4
 19	+4.89 	2.16M  	0:01.65	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d1e1 c5d5 d3c3
 18	+4.89 	1.48M  	0:01.10	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3 c5b5 d1e1 b5c6
 17	+4.86 	1.05M  	0:00.78	b1c2 b5c5 a1d1 c5b4 d1d2 b4b5 c2b3 b5c5 d2d3
 16	+4.87 	675198	0:00.50	b1c2 b5c5 a1d1 c5b4 d1d2 b4b5 c2b2
 15	+4.83 	432369	0:00.31	b1c2 b5c5 a1d1 c5b4 d1d5 b4c4 d5d3
 14	+4.83 	320338	0:00.23	b1c2 b5c5 a1d1 c5b4 d1d5 b4c4 d5d3
 13	+4.72 	203319	0:00.14	b1c2 b5c5 a1d1 c5c4 d1d3 c4c5 c2b3 c5c6 b3b4 c6b7 b4c5 b7c7 c5d5
 12	+4.70 	139733	0:00.09	b1c2 b5c5 a1d1 c5c4 d1d3 c4c5 c2b3 c5b6 b3c4 b6c6 d3d1 c6c7
 12	+4.54 	114649	0:00.07	b1b2
 12	+4.53 	108659	0:00.07	b1b2 b5c5 a1d1 c5c4 d1d7 c4c5 d7d1
 11	+4.55 	78642  	0:00.06	b1b2 b5c5 a1d1 c5c4 d1d7 c4c5 d7d1
 10	+4.58 	49895  	0:00.03	b1b2
 10	+4.57 	47307  	0:00.03	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 d2d1
  9	+4.60 	30309  	0:00.01	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2c3 c5c6 c3d4
  8	+4.40 	17926  	0:00.01	b1b2 b5c5 a1d1 c5c4 b2c2 c4c5 c2b2
  7	+4.42 	8760    	0:00.00	b1b2 b5c5 a1d1 c5c4 b2c2 c4c5 c2d3
  6	+4.40 	5734    	0:00.00	b1b2 b5c5 a1d1 c5c4 b2c2 c4c5
  5	+4.34 	3877    	0:00.00	b1b2 b5c5 a1d1 c5c4 b2c2
  5	+4.23 	3351    	0:00.00	b1c1 b5c5 c1d1 c5d5 d1e2
  5	+4.19 	2981    	0:00.00	a1a7 b5c6 a7a5 c6d6 b1c2
  5	+4.13 	1615    	0:00.00	a1a2 b5c5 a2d2 c5c4 b1c2
  4	+4.34 	962      	0:00.00	a1a2 b5c5 a2d2 c5c4
  4	+4.26 	522      	0:00.00	b1b2 b5c4 a1d1 c4c5
  3	+4.41 	235      	0:00.00	b1b2 b5c4 b2c2
  3	+4.38 	167      	0:00.00	a1a2 b5c5 b1c2
  3	+4.33 	128      	0:00.00	a1a8 b5c5 b1c2
  2	+4.33 	58        	0:00.00	a1a8 b5c5
  2	+4.17 	35        	0:00.00	a1a3 b5c5
  2	+4.09 	21        	0:00.00	a1a7 b5c5
  1	+4.59 	15        	0:00.00	a1a7
And even with 16MB it now saw the first hint of mate at 20 ply after 9 sec:

Code: Select all

dep	score	nodes	time	(not shown:  tbhits	knps	seldep)
 23	+79.77 	155.5M	1:54.78	b1b2 b5c5 a1d1 c5b4 d1d5 b4c4 d5f5 c4b4 b2c2 b4c4 c2d2 c4d4 f5a5
 22	+79.82 	53.4M  	0:39.32	b1b2 b5c4 a1d1 c4b4 d1c1 b4a4 c1c4 a4a5 b2b3 a5b5 b3c3 b5a5 c4b4 a5a6 c3d3 a6a7 d3d4 a7a6 d4c5
 21	+5.47 	25.8M  	0:19.00	b1b2 b5c4 a1d1 c4b4 d1d5 b4c4 d5d1
 20	+79.82 	13.4M  	0:09.84	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 c2c5 a4b4 c5c1 b4a4 b2c3 a4b5
 19	+5.39 	5.74M  	0:04.15	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5b5 d2c2 b5a5 c2c1 a5b5 b3a3 b5a5 c1c4
 18	+5.13 	2.49M  	0:01.78	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2 b4a4 b2c3 a4b5 c3b3
 17	+4.90 	1.53M  	0:01.09	b1b2 b5c5 a1d1 c5c4 d1d7 c4c5 d7d1
 16	+4.93 	937985	0:00.67	b1b2 b5c5 a1d1 c5c4 d1d7 c4c5 b2b3 c5b5 d7d6 b5c5 d6d2
 15	+4.93 	565015	0:00.40	b1b2 b5c5 a1d1 c5c4 d1d7 c4c5 b2b3 c5b5 d7d6 b5c5 d6d2
 14	+4.87 	328762	0:00.23	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5c6 b3b4 c6b7 d2c2 b7b6 b4b3
 13	+4.73 	207411	0:00.14	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5c6 b3b2 c6c5
 12	+4.75 	132680	0:00.09	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5b6 d2c2 b6b5 c2c1 b5b6
 11	+4.59 	87587  	0:00.06	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 d2d1
 10	+4.62 	54733  	0:00.03	b1b2
 10	+4.61 	53237  	0:00.03	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5b6 d2c2 b6b5
  9	+4.54 	38889  	0:00.03	b1b2
  9	+4.53 	37627  	0:00.03	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b1
  8	+4.56 	28996  	0:00.01	b1b2 b5c5 a1d1 c5c4 d1d2
  8	+4.55 	23166  	0:00.01	a1a2 b5c4 a2d2 c4c3 b1c1 c3c4 c1b2
  7	+4.40 	12469  	0:00.01	a1a2 b5c5 a2d2 c5c4 b1c2 c4c5 c2d3
  6	+4.39 	7647    	0:00.00	a1a2 b5c4 a2d2 c4c3 b1c1 c3c4
  6	+4.22 	6087    	0:00.00	a1a8 b5c4 a8d8 c4c3 b1c1 c3c4
  5	+4.34 	2054    	0:00.00	a1a8 b5c5 a8d8 c5c4 b1c2
  4	+4.29 	1682    	0:00.00	a1a8 b5c5 a8d8 c5c4
  4	+4.28 	1470    	0:00.00	a1a7 b5c6 b1c2 c6d5
  4	+4.18 	540      	0:00.00	b1c2 b5c4 a1d1 c4c5
  3	+4.37 	234      	0:00.00	b1c2 b5c4 c2d2
  3	+4.33 	189      	0:00.00	b1c1 b5c5 c1d2
  3	+4.32 	128      	0:00.00	a1a2 b5c5 b1c2
  2	+4.27 	41        	0:00.00	a1a2 b5c5
  2	+4.25 	27        	0:00.00	b1c2 b5c5
  2	+4.15 	15        	0:00.00	b1b2 b5c5
  1	+4.63 	9          	0:00.00	b1b2
Fairy-Max randomizes during the first 3 moves, and this is implemented in a rather unclean way (like about everything in Fairy-Max), by adding a small random score to the material eval before searching each root move, where the random is different in every iteration. This probably confuses the search. So I was unwise to just set up the position and have Fairy-Max search it; I should have loaded a game of > 6 moves that ended in the position, to suppress this randomization. With 128MB this gives

Code: Select all

dep	score	nodes	time	(not shown:  tbhits	knps	seldep)
 28	+79.86 	186.9M	2:44.09	b1c2 b5b4 a1d1 b4c4 d1d2 c4b4 c2d3 b4c5 d3c3 c5b5 d2d5 b5b6 c3b4 b6c6 d5d4 c6b6 d4c4
 27	+79.85 	105.2M	1:32.28	b1c2 b5b4 a1d1 b4c4 d1d2 c4b4 c2d3 b4c5 d3c3 c5b5 d2d5 b5c6
 26	+79.84 	83.8M  	1:12.65	b1c2 b5b4 a1d1 b4c4 d1d2 c4b4 c2d3 b4c5 d3c3 c5b5 c3d4
 26	+79.82 	62.0M  	0:54.09	b1a2 b5c4 a1d1 c4c3 a2b1 c3b4 b1b2 b4c4 d1d2 c4b5 b2c3 b5c5 d2d4 c5b5 d4c4 b5a5 c4c5 a5a6 c3b4 a6b6 c5c4 b6a6 c4c6
 25	+79.75 	21.7M  	0:18.34	b1a2 b5c4 a1d1 c4c3 d1d5 c3c4 d5h5 c4b4 a2b2 b4c4 b2c2
 24	+79.74 	17.5M  	0:14.67	b1a2 b5c4 a1d1 c4c3 d1d5 c3b4 d5e5 b4c4 e5h5
 24	+5.33 	13.1M  	0:10.96	a1a2 b5c4 a2d2 c4c3 d2d1 c3c4 b1b2 c4c5 d1d3
 23	+5.35 	8.64M  	0:07.15	a1a2 b5c6 a2d2 c6c7 b1b2 c7c6 b2a3 c6c5 a3b3 c5b5 d2c2 b5a5 c2c8 a5b5 b3c3
 22	+5.35 	6.32M  	0:05.18	a1a2 b5c4 a2d2 c4c3 b1c1 c3c4 c1b2 c4c5
 22	+5.31 	5.43M  	0:04.45	a1a8 b5c5 a8d8 c5c6 d8d3 c6c7 b1a1 c7b6 a1a2
 21	+5.34 	4.50M  	0:03.67	a1a8 b5c5 a8d8 c5c6 d8d3 c6c7 b1a1 c7c6 a1a2 c6c5 a2b1
 20	+5.34 	4.14M  	0:03.39	a1a8 b5c5 a8d8 c5c6 d8d3
 20	+5.14 	3.51M  	0:02.84	a1a2 b5c5 a2d2 c5b4 d2d3 b4c4 b1c2 c4b4 c2b2
 20	+5.04 	3.08M  	0:02.48	b1c2 b5c5 a1d1 c5b4 d1d4 b4b5 c2b3 b5c5 d4d2
 19	+5.01 	2.34M  	0:01.89	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3 c5b5 d1d2 b5b6 c3c4 b6c6 c4b4
 19	+4.98 	2.06M  	0:01.65	b1a2 b5c4 a1d1 c4c3 a2b1 c3c4 b1a2
 18	+5.00 	1.78M  	0:01.42	b1a2 b5c4 a1d1 c4c3 a2b1 c3b4 b1c2 b4c4 c2b2 c4b4 d1c1 b4a4 c1c5 a4b4 c5c2
 18	+4.80 	1.40M  	0:01.11	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c2
 17	+4.82 	974045	0:00.75	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c2
 16	+4.84 	675367	0:00.50	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3 c5b5 d1d5 b5b6 c3d4 b6c6 d4c4
 15	+4.69 	438954	0:00.32	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3 c5b5 c3d4
 14	+4.69 	326612	0:00.23	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3 c5b6 c3b4 b6c6 b4c4
 13	+4.64 	218643	0:00.15	b1c2 b5c5 a1d1 c5b4 d1d2 b4b5 c2b3 b5c5 d2d3
 12	+4.62 	147245	0:00.11	b1c2 b5c5 a1d1 c5c4 d1d8 c4c5 c2c3 c5c6 c3c4 c6c7 d8d1
 11	+4.60 	95497  	0:00.06	b1c2 b5c5 a1d1 c5c4 d1d8 c4b5 c2c3 b5c5 d8d4
 10	+4.55 	52018  	0:00.03	b1c2 b5c5 a1d1 c5c6 d1d8 c6c7 d8d3 c7b6 d3c3 b6b5
  9	+4.47 	33379  	0:00.01	b1c2 b5c5 a1d1 c5c4 d1d8 c4c5 c2d3 c5c6 d3e4
  8	+4.44 	18879  	0:00.01	b1c2 b5c5 a1d1 c5c4 d1d7 c4c5 c2d3 c5c6
  7	+4.35 	7871    	0:00.00	b1c2 b5c5 a1d1 c5c4 d1d2 c4c5 c2d3
  6	+4.31 	4665    	0:00.00	b1c2 b5c5 c2d3 c5d5 a1e1 d5d6
  5	+4.32 	1431    	0:00.00	b1c2 b5c5 a1d1 c5c4 c2d2
  4	+4.30 	462      	0:00.00	b1c2 b5c4 a1d1 c4c5
  3	+4.33 	126      	0:00.00	b1c2 b5c4 c2d2
  2	+4.30 	17        	0:00.00	b1c2 b5c5
  1	+4.55 	11        	0:00.00	b1c2
In none of these cases it got to M13, though. I would have expected it to see that at 27 ply. (It needs 3 ply to see mate-in-1, because it is a King-capture engine.) This is probably due to LMR. Of course the fact that it doesn't have any real move ordering (and in particular no killers) doesn't really help. Small hash table hurts it more than other engines, as it uses a simplistic always-replace strategy, with no protection at all for deep entries. 12MB is only 1M entries, and KRK has 0.5M positions (taking account of stm), so it will still fit, but about 40% of all positions will constantly overwrite each other.
Ferdy
Posts: 4840
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Transposition table test positons

Post by Ferdy »

Dann Corbit wrote:Oops, just noticed you wanted distance to mate:

Code: Select all

r3k2r/8/8/8/8/8/8/R3K2R w KQkq - bm Rxh8+; dm 7;
3k4/1p6/1P1K4/2P5/8/8/8/8 w - - bm Ke6; dm 8;
k7/P7/1P6/1K6/8/8/8/8 w - - bm Kc5; dm 8;
4k3/8/8/PpPpPpPp/PpPpPpPp/8/8/4K3 b - a3 bm bxa3; dm 11;
4k3/8/8/8/8/8/R7/4K3 w - - bm Ra7; dm 12;
8/2k5/4P3/8/1K6/8/8/8 w - - bm Kc5; dm 12;
8/8/4K3/4P2p/8/5k2/8/8 w - - bm Kf5; dm 13;
8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
8/3p1k2/3P4/2P2K2/8/8/8/8 w - - bm Ke5; dm 14;
6k1/7p/7K/7P/8/8/6P1/8 w - - bm g3; dm 15;
8/4k3/8/8/4PK2/8/8/8 w - - bm Ke5; dm 15;
8/8/K1p1k3/2P5/8/8/8/8 w - - bm Kb7; dm 15;
8/p7/6k1/1P6/6KP/8/8/8 w - - bm Kf4 h5+; dm 15;
6k1/8/5KP1/6P1/8/8/8/8 w - - bm g7; dm 16;
8/2k5/8/8/6K1/8/7P/8 w - - bm Kf5 Kg5 Kh5; dm 16;
8/8/2p5/8/8/5k2/P7/5K2 w - - bm a4; dm 16;
8/8/8/6K1/8/5k2/P7/8 w - - bm Kf5; dm 16;
8/2k5/p1P5/P1K5/8/8/8/8 w - - bm Kd5; dm 17;
8/6p1/8/4K3/7P/4k2P/8/8 w - - bm Ke6; dm 17;
8/8/6p1/7p/5k2/8/4K2P/8 b - - bm Kg4; dm 17;
8/8/8/7p/1PK2k2/8/8/8 w - - bm b5; dm 17;
8/p4K2/P7/8/8/8/1k6/8 w - - bm Ke6; dm 17;
k7/P7/1P6/4p3/4Pp2/5K2/8/8 w - - bm Kf2; dm 17;
3k4/2p5/2K5/1P1P4/8/8/8/8 w - - bm Kb7; dm 18;
3k4/8/2pP1K2/2P5/8/8/8/8 w - - bm d7; dm 18;
4K3/8/2p5/8/P2k4/8/P7/8 w - - bm a5; dm 18;
8/6k1/8/1p1K4/5P1P/8/8/8 w - - bm Kc5; dm 18;
8/6p1/8/5P2/5P2/5K2/8/6k1 w - - bm f6; dm 18;
8/8/1p6/8/8/6P1/k1K5/8 w - - bm Kc3; dm 18;
8/8/8/8/4P1k1/8/5K2/8 w - - bm Ke3; dm 18;
7k/8/5PpK/Pp1P2pp/3P4/8/5p2/8 w - - bm a6; dm 19;
8/7k/4K2p/6p1/6P1/7P/8/8 w - - bm Kf7; dm 19;
8/8/1k1K4/pP6/P7/8/8/8 w - - bm Kd5 Ke6; dm 19;
8/8/4k3/3p2p1/1P1K2P1/8/8/8 w - - bm Kc5 b5; dm 19;
8/8/5p2/pK6/2Pk2P1/8/8/8 w - - bm g5; dm 19;
8/ppp5/8/PPP5/8/7k/8/7K w - - bm b6; dm 19;
1k6/8/P1P5/8/5ppp/8/6K1/8 w - - bm Kg1; dm 20;
8/5p2/2k5/K7/8/1P6/8/8 b - - bm Kd5; dm 20;
8/8/4k3/1pp5/2p1PP2/8/3K4/8 b - - bm b4; dm 20;
8/2k5/2Pp3p/1P6/8/5K2/8/8 w - - bm Kf4; dm 21;
8/8/1p4K1/p1p5/P1P3k1/1P6/8/8 w - - bm Kf7; dm 21;
8/8/8/4kPp1/6P1/4K3/8/8 w - - bm Kd2 Ke2; dm 21;
8/p2p4/8/8/8/k7/5P1P/7K w - - bm f4; dm 21;
4k3/8/8/8/8/8/4P3/4K3 w - - bm Kd2; dm 22;
8/2p5/1pPp4/1P1Pp3/4Pp1k/5P2/5KP1/8 w - - bm g3+; dm 22;
8/5k2/6p1/5pKp/8/6P1/5P1P/8 w - - bm Kh6; dm 22;
8/8/8/1P2kp2/P2p2p1/6P1/3K4/8 b - - bm f4; dm 24;
8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - bm f6; dm 25;
8/2p4p/7P/2K5/2P5/8/k7/8 w - - bm Kb4; dm 25;
4K3/8/8/1p5p/1P5P/8/8/4k3 w - - bm Ke7; dm 26;
6k1/6p1/8/4K1P1/8/7P/8/8 w - - bm Kf4; dm 26;
8/8/1kp5/8/K1PP4/8/8/8 w - - bm Kb3; dm 27;
8/8/p7/8/1P6/7p/P4k1P/3K4 w - - bm a3; dm 27;
8/6p1/p7/5P1p/1Pk5/8/5KPP/8 w - - bm h4; dm 28;
7k/6p1/6P1/8/8/p5K1/P7/8 w - - bm Kf4; dm 30;
8/8/8/KP6/1p6/k4p2/5P2/8 w - - bm b6; dm 30;
k7/8/1p6/p1p5/2P4K/8/PP6/8 w - - bm a4; dm 32;
k7/4p3/4p3/8/8/3P1P2/5P2/K7 w - - bm Kb2; dm 33;
8/5p2/7p/5pk1/8/5KPP/8/8 b - - bm h5; dm 35;
8/8/4k3/6p1/2pPpP2/4P2P/6K1/8 w - - bm f5+; dm 35;
8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; dm 49;
k7/2p1pp2/2P3p1/4P1P1/5P2/p7/Kp3P2/8 w - - bm f5; dm 64;
r3k2r/8/8/8/8/8/8/R3K2R w - - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w K - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w k - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w Q - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w q - bm Rxa8+; dm 65;
8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - bm Kb1; dm 35;
8/2pp2pp/8/2PP1P2/1p5k/8/PP4p1/6K1 w - - bm f6; dm 82;
8/5pp1/4p2p/3k3P/1p1P2P1/1P1K1P2/8/8 b - - bm g5; dm 82;
8/5p1p/8/6k1/8/6P1/5PP1/7K w - - bm Kh2; dm 85;
k7/8/pp6/2p4K/8/PPP5/8/8 w - - bm c4; dm 90;
There could be multiple bm in pos 1 and 8.
Pos 63 to 67 might have wrong dm values.

Code: Select all

EEAI - EPD and Engine Analysis Interface v3.0

Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Physical Cores: 4, Hyper-Threading: ON
Physical Memory: Total = 12 GB, Available = 8 GB

Engine: Deuterium v2015.1.35.250
Hash: 128, Threads: 1, Time: 10.0s/pos

Test file: dan-transpo-test.epd, TotalPos 72
AnalyzedPos : 72, Correct: 64 (88.89%)

Total engine analysis time: 00h:12m:00s:378ms
Expected time to finish   : 00h:12m:00s:000ms

   Pos  Correct  EngineBM  ScoreCP    Mate    EPD
     1        0     Rxa8+        -     +M7    r3k2r/8/8/8/8/8/8/R3K2R w KQkq - bm Rxh8+; dm 7;
     2        1       Ke6        -     +M8    3k4/1p6/1P1K4/2P5/8/8/8/8 w - - bm Ke6; dm 8;
     3        1       Kc5        -     +M8    k7/P7/1P6/1K6/8/8/8/8 w - - bm Kc5; dm 8;
     4        1      bxa3    +1363       -    4k3/8/8/PpPpPpPp/PpPpPpPp/8/8/4K3 b - a3 bm bxa3; dm 11;
     5        1       Ra7        -     +M12    4k3/8/8/8/8/8/R7/4K3 w - - bm Ra7; dm 12;
     6        1       Kc5        -     +M12    8/2k5/4P3/8/1K6/8/8/8 w - - bm Kc5; dm 12;
     7        1       Kf5     +878       -    8/8/4K3/4P2p/8/5k2/8/8 w - - bm Kf5; dm 13;
     8        0       Kb2        -     +M13    8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
     9        1       Ke5        -     +M15    8/3p1k2/3P4/2P2K2/8/8/8/8 w - - bm Ke5; dm 14;
    10        1        g3    +1426       -    6k1/7p/7K/7P/8/8/6P1/8 w - - bm g3; dm 15;
    11        1       Ke5    +1425       -    8/4k3/8/8/4PK2/8/8/8 w - - bm Ke5; dm 15;
    12        0       Ka7    +1429       -    8/8/K1p1k3/2P5/8/8/8/8 w - - bm Kb7; dm 15;
    13        1       h5+    +1408       -    8/p7/6k1/1P6/6KP/8/8/8 w - - bm Kf4 h5+; dm 15;
    14        1        g7    +1427       -    6k1/8/5KP1/6P1/8/8/8/8 w - - bm g7; dm 16;
    15        1       Kf5    +1426       -    8/2k5/8/8/6K1/8/7P/8 w - - bm Kf5 Kg5 Kh5; dm 16;
    16        1        a4    +1301       -    8/8/2p5/8/8/5k2/P7/5K2 w - - bm a4; dm 16;
    17        1       Kf5    +1429       -    8/8/8/6K1/8/5k2/P7/8 w - - bm Kf5; dm 16;
    18        1       Kd5    +2716       -    8/2k5/p1P5/P1K5/8/8/8/8 w - - bm Kd5; dm 17;
    19        1       Ke6    +1394       -    8/6p1/8/4K3/7P/4k2P/8/8 w - - bm Ke6; dm 17;
    20        1       Kg4    +1283       -    8/8/6p1/7p/5k2/8/4K2P/8 b - - bm Kg4; dm 17;
    21        1        b5    +1429       -    8/8/8/7p/1PK2k2/8/8/8 w - - bm b5; dm 17;
    22        1       Ke6    +1405       -    8/p4K2/P7/8/8/8/1k6/8 w - - bm Ke6; dm 17;
    23        0       Ke2    +2732       -    k7/P7/1P6/4p3/4Pp2/5K2/8/8 w - - bm Kf2; dm 17;
    24        1       Kb7    +1412       -    3k4/2p5/2K5/1P1P4/8/8/8/8 w - - bm Kb7; dm 18;
    25        1        d7    +1434       -    3k4/8/2pP1K2/2P5/8/8/8/8 w - - bm d7; dm 18;
    26        1        a5    +1380       -    4K3/8/2p5/8/P2k4/8/P7/8 w - - bm a5; dm 18;
    27        1       Kc5    +2758       -    8/6k1/8/1p1K4/5P1P/8/8/8 w - - bm Kc5; dm 18;
    28        1        f6    +1427       -    8/6p1/8/5P2/5P2/5K2/8/6k1 w - - bm f6; dm 18;
    29        1       Kc3    +1434       -    8/8/1p6/8/8/6P1/k1K5/8 w - - bm Kc3; dm 18;
    30        1       Ke3    +1434       -    8/8/8/8/4P1k1/8/5K2/8 w - - bm Ke3; dm 18;
    31        1        a6    +1310       -    7k/8/5PpK/Pp1P2pp/3P4/8/5p2/8 w - - bm a6; dm 19;
    32        1       Kf7    +1390       -    8/7k/4K2p/6p1/6P1/7P/8/8 w - - bm Kf7; dm 19;
    33        1       Ke6    +2674       -    8/8/1k1K4/pP6/P7/8/8/8 w - - bm Kd5 Ke6; dm 19;
    34        1       Kc5    +1425       -    8/8/4k3/3p2p1/1P1K2P1/8/8/8 w - - bm Kc5 b5; dm 19;
    35        1        g5    +1293       -    8/8/5p2/pK6/2Pk2P1/8/8/8 w - - bm g5; dm 19;
    36        1        b6    +1259       -    8/ppp5/8/PPP5/8/7k/8/7K w - - bm b6; dm 19;
    37        1       Kg1    +1299       -    1k6/8/P1P5/8/5ppp/8/6K1/8 w - - bm Kg1; dm 20;
    38        1       Kd5    +1397       -    8/5p2/2k5/K7/8/1P6/8/8 b - - bm Kd5; dm 20;
    39        1        b4    +2509       -    8/8/4k3/1pp5/2p1PP2/8/3K4/8 b - - bm b4; dm 20;
    40        1       Kf4    +1434       -    8/2k5/2Pp3p/1P6/8/5K2/8/8 w - - bm Kf4; dm 21;
    41        0       Kf6    +2462       -    8/8/1p4K1/p1p5/P1P3k1/1P6/8/8 w - - bm Kf7; dm 21;
    42        1       Ke2    +2752       -    8/8/8/4kPp1/6P1/4K3/8/8 w - - bm Kd2 Ke2; dm 21;
    43        1        f4    +1149       -    8/p2p4/8/8/8/k7/5P1P/7K w - - bm f4; dm 21;
    44        0       Kf2    +1393       -    4k3/8/8/8/8/8/4P3/4K3 w - - bm Kd2; dm 22;
    45        1       g3+    +1163       -    8/2p5/1pPp4/1P1Pp3/4Pp1k/5P2/5KP1/8 w - - bm g3+; dm 22;
    46        0        f3    +1072       -    8/5k2/6p1/5pKp/8/6P1/5P1P/8 w - - bm Kh6; dm 22;
    47        1        f4     +910       -    8/8/8/1P2kp2/P2p2p1/6P1/3K4/8 b - - bm f4; dm 24;
    48        1        f6     +930       -    8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - bm f6; dm 25;
    49        1       Kb4    +1303       -    8/2p4p/7P/2K5/2P5/8/k7/8 w - - bm Kb4; dm 25;
    50        1       Ke7    +1260       -    4K3/8/8/1p5p/1P5P/8/8/4k3 w - - bm Ke7; dm 26;
    51        1       Kf4    +1425       -    6k1/6p1/8/4K1P1/8/7P/8/8 w - - bm Kf4; dm 26;
    52        1       Kb3    +1378       -    8/8/1kp5/8/K1PP4/8/8/8 w - - bm Kb3; dm 27;
    53        1        a3    +1181       -    8/8/p7/8/1P6/7p/P4k1P/3K4 w - - bm a3; dm 27;
    54        1        h4     +960       -    8/6p1/p7/5P1p/1Pk5/8/5KPP/8 w - - bm h4; dm 28;
    55        1       Kf4    +1290       -    7k/6p1/6P1/8/8/p5K1/P7/8 w - - bm Kf4; dm 30;
    56        1        b6      +66       -    8/8/8/KP6/1p6/k4p2/5P2/8 w - - bm b6; dm 30;
    57        1        a4     +642       -    k7/8/1p6/p1p5/2P4K/8/PP6/8 w - - bm a4; dm 32;
    58        1       Kb2     +478       -    k7/4p3/4p3/8/8/3P1P2/5P2/K7 w - - bm Kb2; dm 33;
    59        1        h5     +332       -    8/5p2/7p/5pk1/8/5KPP/8/8 b - - bm h5; dm 35;
    60        1       f5+     +352       -    8/8/4k3/6p1/2pPpP2/4P2P/6K1/8 w - - bm f5+; dm 35;
    61        1       b6+    +1550       -    8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; dm 49;
    62        1        f5     +888       -    k7/2p1pp2/2P3p1/4P1P1/5P2/p7/Kp3P2/8 w - - bm f5; dm 64;
    63        1     Rxa8+        -     +M7    r3k2r/8/8/8/8/8/8/R3K2R w - - bm Rxa8+; dm 65;
    64        0     Rxh8+        -     +M8    r3k2r/8/8/8/8/8/8/R3K2R w K - bm Rxa8+; dm 65;
    65        1     Rxa8+        -     +M7    r3k2r/8/8/8/8/8/8/R3K2R w k - bm Rxa8+; dm 65;
    66        1     Rxa8+        -     +M8    r3k2r/8/8/8/8/8/8/R3K2R w Q - bm Rxa8+; dm 65;
    67        1     Rxa8+        -     +M7    r3k2r/8/8/8/8/8/8/R3K2R w q - bm Rxa8+; dm 65;
    68        1       Kb1    +1770       -    8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - bm Kb1; dm 35;
    69        1        f6     +547       -    8/2pp2pp/8/2PP1P2/1p5k/8/PP4p1/6K1 w - - bm f6; dm 82;
    70        1        g5     +844       -    8/5pp1/4p2p/3k3P/1p1P2P1/1P1K1P2/8/8 b - - bm g5; dm 82;
    71        1       Kh2     +156       -    8/5p1p/8/6k1/8/6P1/5PP1/7K w - - bm Kh2; dm 85;
    72        1        c4      +10       -    k7/8/pp6/2p4K/8/PPP5/8/8 w - - bm c4; dm 90;
xmas79
Posts: 286
Joined: Mon Jun 03, 2013 7:05 pm
Location: Italy

Re: Transposition table test positons

Post by xmas79 »

Robert Pope wrote:So, how does this look? Broken, or just slow because I don't have things like LMR or null move implemented?

This is with a 1M entry TT table (always replace, 1 slot). A 65K entry table didn't find the mate after 1B nodes. With hash tables turned off, I get to depth 11 in 124M nodes vs 1.8M below. So it seems to be helping, but I am not finding mate anywhere close to the times of NGN or Crafty (7M nodes).
Everything really matters. However, even without LRM null and TT, you should find that mates. And with TT on you sould find them faster.... I would debug the basic search with basic mates: pick a random KQK position and test. It should be very easy to find mates. Then pick KRK positions like this: [d]7k/8/8/8/3K4/8/8/R7 w - -
then start putting the king near the rook and check again. Any problem to mate handling and basic search should be easily spotted.