Andscacs - New version 0.70

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

Moderators: hgm, Rebel, chrisw

User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Andscacs - New version 0.70

Post by cdani »

Hello!

At last I have a new version of Andscacs. I have writed again near everything with the idea of winning a lot of speed. It was not very difficult to achieve improvements because the previous versions had a lot of things that where done in a very basic way, consequence of being my first engine.

Here it is:
http://www.andscacs.com/andscacs070.zip

So for example the previous version 0.64 arrived at 550000 nps in my computer, and this new one at 920000 nps.

Some of the changes:
* Most parts of the engine are done again from scratch, with the objective of speed gain in critical points.
* Now uses 16 bits to store the moves, and 32 bits to store jointly the values of opening and endgame to not having to treat them separately.
* Now uses magic bitboards to speed the attack calculations.
* Detected some bugs that now are not in this new version.
* Separated the move generation in phases (hash, captures, non captures) instead of generating all in each iteration.
* Improved See adding x-ray.
* Now a move can be pruned because of See.

In elo may be is between 20 and 100 stronger, I really have no idea in long time controls. Let's see what it's able to do!

I'm sorry there is not 32 bit version for the moment. It crashes badly. I will try to arrange it.

Thanks.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Andscacs - New version 0.70

Post by Ferdy »

Version comparison on 15 STS sets, at 100 ms per position. There is general increase in points overall.
From result summary file.

Code: Select all

engine, points, max_points, ratio, thinking_time, positions_not_solved, total_time, test_name, test_filename.

Code: Select all

Andscacs 0.64,649,1000,64.9%,100ms,25,23.6s,id "Undermine.100",STS1.epd
Andscacs 0.70,733,1000,73.3%,100ms,9,20.7s,id "Undermine.100",STS1.epd
Andscacs 0.64,696,1000,69.6%,100ms,13,23.7s,id "STS(v10.0) Simplification.100",STS10.epd
Andscacs 0.70,725,1000,72.5%,100ms,11,20.0s,id "STS(v10.0) Simplification.100",STS10.epd
Andscacs 0.64,575,1000,57.5%,100ms,29,24.0s,id "STS(v11.0) King Activity.100",STS11.epd
Andscacs 0.70,583,1000,58.3%,100ms,30,21.6s,id "STS(v11.0) King Activity.100",STS11.epd
Andscacs 0.64,462,1000,46.2%,100ms,39,23.9s,id "STS(v12.0) Center Control.100",STS12.epd
Andscacs 0.70,494,1000,49.4%,100ms,34,20.6s,id "STS(v12.0) Center Control.100",STS12.epd
Andscacs 0.64,709,1000,70.9%,100ms,20,24.0s,id "STS(v13.0) Pawn Play in the Center.100",STS13.epd
Andscacs 0.70,733,1000,73.3%,100ms,18,20.9s,id "STS(v13.0) Pawn Play in the Center.100",STS13.epd
Andscacs 0.64,714,1000,71.4%,100ms,18,23.8s,id "STS(v14.0) 7th Rank.100",STS14.epd
Andscacs 0.70,650,1000,65.0%,100ms,23,20.7s,id "STS(v14.0) 7th Rank.100",STS14.epd
Andscacs 0.64,527,1000,52.7%,100ms,29,23.6s,id "STS(v15.0) AT.100",STS15.epd
Andscacs 0.70,522,1000,52.2%,100ms,29,19.7s,id "STS(v15.0) AT.100",STS15.epd
Andscacs 0.64,595,1000,59.5%,100ms,30,23.9s,id "STS(v2.2) Open Files and Diagonals.100",STS2.epd
Andscacs 0.70,704,1000,70.4%,100ms,22,20.4s,id "STS(v2.2) Open Files and Diagonals.100",STS2.epd
Andscacs 0.64,745,1000,74.5%,100ms,16,23.9s,id "STS: Knight Outposts/Repositioning/Centralization.100",STS3.epd
Andscacs 0.70,633,1000,63.3%,100ms,24,20.4s,id "STS: Knight Outposts/Repositioning/Centralization.100",STS3.epd
Andscacs 0.64,646,1000,64.6%,100ms,21,24.1s,id "STS(v4.0) Square Vacancy.100",STS4.epd
Andscacs 0.70,706,1000,70.6%,100ms,17,18.6s,id "STS(v4.0) Square Vacancy.100",STS4.epd
Andscacs 0.64,674,1000,67.4%,100ms,21,18.9s,id "STS(v5.0) Bishop vs Knight.100",STS5.epd
Andscacs 0.70,720,1000,72.0%,100ms,19,20.1s,id "STS(v5.0) Bishop vs Knight.100",STS5.epd
Andscacs 0.64,949,1000,94.9%,100ms,4,22.9s,id "STS(v6.0) Recapturing.100",STS6.epd
Andscacs 0.70,974,1000,97.4%,100ms,2,17.9s,id "STS(v6.0) Recapturing.100",STS6.epd
Andscacs 0.64,633,1000,63.3%,100ms,25,21.5s,id "STS(v7.0) Simplification.100",STS7.epd
Andscacs 0.70,664,1000,66.4%,100ms,20,20.6s,id "STS(v7.0) Simplification.100",STS7.epd
Andscacs 0.64,569,1000,56.9%,100ms,29,22.6s,id "STS(v8.0) AKPC.100",STS8.epd
Andscacs 0.70,575,1000,57.5%,100ms,30,21.0s,id "STS(v8.0) AKPC.100",STS8.epd
Andscacs 0.64,500,1000,50.0%,100ms,34,24.6s,id "STS(v9.0) Advancement of a/b/c pawns.100",STS9.epd
Andscacs 0.70,537,1000,53.7%,100ms,26,16.8s,id "STS(v9.0) Advancement of a/b/c pawns.100",STS9.epd
Sample log from sts1.epd, the failed positions has been greatly reduced.

Code: Select all

engine id name: Andscacs 0.64
file: STS1.epd
sts name: id "Undermine.100"
total pos: 100
time/pos: 100ms
best1: 55, points: 550
best2: 9, points: 46
best3: 5, points: 24
best4: 6, points: 29
best5: 0, points: 0
best6: 0, points: 0
best7: 0, points: 0
best8: 0, points: 0
fails: 25, points: 0
total points: 649
max points: 1000
ratio: 64.9%
Elapsed time: 23.6s

engine id name: Andscacs 0.70
file: STS1.epd
sts name: id "Undermine.100"
total pos: 100
time/pos: 100ms
best1: 60, points: 600
best2: 10, points: 44
best3: 9, points: 43
best4: 12, points: 46
best5: 0, points: 0
best6: 0, points: 0
best7: 0, points: 0
best8: 0, points: 0
fails: 9, points: 0
total points: 733
max points: 1000
ratio: 73.3%
Elapsed time: 20.7s
And the log on 9 failed positions from, andscacs-0.70-x64-popcnt_STS1_epd_wrong.txt

Code: Select all

1r1b2k1/2r2ppp/p1qp4/3R1NPP/1pn1PQB1/8/PPP3R1/1K6 w - - bm g6; id "Undermine.008"; c0 "g6=10, Ka1=2, Nd4=2, Rd3=2";
1rr3k1/1q3pp1/pnbQp2p/1p2P3/3B1P2/2PB4/P1P2RPP/R5K1 w - - bm f5; id "Undermine.022"; c0 "f5=10, Qa3=3, Rd1=2, h3=2";
r2qkb1r/1b1n1ppp/p3pn2/1pp5/3PP3/2NB1N2/PP3PPP/R1BQ1RK1 w kq - bm d5; id "Undermine.041"; c0 "d5=10, Be3=3, a3=2, e5=3";
3bn3/3r1p1k/3Pp1p1/1q6/Np2BP1P/3R2PK/8/3Q4 w - - bm h5; id "Undermine.048"; c0 "h5=10, Bf3=6, Rd4=6, g4=6";
4q1k1/pb5p/Nbp1p1r1/3r1p2/PP1Pp1pP/4P1P1/1BR1QP2/2R3K1 w - - bm b5; id "Undermine.057"; c0 "b5=10, Ba1=3, Kg2=3, a5=3";
k1qbr1n1/1p4p1/p1p1p1Np/2P2p1P/3P4/R7/PP2Q1P1/1K1R4 w - - bm d5; id "Undermine.073"; c0 "d5=10, Ra4=3, Rdd3=4, g4=3";
r3k2r/ppq2p1p/2n1p1p1/3pP3/5PP1/2P1Q3/PP2N2P/3R1RK1 b k - bm h5; id "Undermine.086"; c0 "h5=10, O-O=3, Qb6=1, Rc8=1, Rc8=3";
r4r2/1p2pbk1/1np1qppp/p7/3PP2P/P1Q2NP1/1P3PB1/2R1R1K1 w - - bm h5; id "Undermine.091"; c0 "h5=10, Qc5=5, Qe3=3, b4=2";
rr3n1k/q3bpn1/2p1p1p1/2PpP2p/pP1P1N1P/2BB1NP1/P2Q1P2/6RK w - - bm g4; id "Undermine.100"; c0 "g4=10, Kh2=4, Qc1=2, a3=3";
User avatar
Graham Banks
Posts: 41473
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Andscacs - New version 0.70

Post by Graham Banks »

Looking forward to testing it. 8-)
gbanksnz at gmail.com
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Andscacs - New version 0.70

Post by cdani »

Ferdy wrote:Version comparison on 15 STS sets, at 100 ms per position.
Thanks! It's very interesting. I will try to improve Andscacs with these results.
Graham Banks wrote:Looking forward to testing it. 8-)
As always, thanks for your great effort! :-)
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Andscacs - New version 0.70

Post by cdani »

Hi again.
I was curious about the strength that Andscacs will have at long time controls, and I have done a little gauntlet of 1000 seconds + 1 to have an idea:

Code: Select all

Rank Name               Elo    +    - games score oppo. draws
   1 Gull 1.2 x64       162   75   69    48   74%     1   31% (2927 ccrl)
   2 Gaviota v1.0        49   69   68    48   57%     1   31% (2854 ccrl)
   3 Andscacs 0.70        1   32   31   235   50%     1   29%
   4 Naraku 1.4         -50   71   73    48   43%     1   19% (2777 ccrl)
   5 DiscoCheck 5.2     -52   70   72    44   42%     1   34% (2913 ccrl)
   6 cheng4 0.36c      -110   69   73    47   33%     1   32% (2803 ccrl)
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Andscacs - New version 0.70

Post by cdani »

I just added the 32 bit version to the zip file.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Andscacs - New version 0.70

Post by Ferdy »

cdani wrote:Hi again.
I was curious about the strength that Andscacs will have at long time controls, and I have done a little gauntlet of 1000 seconds + 1 to have an idea:

Code: Select all

Rank Name               Elo    +    - games score oppo. draws
   1 Gull 1.2 x64       162   75   69    48   74%     1   31% (2927 ccrl)
   2 Gaviota v1.0        49   69   68    48   57%     1   31% (2854 ccrl)
   3 Andscacs 0.70        1   32   31   235   50%     1   29%
   4 Naraku 1.4         -50   71   73    48   43%     1   19% (2777 ccrl)
   5 DiscoCheck 5.2     -52   70   72    44   42%     1   34% (2913 ccrl)
   6 cheng4 0.36c      -110   69   73    47   33%     1   32% (2803 ccrl)
That's a good result. BTW any interest on a compilation for android? My next release will include for that os.
Rating list is here.
http://chesstroid.blogspot.com/2014/06/ ... or_18.html
User avatar
Sylwy
Posts: 4468
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Super !

Post by Sylwy »

cdani wrote:I just added the 32 bit version to the zip file.
A very good new version !

Thank you, Maestro Daniel !

SilvianR :wink:
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Andscacs - New version 0.70

Post by cdani »

Ferdy wrote: That's a good result. BTW any interest on a compilation for android? My next release will include for that os.
Rating list is here.
http://chesstroid.blogspot.com/2014/06/ ... or_18.html
Thanks. Yes :-) I'm happy of how all the programming has gone.
For the moment I will continue to try to improve it. But of course I like the idea of compiling for Android sooner or later.
Jorge Garcia
Posts: 61
Joined: Thu Oct 22, 2009 1:50 am
Location: Barcelona Spain

Re: Andscacs - New version 0.70

Post by Jorge Garcia »

Congratulations for your new version and all the good work you are doing.
Best
--------------------------------------------------
Jorge García de Andrés
http://dynchess.blogspot.com.es
http://www.bitacoradelasalud.blogspot.com.es
http://www.mytechit.blogspot.com.es