Linux friendly engines at all levels

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Volodya
Posts: 5
Joined: Wed Jan 23, 2019 11:25 am
Full name: Cédric Beaume

Linux friendly engines at all levels

Post by Volodya »

Dear all,

I am new to the world of chess programming. a hobby I took on for 3 reasons: (i) I have always enjoyed watching chess, (ii) to learn C++ and (iii) because I find the mathematical methods used fascinating (tree searches, neural networks, etc.).

I have spent quite some effort to learn from BlueFever Software and his engine Vice (http://bluefever.net/Downloads/ViceReadMe.html). This resource was in fact invaluable to my learning of both C++ and chess programming and I can't thank him enough for providing people like me with such material.

I am now starting from an engine similar to Vice (massively copied to be frank), I am looking forward to developing some improvements and quantify the progress made. As such, I would need to find sparing partners to test against. My set up is very basic. I have a few i5 Linux laptops with cutechess-cli installed on them. I have tried to find chess engines at all levels but ended up being unable to install most of them: either they are just provided in the form of a windows executable, or the makefile doesn't work (by either trying to fetch a file that doesn't exist or other issue that seems unfixable at my end).

So far, I have the following list of sparring partners with their Elo taken from CCRL (40/4 most of the time but I might have taken it from other sources):
-Stockfish 8 3496
-Alfil 12MT 3137 (Elo for v. 15.7)
-Crafty 25.2 3056
-Spike 1.2 3017 (Elo for v. 1.4)
-Demolito 20190106 2980 (Elo for v. 20181029)
-Gaviota 1.0 2941
-Glaurung 2.2 2914
-Fruit 2.3.1 2782
-Pawny 1.2 2767
-Arminius 20170101 2721 (Elo for v. 20181223)
-K2 0.87 2617 (Elo for v. 0.91)
-Hermann 2.7.1 2532 (Elo for v. 2.8)
-AICE 0.9.22 2338
-BikJump 2.01 2104
-Vice 1.1 2042 (Elo for v. 1.0)
-Heracles 0.6.16 1920
-TSCP 1.81b 1714
-Hippocampe 0.4.2 868 (Elo for v. 0.4.1)

As you can see, there is a big gap between Elo 2000 and ELo 2700 which is where my initial improvements will lie.

Do you have any suggestion of Linux friendly engine that I could download and use as sparring partners an

Thank you in advance,

V.
malu
Posts: 22
Joined: Tue Aug 28, 2018 3:44 pm
Location: Berlin, Germany
Full name: Maximilian Lupke

Re: Linux friendly engines at all levels

Post by malu »

Hey Volodya,

my engine Asymptote falls within that rating range. You can find the releases at https://github.com/malu/asymptote/releases.

It's not C/++ but Rust. But I do provide binaries of the releases. The release file naming before v0.4.2 might be a bit confusing: "-popcount" means no popcount and "+popcount" means popcount. Since v0.4.2 "-popcount" means popcount, otherwise no popcount.

The CCRL 40/4 ratings of each version are:
  • v0.4.2: tbd
  • v0.3: 2484
  • v0.2.0: 2314
  • v0.1.8: 2173
If you experience any problems with using Asymptote let me know. :)
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Linux friendly engines at all levels

Post by Ras »

Volodya wrote: Wed Jan 23, 2019 4:39 pmAs you can see, there is a big gap between Elo 2000 and ELo 2700 which is where my initial improvements will lie.

Do you have any suggestion of Linux friendly engine
The UCI version of the CT800 can be an option, see my signature. Current V1.33 is listed with 2275 Elo at CCRL 40/4, but you can also throttle the engine via UCI commands. It's written in C99, licenced under GPL, runs also under Linux, and there is a build script for Linux under source/application-uci/make_ct800_pc_x64.sh . GCC is required, no pre-made Linux binary supplied. A small opening book is compiled right into the engine.
Last edited by Ras on Wed Jan 23, 2019 5:13 pm, edited 1 time in total.
Rasmus Althoff
https://www.ct800.net
abulmo2
Posts: 433
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: Linux friendly engines at all levels

Post by abulmo2 »

My programs run under Linux (better than under Windows in fact):
- Dumb 1.0 to 1.3 about 2200 Elo (CCRL 40/4 scale)
- Amoeba 1.0 to 2.8: about 2600 to 3000 Elo on CCRL 40/4
Have fun with them.
Richard Delorme
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Linux friendly engines at all levels

Post by xr_a_y »

Weini is 2200
Minic is 2400
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Linux friendly engines at all levels

Post by elcabesa »

Vajolet is 3050 and you can download source and linux executable from github :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Linux friendly engines at all levels

Post by Evert »

Jazz and SjaakII should be in that range. You should probably also grab FairyMax (or microMax, I suppose it doesn’t really matter if you’re only interested in normal chess).

Might I suggest though that you use something like Stockfish or Komodo at time odds? You want to spend. CPU time on your program, afterall.
odomobo
Posts: 96
Joined: Fri Jul 06, 2018 1:09 am
Location: Chicago, IL
Full name: Josh Odom

Re: Linux friendly engines at all levels

Post by odomobo »

My engine GearHeart is around the strength of TSCP. It's supposed to be a reference implementation of a chess engine, with most of the same features as Vice, but written in a C++ style. It should build on linux, but you'll need boost and sparsehash libs (you should be able to apt-get them).
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Linux friendly engines at all levels

Post by jdart »

Arasan is on Linux (3080 on the CCRL 40/40 list)

--Jon
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: Linux friendly engines at all levels

Post by jorose »

Winter is developed in C++ on Linux and relies only on the standard template library. There is a nice progression curve from 2450 to roughly 2800 over the course of the versions from 0.1 to 0.4.
I never released any Linux binaries, but it should compile on any 64bit system by calling either "make" or "make no_bmi", depending on whether or not your processor supports the BMI2 instruction set.

https://github.com/rosenthj/Winter/releases
-Jonathan