Search found 19594 matches

by hgm
Mon Apr 19, 2021 9:36 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

The code I presented earlier for detecting the MVV was close to optimal for a test on a per-move basis. But could it still be impoved by sharing work between the moves from the same node? The problem is that the exact test that is needed is dependent on the move we want to play. This is already acco...
by hgm
Mon Apr 19, 2021 11:28 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

This concern about in-check nodes is sparked by he wish to improve the speed of SearchCaptures() by eliminating branches. We can classify branches into 3 groups: 'big decisions', which prune entire search trees. No way to avoid taking these. Then there are trivial things that sometimes must be skipp...
by hgm
Sun Apr 18, 2021 9:10 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

Something even better: the normal (not-in-check) way of building the capture stack is a very inefficient way to just get the captures by a King. We go through the whole rigmarole of sorting the captures on the larger value groups in LVA order, while the only attacker under consideration is a King. S...
by hgm
Sun Apr 18, 2021 4:53 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

Check evasions The attack map makes it very easy to detect whether the stm is in check: just mask the attackers set of King with the present opponent pieces. If that isn't zero, the King is attacked. Rather than just setting an inCheck flag, we use the entire set of valid attacks as such: undo.inCh...
by hgm
Sat Apr 17, 2021 9:57 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

Color-Independent Code So far I had assumed it was unavoidable to have color-dependent code, as the merging of white and black attackers sets need shifing in opposit directions for interleaving their bits. The white attackers are in the even bits, and the black attackers are in the odd bits. So aft...
by hgm
Sat Apr 17, 2021 3:07 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: PST-only Evaluation for MinimalChess 0.4
Replies: 28
Views: 983

Re: PST-only Evaluation for MinimalChess 0.4

HCE usually stands for hand-crafted evaluation. But I don' think that excludes Texel tuning, as long as the terms you tune were picked by hand. So it is used mainly in contrast with neural networks.
by hgm
Sat Apr 17, 2021 12:36 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

I hink the ultimate code for a branchless overkill detection would be this: // zero a register 1 xor gap = u->alpha - u->pstEval - MARGIN; // calculate futility gap 1 load, 1 lea new = u->newThreats; // new victims of the current move 1 load set = u->oppoPresence; // kludge: start assuming nothing i...
by hgm
Sat Apr 17, 2021 9:10 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Missing input in ponder
Replies: 9
Views: 293

Re: Missing input in ponder

On more thinking I realized that this problem could also have been solved by actually using the number of waiting input characters that PeekNamedPipe() reports. You could put that in a variable 'buffered', which you ecrement each time you read a character from the input. As long as it is non-zero, y...
by hgm
Sat Apr 17, 2021 8:31 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

Move Sorting In a previous posting I 'went through hoops' to re-pack the captures into the desired order in the 64-bit capture set they were originally extracted from. This was pointless and stupid. It would only serve a purpose if we were using a separate extraction loop for each capture set, to m...
by hgm
Fri Apr 16, 2021 7:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 131
Views: 12218

Re: The mailbox trials

Well, details of he evaluation are outside the scope of this project. Except that the basic info on which an evaluation could be based should be available cheaply. That in particular applies to mobility, normally an expensive term to calculate. I did not get to that yet. But what I had in mind was t...