Page 1 of 3

Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 10:00 am
by Exacto
Hello,

Thanks to a few people on here for testing out Exacto 0.e. While it shares the same name as my last program, Exacto 0.d, this new version is really a brand new version. Is there anything I need to do to get the new version onto the CCRL?

Anyway, here's the website. It contains a list of the features:

http://math.berkeley.edu/~sparks/exacto/

The source code is included and covered under a BSD type license (but use it at your own risk - I am neither a chess player nor a programmer). The engine is meant to use with WinBoard/XBoard/Arena.

Best,
Dan

Re: Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 10:34 am
by Graham Banks
Exacto wrote:Hello,

Thanks to a few people on here for testing out Exacto 0.e. While it shares the same name as my last program, Exacto 0.d, this new version is really a brand new version. Is there anything I need to do to get the new version onto the CCRL?

Anyway, here's the website. It contains a list of the features:

http://math.berkeley.edu/~sparks/exacto/

The source code is included and covered under a BSD type license (but use it at your own risk - I am neither a chess player nor a programmer). The engine is meant to use with WinBoard/XBoard/Arena.

Best,
Dan
Could you give us a rough idea of some engines that you feel are around the same strength?

Graham.

Re: Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 12:08 pm
by Adam Hair
Exacto wrote:Is there anything I need to do to get the new version onto the CCRL?
You do not have to do anything. I will test it for the 40/4 list.

Re: Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 12:40 pm
by Sylwy
Exacto wrote:Hello,

Thanks to a few people on here for testing out Exacto 0.e. While it shares the same name as my last program, Exacto 0.d, this new version is really a brand new version. :lol: Is there anything I need to do :lol: to get the new version onto the CCRL?

Anyway, here's the website. It contains a list of the features:

http://math.berkeley.edu/~sparks/exacto/

The source code is included and covered under a BSD type license (but use it at your own risk - I am neither a chess player nor a programmer). The engine is meant to use with WinBoard/XBoard/Arena.

Best,
Dan
Doesn't work under Uncle XP !!! :cry:

SilvianR :wink:

Re: Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 4:46 pm
by Gerd Isenberg
Exacto wrote:Hello,

Thanks to a few people on here for testing out Exacto 0.e. While it shares the same name as my last program, Exacto 0.d, this new version is really a brand new version. Is there anything I need to do to get the new version onto the CCRL?

Anyway, here's the website. It contains a list of the features:

http://math.berkeley.edu/~sparks/exacto/

The source code is included and covered under a BSD type license (but use it at your own risk - I am neither a chess player nor a programmer). The engine is meant to use with WinBoard/XBoard/Arena.

Best,
Dan
Hi Dan,

you may easily quarter your plain magic tables sizes, i.e. 2MB instead of 8MB for rooks, if you allow constructive index collisions, where redundant outer one-bits of the occupancy may share the same attack set and entry.

Gerd

Re: Engine release Exacto 0.e

Posted: Mon Mar 10, 2014 5:18 pm
by Gerd Isenberg
Gerd Isenberg wrote:Hi Dan,

you may easily quarter your plain magic tables sizes, i.e. 2MB instead of 8MB for rooks, if you allow constructive index collisions, where redundant outer one-bits of the occupancy may share the same attack set and entry.

Gerd
oups, you already do that...

Code: Select all

    if(rook_moves[square][quickhash(x, magic, bits)] == all_set){
        // A new hash entry
        rook_moves[square][quickhash(x, magic, bits)] = y;
    } else if(rook_moves[square][quickhash(x, magic, bits)] != y) {
        // A bad collision
Then why not 12/9 rook/bishop bits only?

Re: Engine release Exacto 0.e

Posted: Tue Mar 11, 2014 12:30 am
by Exacto
Thanks guys!

- The engines I test against are usually Clarabit, Firefly, Joker, Adam, Neurosis, and a few others between 2200-2330 on CCRL. I estimate the rating for Exacto 0.e should be higher than 2100, but lower than 2200. (Compared to the CCRL ratings.)

- This version is supposed to be called 0.e. I guess I didn't put that in the title of the executable, but it does say which version it is when you boot it up.
[EDIT: Oh! You probably mean like... 1.0 instead of something so consecutive... yeah, that might have been a good call.]

- It doesn't work on XP at the moment, which is something I plan to address in the next version. Unfortunately, the program searches different game trees when compiled in GCC vs Microsoft, but if I can sort that out, I'll compile in Mingw-w32 for people on XP.

- As far as my magics - good eye catching that. Yes, I allow constructive collisions. But, for whatever reason, my code wasn't able to generate magics for smaller tables. It would just sit their looping seemingly indefinitely (20-30 minutes, until I closed it and decided to just use 14/11 bit magics).

Re: Engine release Exacto 0.e

Posted: Tue Mar 11, 2014 6:35 am
by Gerd Isenberg
Exacto wrote: - As far as my magics - good eye catching that. Yes, I allow constructive collisions. But, for whatever reason, my code wasn't able to generate magics for smaller tables. It would just sit their looping seemingly indefinitely (20-30 minutes, until I closed it and decided to just use 14/11 bit magics).
I guess your randoms are not sparse enough. See this proposal by Tord Romstad:

Code: Select all

uint64 random_uint64() {
  uint64 u1, u2, u3, u4;
  u1 = (uint64)(random()) & 0xFFFF; u2 = (uint64)(random()) & 0xFFFF;
  u3 = (uint64)(random()) & 0xFFFF; u4 = (uint64)(random()) & 0xFFFF;
  return u1 | (u2 << 16) | (u3 << 32) | (u4 << 48);
}

uint64 random_uint64_fewbits() {
  return random_uint64() & random_uint64() & random_uint64();
}

Re: Engine release Exacto 0.e

Posted: Wed Mar 12, 2014 3:54 am
by Exacto
Ruxy - following up on the XP issue. I've made a separate set of compiles for XP (32 bit) and Macintosh (64 bit) platforms through GCC. An important note: in order to switch into GCC I had to track down and squash a bug, which means that this version may search slightly different trees than 0.e. On my website (link above) it is listed as 0.e.x.

But, 0.e.x is not a "release," rather, it's just something for people on XP32 / Mac to be able to play against my engine. So, if testing, please test 0.e on Win64.

[Future versions should be distributed with identical XP32(GCC)/Win64(MS)/Mac64(GCC) compiles.]

Re: Engine release Exacto 0.e

Posted: Wed Mar 12, 2014 10:18 am
by Norbert Raimund Leisner
Exacto 0.ex-win32 crashed under Arena 3.5 and WinBoard 4.7.3a with an identical diagnostic error by Windows:

error in application-the command in 0x7c939f07" refers to storage in "0x00000fa0"- the application "read" could not be executed from the storage-click on "ok" to finish the program

(annotation: text was originally in German because I use XP SP3-32 Bit
Deutsche Edition)

A complete new installation of Arena / WinBoard did not solve this problem.

Arena ~ http://www.playwitharena.com/?Download
WinBoard ~ http://www.open-aurec.com/wbforum/viewt ... 19&t=51528

Any similar experiences of Windows XP 32-bit users?

Norbert