Tiny Chess Bot Coding Challenge

Discussion of chess software programming and technical issues.

Moderator: Ras

Mike Sherwin
Posts: 965
Joined: Fri Aug 21, 2020 1:25 am
Location: Planet Earth, Sol system
Full name: Michael J Sherwin

Re: Tiny Chess Bot Coding Challenge

Post by Mike Sherwin »

leanchess wrote: Tue Sep 12, 2023 6:54 pm
leanchess wrote: Mon Sep 11, 2023 5:54 pm The newest version is exactly 100 tokens larger, but it has full TT, and there are still some token optimisations to be made (~30 tokens)!
Did I say ~30 tokens? It's exactly 766 now! :P
You have done a superior job optimizing tokens! :D
Pio
Posts: 335
Joined: Sat Feb 25, 2012 10:42 pm
Location: Stockholm

Re: Tiny Chess Bot Coding Challenge

Post by Pio »

Hi all of you!

I added this just before the return of Eval(Board board)-function

Code: Select all


        int blockingPawns =
                5 *
                (
                    BitboardHelper.GetNumberOfSetBits((board.GetPieceBitboard(PieceType.Pawn, true) << 8) & board.WhitePiecesBitboard) -
                    BitboardHelper.GetNumberOfSetBits((board.GetPieceBitboard(PieceType.Pawn, false) >> 8) & board.BlackPiecesBitboard)
                );

        eval -= board.IsWhiteToMove ? blockingPawns : -blockingPawns;

It looks very promising in early tests when I have played it locally on an older version of your engine. It takes up a few extra tokens.

The code is intended to penalize having pieces or pawns one square infront of you own pawns.

If you want you can add it to the engine.

Good luck!
/Pio
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: Tiny Chess Bot Coding Challenge

Post by Henk »

This topic reminds me about teachers giving too difficult exercise to its students and while students are struggling he keeps telling that the solution is o so very simple. Yes it is very simple if you have the knowledge (and experience) or the brains.

No doubt each tiny chess bot plays 1000 times better than Skipper and it is o so simple. Grrrr.
dangi12012
Posts: 1062
Joined: Tue Apr 28, 2020 10:03 pm
Full name: Daniel Infuehr

Re: Tiny Chess Bot Coding Challenge

Post by dangi12012 »

Henk wrote: Fri Sep 15, 2023 1:24 pm No doubt each tiny chess bot plays 1000 times better than Skipper and it is o so simple. Grrrr.
Is skipper open source? If no is there a binary to run somewhere?


I have seen multiple people claim that the top non open source engines for the competition use SSS*.
Can someone coroborate that claim here?


I can see the appeal because C# has a quick implementation of a sortedList for no token cost.
Worlds-fastest-Bitboard-Chess-Movegenerator
Daniel Inführ - Software Developer
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: Tiny Chess Bot Coding Challenge

Post by Henk »

dangi12012 wrote: Fri Sep 15, 2023 4:04 pm
Henk wrote: Fri Sep 15, 2023 1:24 pm No doubt each tiny chess bot plays 1000 times better than Skipper and it is o so simple. Grrrr.
Is skipper open source? If no is there a binary to run somewhere?


I have seen multiple people claim that the top non open source engines for the competition use SSS*.
Can someone coroborate that claim here?


I can see the appeal because C# has a quick implementation of a sortedList for no token cost.
No all private. Skipper is using a Dictionary<ulong, TranspEntry>. I guess SortedList is some kind of a balanced tree. If so that would mean Log(N) complexity
Mike Sherwin
Posts: 965
Joined: Fri Aug 21, 2020 1:25 am
Location: Planet Earth, Sol system
Full name: Michael J Sherwin

Re: Tiny Chess Bot Coding Challenge

Post by Mike Sherwin »

Pio wrote: Fri Sep 15, 2023 7:34 am Hi all of you!

I added this just before the return of Eval(Board board)-function

Code: Select all


        int blockingPawns =
                5 *
                (
                    BitboardHelper.GetNumberOfSetBits((board.GetPieceBitboard(PieceType.Pawn, true) << 8) & board.WhitePiecesBitboard) -
                    BitboardHelper.GetNumberOfSetBits((board.GetPieceBitboard(PieceType.Pawn, false) >> 8) & board.BlackPiecesBitboard)
                );

        eval -= board.IsWhiteToMove ? blockingPawns : -blockingPawns;

It looks very promising in early tests when I have played it locally on an older version of your engine. It takes up a few extra tokens.

The code is intended to penalize having pieces or pawns one square infront of you own pawns.

If you want you can add it to the engine.

Good luck!
/Pio
Hi Pio, Thanks, I will test it right away. :D
Mike Sherwin
Posts: 965
Joined: Fri Aug 21, 2020 1:25 am
Location: Planet Earth, Sol system
Full name: Michael J Sherwin

Re: Tiny Chess Bot Coding Challenge

Post by Mike Sherwin »

So what was the outcome of the project? Was it finished? Was it submitted? Why hasn't the final source been made public? Or if it has, where is it? Or did the ball go flat and everyone just walked off the court? Are there any redeeming qualities about this whole futile exercise in cooperation?
alvinypeng
Posts: 36
Joined: Thu Mar 03, 2022 7:29 am
Full name: Alvin Peng

Re: Tiny Chess Bot Coding Challenge

Post by alvinypeng »

Mike Sherwin wrote: Mon Oct 02, 2023 10:01 pm So what was the outcome of the project? Was it finished? Was it submitted? Why hasn't the final source been made public? Or if it has, where is it? Or did the ball go flat and everyone just walked off the court? Are there any redeeming qualities about this whole futile exercise in cooperation?
Submission deadline was October 1. The tournament still needs to be run (there are 636 submitted entries). Then we wait for a video on the Sebastian Lague Youtube channel about this whole competition.
User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: Tiny Chess Bot Coding Challenge

Post by lithander »

Mike Sherwin wrote: Mon Oct 02, 2023 10:01 pm So what was the outcome of the project? Was it finished? Was it submitted? Why hasn't the final source been made public? Or if it has, where is it? Or did the ball go flat and everyone just walked off the court? Are there any redeeming qualities about this whole futile exercise in cooperation?
You announced you were leaving the project to submit your own version. Did you?

Afterwards I didn't pursue this any further and continued working on Leorik instead.
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
Mike Sherwin
Posts: 965
Joined: Fri Aug 21, 2020 1:25 am
Location: Planet Earth, Sol system
Full name: Michael J Sherwin

Re: Tiny Chess Bot Coding Challenge

Post by Mike Sherwin »

lithander wrote: Tue Oct 03, 2023 12:37 pm
Mike Sherwin wrote: Mon Oct 02, 2023 10:01 pm So what was the outcome of the project? Was it finished? Was it submitted? Why hasn't the final source been made public? Or if it has, where is it? Or did the ball go flat and everyone just walked off the court? Are there any redeeming qualities about this whole futile exercise in cooperation?
You announced you were leaving the project to submit your own version. Did you?

Afterwards I didn't pursue this any further and continued working on Leorik instead.
I did not pursue it any further either. Instead I wanted to pursue my new hobby, bike riding, while the weather was still warm. This summer I progressed from being able to ride two blocks till exhaustion to my best of 21 miles. I barely made it back from that one. The altitude here is 6134 feet and it is either uphill or downhill. There are no substantial flat stretches of road. Next season I will start off in a much stronger condition after this summer of riding and this coming winter of indoor training. Also I have lost weight. I went from 243 lbs down to 230 lbs. My goal is to be 180 lbs by May 1st. And I have ordered a new much lighter bike (18 lbs vs current 37.5 lbs) that should arrive by the middle of November. But now that the weather has turned cold here I have started working on chess again. Let's just call it my final try.