New engine: belofte

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 8:11 pm
Location: upstate

Re: New engine: belofte

Post by tpoppins » Fri Nov 16, 2018 12:02 am

CMCanavessi wrote:
Thu Nov 15, 2018 7:10 pm
I see that the engine is already at 0.9.3 in sourceforge, can anyone make a windows binary?
Done.
Tirsa Poppins
CCRL

User avatar
CMCanavessi
Posts: 890
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: New engine: belofte

Post by CMCanavessi » Fri Nov 16, 2018 2:46 am

Thanx a lot !!
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

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

Re: New engine: belofte

Post by ydebilloez » Sun Dec 15, 2019 6:48 pm

--
Yves De Billoëz
Yves at macchess.internetcontact.be

User avatar
Roland Chastain
Posts: 371
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Re: New engine: belofte

Post by Roland Chastain » Sun Dec 15, 2019 7:28 pm

ydebilloez wrote:
Sun Dec 15, 2019 6:48 pm
Binaries available under:
https://sourceforge.net/p/belofte/gitre ... t/Release/
Hello! Glad to know that you are still working on that project. I like Belofte because it is one of the rare engines that my own engines can sometimes beat. :wink:

I have just made a quick test under Linux, with Cutechess Cli, and the binary (0.9.6) that you provided. It doesn't work, no idea why.

Code: Select all

[roland@localhost moteurs]$ sh tournoi.sh
Started game 1 of 20 (Belofte 0.9.6 vs NEG 1.2)
Engine Belofte 0.9.6(0) failed to respond to ping
Terminating process of engine Belofte 0.9.6(0)
Rank Name                          Elo     +/-   Games   Score   Draws
   1 NEG 1.2                       inf     nan       1  100.0%    0.0%
   2 Belofte 0.9.6                -inf     nan       1    0.0%    0.0%
   3 Little Wing 0.2               nan     nan       0    nan%    nan%
   4 Iota 0.1                      nan     nan       0    nan%    nan%
   5 Alouette 0.0.8                nan     nan       0    nan%    nan%
Finished match
Finished game 1 (Belofte 0.9.6 vs NEG 1.2): 0-1 {White's connection stalls}
[roland@localhost moteurs]$
Here is belofte-0.9.6.log:

Code: Select all

2019.12.15 20:23:52 --> 
 FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 

2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> | r | n | b | q | k | b | n | r |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> | p | p | p | p | p | p | p | p |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> |   |   |   |   |   |   |   |   |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> |   |   |   |   |   |   |   |   |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> |   |   |   |   |   |   |   |   |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> |   |   |   |   |   |   |   |   |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> | P | P | P | P | P | P | P | P |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 --> | R | N | B | Q | K | B | N | R |
2019.12.15 20:23:52 --> +---+---+---+---+---+---+---+---+
2019.12.15 20:23:52 <-- xboard 
2019.12.15 20:23:52 --> 
2019.12.15 20:23:52 <-- protover 2
2019.12.15 20:23:52 --> feature done=0
2019.12.15 20:23:52 --> feature ping=1 setboard=1 playother=1 san=0 usermove=1 time=1
2019.12.15 20:23:52 --> feature draw=0 sigint=1 sigterm=1 reuse=1 debug=1
2019.12.15 20:23:52 --> feature ics=1 name=1 pause=0 analyze=0 colors=0
2019.12.15 20:23:52 --> feature myname="Belofte 0.9.6"
2019.12.15 20:23:52 --> feature variants="normal"
2019.12.15 20:23:52 --> feature done=1
2019.12.15 20:23:53 <-- accepted done
2019.12.15 20:23:53 <-- accepted ping
2019.12.15 20:23:54 <-- accepted setboard
2019.12.15 20:23:54 <-- rejected playother
2019.12.15 20:23:54   > unknown command rejected
2019.12.15 20:23:55 <-- accepted san
2019.12.15 20:23:55 <-- accepted usermove
2019.12.15 20:23:56 <-- accepted time
2019.12.15 20:23:56 <-- rejected draw
2019.12.15 20:23:56   > unknown command rejected
2019.12.15 20:23:57 <-- rejected sigint
2019.12.15 20:23:57   > unknown command rejected
2019.12.15 20:23:57 <-- rejected sigterm
2019.12.15 20:23:57   > unknown command rejected
2019.12.15 20:23:58 <-- accepted reuse
2019.12.15 20:23:58 <-- rejected debug
2019.12.15 20:23:58   > unknown command rejected
2019.12.15 20:23:59 <-- rejected ics
2019.12.15 20:23:59   > unknown command rejected
2019.12.15 20:23:59 <-- accepted name
2019.12.15 20:24:00 <-- rejected pause
2019.12.15 20:24:00   > unknown command rejected
2019.12.15 20:24:00 <-- rejected analyze
2019.12.15 20:24:00   > unknown command rejected
2019.12.15 20:24:01 <-- rejected colors
2019.12.15 20:24:01   > unknown command rejected
2019.12.15 20:24:01 <-- accepted myname
2019.12.15 20:24:02 <-- accepted variants
Tomorrow I will make a test under Windows.

Regards.

Roland
Qui trop embrasse mal étreint.

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

Re: New engine: belofte

Post by ydebilloez » Sun Dec 15, 2019 7:57 pm

Hi, can you share your script (tournoi.sh) you use to launch belofte.
I also restricted the number of commands accepted in feature, such as playother etc. Could you see what is used?

Code: Select all

static void cmdresp_snd_protover(UNUSED const int nProtover) {
  cmdresp_snd("feature done=0");
  cmdresp_snd("feature ping=1 setboard=1 playother=1 san=0 usermove=1 time=1");
  cmdresp_snd("feature draw=0 sigint=1 sigterm=1 reuse=1 debug=1");
  cmdresp_snd("feature ics=0 name=1 pause=0 analyze=0 colors=0");
  cmdresp_snd("feature myname=\"" MYNAME " " MYVERSION "\"");
  cmdresp_snd("feature variants=\"normal\"");
  cmdresp_snd("feature done=1");
In essence, my program does a WB2 restricted. It does not accept SAN moves for the moment. Only coordinate moves.

Code: Select all

usermove d2d4
etc...

I use arena for testing, and tested with xboard and pychess.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

User avatar
Roland Chastain
Posts: 371
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Re: New engine: belofte

Post by Roland Chastain » Sun Dec 15, 2019 8:09 pm

ydebilloez wrote:
Sun Dec 15, 2019 7:57 pm
Hi, can you share your script (tournoi.sh) you use to launch belofte.
Thank you for your answer.

Here is tournoi.sh:

Code: Select all

/home/roland/Applications/cutechess-cli/cutechess-cli \
-rounds 2 \
-engine conf="Alouette 0.0.8" \
-engine conf="Belofte 0.9.6" \
-engine conf="Iota 0.1" \
-engine conf="Little Wing 0.2" \
-engine conf="NEG 1.2" \
-pgnout tournoi.pgn \
-each tc=40/60 \
-wait 500 | tee tournoi.log
and here is engines.json:

Code: Select all

  {
    "command" : "belofte-0.9.6",
    "name" : "Belofte 0.9.6",
    "protocol" : "xboard",
    "workingDirectory" : "/home/roland/Applications/moteurs/belofte"
  },
Qui trop embrasse mal étreint.

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

Re: New engine: belofte

Post by ydebilloez » Tue Dec 17, 2019 10:56 pm

Thanks, git repository updated with cutechess-cli config. Works fine now. (linux) Extract of engines.json below.

Code: Select all

{
    "name" : "Belofte 0.9.6",
    "command" : "belofte-0.9.6",
    "protocol" : "xboard"
  },
For those that didn't make the jump to linux yet, will try to do something soon once I get my windows vm back online. Planned for the 0.9.8 release. In the mean time, ... only linux is tested. If someone wants to give a try to create a windows build, you are most welcome.

Some results:

Code: Select all

Cutechess-cli - Level inf/300
Rank Name                          Elo     +/-   Games   Score   Draws
   1 Belofte 0.9.6                 545     nan      12   95.8%    8.3%
   2 Belofte current               191     452      12   75.0%    0.0%
   3 Belofte 0.9.0                  58     204      12   58.3%   16.7%
   4 Belofte 0.9.3                 -58     204      12   41.7%   16.7%
   5 Belofte 0.9.1                -120     264      12   33.3%    0.0%
   6 Belofte 0.2.8                -154     271      12   29.2%    8.3%
   7 Belofte 0.2.7                -280     nan      12   16.7%    0.0%

Code: Select all

   Engine                    Score    Ci   To   Ra   Be   Be   Fi   Ne    S-B
1: Cinnamon                  17.0/24 .... 0010 1111 0111 1010 1110 1111  173.50
2: Toledo_nanochess_wb-linux 16.5/24 1101 .... 000= 1101 1=1= 1110 1111  162.25
3: Raven-0.30                16.5/24 0000 111= .... 0101 1=1= 1111 1111  157.75
4: Belofte-current           12.0/24 1000 0010 1010 .... 11=0 01=1 1=1=  122.00
5: Belofte-0.9.6             12.0/24 0101 0=0= 0=0= 00=1 .... 1=== 1111  111.50
6: Fimbulwinter-64           9.0/24  0001 0001 0000 10=0 0=== .... 1111   73.50
7: Neophyte-linux            1.0/24  0000 0000 0000 0=0= 0000 0000 ....   12.00
Level: Blitz 5/0
--
Yves De Billoëz
Yves at macchess.internetcontact.be

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

Re: New engine: belofte

Post by ydebilloez » Tue Jan 14, 2020 1:00 pm

Belofte 0.9.8 has been released on sourceforge. Unfortunately, only a linux 64 bit version is available at this moment. I am working on a windows compile. Huge update to documentation, playing strength and testing environment. Website has also been updated.

I also found that belofte still cannot mate a KQK endgame and does not avoid draws with threefold repetition when clearly better but games start to be a bit more interesting. A lot of work ahead still.

Any feedback welcome.
Yves

Some results against previous versions:

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 Belofte current               319      64     160   86.3%   17.5%
   2 Belofte 0.9.7                 231      54     160   79.1%   23.1%
   3 Belofte 0.2.8                -115      55     160   34.1%    6.9%
   4 Belofte 0.2.7                -120      55     160   33.4%    8.1%
   5 Belofte 0.9.0                -273      70     160   17.2%    5.6%
Some results against weak programs:

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 Cinnamon                      534     nan      34   95.6%    8.8%
   2 Deepov 0.4.1                  257     158      35   81.4%    8.6%
   3 Raven                          81     118      35   61.4%    8.6%
   4 Belofte current                37     108      38   55.3%   10.5%
   5 Belofte 0.9.7                 -49     110      36   43.1%   13.9%
   6 Belofte 0.9.0                -280     187      36   16.7%    0.0%
   7 NEG                          -627     nan      38    2.6%    0.0%
--
Yves De Billoëz
Yves at macchess.internetcontact.be

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

Re: New engine: belofte

Post by ydebilloez » Sun Jan 19, 2020 1:39 pm

Windows binary posted. Still a crash on the movenow (?) command but rest seems to be working fine.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

User avatar
Roland Chastain
Posts: 371
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Re: New engine: belofte

Post by Roland Chastain » Mon Jan 20, 2020 10:15 am

Hello! Thank you for the Windows binary of v0.9.8. I am testing it, with CuteChess Cli.

In one game Belofte played an illegal move, in fact an empty string (if I understand correctly).

Here is my command line:

Code: Select all

%cc% -rounds 2 ^
-engine conf="Belofte 0.9.8" ^
-engine conf="Belofte 0.2.7" ^
-engine conf="Alouette 0.1.0" ^
-engine conf="Enxadrista 1.01" ^
-engine conf="Ram 2.0" ^
-pgnout %~dpn0.pgn ^
-each tc=40/60 ^
-wait 500 2>> error.log | %tee% %~dpn0.log
The game:

Code: Select all

[Event "?"]
[Site "?"]
[Date "2020.01.20"]
[Round "4"]
[White "Belofte 0.9.8"]
[Black "Alouette 0.1.0"]
[Result "0-1"]
[ECO "B00"]
[GameDuration "00:00:03"]
[GameEndTime "2020-01-20T10:50:05.052 Paris, Madrid"]
[GameStartTime "2020-01-20T10:50:01.568 Paris, Madrid"]
[Opening "King's pawn Opening"]
[PlyCount "4"]
[Termination "illegal move"]
[TimeControl "40/60"]

1. e4 {+0.11/3 0.30s} d6 2. Nc3 {+0.18/3 0.99s}
Nc6 {1.8s, White makes an illegal move} 0-1
And belofte-0.9.8.log:

Code: Select all

 --> move b1c3
 <-- ping 31
 --> pong 31
 <-- time 5871
 <-- otim 5817
 -->  got otim 5817
 <-- usermove b8c6
 -->  Starting search for white, r1bqkbnr/ppp1pppp/2np4/8/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3
 -->  Time per game
 Estimated time for move: 1
 <-- force 
 --> move 
 --> 0-1 {White resigns}
I hope this helps.

I would be interested to compile it by myself for Windows, but my last attempts were unsuccessful. Could you explain how you compiled it?

Regards.

Roland
Qui trop embrasse mal étreint.

Post Reply