How many engines consider this positional sacrifice

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

Moderators: hgm, Rebel, chrisw

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Chess theory vs. search function !

Post by michiguel »

smirobth wrote:
Sylwy wrote:My assertion was about chess engines only. Humans know better the chess theory but they can't search too deeply.This handicap will never be annihilated.Contrary to humans the chess engines are very fast searchers but with a very primitive evaluation function ( most of them ). Remain a lot of possibilities to improve these "toys ".

Regards,
Silvian
Hi Silvian,
Yes you could say chess engines have fast searches and primitive evaluation functions. But I think humans have only somewhat less primitive evaluation functions (depending upon the position). Sure there are some holes in evaluation functions that programs have relative to humans, but I don't think this is nearly enough to explain how humans remain nearly competitive with programs even though they are 1,000,000 times slower. What really sets humans apart from chess engines is not, IMO, evaluation functions. I think there are two differences that benefit humans. First I think humans use some very sophisticated, complex and completely unconscious pattern matching. This pattern matching effectively boosts a human's search speed to be effectively much faster than the 2-3 positions per second frequently cited. This pattern matching means many searches are pre-calculated. So I think search speed, although implemented very differently, is not nearly as disproportional as many people suppose. And second, humans think about chess in a way that is, at a very fundamental level, radically different from chess engines. Humans think schematically. A chess engine searches first, relatively blindly and quickly, and then sees if anything good happens per its evaluation function. In contrast a human often evaluates the position first, uses this evaluation to establish potential goals, and then searches to see if there are ways to make progress towards any of those goals. This is such a fundamentally different way of thinking from what chess engines do that no one even knows how to program a computer "think" the human way. Some programmers tried, but results were not good.

Which way is better? I think it is pretty obvious that the "fast" method works best for computers, which are organized to process data serially, and the "schematic/pattern matching" method is better for humans, whose brains are massively parallel.
Human search is way much more sophisticated, not so much the "evaluation function". What is amazing about humans is that they can adjust the eval parameters on the fly. Using state of the art pattern matching, humans identify plans and how to search based on them.
:-)
Miguel
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: How many engines consider this positional sacrifice

Post by michiguel »

Dann Corbit wrote:Thus far, given:
r1bq1rk1/p3nppp/1p2p3/8/3P4/1QN2N2/PP2RPPP/R5K1 w - - bm d5; c0 "Silman";
2r1r1k1/5pp1/4nn1p/pp1p4/5PP1/2PRB2P/PPN5/1K1R4 b - g3 bm d4; c0 "Korchnoi";

Two engines have solved both positions (though about 2/3 find the second):

Code: Select all

Analysis from E:\sk.epd   
3/18/2008 4:25:04 PM Level: Infinite
Analyzing engine: ChessTiger2007UCI

1) d5; c0 "Silman";     
    Searching move: d4-d5
    Best move (ChessTiger2007UCI): d4-d5
    identical moves! Found in: 00:03
      2	00:03	         203	0	-0.54	Ra1c1 Bc8b7 Nc3e4
      2	00:03	         476	47.600	-0.48	Qb3c2 Bc8b7 Nf3g5
      3	00:03	       1.648	164.800	-0.10	Qb3c2 Bc8b7 Nf3g5
      4	00:03	       3.419	341.900	-0.56	Qb3c2 Bc8b7 Nc3e4 Ne7f5 Qc2d3
      4	00:03	       4.493	449.300	-0.44	Ra1c1 Bc8b7 Nc3e4 Ne7f5 Qb3d3
      4	00:03	       5.012	501.200	-0.28	d4d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5
      5	00:03	       8.692	869.200	-0.18	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1
      6	00:03	      11.387	379.567	-0.32	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3e5
      7	00:03	      16.653	555.100	-0.32	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3e5
      8	00:03	      36.417	606.950	-0.54	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Nd4c6
      9	00:03	      84.512	704.267	-0.54	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Nd4c6
     10	00:03	     157.349	715.223	-0.58	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Nd4c6 Rf8c8 Qb3c2
     11	00:03	     488.734	828.363	-0.58	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Re2e5 Ra8c8 Qb3e3
     12	00:03	     701.123	815.259	-0.52	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8h4 Nd4c6 Qh4f6 Qb3c3 Qf6xc3 Nc6e7+ Kg8h8 b2xc3
     13	00:04	     924.333	705.598	-0.48	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Re2e5 Ra8c8 Qb3f3 Qf6xf3 Nd4xf3
     14	00:04	   1.391.072	736.017	-0.52	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 h7h6 Ra1c1 Ra8c8 Rc1xc8 Qd8xc8 Re5e1 Qc8c4 Qd3xc4 d5xc4
     15	00:06	   2.120.306	713.908	-0.56	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 h7h6 Ra1c1 Ra8c8 Rc1xc8 Qd8xc8 Re5e1 Qc8c4 Qd3xc4 d5xc4 Nf3e5
     16	00:08	   3.856.296	754.657	-0.46	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 Qd8f6 Nf3g5 g7g6 Ra1e1 h7h6 Ng5f3 Ra8c8 Qd3d2 Qf6g7 Qd2e3
     17	00:09	   5.388.265	782.041	-0.38	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 Qd8f6 Ra1e1 g7g6 Qd3d4 Ra8c8 Re5xd5 Qf6xd4 Rd5xd4 Rc8c2 Rd4a4 Rc2xb2 Ra4xa7 Rb2xa2 Ra7xa2 Be6xa2
     18	00:12	   7.924.353	809.433	-0.40	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 Qd8f6 Ra1e1 Rf8c8 h2h3 h7h6 Nf3d4 Rc8d8 Nd4c6 Rd8d6 Qd3c3
     19	00:18	  12.984.044	823.861	-0.40	d4d5 Ne7xd5 Nc3xd5 e6xd5 Qb3d3 Bc8e6 Re2e5 Qd8f6 Ra1e1 Rf8c8 h2h3 h7h6 Nf3d4 Rc8d8 Qd3a3 Rd8e8 Nd4c6 a7a6 Qa3e3
     20	00:40	  32.557.874	864.751	-0.32	d4d5 Ne7xd5 Nc3xd5 e6xd5 Ra1e1 Bc8e6 Nf3d4 Qd8f6 Qb3e3 Rf8e8 Qe3e5 Qf6xe5 Re2xe5 Be6d7 Kg1f1 Re8xe5 Re1xe5 Ra8c8 Re5xd5 Rc8c1+ Kf1e2 Rc1c7
   3/18/2008 4:30:31 PM, Time for this analysis: 00:01:00, Rated time: 00:03

2) d4; c0 "Korchnoi";   
    Searching move: d5-d4
    Best move (ChessTiger2007UCI): d5-d4
    identical moves! Found in: 00:02
      2	00:02	          90	0	-0.48	Ne6c5 Be3xc5 Rc8xc5
      3	00:02	         169	0	-0.58	Ne6c5 Be3xc5 Rc8xc5
      4	00:02	         628	0	-0.82	Ne6c5 Be3xc5 Rc8xc5 Nc2e3 Re8d8
      4	00:02	       1.735	0	-0.66	d5d4 Nc2xd4 Ne6c5 Nd4xb5 Nc5xd3 Rd1xd3
      4	00:02	       3.931	393.100	-0.56	Rc8c4 f4f5 Ne6f4 Be3xf4 Rc4xf4
      5	00:02	       5.647	564.700	-0.60	Rc8c4 f4f5 Ne6f4 Be3xf4 Rc4xf4
      5	00:02	       7.011	701.100	-0.44	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4
      6	00:02	       8.736	873.600	-0.48	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4
      7	00:02	      11.946	1.194.600	-0.52	d5d4 c3xd4 Nf6d5 f4f5 Ne6g5 Be3xg5 h6xg5
      8	00:02	      22.621	754.033	-0.26	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3c3 Rc8xc3 b2xc3 Nf4xh3
      9	00:02	      42.956	715.933	-0.38	d5d4 c3xd4 Nf6d5 Rd1f1 Rc8c4 Nc2a3 Nd5xe3 Rd3xe3 Rc4xd4 Na3xb5 Rd4d2
     10	00:03	      93.517	935.170	-0.38	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Re8e4 Nc2e3 Rc8e8
     11	00:03	     127.048	747.341	-0.36	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3c3 Rc8xc3 b2xc3 Nf4xh3
     12	00:03	     290.670	830.486	-0.32	d5d4 c3xd4 Nf6d5 Rd1f1 f7f6 Be3d2 b5b4 f4f5 Ne6g5 Bd2xg5 h6xg5 Rf1e1 Re8xe1+ Nc2xe1
     13	00:03	     501.504	850.007	-0.38	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1d2 Re8e4 Rf3b3 b5b4
     14	00:03	     687.705	849.019	-0.34	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1d2 Re8e4 Rf3a3 a5a4 b2b3 Rc8c3 b3xa4 Rc3xa3 Nc2xa3 b5xa4
     15	00:04	   1.094.171	875.337	-0.36	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1d2 Re8e4 Rf3a3 a5a4 b2b3 Rc8c3 b3xa4 Rc3xa3 Nc2xa3 b5xa4
     16	00:05	   2.686.359	895.453	-0.34	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1c1 b5b4 Rc1e1 Re8xe1+ Nc2xe1 Rc8e8 Ne1d3 Re8e2
     17	00:08	   4.907.636	900.484	-0.36	d5d4 c3xd4 Nf6d5 Rd1f1 b5b4 Be3d2 Re8e7 f4f5 Ne6g5 Bd2xg5 h6xg5 Rf1e1 Re7xe1+ Nc2xe1 Rc8e8 Ne1f3 Nd5f4
     18	00:13	   9.550.510	878.612	-0.38	d5d4 c3xd4 Nf6d5 Rd1f1 Ne6f8 Rf1e1 Nf8g6 f4f5 Rc8xc2 Kb1xc2 Nd5b4+ Kc2d2 Nb4xd3 Kd2xd3 Ng6f4+ Kd3d2 Nf4xh3 d4d5 Nh3g5 Be3xg5 Re8xe1 Kd2xe1 h6xg5
     19	00:15	  14.087.040	890.458	-0.36	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Re8e2 Nc2a3 b5b4 Na3b5 Rc8c2 Rf3xf4 Rc2xb2+ Kb1a1 Rb2xa2+ Ka1b1 Ra2b2+ Kb1a1 Rb2a2+ Ka1b1 Ra2b2+ Kb1a1 Rb2a2+
     20	00:18	  20.516.804	906.219	-0.30	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1d2 Re8e4 Rf3a3 a5a4 Ra3f3 Rc8e8 Kb1c1 Kg8f8 Nc2a3 Re4e1+ Rd2d1 Re8c8+
     21	00:32	  27.111.318	917.783	-0.30	d5d4 c3xd4 Nf6d5 f4f5 Ne6f4 Be3xf4 Nd5xf4 Rd3f3 Nf4d5 Rd1e1 Re8xe1+ Nc2xe1 Rc8e8 Ne1c2 Re8e2 a2a3 a5a4 b2b3 Kg8f8 b3xa4 b5xa4 Nc2b4 Nd5e3
   3/18/2008 4:31:37 PM, Time for this analysis: 00:01:04, Rated time: 00:05

2 of 2 matching moves
3/18/2008 4:31:38 PM, Total time: 12:06:33 AM
Rated time: 00:05 = 5 Seconds

Analysis from E:\sk.epd   
3/18/2008 4:25:04 PM Level: Infinite
Analyzing engine: Gaviota-033

1) d5; c0 "Silman";     
    Searching move: d4-d5
    Best move (Gaviota-033): d4-d5
    identical moves! Found in: 00:17
      2	00:00	       1,000	-1	-0.10	:-(
      2	00:00	       1,000	-1	-0.33	Qb3-a4 Bc8-b7
      3	00:00	       1,000	-1	-0.19	Nc3-b5 Bc8-b7 Ra1-c1
      4	00:00	       1,000	-.100	-0.49	Nc3-b5 Bc8-b7 Ra1-c1 Ne7-f5
      4	00:00	       1,000	-33	-0.49	Nc3-b5 Bc8-b7 Ra1-c1 Ne7-f5
      5	00:00	       1,000	-25	-0.34	Nc3-b5 Bc8-b7 Ra1-c1 Ne7-f5 Rc1-c7
      5	00:00	       1,000	-14	-0.34	Nc3-b5 Bc8-b7 Ra1-c1 Ne7-f5 Rc1-c7
      6	00:00	       1,000	-7	-0.70	Nc3-b5 a7-a6 Nb5-c3 Bc8-b7 Re2-e3 Bb7xf3 Re3xf3 Qd8xd4
      6	00:00	       1,000	-5	-0.43	d4-d5 Ne7xd5 Nc3xd5 e6xd5 Re2-d2 Bc8-e6
      6	00:00	       1,000	-3	-0.43	d4-d5 Ne7xd5 Nc3xd5 e6xd5 Re2-d2 Bc8-e6
      7	00:00	       1,000	-2	-0.62	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Re2-e5 Bc8-g4
      7	00:00	       1,000	-1	-0.59	Nc3-b5 a7-a6 Nb5-a3 Bc8-b7 Ra1-d1 Ne7-f5 Na3-c4
      7	00:01	       1,000	-1	-0.55	Qb3-c2 Bc8-b7 Qc2-d3 Ne7-f5 d4-d5 Bb7-c6 Ra1-c1
      7	00&#58;01	       1,000	0	-0.47	Ra1-c1 Bc8-b7 Nc3-b5 Ne7-f5 <-transp
      7	00&#58;01	       1,000	0	-0.41	Re2-c2 Bc8-b7 Nc3-b5 Ne7-f5 <-transp
      7	00&#58;01	       1,000	0	-0.41	Re2-c2 Bc8-b7 Nc3-b5 Ne7-f5 <-transp
      8	00&#58;01	       1,000	0	-0.69	Re2-c2 Bc8-b7 Nc3-b5 Bb7-e4 Rc2-e2 Qd8-d5 Qb3xd5 Be4xd5
      8	00&#58;03	       1,000	0	-0.62	Nf3-e5 Bc8-b7 Qb3-c4 a7-a5 Ra1-d1 Ra8-c8 Qc4-b3 Ne7-f5
      8	00&#58;03	       1,000	0	-0.47	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Ra1-d1 Bc8-g4 Re2-e3
      8	00&#58;04	       1,000	0	-0.47	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Ra1-d1 Bc8-g4 Re2-e3
      9	00&#58;04	       1,000	0	-0.59	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Ra1-d1 Bc8-e6 Rd1-d4 a7-a6
      9	00&#58;08	       1,000	0	-0.49	Nf3-e5 Bc8-b7 Re2-e1 a7-a6 Ra1-d1 b6-b5 Rd1-d3 Ne7-f5 d4-d5
      9	00&#58;10	       1,000	0	-0.49	Nf3-e5 Bc8-b7 Re2-e1 a7-a6 Ra1-d1 b6-b5 Rd1-d3 Ne7-f5 d4-d5
     10	00&#58;16	       1,000	0	-0.62	Nf3-e5 Bc8-b7 Re2-e1 Ne7-f5 d4-d5 e6xd5 Qb3-c2 d5-d4 Qc2xf5 d4xc3 b2xc3
     10	00&#58;17	       1,000	0	-0.50	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Re2-d2 Rf8-d8 Ra1-e1 Bc8-f5 Re1-e7
     10	00&#58;22	       1,000	0	-0.50	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Re2-d2 Rf8-d8 Ra1-e1 Bc8-f5 Re1-e7
     11	00&#58;24	       1,000	0	-0.54	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Ra1-d1 Bc8-g4 Re2-e3 Rf8-e8 Rd1xd5 Re8xe3 f2xe3
     11	00&#58;38	       1,000	0	-0.54	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Ra1-d1 Bc8-g4 Re2-e3 Rf8-e8 Rd1xd5 Re8xe3 f2xe3
     12	00&#58;53	       1,000	0	-0.43	d4-d5 Ne7xd5 Nc3xd5 Qd8xd5 Qb3xd5 e6xd5 Re2-e5 Rf8-d8 Ra1-d1 Bc8-a6 Rd1xd5 Rd8xd5 Re5xd5 Ba6-c4
   3/18/2008 4&#58;42&#58;58 PM, Time for this analysis&#58; 00&#58;01&#58;00, Rated time&#58; 00&#58;17

2&#41; d4; c0 "Korchnoi";   
    Searching move&#58; d5-d4
    Best move &#40;Gaviota-033&#41;&#58; d5-d4
    identical moves! Found in&#58; 00&#58;00
      2	00&#58;00	       1,000	-1	-0.69	Kg8-f8 f4-f5
      3	00&#58;00	       1,000	-1	-0.59	Re8-e7 f4-f5 Ne6-c5
      4	00&#58;00	       1,000	-.100	-0.80	Re8-e7 Nc2-d4 Ne6xd4 Be3xd4
      4	00&#58;00	       1,000	-.100	-0.66	Kg8-f8 Rd1-f1 Rc8-c4 f4-f5
      4	00&#58;00	       1,000	-33	-0.31	d5-d4 Be3xd4 Ne6xf4 Rd3-f3
      4	00&#58;00	       1,000	-33	-0.31	d5-d4 Be3xd4 Ne6xf4 Rd3-f3
      5	00&#58;00	       1,000	-25	-0.35	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5
      5	00&#58;00	       1,000	-16	-0.35	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5
      6	00&#58;00	       1,000	-14	-0.53	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Bd4-f2
      6	00&#58;00	       1,000	-8	-0.53	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Bd4-f2
      7	00&#58;00	       1,000	-5	-0.57	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 a5xb4
      7	00&#58;00	       1,000	-3	-0.57	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 a5xb4
      8	00&#58;00	       1,000	-2	-0.57	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 a5xb4
      8	00&#58;01	       1,000	-1	-0.57	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 a5xb4
      9	00&#58;01	       1,000	0	-0.63	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Nc2-a3 Rc8-b8 c3-c4 b5xc4 Na3xc4
      9	00&#58;02	       1,000	0	-0.63	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Nc2-a3 Rc8-b8 c3-c4 b5xc4 Na3xc4
     10	00&#58;02	       1,000	0	-0.67	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 Re8-e2 Bd4-c5 a5xb4
     10	00&#58;08	       1,000	0	-0.67	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 a2-a4 b5-b4 c3xb4 Re8-e2 Bd4-c5 a5xb4
     11	00&#58;10	       1,000	0	-0.66	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Nc2-a3 Rc8-b8 Na3xb5 Rb8xb5 c3-c4 Rb5-b4 c4xd5 Nf6xd5
     11	00&#58;15	       1,000	0	-0.66	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Nc2-a3 Rc8-b8 Na3xb5 Rb8xb5 c3-c4 Rb5-b4 c4xd5 Nf6xd5
     12	00&#58;24	       1,000	0	-0.87	d5-d4 Be3xd4 Ne6xf4 Rd3-f3 Nf4-d5 Rf3-f5 Rc8-d8 a2-a4 Nf6-e4 a4xb5 Ne4xc3 b2xc3 Nd5xc3 Kb1-c1 Nc3xd1 Kc1xd1
   3/18/2008 4&#58;44&#58;00 PM, Time for this analysis&#58; 00&#58;01&#58;00, Rated time&#58; 00&#58;17

2 of 2 matching moves
3/18/2008 4&#58;44&#58;01 PM, Total time&#58; 12&#58;18&#58;57 AM
Rated time&#58; 00&#58;17 = 17 Seconds
[/code]
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: How many engines consider this positional sacrifice

Post by Dann Corbit »

michiguel wrote: {snip}
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
You never know which program will uncork a really interesting move. I find that gaviota ans quark both have some fun moves in their arsenal and tend to play a bit differently than other engines.

LMR will probably give gaviota a pretty good boost. Have you seen Tord's article on it?
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: How many engines consider this positional sacrifice

Post by michiguel »

Dann Corbit wrote:
michiguel wrote: {snip}
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
You never know which program will uncork a really interesting move. I find that gaviota ans quark both have some fun moves in their arsenal and tend to play a bit differently than other engines.

LMR will probably give gaviota a pretty good boost. Have you seen Tord's article on it?
This one?
http://www.glaurungchess.com/lmr.html

I read briefly about this here some time ago. I tried something similar in 2002 (based on an off hand comment in this group from Bob Hyatt) and it did not work well. Obviously, I did not try hard and my implementation must have been too simplistic. It is in my to do list. I did not work at all on Gaviota for almost 3 years. What I plan to do is to add things to the eval that are lacking completely (and are important!!!). 1) King safety (gaviota 0.33 only knows that kings in the center are bad) 2) a decent passed pawn evaluation. 3) tune all the parameters because currently is a mess. For instance, I guess that it will be important to tune certain mobility parameters according to the phase of the game. After that, I will be back to the search (I am not really happy with it). 4) LMR is something to try, but... 5) I need to improve my move ordering. I have some ideas about it. For instance, I am happy about my root move ordering and I may decide to apply it to PV nodes. 6) make a parallel Gaviota "Flock" (I can't wait to play with this).

I think that after step 3) I may release a new version.

I am happy with the progress I made from 2000 to 2003 (I am a hobby programmer and I learned C just to write gaviota). On the other hand, after I reached that stage, which was the one that I wanted to start "really" experimenting, my available time started to be smaller and smaller... arrgggghhh. Everything takes a long time and I tried many things that failed. For instance, I thought I could calibrate my eval parameters fitting them to the scores obtained by stronger engines with thousands of positions (I think I used one of your gigantic epd files with quiet positions from GM games). It did not work. (I have not abandoned the idea completely but...)

Originally, I wanted to experiment with evaluation (since my main interested was chess itself). However, I ended up enjoying more working on the search and all computer science related stuff (hashing, book opening files, using threads etc.).

Not everything has been lost, I used my new acquired skills in C to write some code for my research in biochemistry. That has been really cool.

Ok, I think this post got a bit long.

Miguel
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: How many engines consider this positional sacrifice

Post by Dann Corbit »

michiguel wrote:
Dann Corbit wrote:
michiguel wrote: {snip}
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
You never know which program will uncork a really interesting move. I find that gaviota ans quark both have some fun moves in their arsenal and tend to play a bit differently than other engines.

LMR will probably give gaviota a pretty good boost. Have you seen Tord's article on it?
This one?
http://www.glaurungchess.com/lmr.html

I read briefly about this here some time ago. I tried something similar in 2002 (based on an off hand comment in this group from Bob Hyatt) and it did not work well. Obviously, I did not try hard and my implementation must have been too simplistic. It is in my to do list. I did not work at all on Gaviota for almost 3 years. What I plan to do is to add things to the eval that are lacking completely (and are important!!!). 1) King safety (gaviota 0.33 only knows that kings in the center are bad) 2) a decent passed pawn evaluation. 3) tune all the parameters because currently is a mess. For instance, I guess that it will be important to tune certain mobility parameters according to the phase of the game. After that, I will be back to the search (I am not really happy with it). 4) LMR is something to try, but... 5) I need to improve my move ordering. I have some ideas about it. For instance, I am happy about my root move ordering and I may decide to apply it to PV nodes. 6) make a parallel Gaviota "Flock" (I can't wait to play with this).

I think that after step 3) I may release a new version.

I am happy with the progress I made from 2000 to 2003 (I am a hobby programmer and I learned C just to write gaviota). On the other hand, after I reached that stage, which was the one that I wanted to start "really" experimenting, my available time started to be smaller and smaller... arrgggghhh. Everything takes a long time and I tried many things that failed. For instance, I thought I could calibrate my eval parameters fitting them to the scores obtained by stronger engines with thousands of positions (I think I used one of your gigantic epd files with quiet positions from GM games). It did not work. (I have not abandoned the idea completely but...)
This turned out to be one of the big Rybka secrets. It uses this idea:
http://home.comcast.net/~danheisman/Art ... alance.htm
{Larry Kaufman is a member of the Rybka team now}
Originally, I wanted to experiment with evaluation (since my main interested was chess itself). However, I ended up enjoying more working on the search and all computer science related stuff (hashing, book opening files, using threads etc.).

Not everything has been lost, I used my new acquired skills in C to write some code for my research in biochemistry. That has been really cool.

Ok, I think this post got a bit long.

Miguel
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: How many engines consider this positional sacrifice

Post by michiguel »

Dann Corbit wrote:
michiguel wrote:
Dann Corbit wrote:
michiguel wrote: {snip}
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
You never know which program will uncork a really interesting move. I find that gaviota ans quark both have some fun moves in their arsenal and tend to play a bit differently than other engines.

LMR will probably give gaviota a pretty good boost. Have you seen Tord's article on it?
This one?
http://www.glaurungchess.com/lmr.html

I read briefly about this here some time ago. I tried something similar in 2002 (based on an off hand comment in this group from Bob Hyatt) and it did not work well. Obviously, I did not try hard and my implementation must have been too simplistic. It is in my to do list. I did not work at all on Gaviota for almost 3 years. What I plan to do is to add things to the eval that are lacking completely (and are important!!!). 1) King safety (gaviota 0.33 only knows that kings in the center are bad) 2) a decent passed pawn evaluation. 3) tune all the parameters because currently is a mess. For instance, I guess that it will be important to tune certain mobility parameters according to the phase of the game. After that, I will be back to the search (I am not really happy with it). 4) LMR is something to try, but... 5) I need to improve my move ordering. I have some ideas about it. For instance, I am happy about my root move ordering and I may decide to apply it to PV nodes. 6) make a parallel Gaviota "Flock" (I can't wait to play with this).

I think that after step 3) I may release a new version.

I am happy with the progress I made from 2000 to 2003 (I am a hobby programmer and I learned C just to write gaviota). On the other hand, after I reached that stage, which was the one that I wanted to start "really" experimenting, my available time started to be smaller and smaller... arrgggghhh. Everything takes a long time and I tried many things that failed. For instance, I thought I could calibrate my eval parameters fitting them to the scores obtained by stronger engines with thousands of positions (I think I used one of your gigantic epd files with quiet positions from GM games). It did not work. (I have not abandoned the idea completely but...)
This turned out to be one of the big Rybka secrets. It uses this idea:
http://home.comcast.net/~danheisman/Art ... alance.htm
{Larry Kaufman is a member of the Rybka team now}
Originally, I wanted to experiment with evaluation (since my main interested was chess itself). However, I ended up enjoying more working on the search and all computer science related stuff (hashing, book opening files, using threads etc.).

Not everything has been lost, I used my new acquired skills in C to write some code for my research in biochemistry. That has been really cool.

Ok, I think this post got a bit long.

Miguel
Thanks a lot Dan! so step b will be tune material parameters too. With so many cases and exceptions I am thinking to have a function with a lot of "if". To make it fast, material could have their own signature and hash table. Mmhh.... more things in the to do list!

Miguel
PS: I think I read that article when it was published in chess life and I did not pay enough attention to it. My fault!


Miguel
Uri Blass
Posts: 10280
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: How many engines consider this positional sacrifice

Post by Uri Blass »

michiguel wrote:
Dann Corbit wrote:
michiguel wrote:
Dann Corbit wrote:
michiguel wrote: {snip}
Gee... I never expected Gaviota to solve both. I think that the mobility terms that Gaviota heavily depends on are critical in this position.

Miguel
You never know which program will uncork a really interesting move. I find that gaviota ans quark both have some fun moves in their arsenal and tend to play a bit differently than other engines.

LMR will probably give gaviota a pretty good boost. Have you seen Tord's article on it?
This one?
http://www.glaurungchess.com/lmr.html

I read briefly about this here some time ago. I tried something similar in 2002 (based on an off hand comment in this group from Bob Hyatt) and it did not work well. Obviously, I did not try hard and my implementation must have been too simplistic. It is in my to do list. I did not work at all on Gaviota for almost 3 years. What I plan to do is to add things to the eval that are lacking completely (and are important!!!). 1) King safety (gaviota 0.33 only knows that kings in the center are bad) 2) a decent passed pawn evaluation. 3) tune all the parameters because currently is a mess. For instance, I guess that it will be important to tune certain mobility parameters according to the phase of the game. After that, I will be back to the search (I am not really happy with it). 4) LMR is something to try, but... 5) I need to improve my move ordering. I have some ideas about it. For instance, I am happy about my root move ordering and I may decide to apply it to PV nodes. 6) make a parallel Gaviota "Flock" (I can't wait to play with this).

I think that after step 3) I may release a new version.

I am happy with the progress I made from 2000 to 2003 (I am a hobby programmer and I learned C just to write gaviota). On the other hand, after I reached that stage, which was the one that I wanted to start "really" experimenting, my available time started to be smaller and smaller... arrgggghhh. Everything takes a long time and I tried many things that failed. For instance, I thought I could calibrate my eval parameters fitting them to the scores obtained by stronger engines with thousands of positions (I think I used one of your gigantic epd files with quiet positions from GM games). It did not work. (I have not abandoned the idea completely but...)
This turned out to be one of the big Rybka secrets. It uses this idea:
http://home.comcast.net/~danheisman/Art ... alance.htm
{Larry Kaufman is a member of the Rybka team now}
Originally, I wanted to experiment with evaluation (since my main interested was chess itself). However, I ended up enjoying more working on the search and all computer science related stuff (hashing, book opening files, using threads etc.).

Not everything has been lost, I used my new acquired skills in C to write some code for my research in biochemistry. That has been really cool.

Ok, I think this post got a bit long.

Miguel
Thanks a lot Dan! so step b will be tune material parameters too. With so many cases and exceptions I am thinking to have a function with a lot of "if". To make it fast, material could have their own signature and hash table. Mmhh.... more things in the to do list!

Miguel
PS: I think I read that article when it was published in chess life and I did not pay enough attention to it. My fault!


Miguel
My opinion is that you can earn more by king safety code relative to material imbalance code.

I do not think that the material imbalance code of rybka is a big rybka
secret and I remember that the programmer of naum said that the advantage he got from material imbalance code was not more than 30 elo.

Uri