New engine: belofte

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

ydebilloez
Posts: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

Dear Roland,
I would be interested to compile it by myself for Windows, but my last attempts were unsuccessful. Could you explain how you compiled it?
I had to make some changes in the code, of which 99% committed, that allowed to compile under DevC++. If you get the latest version from the git repository, you should be close.
Estimated time for move: 1
<-- force
--> move
--> 0-1 {White resigns}
The error you get is "by design". The thread reading the time is killing off the search thread before it can store a move. Try moving at a slower pace than 1" per move until I fixed the design error.

As a bug-free program should not have bugs by design, I will try to fix. I will try to keep the windows version up to par with each update.

Meanwhile, I am interested in finding 'bad' programs to pair belofte. I want to benchmark its improvements along the way. If your engines Alouette, Enxadrista and Ram are bad enough, could you please share where I can get them? If it were a linux binary, even the better.

Merci,
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: New engine: belofte

Post by Roland Chastain »

Hello Yves!

Thank you for your answer. I will made a compilation test under Windows with your latest code.
ydebilloez wrote: Mon Jan 20, 2020 4:12 pm Meanwhile, I am interested in finding 'bad' programs to pair belofte. I want to benchmark its improvements along the way. If your engines Alouette, Enxadrista and Ram are bad enough, could you please share where I can get them? If it were a linux binary, even the better.
To save you time, I made a package with what I have in that category.

Belofte partners (Linux 64 binaries)
Alouette 0.0.8
Alouette 0.0.9 (includes a random mover)
Iota 0.1
N.E.G. 1.3
Ram 2.0
Sachy 0.1
Sachy 0.2
Zoe
Regards.

Roland
Qui trop embrasse mal étreint.
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: New engine: belofte

Post by Roland Chastain »

It seems that Belofte 0.9.8 is stronger than all the partners that I selected yesterday. :)

But I have the impression that the Windows version is relatively weaker than the Linux version (unless it is my tests which are false). I don't get the same hierarchy under Windows and under Linux, I don't know why. :|

So I added new partners to my package (same link).

P.-S. Your Windows binary is big. Did you compile in debug mode?
Qui trop embrasse mal étreint.
ydebilloez
Posts: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

Dear Roland,
Roland Chastain wrote: Tue Jan 21, 2020 10:26 am It seems that Belofte 0.9.8 is stronger than all the partners that I selected yesterday. :)
Thanks for your effort. I expect Belofte 0.9.8 to be in the 1100-1400 range, just expect, will have to wait for its inclusion in CCRL and the like.
I am trying to understand the STS test suite or Arena test to evaluate it properly.
Roland Chastain wrote: Tue Jan 21, 2020 10:26 am But I have the impression that the Windows version is relatively weaker than the Linux version (unless it is my tests which are false). I don't get the same hierarchy under Windows and under Linux, I don't know why. :|
The windows version was compiled with DevC++, no C++ 11 optimizations, and symbols included. My windows binary is compiled 32bit compared to 64 bit for linux. I also use pthread library on linux, not sure DevC++ does it properly on windows. Only the memory footprint should be different.... but all this just doesn't explain anything right now. To be investigated.
Roland Chastain wrote: Tue Jan 21, 2020 10:26 am So I added new partners to my package (same link).
Thanks. Updated the engines.json file to reflect the engines you shared.
Roland Chastain wrote: Tue Jan 21, 2020 10:26 am P.-S. Your Windows binary is big. Did you compile in debug mode?
No, but I included in the last commit a new version with strip symbols, still 4 times the size of the linux version but 50% less than before. Not sure what library got linked. I lost my Visual C++ compiler which should give better results.

Ps: I couldn't get the debugger working under windows. zlib.dll or something alike missing.... but that's another story.
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
ydebilloez
Posts: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

Belofte 0.9.10 released. Linux x64 and win32 binaries. Annoying bug in windows crashing the engine on ? command is gone.
Against 0.9.8, it is somewhat less performant (same evaluation but slower due to added logic), but against other engines it performs about 80 elo stronger.

Bugs mentionned about when playing at bullet speed should be resolved (I hope so). Theoretical draw end position and threefold should be solved.
Thanks to the guys on freenode ##chessprogramming for their hints on zobrist... did implement zobrist with part of the key based on actual board information.

Here some results.

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 Deepov 0.4.1                  512     160     120   95.0%    3.3%
   2 Cinnamon                      390      97     120   90.4%    9.2%
   3 Raven                         245      77     120   80.4%    5.8%
   4 Belofte current               104      62     120   64.6%    9.2%
   5 Iota.01                        95      59     120   63.3%   16.7%
   6 Belofte 0.9.8                  67      57     120   59.6%   20.8%
   7 Hippocampe.0.4.2              -32      59     120   45.4%   12.5%
   8 Moustique64.0.3               -61      58     120   41.3%   17.5%
   9 Neg.1.3                      -108      61     120   35.0%   13.3%
  10 Alouette64.0.0.9             -111      61     120   34.6%   14.2%
  11 NEG                          -158      66     120   28.7%    9.2%
  12 Random64.009                 -352     100     120   11.7%    3.3%
  13 Sachy.0.2                    -inf     nan     120    0.0%    0.0%
Finished match
Next on the roadmap: mac compile, endgame improvement, uci, transposition table, improving playing strength ...
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
ydebilloez
Posts: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

New release 0.9.12 both in Win32 and Linux64 posted on https://sourceforge.net/projects/belofte/. Correction on Quiescence resulting in good improvement in strength.
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: belofte

Post by Gabor Szots »

ydebilloez wrote: Wed Feb 12, 2020 12:14 pm New release 0.9.12 both in Win32 and Linux64 posted on https://sourceforge.net/projects/belofte/. Correction on Quiescence resulting in good improvement in strength.
Hello Yves,

I am very glad to hear you have made good progress. That encouraged me to start a tournament with your engine.

Am I right assuming that Belofte does not use hash tables? Also, does it require command line parameters? I have not found instructions.

Gabor
Gabor Szots
CCRL testing group
ydebilloez
Posts: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

New release 0.9.14 posted on https://sourceforge.net/projects/belofte/. Binaries for: Windows 32 bit, Linux 32 bit, Linux 64 bit.
Rating estimate: 1350 (Ordo) (+50 against 0.9.12, +100 against 0.9.10)

Changes:
  • All files are C++, (C++11 required). Compiles for more platforms.
  • 50 moves draw rule recognised.
  • Improved search.
  • Hash key calculation with side-bit, piece-count: reduce hash collisions for alike position without increasing bits used.
  • Git repo: Current platforms with latest updates only contain latest version binary.
  • Optimized compile.
  • Slight improvement in certain endgames.
  • Add ordo support in test scripts.
In test:
Beta for UCI interface available. Still some issues though, so separate executable for testing only, not for production.

Xboard version can be launched with ./belofte -xboard or accepts xboard command to get to WB2 protocol.
UCI version needs to receive uci command to respect UCI protocol.
belofte can be launched without any parameters.
More information in readme.md or in manual.html

Not implemented: hash tables, uniform binary that supports both UCI and Winboard protocol, lots of other...
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: belofte

Post by Gabor Szots »

Hi Yves,

When I try to download the file it says I am going to download version 0.9.12.
Gabor Szots
CCRL testing group
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: New engine: belofte

Post by Roland Chastain »

Gabor Szots wrote: Thu Feb 27, 2020 8:04 pm Hi Yves,

When I try to download the file it says I am going to download version 0.9.12.
Hello Gabor!

The latest version is here :
https://sourceforge.net/p/belofte/gitre ... t/Release/

Regards.

Roland
Qui trop embrasse mal étreint.