extensions for quick solutions?

Discussion of chess software programming and technical issues.

Moderator: Ras

outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: extensions for quick solutions?

Post by outAtime »

I agree completely. I was just sitting here thinking before your post...
Although I might need a minor tweak to move ordering if I really insist the engine find this immediately, the fact it passes it up is an eval issue. Different engines which fail to solve this quickly look at this move early and then pass on it because the score dosent reach +1.00, or more soon enough. The engines which solve it quickly (all strong engines tested so far) see it as worth more than the base value of 100 cp right away. A few tweaks to eval are in order. Thanks again!
outAtime
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: extensions for quick solutions?

Post by MattieShoes »

No, that's not a recapture extension. You COULD do something where you call search to say if(this move was capture, search at depth, otherwise search at depth-1. But normally people catch it in the child nodes by simply looking at the last move to see if it was a capture, etc. Ditto for check extensions -- You usually extend when you're IN check, not when you're giving check. At least, that's what I've always done.

Recapture extensions would therefore look at the previous TWO moves and see if both went to the same square.

For the record, moneypenny finds this on ply 1.

Code: Select all

ply  score   time      nodes PV
  1    154      0        438 Nxg7 Bxg7 Qxf7+
  2    154      0        509 Nxg7 Bxg7 Qxf7+
  3    154      0       1032 Nxg7 Bxg7 Qxf7+
  4    158      1       3907 Nxg7 Kxg7 Qxf7+ Kh8 Qb3
  5    153      2      11888 Nxg7 Kxg7 Qxf7+ Kh8 Qb3 Qb6
  6    149      5      43451 Nxg7 Bxg7 Qxf7+ Kh8 Qh5+ Kg8 Qg6 Qe5
  7    144     11     119799 Nxg7 Bxg7 Qxf7+ Kh8 Qh5+ Kg8 Qe2 Qe5 Qc4+
  8    169     35     406066 Nxg7 Kxg7 Qxf7+ Kh8 Qh5+ Kg8 Rf7 Bg7 Qg6 Qe5
  9    178     71     786621 Nxg7 Kxg7 Qxf7+ Kh8 g6 Ra7 Qb3 Qb7 Re1 Qc6
 10    278    335    3624255 Nxg7 Rf8 Nf5 Qc7 Qb3 Qb7 Re1 Rad8 h5 Rd2+
 11    291    539    5811639 Nxg7 Rf8 Nf5 Qc7 Rf2 Qc4 Nh6+ Kg7 h5 Rae8 Nf5+ Kg8 Nh6+ Kg7 <R>
 12    300    981   10742491 Nxg7 Rf8 Nf5 Qc7 Rf2 Qc4 h5 Rad8 Ra1 Rd3 Ne3 Qc6
 13    299   1897   20621968 Nxg7 Rf8 Nf5 Qc7 Rf2 Qc4 h5 Rad8 Nh6+ Kg7 Rhf1 Rd3 Nf5+ Kg8 Qe2
The simple pawn structure code doesn't recognize hidden passers so it went from 0 passed pawns to 3 passed pawns, which outweighs the N for 2 pawns thing. Some small bonus for the queen being near the enemy king too.