jromang / picochess

GNU General Public License v3.0
74 stars 55 forks source link

Clean Up PicoChess Engine List #187

Closed djdekker closed 8 years ago

djdekker commented 8 years ago

I think we should clean up the engines collection in /opt/picochess/engines/armv7l. Currently it contains two versions of Maverick and two versions of Zurichess, four versions of Stockfish, and even engines that don't seem to work correctly (like Claudia). That is not logical.

Which engines would you really like to have? For my part, I'm really looking forward to Cinnamon and especially to Rodent II with its personalities! :)

Here's a list of engines that I have installed or had installed previously (when Jim Ablett's site was still up). It could serve as a starting point for discussion.

Engine name Developer License URL Compile Notes
Stockfish 7 T. Romstad, M. Costalba, J. Kiiski, G. Linscott GPLv3 https://stockfishchess.org/download/ compiled from source
Stockfish Human Tord Romstad, Marco Costalba and Joona Kiiski GPLv3 https://github.com/jromang/Stockfish/tree/human_player compiled from source
Stockfish Beginner ? ? https://github.com/jromang/picochess/tree/master/engines/armv7l binary by ...? what is this engine exactly??
Arasan 19.0.1 Jon Dart MIT http://www.arasanchess.org/downld.shtml compiled from source
BetaFish 1.2.1 Mohamed Nayeem GPLv3 https://github.com/raimarHD/arm_chess_engines compiled from source
Cinnamon 2.0 20160502 Giuseppe Cannella LGPLv3 https://github.com/gekomad/Cinnamon compiled from source the source code at gekomad works, but the fork at RaimarHD contains errors
Deep Saros 2.3f Roberto Munter GPLv3 https://github.com/raimarHD/arm_chess_engines/tree/master/EnginesSource/Saros/data compiled from source version number is unclear: 0.9 or 2.3f?
Donna 4.0 Michael Dvorkin http://bit.ly/1TSFnP9 https://github.com/michaeldv/donna compiled from source
Floyd 0.8 Marcel van Kervinck http://bit.ly/1RljdDe https://marcelk.net/floyd/ binary by author
GreKo 2015 Vladimir Medvedev ? http://greko.su/index_en.html compiled from source
Gull 3 Vadim Demichev Public Domain https://sourceforge.net/projects/gullchess/files/ binary by Jim Ablett?
Hakkapeliitta 3.0 Mikko Aarnos GPLv3 https://github.com/mAarnos/Hakkapeliitta compiled from source
Komodo BeeKay-1028 JA ? ? http://jimablett.net63.net binary by Jim Ablett?
Laser 1.1beta Jeffrey An and Michael An GPLv3 https://github.com/jeffreyan11/uci-chess-engine binary by Jim Ablett?
Maverick 1.5 Steve Maughan ? http://www.chessprogramming.net/downloads/ binary by Jim Ablett?
Protector 1.9 Raimund Heid GPLv3 https://sourceforge.net/projects/protector/ binary by Jim Ablett? doubts about the correct functioning of this engine on RPi
RedQueen 1.1.98 Ben-Hur Carlos Vieira Langoni Junior GPLv3 http://redqueenchess.sourceforge.net binary by Jim Ablett?
Rodent II 0.9.7 Pawel Koziol GPLv3 https://github.com/nescitus/Rodent_II compiled from source
Sayuri 2016.05.07 Hironori Ishibashi MIT https://github.com/MetalPhaeton/sayuri compiled from source
Senpai 1.0 Fabien Letouzey GPL http://www.chessprogramming.net/senpai/ compiled from source
Sjaak II 1.3.0 Evert Glebbeek GPLv3 http://www.eglebbk.dds.nl/program/chess-download.html binary by Jim Ablett?
Texel 1.0.5 Peter Österlund ? http://web.comhem.se/petero2home/javachess/ compiled from source source is on the CuckooChess website
Toga II 280613 Thomas Gaksch? GPLv3 ? (but see http://bit.ly/1TSGPkz) ? Toga II 1.3.1 is bundled with Scid vs. PC, which can be compiled on RPi
Zurichess Graubünden Alexandru Mosoi http://bit.ly/2447rnV https://bitbucket.org/zurichess/zurichess compiled from source
djdekker commented 8 years ago

Cheese Chess 1.8 by Patrice Duhamel may be added. It's an arm-32 binary provided by the author. I can confirm that it works correctly with PicoChess on RPi3. License: see zip file. Download: http://cheesechess.free.fr/en/download.html

I compiled K2 v.0.83 by Sergey Meus, but this engine becomes unresponsive when leaving the opening book. Perhaps someone else can give it a try? License: GPLv2. Download: https://github.com/serg-meus/k2

I also compiled Claudia 0.5beta (source: https://drive.google.com/file/d/0B8VfbEDCOGEzZVI1VDBNZW5TenM/view?pref=2&pli=1). It still does not work correctly, just like Claudia 0.2 which is on the PicoChess image. It hangs when leaving the opening book.

sshivaji commented 8 years ago

It's now some work to redo the image, can you submit a pull request or better yet provide a working image with these engines? :)

Much thx in advance

On May 25, 2016, at 12:45 PM, DJ Dekker notifications@github.com wrote:

Cheese Chess 1.8 by Patrice Duhamel may be added. It's an arm-32 binary provided by the author. I can confirm that it works correctly with PicoChess on RPi3. License: see zip file. Download: http://cheesechess.free.fr/en/download.html

I compiled K2 v.0.83 by Sergey Meus, but this engine becomes unresponsive when leaving the opening book. Perhaps someone else can give it a try? License: GPLv2. Download: https://github.com/serg-meus/k2

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub

djdekker commented 8 years ago

I've just made a new image with PicoChess v0.65 and the 26 engines listed below (I moved the current engines to a separate folder). The image is based on Raspbian Jessie Lite. It is so small that it should fit on a 2 GB card. The image can be downloaded here: https://drive.google.com/open?id=0B9qWkOu8LbC8V1FGbFhpMk1hTk0

Questions concerning the engines:

OPeterO commented 8 years ago

Hello,

  1. I would order the engines by playing strengh! From weak to strong - or from stong to weak. Personally I would prefer from weak to strong.
  2. I would add 5 really weak engines: One with ~ 1600 elo, one with ~1700 elo, one with ~1800 elo, one with ~1900 elo, one with ~2000 elo. So the everage player can play - and win sometimes against the engine. With engines ordered by strength you could start with the weakest - if you win you go to the next (stronger one).

Question: Does the image - above mentioned - work with the Raspberry 3 ?

Just my opinion

Peter

djdekker commented 8 years ago

Hi Peter,

Thank you for your suggestion! It won't be easy to find any engine below 1800 Elo at all... This will probably have to remain a matter of choosing a lower level.

Yes, the image works with Raspberry Pi 3 as well as Raspberry Pi 2. Please note that there is no GUI (no X installed), so you'll have to control the Pi from the command line.

DJ

OPeterO commented 8 years ago

Hello,

JFresh 0.1a - elo 1539 Redqueen 0.4 elo 1704 Rocinante 2.0 - elo 1724 Robicide elo 1764 Sissa 2.0 elo 1869 Claudia 0.2 elo 1913 Napoleon elo 1923 Vice 1.0 elo 1947 Faile 1.4 elo 2016

Just suggestions

Peter

OPeterO commented 8 years ago

Hello,

I have found this list: http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details+(text)&eng=Aldebaran%200.7.0#Aldebaran_0_7_0

I think this list of engines is very interesting.

Peter

djdekker commented 8 years ago

Hi Peter,

Those are interesting finds. Thank you for sharing them!

Please keep in mind that all engines need to meet at least the following conditions: [1] use the UCI protocol, not Winboard; [2] be open source; [3] be compilable on armv6; [4] preferably written in C or C++

I tried to compile the engines from your list.

  1. JFresh has been followed up by Spartan 1.0, which seems to work well. :smile: It's not too strong an engine (with moves like 5... Qxe2+ in this position rnb1kbnr/ppp2ppp/3p4/4P3/4q3/6P1/PPPPQ2P/RNB1KBNR b KQkq - 1 5). Tends to lose on time in blitz games.
  2. RedQueen - is in the PicoChess distribution.
  3. Rocinante - I could not compile this one on armv6.
  4. Robocide - seems to work ok! :smile:
  5. Sissa - can't find source code.
  6. Claudia - can't find source code.
  7. Napoleon - needs apt-get install libboost-dev. Once compiled, seems to work ok! :smile:
  8. Vice - seems to work ok! :smile:
  9. Faile - is not an UCI engine.
OPeterO commented 8 years ago

Hello,

Wow - so fast! Great! I looked at the link and found some other engines.

Whats about: RumleMince 1.030 elo 1667 Heavychess 0.13 elo 1817 Smash 1.0.3 elo 1921 Rival 1.18 elo 1948 Micro-Max 4.8 elo 1948

Peter

OPeterO commented 8 years ago

Hello,

My last one: Eia 0.24 elo 2000

Peter

OPeterO commented 8 years ago

Hello,

I think I have found the source code of Claudia https://github.com/antoniogarro/Claudia

And here is the WEEEEEEEAAAAAKEST engine I could find so far! Purple Haze 2.0 elo 1491

I hope this were not to much engines!

Peter

djdekker commented 8 years ago

Just a small progress report on the "weak" engines.

The compiles of Claudia 0.5, Napoleon, Robocide and Vice 1.1 are running well so far. Spartan 1.0 needs to be run as sudo if it's to be run from /opt/picochess/engines/armv7l, so I removed that engine. Here is a table of a 4 engine tournament (50 games, 5 min per game, ponder off, book performance.bin):

engine Robo Napo Vice Cinn total
1 Robocide x 30 36.5 35.5 102
2 Napoleon 20 x 25.5 33 78.5
3 Vice 1.1 13.5 24.5 x 25 63
4 Cinnamon 2.0 14.5 17 25 x 56.5

None of the three working "new" engines seem to play weaker than the weakest engine we had so far (Cinnamon). But... Claudia 0.5 is playing at the moment and is getting beaten by every engine, so it might bring up the rear after all.

Concerning the other engines mentioned by @OPeterO:

OPeterO commented 8 years ago

Hello,

Thanks for your hard work! Surprising results. My wife may never read this ... but it seems there is a new wife in my life - Claudia :-) Is it possible to estimate the elo strengh of the engines after the tournament?

Petet

OPeterO commented 8 years ago

Hello,

What do you think about MadChess?

Peter

djdekker commented 8 years ago

It requires .NET, so it seems Windows-only...

djdekker commented 8 years ago

I'd like to propose to have the following eight engines. Not too many engines, but still a nice variety of playing styles and strengths. All of them can be built from source. And being eight in total, all of them are selectable in PicoChess with bQ a6-h6.

  1. Stockfish 7
  2. Stockfish Human
  3. Texel 1.06
  4. Arasan 19.0.1
  5. Zurichess skills
  6. Floyd x8399a075
  7. Cinnamon 2.0
  8. Sayuri 2016.07.13

See picochess_engines.pdf for details.

djdekker commented 8 years ago

Just finished a short 8 engine, 5 min/game tournament on RPi3. Each engine was set to its own preferred hash table size, maximum level, 4 threads if available, ponder off and opening book performance.bin. Stockfish 7 Elo anchored to 3100, other ratings based on calculations with ordo.

Engine 1 2 3 4 5 6 7 8 Score Elo
1 Stockfish 7 x 8 9.5 9 10 10 10 9.5 66 3100
2 Texel 2 x 6.5 8.5 9.5 9 10 10 55.5 2850
3 Arasan 0.5 3.5 x 5.5 10 10 10 10 49.5 2750
4 Stf Human 1 1.5 4.5 x 8 8.5 10 10 43.5 2650
5 Zurichess 0 0.5 0 2 x 8.5 9 10 30 2350
6 Floyd 0 1 0 1.5 1.5 x 9 9.5 22.5 2200
7 Cinnamon 0 0 0 0 1 1 x 8.5 10.5 1900
8 Sayuri 0.5 0 0 0 0 0.5 1.5 x 2.5 1650
LocutusOfPenguin commented 8 years ago

After v0.72 update, can this issue be closed?