## Search found 3476 matches

Sat Jul 24, 2021 3:07 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Static exchange evaluation with promotion
Replies: 23
Views: 2658

### Re: Static exchange evaluation with promotion

Maybe I used the wrong terminology? The move given for the test is Rxc8, and so I considered 1. Rxc8 Bxc8 2. bxc8=Q. So the rooks are just exchanged (R - R), the bishop is hit, and the pawn stays on the board, and gets promoted to a queen. For me that is R - R + B. The SEE result of the given move ...
Sat Jul 24, 2021 3:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Static exchange evaluation with promotion
Replies: 23
Views: 2658

### Re: Static exchange evaluation with promotion

Usually we only talk about SEE of given moves (usually captures but not necessarily restricted to those). In the given position, the SEE of the move b7xc8Q is the value of R+B-P because Black must capture the promoted queen. The SEE of the move Rxc8 is the value of a rook because Black must not reca...
Thu Jul 15, 2021 9:19 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Two fold or three fold repetition?
Replies: 5
Views: 1880

### Re: Two fold or three fold repetition?

I count a twofold repetition as a draw if the repeated position belongs to the current search tree, i.e. the distance to it is <= the current distance to the root. Otherwise I would ignore that the engine could find a better move than the one played in the game and could therefore avoid a repetition...
Fri Jun 11, 2021 5:12 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Complicating code in C#
Replies: 215
Views: 82701

### Re: Complicating code in C#

Overlapping bits are not an issue here. If incremental hash key != hash key from scratch then you do not perform the same set of XOR operations, so you have a bug for sure.
Tue Jun 08, 2021 11:33 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Null Move Pruning giving the opposite result
Replies: 18
Views: 5018

### Re: Null Move Pruning giving the opposite result

Glad to read that you found something ... I have to admit, though, that I don't really believe that you have actually fixed the null move problem you reported ... My experience simply tells me that it is very unlikely that changing PV collection code or LMR code helps to fix a bug in null move pruni...
Mon Jun 07, 2021 8:17 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Null Move Pruning giving the opposite result
Replies: 18
Views: 5018

### Re: Null Move Pruning giving the opposite result

any ideas? this is my whole negamax function, thank you byte old_enpassant = board.current_state.enPassant; board.current_state.sideToMove ^= 1; board.current_state.hash ^= BoardHash.sideHash; board.current_state.enPassant = 0; board.current_state.hash ^= BoardHash.EnpassantHashKeys[0]; //... // re...
Thu May 20, 2021 6:42 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Being silly with perft and legal move generation
Replies: 4
Views: 2655

### Re: Being silly with perft and legal move generation

You will need your new code for positions like the one with Ka5 instead of Ka3 and Rh5 instead of the bishop.
Thu May 13, 2021 11:40 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Best bitboard design?
Replies: 27
Views: 8499

### Re: Best bitboard design?

I think the number of bitboards you store is not so much a matter of design but an implementation detail which can be hidden to your "application code" (movegen, eval, search) by abstraction.
Thu May 13, 2021 10:15 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Progress on Belofte
Replies: 10
Views: 7292

### Re: Progress on Belofte

Hi Sven, No mallocs in 2.x. When generating moves, in pseudo-code: // see at end of piece.cpp piece = new bPiece... class - according to piece on board movelist += piece->GenerateMoves(board) delete piece Will be optimized away in next release and I will only instantiate one piece-class per piece a...
Wed May 12, 2021 11:29 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Progress on Belofte
Replies: 10
Views: 7292

### Re: Progress on Belofte

Which kind of data do you allocate via malloc or the new operator? Is this really necessary? I would suggest to get rid of that as much as possible, at least during search ...