List of bugfree, opensource Linux and MacOSX engines

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

Moderator: Ras

User avatar
Roland Chastain
Posts: 680
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: List of bugfree, opensource Linux and MacOSX engines

Post by Roland Chastain »

@hgm, OliverBr

Thank you for the informations.
hgm wrote: Sat Nov 14, 2020 12:28 pm
Are you doing this on Windows or Linux? Only the Windows compile should expect the fmax.ini in the current directory; in Linux it expects it in /usr/local/share/games/fairymax/ . So perhaps it is using a different fmax.ini, with incompatible piece naming. It is difficult to guess what is going on without having a log that shows what the engine printed.

[Edit] This depends on how you compile: the Makefile will define the path to fmax.ini. If the fairymax.c file finds the macro FAIRYDIR undefined, it #defines it as ".".
It's on Linux and, indeed, I have several fmax.ini on my disk. :)

Code: Select all

[roland@localhost de2556f]$ locate fmax.ini
/home/roland/Documents/echecs/sources/fairymax/20130228/data/fmax.ini
/home/roland/Documents/echecs/sources/fairymax/de2556f/fmax.ini
/home/roland/Documents/echecs/sources/fairymax/de2556f/data/fmax.ini
/home/roland/Documents/echecs/sources/hgm/fairymax/fmax.ini
/home/roland/Documents/echecs/sources/micromax/fmax.ini
/usr/share/games/fairymax/fmax.ini
I made the following modification in the Makefile, but it doesn't seem to solve the issue:

Code: Select all

fairydir = .
But don't worry, I will find a solution, now that I know where the problem comes from. :wink:
Qui trop embrasse mal étreint.
User avatar
Roland Chastain
Posts: 680
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Hippocampe 0.4.2.0.1 (updated)

Post by Roland Chastain »

OliverBr wrote: Sat Nov 14, 2020 12:55 pm Congratulations, it looks as you actually have fixed the castling issue. The linux executable you provide in your link is running now against OliPow 2.2.3 and there are no issues until now.
Good! Thank you for the confirmation.
OliverBr wrote: Sat Nov 14, 2020 12:55 pm 3) Sometimes, I am having problems interrupting cutechess-cli when hippocampe is playing. It looks as it may having problems being interrupted (with "quit" or SIGNAL). It is quite important that engines interrupt their search when die GUI/manager wants them, too.
The "quit" command was already supported (if I am not mistaken) but, indeed, the signals were ignored. It should be fixed now. Please try this new version: hippocampe.zip
OliverBr wrote: Sat Nov 14, 2020 12:55 pm PS: Hippocampe's playing strength is really something. It is really the first and only stable engine in this "sector".
Yes.

For your other suggestions: yes, I will create a GitHub or GitLab repository. For the version number, let's say that previous versions were 0.4.2.0.1 beta. If the latest code is satisfying, it will be the official 0.4.2.0.1. :wink:
Qui trop embrasse mal étreint.
User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: List of bugfree, opensource Linux and MacOSX engines

Post by hgm »

Roland Chastain wrote: Sat Nov 14, 2020 2:00 pmBut don't worry, I will find a solution, now that I know where the problem comes from. :wink:
Well, run Fairy-Max from the command line, and type the following commands:

protover 2
new
level 40 5 0
time 10000
edit
#
Kh6
Pe7
c
Ke6
.
post
go

And tell me what you see. (The last 3 lines will do.)
User avatar
Roland Chastain
Posts: 680
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: List of bugfree, opensource Linux and MacOSX engines

Post by Roland Chastain »

hgm wrote: Sat Nov 14, 2020 2:35 pm Well, run Fairy-Max from the command line, and type the following commands:

protover 2
new
level 40 5 0
time 10000
edit
#
Kh6
Pe7
c
Ke6
.
post
go

And tell me what you see. (The last 3 lines will do.)
I didn't know the edit mode. Very powerful. :)

Here is the result.

Code: Select all

# times @ 3338852951: real=2034 cpu=2050
# promo = 7 (q) GT = 0
move e7e8q
Qui trop embrasse mal étreint.
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

hgm wrote: Sat Nov 14, 2020 2:35 pm
Roland Chastain wrote: Sat Nov 14, 2020 2:00 pmBut don't worry, I will find a solution, now that I know where the problem comes from. :wink:
Well, run Fairy-Max from the command line, and type the following commands:

protover 2
new
level 40 5 0
time 10000
edit
#
Kh6
Pe7
c
Ke6
.
post
go

And tell me what you see. (The last 3 lines will do.)
If you want to see what's happening on my system (last 3 lines):

Code: Select all

# times @ 3340377111: real=1503 cpu=1510
# promo = 7 (q) GT = 0
move e7e8q
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: List of bugfree, opensource Linux and MacOSX engines

Post by mvanthoor »

hgm wrote: Fri Nov 13, 2020 6:19 pm This is why you test against a number of engines; they each have their own 'secret weapons', so most of your weaknesses will be exposed in the test.
Fortunately my engine has no weaknesses whatsoever.
On the other hand, it doesn't have any strengths either.

With regard to chess theory, it knows nothing, except for piece values and a general idea of where to put them. It's as dumb as a doorknob :lol:

===

PS: Rustic should compile and play without issue under Linux, as long as you use Rust 1.46 or newer. At least, it has played a few hundred games without issue on Windows, under Cute Chess.

The build command after installing Rust (using the x86-64-unkown-linux-gnu toolchain) is:

"cargo build --release"

This will compile for a generic x64 CPU. If you want to compile explicitly for your own CPU, set this environment variable before compiling:

"RUSTFLAGS='-C target-cpu=native'"

For a debug build, just run:

"cargo build"

You'll find the binary in ./target/release or ./target/debug. That's basically all there is to compiling Rustic on any platform that supports the compiler.

(Even more general: rustc is a cross-compiler that can use a bunch of different toolchains. It can build an executable FOR any platform ON any other platform as long as the required minimum version of Rust and the toolchain of the target platform are available.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Hippocampe 0.4.2.0.1 (updated)

Post by OliverBr »

Roland Chastain wrote: Sat Nov 14, 2020 2:25 pm The "quit" command was already supported (if I am not mistaken) but, indeed, the signals were ignored. It should be fixed now. Please try this new version: hippocampe.zip
It work's! This is really great how quick you fix things.
OliverBr wrote: Sat Nov 14, 2020 12:55 pm PS: Hippocampe's playing strength is really something. It is really the first and only stable engine in this "sector".
Yes.
I testet it now for ELO against Quokka 2.1 (about 1450 ELO) and I would say hippocampe about ELO 950:

Code: Select all

   # PLAYER                  :  RATING  ERROR  POINTS  PLAYED   (%)    W    D    L  D(%)  CFS(%)
   1 UciEngine               :     596     44   916.5     947  96.8  886   61    0   6.4     100
   2 Hippocampe 0.4.2.0.1    :       0   ----    30.5     947   3.2    0   61  886   6.4     ---

White advantage = 0.74 +/- 3.37
Draw rate (equal opponents) = 99.98 % +/- 4.37
Note 1) UciEngine = Quokka 2.1. This happens when protocol is not done correctly, see also: https://github.com/mattbruv/Quokka/issues/3
A pity as Quokka is a nice engine.

Note 2) 600 points difference in H2H does not make 600 ELOs in general strength, it's typically less, rather 500. I don't know exactly why, but it's a general rule with every engine.

For your other suggestions: yes, I will create a GitHub or GitLab repository. For the version number, let's say that previous versions were 0.4.2.0.1 beta. If the latest code is satisfying, it will be the official 0.4.2.0.1. :wink:
Great:) But there is still a small issue:

Hippocampe did not win one single game against Quokka 2.1, but drew 61 times. All draws were 3-fold repetition.
It looks to me as hippocampe still has a small bug here in the detection of 3-fold repetition.

PS: Running now a h2h tourney against mchess2, which I know has a 3-fold repetition bug. A lot of 3-fold-repetitions happen-... Ah, hippocampe won a game now :)

PPS:

Code: Select all

   # PLAYER                  :  RATING  ERROR  POINTS  PLAYED   (%)    W    D    L  D(%)  CFS(%)
   1 mchess-1-02-00          :     308     22   810.0     951  85.2  678  264    9  27.8     100
   2 Hippocampe 0.4.2.0.1    :       0   ----   141.0     951  14.8    9  264  678  27.8     ---

White advantage = -28.52 +/- 10.73
Draw rate (equal opponents) = 63.20 % +/- 4.28
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: List of bugfree, opensource Linux and MacOSX engines

Post by hgm »

Roland Chastain wrote: Sat Nov 14, 2020 2:51 pmHere is the result.

Code: Select all

# times @ 3338852951: real=2034 cpu=2050
# promo = 7 (q) GT = 0
move e7e8q
Well, that obviously has a promotion suffix. So I don't understand how you could have had a problem. In theory it could be that the problem only occurs with black, so perhaps you can also try this:

protover 2
new
level 40 5 0
time 10000
black
edit
#
Kb3
c
Kh6
Pb2
.
post
go
User avatar
Roland Chastain
Posts: 680
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: List of bugfree, opensource Linux and MacOSX engines

Post by Roland Chastain »

hgm wrote: Sat Nov 14, 2020 4:45 pm In theory it could be that the problem only occurs with black, so perhaps you can also try this:

protover 2
new
level 40 5 0
time 10000
black
edit
#
Kb3
c
Kh6
Pb2
.
post
go
Thank you for your help. I confirm that the output is correct with black too.

Code: Select all

move b2b1q
In the meantime I uninstalled the "old" Fairy-Max that was... installed on my computer: now the problem seems to have disappeared.
Qui trop embrasse mal étreint.
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

Roland Chastain wrote: Sat Nov 14, 2020 5:17 pm In the meantime I uninstalled the "old" Fairy-Max that was... installed on my computer: now the problem seems to have disappeared.
:twisted:
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink