Transposition table test positons

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Re: Transposition table test positons

Post by hgm »

LMR and null move are not really useful in KRK. Fairy-Max has them switched off too, when material drops to this level. In fact null-move can be very harmful in KRK, as the winning method depends on zugzwang.

What does help for Fairy-Max to find the mate-in-13 is to disable alpha-beta and do full minimax (always calling Search() with {-INF, INF} window):
[d]8/8/8/1k6/8/8/8/RK6 w

Code: Select all

dep	score	nodes	time	(not shown:  tbhits	knps	seldep)
 19	+79.87 	38.8M  	0:44.29	b1c2 b5c5 a1d1 c5c4 d1d3 c4b4 d3c3
 18	+79.87 	22.6M  	0:25.45	b1c2 b5c5 a1d1 c5c4 d1d3 c4b4 d3c3
 18	+79.86 	19.1M  	0:21.32	b1b2 b5c5 a1d1 c5c4 d1d8 c4c5 b2b3 c5c6 b3c4 c6c7 d8d1
 17	+79.85 	11.8M  	0:13.12	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4 d2c2
 16	+5.50 	9.57M  	0:10.57	b1b2 b5c5 b2c3 c5d5
 16	+5.46 	9.42M  	0:10.40	b1c2 b5c4 a1d1 c4b4
 15	+5.19 	5.65M  	0:06.14	b1c2 b5c5 a1d1 c5b4 d1d3 b4c4 d3d8
 15	+5.17 	4.95M  	0:05.35	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3 c5c6 b3b4 c6c7 d2d1
 14	+5.07 	4.01M  	0:04.29	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3
 14	+5.05 	3.91M  	0:04.18	b1c2 b5c5 a1d1 c5c4 c2b2
 13	+4.94 	2.50M  	0:02.60	b1c2 b5c5 a1d1 c5b4 c2d3 b4c5 d3c3
 13	+4.90 	2.41M  	0:02.51	b1b2 b5c5 a1d1 c5c4 d1d2 c4c5 b2b3
 13	+4.77 	2.03M  	0:02.10	b1a2 b5c4 a1d1 c4c3 a2b1 c3c4 b1b2
 12	+4.71 	1.70M  	0:01.76	b1a2 b5c4 a1d1 c4c3 a2b1 c3b4
 12	+4.69 	1.64M  	0:01.68	b1c2 b5c5 a1d1 c5b4 d1d4 b4c5
 11	+4.57 	1.05M  	0:01.06	b1c2 b5c5 a1d1 c5b5 c2d3 b5c6 d3e3
 11	+4.54 	908808	0:00.90	b1b2 b5c5 a1d1 c5c4 b2c2
 10	+4.54 	696542	0:00.68	b1b2 b5c5 a1d1 c5c4 b2c2
 10	+4.53 	657812	0:00.64	b1c2 b5c5 a1d1 c5c6 c2c3 c6b5 c3d4 b5c6 d4c4
  9	+4.53 	409307	0:00.39	b1c2 b5c5 a1d1 c5c6 c2b2 c6c5
  9	+4.45 	347024	0:00.32	b1b2 b5c5 a1d1 c5c4 b2c2
  8	+4.46 	247889	0:00.21	b1b2 b5c5 a1d1 c5c4 b2c2
  8	+4.44 	219808	0:00.18	b1c2 b5c5 a1d1 c5c4 d1d2 c4c5
  7	+4.43 	138034	0:00.10	b1c2 b5c4 a1d1 c4c5
  7	+4.40 	133737	0:00.10	b1b2 b5c5 a1d1 c5c4 d1d2 c4b4
  7	+4.39 	83429  	0:00.06	a1a2 b5c4 a2d2 c4c3 d2d6 c3c4
  6	+4.35 	32179  	0:00.03	a1a2
  6	+4.34 	32179  	0:00.03	a1a2 b5c4 a2d2 c4c3
  5	+4.32 	13475  	0:00.01	a1a2 b5c5 a2d2 c5c4 b1c2
  5	+4.29 	11711  	0:00.01	b1a2 b5c5 a1d1 c5c4 a2b2
  5	+4.27 	10792  	0:00.01	b1b2 b5c5 a1d1 c5c4 d1d2
  5	+4.19 	7721    	0:00.00	b1c2 b5c5 a1d1 c5c4 c2d2
  4	+4.42 	4365    	0:00.00	b1c2 b5c4 a1d1 c4c5
  4	+4.26 	2168    	0:00.00	a1a3 b5c4 b1c2 c4d4
  4	+4.22 	1765    	0:00.00	a1a2 b5c5 a2d2 c5c4
  4	+4.06 	1352    	0:00.00	a1a7 b5c6 b1c2 c6d5
  3	+4.36 	682      	0:00.00	a1a7 b5c5 b1c2
  3	+4.34 	416      	0:00.00	a1a3 b5c5 b1c2
  3	+4.29 	350      	0:00.00	a1a2 b5c5 b1c2
  3	+4.25 	293      	0:00.00	b1a2 b5c5 a2b2
  3	+4.21 	233      	0:00.00	b1b2 b5c4 a1b1
  3	+4.20 	137      	0:00.00	b1c2 b5c4 c2d2
  2	+4.41 	15        	0:00.00	b1c2 b5c5
  1	+4.68 	9          	0:00.00	b1c2
This was with 16M hash entries.


Full minimax on KPK:
[d]4k3/8/8/8/8/8/4P3/4K3 w

Code: Select all

dep	score	nodes	time	(not shown:  tbhits	knps	seldep)
 28	+79.77 	35.7M  	0:42.01	e1d2 e8f7 d2d3 f7e7 d3e4 e7e6 e2e3 e6f6 e4d5 f6e7 d5e5 e7f7
 27	+79.77 	23.2M  	0:26.53	e1d2 e8f7 d2d3 f7e7 d3e4 e7e6 e2e3 e6f6 e4d5
 26	+7.75 	16.7M  	0:18.64	e1d2 e8f7 d2e3 f7e7 e3e4 e7e6 e2e3 e6f6 e4d5 f6e7 d5e5 e7f7
 25	+7.75 	12.0M  	0:13.09	e1d2 e8f7 d2e3 f7e7 e3e4 e7e6
 24	+7.62 	9.07M  	0:09.73	e1d2 e8f7 d2e3 f7f6 e3e4 f6e6 e2e3 e6f6 e4d5 f6e7 d5e5 e7f7
 23	+1.93 	6.66M  	0:07.01	e1d2 e8f7 d2e3 f7f6 e3e4 f6e6 e4d4
 22	+1.93 	5.00M  	0:05.12	e1d2 e8f7 d2e3 f7f6 e3e4 f6e6 e4d4
 21	+1.94 	3.59M  	0:03.59	e1d2 e8f7 d2e3 f7e6 e3d4 e6d6 e2e4 d6e6
 20	+1.81 	2.64M  	0:02.57	e1d2 e8f7 d2e3 f7f6 e3e4 f6e6 e4d4
 19	+1.81 	1.87M  	0:01.78	e1d2 e8f7 d2e3 f7f6 e3e4 f6e6 e4d4
 18	+1.57 	1.35M  	0:01.25	e1d2 e8f7 d2e3 f7e6 e3d4 e6f5
 17	+1.09 	945782	0:00.85	e1d2 e8f7 d2e3 f7f6 e3f4 f6e6 e2e4 e6f6
 16	+1.09 	664335	0:00.59	e1d2 e8f7 d2e3 f7f6 e3f4 f6g6 e2e4 g6f6 e4e5 f6f7 f4f3
 15	+1.06 	466543	0:00.42	e1d2 e8f7 d2e3 f7f6 e3f4 f6g6 e2e4 g6f6 e4e5 f6f7 f4f5 f7e7 e5e6 e7d6 f5f6
 14	+1.04 	319824	0:00.29	e1d2 e8f7 d2e3 f7f6 e3f4 f6g6 e2e4 g6f6 e4e5 f6e6 f4e4
 13	+0.80 	246614	0:00.21	e1d2 e8f7 d2e3
 13	+0.79 	225745	0:00.20	e1f2 e8d7 f2e3 d7e7 e3d4 e7e6 d4e4
 12	+0.50 	161065	0:00.15	e1f2 e8d7 f2e3 d7e6 e3e4 e6d6
 11	+0.45 	113686	0:00.10	e1f2 e8d7 f2e3 d7c6 e3e4
 10	+0.45 	89074  	0:00.07	e1f2 e8d7 f2f3 d7d6 e2e4 d6e5 f3e3
 10	+0.44 	81043  	0:00.07	e1d2 e8f7 d2e3 f7g6 e3e4 g6g5 e4e5 g5g4
  9	+0.47 	58541  	0:00.04	e1d2 e8f7 d2e3
  9	+0.46 	49083  	0:00.04	e1f2 e8d7 f2e3 d7c6 e3e4
  8	+0.48 	35159  	0:00.03	e1f2 e8d7 f2f3 d7d6
  8	+0.44 	29985  	0:00.03	e1d2 e8f7 d2d3 f7f6
  7	+0.54 	15551  	0:00.01	e1d2 e8e7 d2d3 e7d6 d3d4 d6e6
  6	+0.43 	9627    	0:00.00	e1d2 e8e7 e2e4 e7e6 d2d3 e6e5
  6	+0.41 	5937    	0:00.00	e1f1 e8e7 e2e4 e7e6 f1e2 e6e5
  5	+0.47 	2946    	0:00.00	e1f1 e8e7 e2e4 e7e6 f1f2
  5	+0.39 	2402    	0:00.00	e1d2 e8e7 e2e4 e7e6 d2e3
  4	+0.43 	650      	0:00.00	e1d2 e8e7 e2e4 e7e6
  3	+0.61 	189      	0:00.00	e1d2 e8e7 e2e4
  3	+0.54 	93        	0:00.00	e1f2 e8e7 e2e4
  2	+0.64 	51        	0:00.00	e1f2 e8e7
  2	+0.49 	17        	0:00.00	e2e3 e8e7
  1	+0.81 	9          	0:00.00	e2e3
Of course minimax is not really a stringent test for your hash-table implementation, because all entries would be exact. So you would not catch any errors in the handling of upper and lower bounds.