Search found 781 matches
- Thu Feb 21, 2019 3:56 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Move ordering - what's best?
- Replies: 12
- Views: 501
Re: Move ordering - what's best?
I remember first step to becoming a good tactical player is examining all captures. So only near the leaves you can be sure bad captures are really bad captures for there is no depth left to examine them. If you put bad captures at the end of the move list they get reduced too much by LMR. So it ma...
- Thu Feb 21, 2019 10:52 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Move ordering - what's best?
- Replies: 12
- Views: 501
Re: Move ordering - what's best?
I don't think it will help much when you only order moves at the root. In my case it is entirely different, at the root I only shift the best move up after each iteration, for the remaining part of the tree I order moves in the way I told. What I remember is that doing SEE near the leaves is quite ...
- Thu Feb 21, 2019 6:32 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Move ordering - what's best?
- Replies: 12
- Views: 501
Re: Move ordering - what's best?
I don't think it will help much when you only order moves at the root. In my case it is entirely different, at the root I only shift the best move up after each iteration, for the remaining part of the tree I order moves in the way I told.
- Wed Feb 20, 2019 6:36 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Move ordering - what's best?
- Replies: 12
- Views: 501
Re: Move ordering - what's best?
How important is it to downgrade bad captures? I just use mvv/lva for sorting, but I could use SEE, to get visbility of the bad captures Most captures are bad, like major pieces grabbing protected pawns etc, so downgrading them can help to get your branching factor somewhat lower. I would at least ...
- Wed Feb 20, 2019 1:02 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Move ordering - what's best?
- Replies: 12
- Views: 501
Re: Move ordering - what's best?
In my current program I do: 1. Hash move 2. Winning captures (sorted by SEE) 3. 2 Killers 4. Moves with positive history (sorted by history) 5. Losing captures (sorted by SEE) 6. Moves with negative history (sorted by history) Whether this can be improved? I really don't know. Maybe the losing captu...
- Tue Jan 29, 2019 6:24 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Lazy move generation and move ordering
- Replies: 7
- Views: 717
Re: Lazy move generation and move ordering
I have staged move generation in my program and it doesn't change anything performance wise, maybe it is even a little worse than generating all moves at once (probably because it's quite a lazy implementation by me but anyway). I have exactly the same experience. Staged move generation helps a lit...
- Mon Jan 28, 2019 12:34 pm
- Forum: Computer Chess Club: General Topics
- Topic: deepmind's alphastar beats pros in starcraft ii
- Replies: 39
- Views: 2587
- Wed Jan 16, 2019 10:38 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Writing bugs
- Replies: 66
- Views: 4616
Re: Writing bugs
In the past I used a 64 bit Mersenne Twister, because it was rather slow and bulky I replaced it by a 64 bit RNG derived from Marsaglia's KISS. class rnd64_t // 64 bit RNG based on Marsaglia's KISS { private: uint64_t c, x, y, z; public: rnd64_t() { c = 0x01B69AB0AFF2F240; x = 0x112210F4B16C1CB1; y ...
- Fri Jan 11, 2019 7:04 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Writing bugs
- Replies: 66
- Views: 4616
Re: Writing bugs
That is why it is usually better to write everything yourself instead of relying on buggy library implementations.
- Mon Jan 07, 2019 7:03 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Writing bugs
- Replies: 66
- Views: 4616
Re: Writing bugs
I wouldn't say adding unnecessary dummy variables is "the right way to do it". Sometimes adding dummy variables can enhance readability, especially with complex expressions, but that is not the case here, I agree. They won't give overhead, because the compiler optimizes them away anyway. The for (x...