Search found 552 matches

by Joost Buijs
Sun Aug 16, 2026 11:18
Forum: Draughts, Computer, Internet
Topic: Vibe Coding
Replies: 48
Views: 1681

Re: Vibe Coding

Out of curiosity I let Codex design a neural network implementation with exactly the same parameters that the Ares network uses.

First of all, the code generated by Codex contains a lot of unnecessary crap that will only hurt performance. Secondly, it was not able to generate code that comes close ...
by Joost Buijs
Mon Aug 10, 2026 13:26
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches

Bert,

Since most draughts programs still struggle with solving certain problems, I suspect there's still room for some minor progress.

Training on previously played games (using only material evaluation to get enough variation) probably isn't optimal. Training with reinforcement learning, however ...
by Joost Buijs
Mon Aug 10, 2026 06:10
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches

Yesterday, Bert and I were discussing whether draughts is an absolute draw, and if a program like Kingsrow running single-core on a fast PC is already at that level.

To test this, I decided to run two more matches. First, a single-thread match between Kingsrow and Ares using its latest network ...
by Joost Buijs
Fri Aug 07, 2026 17:29
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches

This time I had the computer play a multi-core match between Kingsrow and Ares.
Kingsrow with 16 threads, Ares with 24 threads, the other conditions are the same as in the previous matches.
The speed of Kingsrow varied a lot depending on game phase, 50 to 200 Mn/s. Ares (with lazy-SMP) did approx ...
by Joost Buijs
Wed Aug 05, 2026 17:30
Forum: Draughts, Computer, Internet
Topic: Storing a CRC32 in the TT without needing an additional 32 bits
Replies: 4
Views: 215

Re: Storing a CRC32 in the TT without needing an additional 32 bits

Another option is to use InterlockedCompareExchange128(), which can transfer 128-bit data atomically to and from memory. The drawback is that it takes a few percent of the total time consumed by the search, and the entries need to be aligned on a 16-byte boundary. I have this as an option in the ...
by Joost Buijs
Wed Aug 05, 2026 07:25
Forum: Draughts, Computer, Internet
Topic: Storing a CRC32 in the TT without needing an additional 32 bits
Replies: 4
Views: 215

Re: Storing a CRC32 in the TT without needing an additional 32 bits

Hi Gijsbert,

I've implemented the proposed CRC32 verification, the speed loss seems to be negligible (actually none). I will run some SMP tests to check how it behaves in comparison with the Hyatt method.

Joost

Edit:

I've implemented it exactly as proposed in the PDF document, single threaded it ...
by Joost Buijs
Tue Aug 04, 2026 14:15
Forum: Draughts, Computer, Internet
Topic: Vibe Coding
Replies: 48
Views: 1681

Re: Vibe Coding


Joost, i also don't think it will have a measurable effect.



It will probably help if you want to shuffle the entries within a bucket to put a new entry (or an updated entry) into the first slot (like Gijsbert does). Currently it's too hot in my study (over 30 C), but when it's getting colder I ...
by Joost Buijs
Tue Aug 04, 2026 13:57
Forum: Draughts, Computer, Internet
Topic: Vibe Coding
Replies: 48
Views: 1681

Re: Vibe Coding

It's a pity that not every machine supports AVX-512, with AVX-512 it's possible to shuffle the (usually) 4 entries in a bucket in a single clock-cycle. With AVX2 (which most X86 machines have) you'll need at least 3 instructions to do the same, so it can help a bit but I don't expect miracles from ...
by Joost Buijs
Tue Aug 04, 2026 09:15
Forum: Draughts, Computer, Internet
Topic: Storing a CRC32 in the TT without needing an additional 32 bits
Replies: 4
Views: 215

Re: Storing a CRC32 in the TT without needing an additional 32 bits

Since you are using a 32-bit CRC, I wonder if this method has a lower probability of missing a data race than simply XORing the key with the data. Have you compared both methods? If so, what difference did this yield?

Another question concerns storing the most recent entry in the first slot of a ...
by Joost Buijs
Mon Aug 03, 2026 12:53
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches

I let Ares play another two matches against Kingsrow, they both ended with 156 draws and 1 win/loss for each program.
Time control 30 secs. for 90 moves with 0.5 sec. increment, single thread, no pondering, no book, both with 6P EGDB.

I think it will be very difficult to increase this level any ...
by Joost Buijs
Sun Aug 02, 2026 17:05
Forum: Draughts, Computer, Internet
Topic: floats rather than ints for the evaluation
Replies: 1
Views: 227

Re: floats rather than ints for the evaluation

Hi Gijsbert,

That you are able to search much deeper with floating point evaluation in the search is very weird.

Usually I see the opposite, when I increase the resolution of the evaluation the search-depth gets less, but this doesn't mean that it is bad. The evaluation difference between a won ...
by Joost Buijs
Fri Jul 31, 2026 19:36
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches



Still that would mean about 18 seconds per game. Currently 60 seconds on 1 thread already is mostly drawn.

If you factor in multithreading and you scale for instance a factor 6 on 16 threads, this corresponds to 108 seconds on a single thread.

Every 10-fold time reduction might increase non ...
by Joost Buijs
Fri Jul 31, 2026 17:23
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches


I have run many engine matches with 0.1 sec increment and don't see any problem using the 8pc db, as long as it's on an SSD. Kingsrow egdb caching doesn't load new data blocks from disk at leaf nodes, but it still does lookups if the positions are already in cache.


Hi Ed,

For the endgame ...
by Joost Buijs
Fri Jul 31, 2026 08:36
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches

I never understood the weird time-control with a fixed time and a fixed number of moves which often produces unknown results. Fisher time-control with increment is the only way to go.

I often let the engine play games of 10 sec. with 0.1 sec. increment, usually that doesn't give problems. The only ...
by Joost Buijs
Thu Jul 30, 2026 19:39
Forum: Draughts, Computer, Internet
Topic: Internet engine matches
Replies: 553
Views: 600314

Re: Internet engine matches



One way out is playing faster games, 1 minute is long already, but Bert's 5 minutes is like an eternity.

Matches at 1 to 5 seconds per game are much better in my opinion, and you don't need to change the rules.

Only thing is, that this can be difficult to enforce from a hub standpoint, because ...