Barbarossa 0.3.0 released

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

Moderators: hgm, Rebel, chrisw

nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Barbarossa 0.3.0 released

Post by nionita »

Hi all,

I just released the new version 0.3.0 of my UCI engine, written in pure Haskell, Barbarossa.

The engine is open source:

https://github.com/nionita/Barbarossa

I created binaries for Win32, Win64 with/without SSE4.2, and Linux with/without SSE4.2:

https://github.com/nionita/Barbarossa/r ... tag/v0.3.0

It is about 200 ELO points better in self play than version 0.2.0.

Enjoy!
Charly
Posts: 1091
Joined: Wed Jul 23, 2014 4:30 pm
Location: Bretagne

Re: Barbarossa 0.3.0 released

Post by Charly »

Hi,

Many thanks for your engine ! It will replace Barbarossa 0.2.0 x64, already qualified for my leagues, in the "promotion 6" in the next cycle.

Could you tell us about the changes you made ?

Anyway, congratulations for the + 200 elo points !
Brittany from the sky :
https://youtu.be/nR9eU_tVbxE
User avatar
Marek Soszynski
Posts: 582
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Barbarossa 0.3.0 released

Post by Marek Soszynski »

Thanks.

Barbarossa-0.3.0-linux64 works fine in analysis mode.
Marek Soszynski
User avatar
Sylwy
Posts: 4469
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Barbarossa 0.3.0 released

Post by Sylwy »

nionita wrote:Hi all,

I just released the new version 0.3.0 of my UCI engine, written in pure Haskell, Barbarossa.

The engine is open source:

https://github.com/nionita/Barbarossa

I created binaries for Win32, Win64 with/without SSE4.2, and Linux with/without SSE4.2:

https://github.com/nionita/Barbarossa/r ... tag/v0.3.0

It is about 200 ELO points better in self play than version 0.2.0.

Enjoy!
THANK YOU A LOT, NICU !

Saptamana asta voi testa versiunea pe 32 de biti ! Incantat sa vad ca dezvolti o engina intr-un limbaj inalt functional care manipuleaza functii si nu date, asa cum este Haskell ! Mai am trei engine scrise in Haskell (Haskak, Fianchetto si Silly Chess) - toate absolut primitive. Abulafia este doar precursorul lui Barbarossa !
S-auzim numai de bine !

SilvianR :wink:
User avatar
Ajedrecista
Posts: 1971
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Barbarossa 0.3.0 released.

Post by Ajedrecista »

Hello Gabor:
SzG wrote:Hi Nicu,

Approximately how strong was 0.2.0? I have references only of 0.1.0.
Please take a look here:

Release Version 0.2.0
nionita/Barbarossa wrote:Version 0.2.0

nionita released this on 22 Feb · [/b]60 commits[/b] to master since this release

Many improvements in evaluation and search.
This version is about 250 ELO better than previous released version 0.1.0.

The precompiled binaries are 64 bit with popcount (SSE4.2) for Windows and Linux, and 32 bit for Windows.

Downloads

[...]
It could be around 2300 CCRL @40/4 if I am not wrong.

@Nicu: congratulations for other big Elo jump!

Regards from Spain.

Ajedrecista.
nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Re: Barbarossa 0.3.0 released

Post by nionita »

SzG wrote:Hi Nicu,

Approximately how strong was 0.2.0? I have references only of 0.1.0.
Hi Gabor,

I have only results from self play. It was itself about 200 ELO better than 0.1.0.

Unfortunately 0.2.0 was never tested by others, like CCRL (or the results are not public).
nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Re: Barbarossa 0.3.0 released.

Post by nionita »

Thanks! (Ah, it was even better!)

I hope this will be confirmed by the neutral tests as well.
nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Re: Barbarossa 0.3.0 released

Post by nionita »

Multumesc Ruxy! :-)
User avatar
Graham Banks
Posts: 41477
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Barbarossa 0.3.0 released

Post by Graham Banks »

nionita wrote:
SzG wrote:Hi Nicu,

Approximately how strong was 0.2.0? I have references only of 0.1.0.
Hi Gabor,

I have only results from self play. It was itself about 200 ELO better than 0.1.0.

Unfortunately 0.2.0 was never tested by others, like CCRL (or the results are not public).
I've started testing Barbarossa 0.3.0 64-bit for CCRL 40/40.

Just playing a few 10 game matches first to get an idea of its strength.
You can watch these in TLCV port 16076 if you're interested.
gbanksnz at gmail.com
nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Re: Barbarossa 0.3.0 released

Post by nionita »

Charly wrote:Hi,

Many thanks for your engine ! It will replace Barbarossa 0.2.0 x64, already qualified for my leagues, in the "promotion 6" in the next cycle.

Could you tell us about the changes you made ?

Anyway, congratulations for the + 200 elo points !
Ok, I was lazy, but I think you're right, better to document the changes, although they are somehow in the git logs, but are hard to pick up.

I updated the release description, and here they are also, for the posterity :-)

Changes from version 0.2.0 in reverse order:
- Piece values & advanced pawns inspired by a HGM comment
- King safety shift (more weight)
- Variable LMR, more aggressive, LMR table: smoother with doubles
- King safety only when attacking queen present, small speedup
- Square attacks in opponent half get bonus; tuned
- Less time for beginning plys
- Correct castles: only squares passed by the king can't be in check
- Correct promotion captures: were generated twice
- Correct 32 bin overflow in passed pawn evaluation
- Small king safety change, few compile warnings
- Eval rewrite for faster calculation
- State monad changes: state is strict
- Eval tuned by self play
- Smaller time factor
- Variable null move reduction
- Material values "inspired" by a comment of Larry Kaufman
- Simplify futility pruned moves
- Futility pruning with variable margin
- Futility prunning also in the alpha-beta part (last 2 plys)
- Correct killer move when null move threat
- Moves sort all time
- Loosing captures last
- Correct node types
- Bad captures at the end
- Backward pawns implemented & tuned
- No pre-sorting of the capture fields in MVVLVA
- Correct capture sorting (MVVLVA)
- Technical optimisation of SEE + some cleanup
- Further compiler warnings