Search found 262 matches
- Fri Jan 15, 2021 10:03 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Question regarding data structures
- Replies: 8
- Views: 273
Re: Question regarding data structures
Like I said, I fixed the contains() macro by putting () around it. After that, it was basically just compiler flags to unroll like crazy.
- Thu Jan 14, 2021 10:13 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Question regarding data structures
- Replies: 8
- Views: 273
Re: Question regarding data structures
Sorry, will be stopping the silliness now: Perft(1) N = 9 Kn/s: 6870 Perft(2) N = 81 Kn/s: 72321 Perft(3) N = 778 Kn/s: 102910 Perft(4) N = 7128 Kn/s: 128456 Perft(5) N = 69734 Kn/s: 130163 Perft(6) N = 650435 Kn/s: 128473 Perft(7) N = 6385430 Kn/s: 142481 Perft(8) N = 59931436 Kn/s: 287568 Perft(9)...
- Thu Jan 14, 2021 10:06 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Question regarding data structures
- Replies: 8
- Views: 273
Re: Question regarding data structures
Oh, and going totally crazy with compiler flags and removing the unused “value” field: Perft(1) N = 9 Kn/s: 0 Perft(2) N = 81 Kn/s: 0 Perft(3) N = 778 Kn/s: 0 Perft(4) N = 7128 Kn/s: 0 Perft(5) N = 69734 Kn/s: 0 Perft(6) N = 650435 Kn/s: 130087 Perft(7) N = 6385430 Kn/s: 172579 Perft(8) N = 59931436...
- Thu Jan 14, 2021 10:00 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Question regarding data structures
- Replies: 8
- Views: 273
Re: Question regarding data structures
With !contains() fixed, vector replaced with an array, and slide set to static (so it can be safely inlined): Perft(1) N = 9 Kn/s: 0 Perft(2) N = 81 Kn/s: 0 Perft(3) N = 778 Kn/s: 0 Perft(4) N = 7128 Kn/s: 0 Perft(5) N = 69734 Kn/s: 0 Perft(6) N = 650435 Kn/s: 92919 Perft(7) N = 6385430 Kn/s: 112025...
- Thu Jan 14, 2021 5:39 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Question regarding data structures
- Replies: 8
- Views: 273
Re: Question regarding data structures
!contains() doesn't do what you think it does, due to operator precedence. Don't do macros
After that, all of your time is spent in std::vector; use a static array instead, so that you can use the stack instead of all this heap allocation.

- Tue Jan 12, 2021 9:45 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: HalfKP Structure in NNUE
- Replies: 7
- Views: 470
Re: HalfKP Structure in NNUE
Question 1.) Is my understanding correct? Seems correct to me. Suppose we have the move e2e4. There are only two inputs which change: King on e1, Pawn on e2 changes from 1 to 0 King on e1, Pawn on e4 changes from 0 to 1 There is apparently some efficiency gain here claimed in the original paper, bu...
- Sat Jan 09, 2021 12:23 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: What K factor should be used if two players are in different K factor brackets?
- Replies: 3
- Views: 408
Re: What K factor should be used if two players are in different K factor brackets?
Is the accepted answer really correct? So is there a case where the points are not transferred one in one? The Elo system is a statistical system. You don't “win” or “transfer” points; the statistical estimate of your playing strength merely becomes more accurate in the light of new information. (T...
- Tue Jan 05, 2021 8:59 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Help with Texel's tuning
- Replies: 33
- Views: 2047
Re: Help with Texel's tuning
Computers are fast, and can do 8 million positions in a second or less. No need for lifetimes.
- Sat Jan 02, 2021 12:20 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: YBW engines past and present?
- Replies: 15
- Views: 1389
Re: YBW engines past and present?
It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.Dann Corbit wrote: ↑Thu Dec 31, 2020 2:55 pmDid you try LazySMP?
Easy as falling off of a log and seems to work really well.
- Wed Dec 30, 2020 10:39 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Blunder option
- Replies: 37
- Views: 2137
Re: Blunder option.
j is all integers from 0 to i-1, inclusive. So F(i) is cumulative probability.Ferdy wrote: ↑Wed Dec 30, 2020 7:48 pmWhat is j in
Code: Select all
F(i) = Prob(i) + SUM[Prob(j)], with j < i
So F(3) = Prob(3) + SUM[Prob(j)] = Prob(3) + (Prob(0) + Prob(1) + Prob(2)) = Prob(3) + F(2).