Daniel Shawul wrote:Right, so in those cases that a wrong root move is backed up(found out with the bitbase-less search) it means the search needs some help from the bitbases not just at the root but down the search tree also.searching only winning moves means your bitbase-less search won't make a mistake at the root and convert the win to a draw or loss, while letting your normal search and evaluation make the progress.
Not at all. How can you _possibly_ lose the game if you only consider bitbase verified winning moves? The problem is the draws due to the 50 move rule or repetition which the bitbases don't cover. All you need is an eval good enough to win such a "won position" once you actually reach it. You don't have to evaluate the position as "won" in your eval, which is dangerous, you just need code that will guide you to a win once you get into a won position. Those really are two different problems (recognizing a won position as opposed to winning a won position).
The problem is you can't win positions you should be able to win. That's what I'm getting at. When you say "backs up a correct root move", that is _exactly_ what my code guarantees, because I _know_ that none of the root moves I search can lose (I am talking about swindle mode here). For drawing, one doesn't need a good evaluation. But for positions like KQ vs KR, or KRP vs KR, you do need some specific knowledge as bitbases can not possibly guide you to a winning line that doesn't fail the 50-move or repetition test, they just know this position is won with best play without regard to what has happened in the past, and without knowing how deep the win is. As you get closer and closer to a 50 move draw, you get more and more dangerous because you keep playing moves the bitbases say is won, but the path history proves is dead drawn...That is basically what I am trying to do. Let the search do its stuff for some search depth (2/3rd) then cutoff from that point onwards. If I make probe_depth less it won't be able to make progress. You have to probe somewhere close to the leaves to find the correct move at the root!! And for bitbases on disk (5 men are big) probing when the remaining depth left is 2 or 3 is bad. That is why I chose to not use the whole search depth (I really forgot to mention this until you brought up this case!) . For 4 men infact I do probes down the queiscene search also but not for 5 mens.
Somehow we are failing to communicate. A traditional search probes the egtbs/bitbases (depending on which you use) at interior nodes, but does a normal static evaluation at leaf nodes. Doing this, your approach is doomed, because you are not going to reach many of those leaf nodes, you keep getting cutoffs for "won position" at interior nodes. With no idea how to chose among the "won positions" to find the shortest mate, or at least make progress toward the mate.
If you use a completely different search, it might work, but what you seems to be trying to explain is not normal alpha/beta. The easiest solution is to take some known 5-piece winning positions where the mate is well beyond your normal search horizon, and then see if you can win them. From what I am reading in your posts, I don't see how you can do this since you are only rarely reaching endpoints where you do a normal eval.
Note that I do probes inside search tree (no bitbase-less search for me) to effect mates with 6,7 men at the root. You don't have that problem because you are using EGTB score which has the _Mate in N_ value. Not so for bitbases, all you can do is guess the "N" value by how fast it converts to other postions etc... My search always backs up a correct root move that is why it makes no difference for me to cull moves at the root. But I understand you could have wrong moves there in your case.A better example might be KNN vs KP. You can trivially drag that out excessively and draw it if you make a single mistake. Ditto for KQ vs KR as another example. After playing 30 moves into the 5-piece position, you might have two forced win moves where one is a mate in 15, the other is a mate in 25. The latter will end up drawing... The former will win. Hopefully your evaluation has enough info that it can take _most_ won positions and actually win them, particularly when you eliminate the moves that lose or draw at the root...