Page 1 of 2

tomitankChess 2.0

Posted: Wed Jul 11, 2018 7:38 pm
by tomitank
Hi all!


The new version of the world's strongest JavaScript engine is out.

Two versions available:
1. Blocker & Beyond attacks (better on my i3-6100 desktop pc)
2. Magic BitBoard attacks (better on my i3-4005U laptop)

I need the feedback so I can decide which one is the better. Thanks in advance!!


What has changed?
--------------------------------------------------------

1.) tomitankChess 2.0 is the first full BitBoard JavaScript chess engine on the World

- around 20 elo weaker, because in JavaScript everything has to be done twice.
JavaScript don't have 64 bits int: so the Magic BitBoard (and everything else) very slow

- Nonetheless, I tried to write a clean and understandable code. I hope, that this succeeded :)

- added check evasions code


2.) Evaluation

- added threats for all pieces

- added new passed pawn eval

- new King Safety (bigger and pawn-safe king ring)

- new non-linear and pawn-safe mobility (Same in mg and eg)


3.) Search

- better aspiration window

- a bit better delta pruning

- Don't give back the "upper bounds" moves

- pre-calculate and transmit the "gives check"


4.) Others

- added pawn hash (there is no elo gain yet, but it will be useful for a more complex pawn evaluation.)

- Typed Arrays Hash table for better memory usage

- added "Hash option" (default 32 min 1 max 256)

- added "eval" command (show the static evaluation)

- lots of little things

--------------------------------------------------------

All tuned with manually and only with ~2000-5000 games with very fast time control and fix depth (8).

I'm not a time-millionaire :(

--------------------------------------------------------

Estimated strength: ~100 elo stronger than previous version. (near to Fruit 2.1)

In C language, with 1 core, it would be ~2850 elo. On 4 core it would be around ~2950 elo. (in 64 bit version)

--------------------------------------------------------

Future improvements (in progress):
- better hash replacement scheme
- better time management
- tuning search parameters
- tuning eval parameters (maybe with Texel's Tuning Method)

--------------------------------------------------------

tomitankChess (with node.js) run in Arena, in WinBoard and in Cutehess as well.

I would like to thank Fabien for his help.

Have fun with tomitankChess!

Best Regards,

Tamás Kuzmics

Link: https://github.com/tomitank/tomitankChess/releases

Re: tomitankChess 2.0

Posted: Wed Jul 11, 2018 8:07 pm
by tomitank
SzG wrote: Wed Jul 11, 2018 8:02 pm Thanks Tamás!

At the moment I am watching TV (guess what!) so I think you'll have to wait until tomorrow for my speed tests.

Üdv: Gábor
Hi Gábor!

I have time :)

-Tamás

Re: tomitankChess 2.0

Posted: Wed Jul 11, 2018 10:40 pm
by Graham Banks
Thanks Tamas. Nice progress. :)

Re: tomitankChess 2.0

Posted: Wed Jul 11, 2018 11:07 pm
by tomitank
Graham Banks wrote: Wed Jul 11, 2018 10:40 pm Thanks Tamas. Nice progress. :)
Thank you Graham!

If you have time to deal with the above question, please let me know your results :)

And here I would like to thank you for your incredible work :!:

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 1:49 am
by CMCanavessi
Nice, thanx for the new version! I will include it in next season's CCLS if you don't mind. Should be a solid performer in the Entry League :mrgreen:

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 8:17 am
by mclane
how to run a java engine in arena. is there an adapter or something alike ?

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 8:57 am
by tomitank
mclane wrote: Thu Jul 12, 2018 8:17 am how to run a java engine in arena.
Hi!
This is JavaScript not Java :) JavaScript running direct in web browser. Here is a link: http://mobil.tanky.hu
JavaScript is ~5x slower than "C" language.
mclane wrote: Thu Jul 12, 2018 8:17 am is there an adapter or something alike ?
tomitankChess (with node.js) run in Arena, in WinBoard and in Cutechess as well.

Example for Arena GUI with node.js:
1.) Download Node.js link: https://nodejs.org/en/
2.) Open Arena GUI -> Engine Management
3.) Comand line: direct acces to node.exe (C:\Program Files\nodejs\node.exe)
4.) Command line parameters: direct acces to tomitankChess.js (C:\Program Files\nodejs\tomitankChessUCI.js)

Image:

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 9:20 am
by tomitank
CMCanavessi wrote: Thu Jul 12, 2018 1:49 am Nice, thanx for the new version! I will include it in next season's CCLS if you don't mind. Should be a solid performer in the Entry League :mrgreen:
Thank You! :)

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 9:22 am
by tomitank
mclane wrote: Thu Jul 12, 2018 8:17 am how to run a java engine in arena. is there an adapter or something alike ?
Please download again the 2.0 release. I added "USAGE" directory too.

Re: tomitankChess 2.0

Posted: Thu Jul 12, 2018 9:27 am
by tomitank
SzG wrote: Thu Jul 12, 2018 9:07 am Unfortunately the engine has no analysis output so it is hard to determeine which version is faster. On my i5-4690K the magic version seems a bit faster but I'm not sure.
I measured the difference with a short time control..

The difference is about 10 elo. But I got reverse results on two machines... :(
SzG wrote: Thu Jul 12, 2018 9:07 am Do the two versions play differently (eval, search)?
No, same.