Embla:
go
info depth 1 seldepth 28 score cp 9999 time 33925 nodes 13386853 pv b8b1
info depth 2 seldepth 27 score cp 9999 time 41964 nodes 15953363 pv b8b1
info score cp 9999
bestmove b8b1
Q search explosion
Moderator: Ras
-
tttony
- Posts: 276
- Joined: Sun Apr 24, 2011 12:33 am
Re: Q search explosion
My engine took 50sec to show the move
Code: Select all
FEN: 1QqQqQq1/r6Q/Q6q/q6Q/B2q4/q6Q/k6K/1qQ1QqRb w - - 0 1
Skiull 0.1 x64 popcnt:
1 00:50 421.241.466 8.396.282 +M1 Qc1xb1+
2 02:24 1.254.264.577 8.694.834 +M1 Qc1xb1+
3 04:41 2.464.164.196 8.749.216 +M1 Qc1xb1+
Skiull http://skiull.blogspot.com
-
hgm
- Posts: 28458
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Q search explosion
I had expected micro-Max 1.6w to solve this very quickly. Because it does not have a real QS, and relies on a recapture (= capture last mover) extension to converge the search results. But to my dismay it did not get a mate score, although it did prefer a mating move! 
Turns out the WinBoard interface I had added to allow testing of the AI under WinBoard had swapped the codes for Knight and King in the position setup code! The fact that it also could not find a mate-in-2 in KRK, and started complaniing about illegal moves when I played out the mate by hand, made me suspicious. But if you are playing without King, you can of course never be checkmated...
So position setup has never worked in micro-Max 1.6w. When I fixed this, I get the following result:
Because micro-Max is a King-capture engine, it needs 2 ply to see mate in 1. The King is really captured on ply 3, but this is always detected (also for a non-movig King) when in a horizon node it attempts to generate captures on the last mover.
Turns out the WinBoard interface I had added to allow testing of the AI under WinBoard had swapped the codes for Knight and King in the position setup code! The fact that it also could not find a mate-in-2 in KRK, and started complaniing about illegal moves when I played out the mate by hand, made me suspicious. But if you are playing without King, you can of course never be checkmated...
So position setup has never worked in micro-Max 1.6w. When I fixed this, I get the following result:
Code: Select all
97 +79.99 26247 0:00.03 h3a3
1 +8.95 167 0:00.00 a4e8
0 0.00 1 0:00.00 a8a8
-
op12no2
- Posts: 558
- Joined: Tue Feb 04, 2014 12:25 pm
- Location: Gower, Wales
- Full name: Colin Jenkins
Re: Q search explosion
Thanks John, I'll try it.JVMerlino wrote: 2) Once the qsearch has gone 4 plies deep (again, an arbitrary number) I only allow the qsearch to do recaptures on the previous capture's square. This code was eventually commented out.
jm
-
op12no2
- Posts: 558
- Joined: Tue Feb 04, 2014 12:25 pm
- Location: Gower, Wales
- Full name: Colin Jenkins
Re: Q search explosion
Interesting thanks - looks like *2 is going to lose ~10-20 ELO - I'll try *3 afterwards.mar wrote: Exactly what I do in Cheng, except I do this: minqsdepth = -3*rootdepth; no elo regression.
-
lantonov
- Posts: 216
- Joined: Sun Apr 13, 2014 5:19 pm
Re: Q search explosion
No problem for SF under Winboard
Qbxb1 # is another possible solution
Code: Select all
127 #1 62827 0:00.08 Qhxb1#
126 #1 62671 0:00.08 Qhxb1#
125 #1 62515 0:00.08 Qhxb1#
124 #1 62359 0:00.08 Qhxb1#
123 #1 62203 0:00.08 Qhxb1#
122 #1 62047 0:00.08 Qhxb1#
121 #1 61891 0:00.08 Qhxb1#
120 #1 61735 0:00.08 Qhxb1#
119 #1 61579 0:00.08 Qhxb1#
118 #1 61423 0:00.08 Qhxb1#
117 #1 61267 0:00.08 Qhxb1#
116 #1 61111 0:00.08 Qhxb1#
115 #1 60955 0:00.08 Qhxb1#
114 #1 60799 0:00.08 Qhxb1#
113 #1 60643 0:00.08 Qhxb1#
112 #1 60487 0:00.08 Qhxb1#
111 #1 60331 0:00.08 Qhxb1#
110 #1 60175 0:00.08 Qhxb1#
109 #1 60019 0:00.08 Qhxb1#
108 #1 59863 0:00.08 Qhxb1#
107 #1 59707 0:00.08 Qhxb1#
106 #1 59551 0:00.07 Qhxb1#
105 #1 59395 0:00.07 Qhxb1#
104 #1 59239 0:00.07 Qhxb1#
103 #1 59083 0:00.07 Qhxb1#
102 #1 58927 0:00.07 Qhxb1#
101 #1 58771 0:00.07 Qhxb1#
100 #1 58615 0:00.07 Qhxb1#
99 #1 58459 0:00.07 Qhxb1#
98 #1 58303 0:00.07 Qhxb1#
97 #1 58147 0:00.07 Qhxb1#
96 #1 57991 0:00.07 Qhxb1#
95 #1 57835 0:00.07 Qhxb1#
94 #1 57679 0:00.07 Qhxb1#
93 #1 57523 0:00.07 Qhxb1#
92 #1 57367 0:00.07 Qhxb1#
91 #1 57211 0:00.07 Qhxb1#
90 #1 57055 0:00.07 Qhxb1#
89 #1 56899 0:00.07 Qhxb1#
88 #1 56743 0:00.07 Qhxb1#
87 #1 56587 0:00.07 Qhxb1#
86 #1 56431 0:00.07 Qhxb1#
85 #1 56275 0:00.07 Qhxb1#
84 #1 56119 0:00.07 Qhxb1#
83 #1 55963 0:00.07 Qhxb1#
82 #1 55807 0:00.07 Qhxb1#
81 #1 55651 0:00.07 Qhxb1#
80 #1 55495 0:00.07 Qhxb1#
79 #1 55339 0:00.07 Qhxb1#
78 #1 55183 0:00.07 Qhxb1#
77 #1 55027 0:00.07 Qhxb1#
76 #1 54871 0:00.07 Qhxb1#
75 #1 54715 0:00.07 Qhxb1#
74 #1 54559 0:00.07 Qhxb1#
73 #1 54403 0:00.07 Qhxb1#
72 #1 54247 0:00.07 Qhxb1#
71 #1 54091 0:00.07 Qhxb1#
70 #1 53935 0:00.07 Qhxb1#
69 #1 53779 0:00.06 Qhxb1#
68 #1 53623 0:00.06 Qhxb1#
67 #1 53467 0:00.06 Qhxb1#
66 #1 53311 0:00.06 Qhxb1#
65 #1 53155 0:00.06 Qhxb1#
64 #1 52999 0:00.06 Qhxb1#
63 #1 52843 0:00.06 Qhxb1#
62 #1 52687 0:00.06 Qhxb1#
61 #1 52531 0:00.06 Qhxb1#
60 #1 52375 0:00.06 Qhxb1#
59 #1 52219 0:00.06 Qhxb1#
58 #1 52063 0:00.06 Qhxb1#
57 #1 51907 0:00.06 Qhxb1#
56 #1 51751 0:00.06 Qhxb1#
55 #1 51595 0:00.06 Qhxb1#
54 #1 51439 0:00.06 Qhxb1#
53 #1 51283 0:00.06 Qhxb1#
52 #1 51127 0:00.06 Qhxb1#
51 #1 50971 0:00.06 Qhxb1#
50 #1 50815 0:00.06 Qhxb1#
49 #1 50659 0:00.06 Qhxb1#
48 #1 50503 0:00.06 Qhxb1#
47 #1 50347 0:00.06 Qhxb1#
46 #1 50191 0:00.06 Qhxb1#
45 #1 50035 0:00.06 Qhxb1#
44 #1 49879 0:00.06 Qhxb1#
43 #1 49723 0:00.06 Qhxb1#
42 #1 49567 0:00.06 Qhxb1#
41 #1 49411 0:00.06 Qhxb1#
40 #1 49255 0:00.06 Qhxb1#
39 #1 49099 0:00.06 Qhxb1#
38 #1 48943 0:00.06 Qhxb1#
37 #1 48787 0:00.05 Qhxb1#
36 #1 48631 0:00.05 Qhxb1#
35 #1 48475 0:00.05 Qhxb1#
34 #1 48319 0:00.05 Qhxb1#
33 #1 48163 0:00.05 Qhxb1#
32 #1 48007 0:00.05 Qhxb1#
31 #1 47851 0:00.05 Qhxb1#
30 #1 47695 0:00.05 Qhxb1#
29 #1 47539 0:00.05 Qhxb1#
28 #1 47383 0:00.05 Qhxb1#
27 #1 47227 0:00.05 Qhxb1#
26 #1 47071 0:00.05 Qhxb1#
25 #1 46915 0:00.05 Qhxb1#
24 #1 46759 0:00.05 Qhxb1#
23 #1 46603 0:00.05 Qhxb1#
22 #1 46447 0:00.05 Qhxb1#
21 #1 46291 0:00.05 Qhxb1#
20 #1 46135 0:00.05 Qhxb1#
19 #1 45979 0:00.05 Qhxb1#
18 #1 45823 0:00.05 Qhxb1#
17 #1 45667 0:00.05 Qhxb1#
16 #1 45511 0:00.05 Qhxb1#
15 #1 45355 0:00.05 Qhxb1#
14 #1 45199 0:00.05 Qhxb1#
13 #1 45043 0:00.05 Qhxb1#
12 #1 44887 0:00.05 Qhxb1#
11 #1 44731 0:00.05 Qhxb1#
10 #1 44575 0:00.05 Qhxb1#
9 #1 44419 0:00.05 Qhxb1#
8 #1 44263 0:00.05 Qhxb1#
7 #1 44107 0:00.05 Qhxb1#
6 #1 43951 0:00.05 Qhxb1#
5 #1 43795 0:00.05 Qhxb1#
4 #1 43639 0:00.05 Qhxb1#
3 #1 43483 0:00.05 Qhxb1#
2 #1 43327 0:00.05 Qhxb1#
1 #1 42387 0:00.04 Qhxb1#
0 #-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Q search explosion
The more I look into this, the less I understand why SjaakII does so well on this position. It has a few things to limit quiescence search in games that are prone to QS explosions, but none of those activate here.
As far as I can tell, it just happens to pick a mating move as one of its first choices, and never even enters quiescence search as a result. You'd think that would be very easy to break, but so far it hasn't.
Weird.
As far as I can tell, it just happens to pick a mating move as one of its first choices, and never even enters quiescence search as a result. You'd think that would be very easy to break, but so far it hasn't.
Weird.
-
D Sceviour
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Q search explosion
Correct. Sort the move list so checks are searched early and without reduction. There are 156 moves in the root move list, and good sorting is important.Evert wrote: As far as I can tell, it just happens to pick a mating move as one of its first choices....
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Q search explosion
Yeah, thing is: I'm not doing that. I generate all moves up front and it's too expensive to test all of them for being checking moves.D Sceviour wrote:Correct. Sort the move list so checks are searched early and without reduction. There are 156 moves in the root move list, and good sorting is important.Evert wrote: As far as I can tell, it just happens to pick a mating move as one of its first choices....
-
hgm
- Posts: 28458
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Q search explosion
If you extend checks it is questionable whether it is a good idea to search them first anyway. It would be much preferable to get a cutoff by a cheaper move.