Detailed changes in Andscacs from 0.86 to 0.872

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by cdani »

Henk wrote: What I understood is that initial version of Andscacs had an ELO of about 2500. While some other engines of beginners usually start with 1300.
Some years before Andscacs I had already done two more or less working engines, one in assembler and one in Delphi, but they didn't follow any protocol and I never published them. The two were relatively weak, maybe like 1600-1800 but I don't remember much.

I started Andscacs from scratch at september 2013. So it started from 0 elo.
First I wrote it with Lazarus Pascal, and later I passed it to C.
During these months I readed like mad mostly chessprogramming website, and I took as a guide their example engine CPW, but writting Andscacs on my own way.

After some months of very hard work I decided to publish it. The first published was 0.60j, but the first that showed at CCRL was 0.62u, that obtained 2613:
http://bit.ly/2bqBzZy (computerchess link)
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by cdani »

About the testing procedure, I want to point that I consider that doing a lot of hours long test on a relative weak engine (not the case of Andscacs anymore, of course) to find a 4 elo improvement, is a loss of time, as the engine will be changed many times and you will discard most of this few elo changes not only one but many times. There are a lot of changes that can win more elo than this. Sure many people understands this in this way.
Henk
Posts: 7220
Joined: Mon May 27, 2013 10:31 am

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by Henk »

Well it's still amazing that you could pass the 2100 - 2300 barrier so fast.
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by PK »

2100-2300 is a barebone program with transposition table, null move and basic eval (often without king safety). See Gerbil or Sungorus. If You put something more and yet don't break that barrier, you are either working under some artificial constraints (microMax that has LMR, but less than basic eval), or have a colony of bugs.
Henk
Posts: 7220
Joined: Mon May 27, 2013 10:31 am

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by Henk »

Looks like Skipper has a colony of bugs. Unfortunately I'm not able to find one.
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by PK »

looks like it is time to throw away the prototype! (http://www.teach-ict.com/as_a2_ict_new/ ... eb/pg4.htm)

generally developement stops when the code becomes to messy. I went through a couple of such cycles with Rodent, each time getting a bit higher and making mess at the end. What is so great about Andscacs is that it somehow manages to avoid "mess stopping".
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by cdani »

mcostalba wrote: Thanks for sharing your changes, I see you have done a lot of efforts...and your efforts are paying off because you are doing a very good TCEC.

Can I ask if you are developing your engine alone and if you can share something about your test procedures (how many games, which TC, the testing hardware, etc..)

Please let me add that I am very impressed you refer to specific SF changes you found useful. This is very honest and open from you. I am sure you are not the only one to look at SF tests results, but you are the only one to state it publicly in such a transparent and detailed way: you have all my respect.
Thanks!!
Yes, I'm developing Andscacs alone, but this is relative as the community acts as an incredible powerful group of work indirectly :-)

My testing procedure is not very serious, I'm a bit ashamed of explaining it :-) Sometimes I don't wait to be between error bars to accept or reject a patch. Many times is ok, but many other times no. When Andscacs was weaker this was more or less ok, but now I think I cannot afford this, so I will see how I will do, most probably reducing TC, currently many times 80 seconds (+0.05), or less for some other types of changes.

My current hardware is 3 x amd fx-8350 (8 core), and one i7-5820k. During last 2 months I also rented a 20-core server (160 euros month if anyone is interested).
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by cdani »

PK wrote:looks like it is time to throw away the prototype! (http://www.teach-ict.com/as_a2_ict_new/ ... eb/pg4.htm)

generally developement stops when the code becomes to messy. I went through a couple of such cycles with Rodent, each time getting a bit higher and making mess at the end. What is so great about Andscacs is that it somehow manages to avoid "mess stopping".
Not a few times I thought that I had hit a wall, sure many times just by having added bad patches, but at the end I find new patches that win something, or a bug or whatever. I try everything I can think about or I find somewhere. I have a list of things to try that always gets bigger.

Sometimes the idea come simply viewing some bad played game of Andscacs, and I find some bad tuned parameter or I add a new one. These bad games happens so many times that is easy to find new ideas.

Also is very interesting to make the engine be able to resolve any tactics that for example has caused a game lost. With this I refined a lot it's tactical power. The engines seem to be very resilient on little bugs or bad tuning, but not that much on tactics, I think because chess is mostly tactic.

The Andscacs code is a bit messy, but nothing terrible. I have rewriten most parts of it many times.
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Detailed changes in Andscacs from 0.86 to 0.872

Post by Frank Quisinsky »

Hi Marco,

you have my respect too if you saw that and if you are able to write that. The programmer of Andscacs do in the last years really a fantastic work. The work by him can be compare to a showpiece by an one-men-fighter.

Engine plays very nice chess, the programmer is all the time very friendly, also to other programmers and also in shared ideas all the time.

After a longer time I very disappointed with Computer chess, today I am very happy with that what I can see and read here.

The Stockfish team do also a very important work for all of us. I think my criticism for open source engines was unauthorized.

Thanks and have a good day.

Best
Frank