Search found 262 matches

by Sesse
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.
by Sesse
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)...
by Sesse
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...
by Sesse
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...
by Sesse
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.
by Sesse
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...
by Sesse
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...
by Sesse
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.
by Sesse
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?

Dann Corbit wrote:
Thu Dec 31, 2020 2:55 pm
Did you try LazySMP?
Easy as falling off of a log and seems to work really well.
It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.
by Sesse
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.

Ferdy wrote:
Wed Dec 30, 2020 7:48 pm
Ajedrecista wrote:
Wed Dec 30, 2020 12:01 pm
What is j in

Code: Select all

F(i) = Prob(i) + SUM[Prob(j)], with j < i
j is all integers from 0 to i-1, inclusive. So F(i) is cumulative probability.

So F(3) = Prob(3) + SUM[Prob(j)] = Prob(3) + (Prob(0) + Prob(1) + Prob(2)) = Prob(3) + F(2).