New engine: belofte

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

Moderators: Harvey Williamson, Dann Corbit, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
ydebilloez
Posts: 58
Joined: Tue Jun 27, 2017 9:01 pm
Location: Lubumbashi
Full name: Yves De Billoëz
Contact:

Re: New engine: belofte

Post by ydebilloez » Thu Oct 29, 2020 8:52 am

Are you compiling with the project/compile.sh script?

For Mac OS X, it will compile both 32 and 64 bit versions. This works fine on Mac OS X 10.8.5, the version I use.... from a higher version on, I do not know exactly when 32 bit support was dropped, the 32 bit compile does no longer work. For those versions, please remove the line defining the 32 bit version. For all Mac OS X versions, I probably could drop the 32 bit versions, as it is 64 bit since a long time and I am not sure if the platforms supporting only 32 bit do actually support C++11....

Change the section at the beginning of the compile.sh file by removing the TARGET32 for darwin.

Code: Select all

  darwin*)   TARGET64=MacOSX-x86-64
             COMPOPT="-std=c++11"
             ;;
fncll wrote:
Tue Oct 27, 2020 10:14 pm
Any tips on compiling on OSX (10.15.7)? I get the following error:

Code: Select all

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
At the beginning of the compile I get these warnings:

Code: Select all

ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libc++.tbd, missing required architecture i386 in file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libc++.tbd
ld: warning: ignoring file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd
TIA!
--
Yves De Billoëz
Yves at macchess.internetcontact.be

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

Re: New engine: belofte

Post by ydebilloez » Mon Nov 09, 2020 1:13 pm

fncll wrote:
Tue Oct 27, 2020 10:14 pm
Any tips on compiling on OSX (10.15.7)? I get the following error:

Code: Select all

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Corrected compile script has been published in sourceforge. Needs an update on source files too.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

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

Re: New engine: belofte

Post by ydebilloez » Fri Nov 13, 2020 10:56 am

Version update: Belofte 2.0.8 has been released on Windows/Linux/Mac in 32 and 64 bit under GPL v2.

Major changes:
  • plays time-based levels when selecting uci protocol
  • implements iterative deepening with bruteforce search
  • Builds are non optimized as compilation with -flto or -march generates problems on Pentium and Celeron class computers.
    If you own a i3 or higher platform recommendation is to recompile.

Code: Select all

cd project & ./compile.sh current
Current strength: the C++ 2.0 series closes in on the 0.2 series in strength. The 0.9 series is still the strongest available.
Stability: uci interface is more stable than all versions before 0.9.3 and available on all platforms.

Comments and contributions welcome.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

Archimedes
Posts: 11
Joined: Tue Mar 05, 2019 2:43 pm
Full name: Archimedes

Re: New engine: belofte

Post by Archimedes » Fri Nov 13, 2020 1:55 pm

Works on Android so far, but, when using analyzing mode in DroidFish, i see no evaluation information. Also, when starting the engine, i see no information about the engine (version number).

Android builds: https://app.box.com/s/t76uk3b3leaf0xpzxydm2g7p8icndiab

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

Re: New engine: belofte

Post by ydebilloez » Sat Nov 14, 2020 11:20 am

Thanks a lot for the android build. This is great news. I will start testing right away.
Archimedes wrote:
Fri Nov 13, 2020 1:55 pm
Works on Android so far, but, when using analyzing mode in DroidFish, i see no evaluation information.
UCI_Analyze.. stuff has not been implemented yet. Could be the reason.
Archimedes wrote:
Fri Nov 13, 2020 1:55 pm
Also, when starting the engine, i see no information about the engine (version number).
Also, belofte is kind of hybrid xboard / uci without selecting any protocol. To force into uci protocol, either:
  • pass --uci as launch parameter
  • issue uci as first command
  • place an .rc file in the same path as the argv[0] location
  • uncomment the first statement in the testfunction that forces uci mode

    Code: Select all

    AppEI()->execute("uci", "");
  • I could do a conditional compile when detecting android target and force the uci mode as I am not aware of any xboard capable program on android. Any suggestions on #defines for android platform?
--
Yves De Billoëz
Yves at macchess.internetcontact.be

Gabor Szots
Posts: 658
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: belofte

Post by Gabor Szots » Mon Nov 16, 2020 1:21 pm

First impressions (obtained using Arena, Belofte installed as a UCI engine):

1. No output information.
2. I played a couple of games against it and not once it left its queen en prise for no apparent reason.
Gabor Szots
CCRL testing group

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

Re: New engine: belofte

Post by ydebilloez » Mon Nov 16, 2020 1:44 pm

Thanks for the feedback.

No output is a bit strange. In version 2.0.8 onwards there is iterative deepening and on going to next search depth, there should be output on the best move found till now.

The queen en prise is something I noticed. Search gets cut off when time expires and direct refutation of variation is not done correctly. I should only store score when tree has been completed and rely on previous score found on lower depth... Generally speaking QS search goes very deep without abandoning variations that have huge material loss. I have even seen this in AB searches in my test version.

Well, we only are at version 2.0.8 now, stockfish is at 12.x... I hope to settle this issue. My main priority is to get 3-fold and theoretic draws right, get bullet type time controls right, and convert from minimax to negamax.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

Gabor Szots
Posts: 658
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: belofte

Post by Gabor Szots » Sat Nov 21, 2020 1:22 pm

I am playing a tournament with it. Seems much weaker than 0.9.12, about 900 Elos. It is about to appear in next week's update.

Many times it does not give a mate in one. In one position it had 2 rooks, 2 bishops and 5 pawns against the lone king and it took a lot of moves till it could deliver mate.
Gabor Szots
CCRL testing group

ydebilloez
Posts: 58
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 Nov 22, 2020 9:14 pm

Hi Gabor,

Version 2.x is a complete rewrite in c++ because some things were difficult to fix in c code.

Pv variation tracking up to root node of search.
Cross platform multi threading
Move score instead of score relative to resulting position
UCI implementation
...

I could probably get those things fixed in the 0.9.x series but as it got better with 0.9.18, it was only marginally better on easy release and did break a lot of times on windows builds. Let alone Mac. After some feedback on #freechess, I thought it would be easier to restart from scratch in c++.... As expected, my c++ was not up to level and it took me much more time than expected. A lot of evaluation code is not yet in there neither.

My first target is to be UCI wise 100% correct and play bullet and other levels without any bugs. This seems to be the case now.

I feel I am close to fixing the tree search issues and those problems of not seeing easy queen captures will soon be resolved and I should reach 0.9.12 level pretty fast... At least I hope.

I implemented negascout and mtd in the past in c++ for another game. With proper tt, some bitboards, evaluation on move level instead as a tree search result, and pluggable evaluation based on game phase, it has more potential as the 0.9 series I hope.
--
Yves De Billoëz
Yves at macchess.internetcontact.be

Gabor Szots
Posts: 658
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: New engine: belofte

Post by Gabor Szots » Sun Nov 22, 2020 9:43 pm

ydebilloez wrote:
Sun Nov 22, 2020 9:14 pm
With proper tt, some bitboards, evaluation on move level instead as a tree search result, and pluggable evaluation based on game phase, it has more potential as the 0.9 series I hope.
I'm rooting for you, Yves.
Gabor Szots
CCRL testing group

Post Reply