Chesser 2.0 is out!

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

Moderators: hgm, Rebel, chrisw

User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Chesser 2.0 is out!

Post by vittyvirus »

Chesser 2.0 is out! Here's the link:
http://sourceforge.net/p/chesser/

This version is around ~2000 (scores 70-100% against FMax and 50-70% against CuteChess) in lightning controls. It can gain dramatic strength in relatively longer controls like 40/4 (sometimes ~2200!) Although the earlier versions could do scores as high as 50% against Buzz (~2250), but this version doesn't. I've ignored that thing for now.

Here are some new things:
=> Added hardware instruction support (see bitops.cpp).
Perft is now 30% faster, and so is the search. Thanks to Jose Velosca for advising!
And for people who wish to compile it, make sure if you've a 64-bit compiler, you comment out IS32BIT in file bitops.cpp.
3. Some general speedups... like speeding up the heavily used isOtherKingAttacked() etc.
4. Improved evaluation. Cleaned up some code.
5. Slightly Improved makemove.
6. Added Aspirational Windows. But I failed to add LMR (due to the search taking both
ply and depth as argument. depth is not a problem, but what ply is depth-2?).
I've successfully implemented some of my rediscovered ideas (like using Smaller
Window Size when at relatively higher depth).
Just for this, I had to re-understand alpha-beta, and PVS, and Null-Move pruning...
7. Improved Aspirational Windows (thank you Stockfish!).
For example, before 8 plies, WindowSize of 40 is used, and after that, WindowSize of 30 is used. This slightly improves the performance.

I've put my effort in Chesser as much as I could. Although it has only two public versions: v1.9 and this one, there are _thirteen_ private versions, three of them being my failed tries to speed up, and the other ten the normal versions. Every version was a slight improvement. I've been working on Chesser for many months now. I think now it's time to write my own engine. But I must admit I learned a lot from Chesser:

(i) Strength of the engine doesn't matter to me now, as much as clean code does. Strength comes _almost_ automatically with concise and clean code. Chesser is a very good example of unclean code and problems caused by it. So I'm writing clean code as much as I can in Yaka, and in my other projects (i.e Tantray Pi, Tratth Factorial)
(ii) I learned how search _really_ works ;) . This was the steepest curve of my chess programming experience (with magic bitboards, which I still don't understand enough ;) ). I've heard people saying the same.
(iii) Only speed doesn't matter. When I heard people saying Komodo beats Stockfish with 200 KNPS, I was quite astonished. Chesser is also a kind of engine that has a very good evaluation function, mainly due to hand-crafted psq tables. However, Chesser is not *that* good tactically. For instance, a typical Chesser vs. Buzz game goes like this: both sides are equal... Chesser showing +0.30, Buzz showing -0.01... Chesser showing +0.70, Buzz showing -0.11... Chesser a pawn up... Chesser makes decisive blunder and its all over. This happens almost 75% of the time, seriously! So, I won't be that much surprised to see Chesser rated 2200+ in 40/40. Ofc, what ever I'm saying is theoretical...
(iv) Good chess programming needs ideas... Ideas might not necessarily mean something you're gonna publish a paper on...

Sorry for a long post... Hope you have a look at LMR and Aspirational Windows of Chesser.

Happy Programming and Happy Testing!
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: Chesser 2.0 is out!

Post by swami »

I installed the engine as UCI in Arena 3.5, It gets loaded as "Chesser 2 by Evgeni Korniloff (Russia)", who is this?

Was there a mix up in binary, or is something wrong with Arena with respect to the name tag?
op12no2
Posts: 490
Joined: Tue Feb 04, 2014 12:25 pm
Full name: Colin Jenkins

Re: Chesser 2.0 is out!

Post by op12no2 »

vittyvirus wrote:But I failed to add LMR (due to the search taking both
ply and depth as argument. depth is not a problem, but what ply is depth-2?).
Ply is the distance from the root so as moves are made it's always just +1 regardless of the depth any particular move is going to be searched. So when using LMR, compute a sensible R and search (Ply+1, Depth-1-R).

If you think of Depth as "The depth that I'm going to search this move to" and not "the depth I'm at", it's independence from Ply is clearer.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Chesser 2.0 is out!

Post by cdani »

Congratulations!!
Daniel Anulliero
Posts: 759
Joined: Fri Jan 04, 2013 4:55 pm
Location: Nice

Re: Chesser 2.0 is out!

Post by Daniel Anulliero »

swami wrote:I installed the engine as UCI in Arena 3.5, It gets loaded as "Chesser 2 by Evgeni Korniloff (Russia)", who is this?

Was there a mix up in binary, or is something wrong with Arena with respect to the name tag?
He's Obender programmer
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Chesser 2.0 is out!

Post by Guenther »

Daniel Anulliero wrote:
swami wrote:I installed the engine as UCI in Arena 3.5, It gets loaded as "Chesser 2 by Evgeni Korniloff (Russia)", who is this?

Was there a mix up in binary, or is something wrong with Arena with respect to the name tag?
He's Obender programmer
And a few others not so different. Obender started as QChess and he later simultaneously had a derivate of Obender called 'ChessOne',
but it seems it was renamed to simply 'Chess'. Probably this is why Arena got confused.

http://www.sdchess.ru/download_engines.htm

Guenther
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Chesser 2.0 is out!

Post by velmarin »

Congrats Syed.

If you are going to continue with Chesser can interest you document yourself with engine Vajolet by Marco Belli,
engine in early versions derived winglet, latest versions quite changed but still it sees its structure.
Marco Belli has done a great job, change to UCI and development it to a almost 2900 C.C.R.L.. 8-)
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Chesser 2.0 is out!

Post by supersharp77 »

Chesser crashes (starts then shuts down quickly)........w32 xp........AR
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Chesser 2.0 is out!

Post by vittyvirus »

supersharp77 wrote:Chesser crashes (starts then shuts down quickly)........w32 xp........AR
Which GUI?