Search found 220 matches

by Onno Garms
Sun Aug 14, 2011 8:06 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SEE with alpha beta
Replies: 16
Views: 4941

SEE with alpha beta

There are two different ways to implement SEE. One is to have some early shortcuts (e.g. in see_sign) and if they don't lead to cutoffs, build the complete swap list first and evaluate it at the end. This approach was for example taken by Fruit and Stockfish. At first glance this approach seems to b...
by Onno Garms
Wed Jul 27, 2011 8:47 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: 64-bit and 32-bit exes producing different results
Replies: 27
Views: 3857

Re: 64-bit and 32-bit exes producing different results

Recommended reading: http://www.debuggingrules.com/ Especially the rule: "Quit thinking and look". This means not to make wild guesses when you don't have an idea what in thousands of lines of code causes the difference. Rather add a dump and see where the difference occurs: http://talkchess.com/for...
by Onno Garms
Sat Jul 23, 2011 9:49 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Root node search in Stockfish
Replies: 14
Views: 9078

Re: Root node search in Stockfish

With DEPTH_ONE removed, the MovePicker must be used at least once at the beginning for move ordering. Tests with more games must show which option is the best: - use MovePicker only once at the beginning (as in 1.0c). If we have to keep DEPTH_ONE specials, beginning would mean after DEPTH_ONE. - us...
by Onno Garms
Sat Jul 23, 2011 9:22 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: more STL code for Stockfish
Replies: 33
Views: 5751

Re: more STL code for Stockfish

mcostalba wrote: The biggest drawback of std::sort() is that is platform dependent:
That can be resolved (on the cost of runtime) by using std::stable_sort().
by Onno Garms
Sat Jul 23, 2011 9:13 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: fixed nodes testing
Replies: 44
Views: 5095

Re: fixed nodes testing

One problem is that the strong programs that we need for testing have lousy support for this. ACK. I modified some programs (Toga, Strelka) to support fixed nodes. Also some of the strong programs those days (Shredder, Rybka) do support fixed nodes. I filed a feature request to Mark for HIARCS, but...
by Onno Garms
Sat Jul 23, 2011 8:44 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: more STL code for Stockfish
Replies: 33
Views: 5751

Re: more STL code for Stockfish

The sort_moves function from Stockfish header move.h should be functionally equivalent to the following piece of STL code I didn't read through the whole discussion but I'd like to note that in Onno, I started with std::sort (or std::stable_sort?) from the STL (fastest to implement) and later repla...
by Onno Garms
Sat Jul 02, 2011 4:15 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: UCI: seldepth
Replies: 17
Views: 3410

Re: UCI: seldepth

It is true that if it fails low then it is not written, but in a "normal" search you return an exact score after having resolved all the fails high/low along the PV line. In deed. But in another threat we had a discussion about printing PVs that failed high or low. BTW we have tested when we moved ...
by Onno Garms
Sat Jul 02, 2011 3:18 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: UCI: seldepth
Replies: 17
Views: 3410

Re: UCI: seldepth

For some reason, it can happen that the PV is shorter than depth, I think I located what "some reason" is. Stockfish does not track the PV. It just tries to retrieve the PV from the TT after a move is finished. This will not always be successful. Not just because of possible early overwrites, also ...
by Onno Garms
Sat Jul 02, 2011 3:09 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: uci ponder issue
Replies: 14
Views: 2285

Re: uci ponder issue

In SF we simply call std::getline() and block there waiting for user input before to send best move. Fortunately you do wait_for_stop_or_ponderhit() (which calls getline and evaluates the result against "stop", "ponderhit", and "quit") don't you? If you just called getline, you would incorrectly se...
by Onno Garms
Fri Jul 01, 2011 9:07 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: This just can't be true :(
Replies: 9
Views: 2421

Re: This just can't be true :(

Daniel Shawul wrote:I don't like too much politics. I am sure this post will be enjoyed by many there. If I were a moderator here, this post will be moved immediately. I have posted my complaint nevertheless.
+1