New engine: belofte

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

Moderators: hgm, Rebel, chrisw

tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: New engine: belofte

Post by tpoppins »

CMCanavessi wrote: Thu Nov 15, 2018 8: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: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: New engine: belofte

Post by CMCanavessi »

Thanx a lot !!
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
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 »

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 »

ydebilloez wrote: Sun Dec 15, 2019 7: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: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

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 @ 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 »

ydebilloez wrote: Sun Dec 15, 2019 8: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: 163
Joined: Tue Jun 27, 2017 11:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz

Re: New engine: belofte

Post by ydebilloez »

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 @ 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.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 @ 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 »

Windows binary posted. Still a crash on the movenow (?) command but rest seems to be working fine.
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! 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.