Page 1 of 1

Tucano chess engine release 2.00

Posted: Sun May 12, 2013 1:46 am
by sedicla
Hello,

I just released version 2.00 of Tucano. You can download from https://sites.google.com/site/tucanochess/

Many changes to evaluation and search function.

I believe it is around 50 elo stronger than latest version 1.04.

I included source code and windows 32 and 64 binaries.

I've been working a long time on my engine, and I learned one thing, I have a lot to learn :) But it is a fun journey. I will continue working on it.

Hope you enjoy.

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 2:21 am
by Graham Banks
sedicla wrote:Hello,

I just released version 2.00 of Tucano...........
Thanks Alcides. 8-)

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 7:37 am
by jshriver
Congrats! Looking forward to updating my copy. Since I heard of your engine last Sept I've been running it as one of my core engines 24/7 on OICS. Will be neat to see how the new version plays.

Keep up the great work.
-Josh
http://olympuschess.com/tourney

http://www.olympuschess.com/tourney/eng ... e=tucanojs

Excuse the graph, there is an issue that causes weird spikes. On my todo list :)

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 1:05 pm
by sedicla
Thank you Joshua and Graham, and everyone that runs tourneys.
It is a motivation to continue working.
I'm also curious to see how it goes.
thanks.

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 3:13 pm
by Gerd Isenberg
sedicla wrote:Hello,

I just released version 2.00 of Tucano. You can download from https://sites.google.com/site/tucanochess/

Many changes to evaluation and search function.

I believe it is around 50 elo stronger than latest version 1.04.

I included source code and windows 32 and 64 binaries.

I've been working a long time on my engine, and I learned one thing, I have a lot to learn :) But it is a fun journey. I will continue working on it.

Hope you enjoy.
Hi Alcides,

I just had a look to your sources. For magics, you use sparsely populated plain 2MB rook as well as much oversized 2MB bishop tables, where 256K would suffice for the max 9 bishop bits. Is that intentional, e.g. because of large pages, page- or cache alignment-, or other memory management issues - or simply because it was faster on your computer?

Despite 4096 attack bitboards available per rook or bishop square, you use a dense index range per square performing variable shifts. Have you tried fixed shifts by 64-12 instead?

Thanks,
Gerd

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 3:36 pm
by sedicla
Gerd Isenberg wrote:
sedicla wrote:Hello,

I just released version 2.00 of Tucano. You can download from https://sites.google.com/site/tucanochess/

Many changes to evaluation and search function.

I believe it is around 50 elo stronger than latest version 1.04.

I included source code and windows 32 and 64 binaries.

I've been working a long time on my engine, and I learned one thing, I have a lot to learn :) But it is a fun journey. I will continue working on it.

Hope you enjoy.
Hi Alcides,

I just had a look to your sources. For magics, you use sparsely populated plain 2MB rook as well as much oversized 2MB bishop tables, where 256K would suffice for the max 9 bishop bits. Is that intentional, e.g. because of large pages, page- or cache alignment-, or other memory management issues - or simply because it was faster on your computer?

Despite 4096 attack bitboards available per rook or bishop square, you use a dense index range per square performing variable shifts. Have you tried fixed shifts by 64-12 instead?

Thanks,
Gerd
Hi Gerd, I followed the description from the wiki page, and I didn't paid much attention to this detail. I really missed that.
I will add it to my TODO list. Also I didn't know I could use fixed shift, I will take a look.
Thanks for pointing that.
Alcides

Re: Tucano chess engine release 2.00

Posted: Sun May 12, 2013 4:06 pm
by Gerd Isenberg
sedicla wrote: Hi Gerd, I followed the description from the wiki page, and I didn't paid much attention to this detail. I really missed that.
I will add it to my TODO list. Also I didn't know I could use fixed shift, I will take a look.
Thanks for pointing that.
Alcides
So that should be immediatly possible concerning bishops:

Code: Select all

U64     bishop_attack_table[64][512];

U64 bb_bishop_attacks(int sq, U64 occup)
{
    int     index;
    index = convert_bb_to_index(occup & bishop_mask[sq], bishop_magic[sq], bishop_shift[sq]);

    assert&#40;index >= 0 && index < 512&#41;;
  
    return bishop_attack_table&#91;sq&#93;&#91;index&#93;;
&#125;
Variable shift is only necessary if your two-dimensional attack array is Java-like with different and most smaller sizes than 4096 or 512, e.g. only 32 for some bishop squares (in C implemented as array of indices into an one-dimensional huge array containing all the attacks), with a total size of ~800K rather than 4MB. Fixed shift saves a register, otoh a dense lower range inside an 4096-array may still make sense and may result in more cache hits. Of course, with fixed shift you need to re-calculate most of your magic factors a bit.