Search found 825 matches

by wgarvin
Mon Mar 30, 2015 8:44 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Using Stockfish as a true random number generator, possible?
Replies: 16
Views: 3259

Re: Using Stockfish as a true random number generator, possi

"Randomness" is a property of the source of the information, not something that can be tested for by looking at the information itself. However, if you have a pile of data and you are able to compress it in some way, that is an indication of non-randomness. For large N, the vast majority of all N-bi...
by wgarvin
Sat Mar 14, 2015 12:03 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Questions in Respect to Code Release
Replies: 20
Views: 2992

Re: Questions in Respect to Code Release

I think Martin means: GPL gives users of your code few choices. If you use it and distribute the results, then the combined code has to be GPL too. Licenses such as BSD or MIT give the consumer more choices, including the ability to distribute code w/o requiring source publication. --Jon GPL: Some ...
by wgarvin
Fri Mar 13, 2015 11:32 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The 75 move rule
Replies: 15
Views: 2820

Re: The 75 move rule

Apparently this is a TD rule that lets him end a game after 75 moves if neither player is willing to claim the 50-move draw. Almost. My reading is that the TD has no choice in the matter, and the game is drawn even if it's not played under direction. Fortunately, it should have no effect on tableba...
by wgarvin
Wed Feb 25, 2015 3:06 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Back to assembly
Replies: 37
Views: 7094

Re: Back to assembly

The main reason to use assembly languge is to use unusual instructions in unusual ways to gain speed. You would know the instruction set for the machine and think of a fast algorithm based on those instructions. It would be difficult even to express the idea in C. I'm not sure I agree with that, at...
by wgarvin
Sat Feb 21, 2015 12:11 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Initializing portions of arrays
Replies: 30
Views: 3416

Re: Initializing portions of arrays

This is why I preferred the #define method. You can probably achieve the same with 'const': const int *nPcSq = &evalTerm[0]; etc. Then the compiler will know at all times that it is just a fixed address. No, that's not necessarily a fixed address. You probably meant int const * const nPcSq = &evalT...
by wgarvin
Tue Feb 17, 2015 1:23 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Initializing portions of arrays
Replies: 30
Views: 3416

Re: Initializing portions of arrays

My suggestion is to define a struct with your arrays inside it. (If you are in C++, do not put any private: or public: declarations as that allows the compiler freedom to mess up your hand-made layout at that point... not that I've ever seen one that does). Then declare a global var that is an insta...
by wgarvin
Mon Jan 26, 2015 2:35 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: MMTO for evaluation learning
Replies: 3
Views: 1446

Re: MMTO for evaluation learning

Weird that they mention KnightCap and the temporal-difference learning experiments that were done (Jonathan Baxter and Andrew Tridgell) but give a date of 2000 for some reason... I think they had published papers about it as early as 1998 (I was in university then and remember reading them). This on...
by wgarvin
Mon Jan 12, 2015 3:14 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Something from the poker domain
Replies: 4
Views: 1677

Re: Something from the poker domain

Not to mention Chinook and his battles with Marion Tinsley... Oh man. Marion Tinsley was an incredibly strong checkers player. IIRC he lost only seven games in a career spanning over four decades. Two of the losses were to Chinook, although Tinsley had four wins against it in the same match, so he ...
by wgarvin
Sun Dec 21, 2014 1:37 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Symmetric move generation using bitboards
Replies: 7
Views: 1589

Re: Symmetric move generation using bitboards

Is the table lookup really necessary? Can't you just xor it with 56 or something along those lines? Edit: Gerd beat me to it. I should have read the replies first! Edit: if you want to stick with the table, try it with a "const unsigned char" array instead of "const int" (so table uses up fewer line...
by wgarvin
Fri Nov 14, 2014 5:03 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SPRT question
Replies: 32
Views: 6335

Re: SPRT question

Just to speculate for a moment: I wonder if self-play testing is more problematic for weaker engines, because they are less "well-rounded" in general and they might still have major blind spots. A gauntlet of weak-but-similar-strength engines will have a varied assortment of blind spots--probably ve...