Tucano chess engine release 2.00

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

Moderators: hgm, Rebel, chrisw

sedicla
Posts: 178
Joined: Sat Jan 08, 2011 12:51 am
Location: USA
Full name: Alcides Schulz

Tucano chess engine release 2.00

Post 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.
User avatar
Graham Banks
Posts: 41415
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Tucano chess engine release 2.00

Post by Graham Banks »

sedicla wrote:Hello,

I just released version 2.00 of Tucano...........
Thanks Alcides. 8-)
gbanksnz at gmail.com
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Tucano chess engine release 2.00

Post 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 :)
sedicla
Posts: 178
Joined: Sat Jan 08, 2011 12:51 am
Location: USA
Full name: Alcides Schulz

Re: Tucano chess engine release 2.00

Post 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.
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Tucano chess engine release 2.00

Post 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
sedicla
Posts: 178
Joined: Sat Jan 08, 2011 12:51 am
Location: USA
Full name: Alcides Schulz

Re: Tucano chess engine release 2.00

Post 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
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Tucano chess engine release 2.00

Post 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.