Search found 433 matches

by Aleks Peshkov
Wed Feb 15, 2017 1:20 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: PieceLists ?
Replies: 41
Views: 10314

Re: PieceLists ?

I do not consider given code reasonably elegant. Generating attacks of pieces is not equal to generating legal moves.

What is elegant is to transform attacks bitboards into legal move bitboards generically as possible.
by Aleks Peshkov
Tue Jan 17, 2017 9:39 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Move ordering ?
Replies: 6
Views: 2402

Re: Move ordering ?

Null-move search should find the best "null move" refutation. If new move (instead of null-move) prevents null-move refutation, then we should find the way to counter that new move.

Always searching in the same rigid MVV-LVA order seems stupid.
by Aleks Peshkov
Mon Jan 16, 2017 9:36 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Move ordering ?
Replies: 6
Views: 2402

Re: Move ordering ?

New moves (moves made possible because of recent moves of both sides) should be considered first. AFAIK Stockfish does so for LMR decisions, but not sure about ordering.
by Aleks Peshkov
Tue Sep 13, 2016 1:38 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Rotated hash
Replies: 16
Views: 4168

Re: Rotated hash

I use bit-rotated Zobrist keys, but I do not belief in blind random luck for selecting just 7 base keys.
by Aleks Peshkov
Thu Jul 21, 2016 11:02 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Collecting the pv in Search
Replies: 19
Views: 4066

Re: Collecting the pv in Search

TT is the transposition table itself. You can use a name in its own namespace without using the qualifier TT.whatever. I'm in TranspositionTable::probe(), so I don't have to use TT.table, just table. Do you understand? Do you know what is namespace, the C++ syntax of using namespaces? TT is the con...
by Aleks Peshkov
Thu Jul 21, 2016 10:55 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Speed up your engine Part 3
Replies: 23
Views: 5794

Re: Speed up your engine Part 3

In the long run you have to rewrite your code ten times or more. So initial implementation is not that important unless you want to stick to it. Also it may be that after some time you don't understand your code anymore for it got too complicated. So rewriting it several times is unavoidable. It mi...
by Aleks Peshkov
Mon May 30, 2016 9:15 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Suggestions for a dissertation
Replies: 11
Views: 2709

Re: Suggestions for a dissertation

I agree that opening book learning is important but yet unexplored topic.
by Aleks Peshkov
Fri May 20, 2016 4:30 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Dynamic chess
Replies: 2
Views: 912

Re: Dynamic chess

IMHO dynamic means unsound. A human player succeeds in dynamic style only against much weaker opponent.
by Aleks Peshkov
Wed Apr 13, 2016 3:07 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SBAMG - Completing Hyperbola Quintessence
Replies: 4
Views: 2309

Re: SBAMG - Completing Hyperbola Quintessence

Bb attack(SliderType type, Square from) const { const Directions& dir = direction[type][from]; _t a = dir[Horizont] & _mm_sub_epi64(this->_v & dir[Horizont], singleton[from]); a ^= dir[Vertical] & _mm_sub_epi64(this->_v & dir[Vertical], singleton[from]); a ^= dir[Diagonal] & _m...
by Aleks Peshkov
Mon Apr 11, 2016 2:14 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: New open source engine - Pigeon
Replies: 8
Views: 2869

Re: New open source engine - Pigeon

Hi Aleks, That sounds cool. I would like to get rid of that step too. Unpacking the move map is currently the part where I classify the moves (winning capture, losing capture, etc etc) for ordering them... do you have that kind of info baked into your bit representation somehow? I have 16 (per each...