NGplay 9.87 64-bit released

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Graham Banks
Posts: 30733
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

NGplay 9.87 64-bit released

Post by Graham Banks » Sat Feb 25, 2017 7:45 pm

NGplay 9.87 64-bit released.
Hello dear chess friends,

After a long time interval, I finally managed to have some free time to update my engine ... NGplay... new vesrion 9.87

The version exists here : http://users.otenet.gr/~yggeorgo/NGplay_9.87_64bit.zip
sources : http://users.otenet.gr/~yggeorgo/NGplay_9.87.c

I had a match of 100 games (blitz time control) against version 9.85 ... result was 39-22-39 (wins losses draws).
This indicates an improvement of about 50 ELo points.

More tests will show exact result also in other time controls...

thanks
George Georgopoulos
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

User avatar
MikeB
Posts: 2522
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: NGplay 9.87 64-bit released

Post by MikeB » Sat Feb 25, 2017 9:50 pm

Graham Banks wrote:NGplay 9.87 64-bit released.
Hello dear chess friends,

After a long time interval, I finally managed to have some free time to update my engine ... NGplay... new vesrion 9.87

The version exists here : http://users.otenet.gr/~yggeorgo/NGplay_9.87_64bit.zip
sources : http://users.otenet.gr/~yggeorgo/NGplay_9.87.c

I had a match of 100 games (blitz time control) against version 9.85 ... result was 39-22-39 (wins losses draws).
This indicates an improvement of about 50 ELo points.

More tests will show exact result also in other time controls...

thanks
George Georgopoulos
apparently for me, the macOS version likes to resign early

[pgn][Event "Computer Chess Game"]
[Site "Mac-Pro.local"]
[Date "2017.02.25"]
[Round "-"]
[White "NGplay_9.87"]
[Black "Stockfish 8 64 POPCNT"]
[Result "0-1"]
[TimeControl "2+2"]
[Annotator "1... -0.45"]

1. e4 e5 {-0.45/20 2.0} 2. Nf3 Nc6 {-0.29/20 2.0} 3. Bc4 Nf6 {-0.21/20 0.9}
{White resigns} 0-1[/pgn]

carldaman
Posts: 1543
Joined: Sat Jun 02, 2012 12:13 am

Re: NGplay 9.87 64-bit released

Post by carldaman » Sun Feb 26, 2017 12:48 am

MikeB wrote:
Graham Banks wrote:NGplay 9.87 64-bit released.
Hello dear chess friends,

After a long time interval, I finally managed to have some free time to update my engine ... NGplay... new vesrion 9.87

The version exists here : http://users.otenet.gr/~yggeorgo/NGplay_9.87_64bit.zip
sources : http://users.otenet.gr/~yggeorgo/NGplay_9.87.c

I had a match of 100 games (blitz time control) against version 9.85 ... result was 39-22-39 (wins losses draws).
This indicates an improvement of about 50 ELo points.

More tests will show exact result also in other time controls...

thanks
George Georgopoulos
apparently for me, the macOS version likes to resign early

[pgn][Event "Computer Chess Game"]
[Site "Mac-Pro.local"]
[Date "2017.02.25"]
[Round "-"]
[White "NGplay_9.87"]
[Black "Stockfish 8 64 POPCNT"]
[Result "0-1"]
[TimeControl "2+2"]
[Annotator "1... -0.45"]

1. e4 e5 {-0.45/20 2.0} 2. Nf3 Nc6 {-0.29/20 2.0} 3. Bc4 Nf6 {-0.21/20 0.9}
{White resigns} 0-1[/pgn]
Hi Michael,

try a weaker opponent, as against SF I would resign, too :-P

CL

User avatar
MikeB
Posts: 2522
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: NGplay 9.87 64-bit released

Post by MikeB » Sun Feb 26, 2017 1:31 am

carldaman wrote:
MikeB wrote:
Graham Banks wrote:NGplay 9.87 64-bit released.
Hello dear chess friends,

After a long time interval, I finally managed to have some free time to update my engine ... NGplay... new vesrion 9.87

The version exists here : http://users.otenet.gr/~yggeorgo/NGplay_9.87_64bit.zip
sources : http://users.otenet.gr/~yggeorgo/NGplay_9.87.c

I had a match of 100 games (blitz time control) against version 9.85 ... result was 39-22-39 (wins losses draws).
This indicates an improvement of about 50 ELo points.

More tests will show exact result also in other time controls...

thanks
George Georgopoulos
apparently for me, the macOS version likes to resign early

[pgn][Event "Computer Chess Game"]
[Site "Mac-Pro.local"]
[Date "2017.02.25"]
[Round "-"]
[White "NGplay_9.87"]
[Black "Stockfish 8 64 POPCNT"]
[Result "0-1"]
[TimeControl "2+2"]
[Annotator "1... -0.45"]

1. e4 e5 {-0.45/20 2.0} 2. Nf3 Nc6 {-0.29/20 2.0} 3. Bc4 Nf6 {-0.21/20 0.9}
{White resigns} 0-1[/pgn]
Hi Michael,

try a weaker opponent, as against SF I would resign, too :-P

CL
LOL +1

SzG
Posts: 2447
Joined: Fri Mar 10, 2006 6:20 am
Location: Szentendre, Hungary

Re: NGplay 9.87 64-bit released

Post by SzG » Sun Feb 26, 2017 8:06 am

A couple of days ago version 9.86 was there to download (I did download it), now it has disappeared from the site and latest version is said to be 9.85.
Gabor Szots

CCRL testing group

tmokonen
Posts: 901
Joined: Sun Mar 12, 2006 5:46 pm
Location: Vancouver

Re: NGplay 9.87 64-bit released

Post by tmokonen » Sun Feb 26, 2017 8:53 pm

9.86 is still there. Just change the 7 to a 6 in the links for 9.87.

User avatar
Graham Banks
Posts: 30733
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: NGplay 9.87 64-bit released

Post by Graham Banks » Mon Feb 27, 2017 4:16 am

MikeB wrote:.....apparently for me, the macOS version likes to resign early
That's odd. No issues here.
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

Ras
Posts: 947
Joined: Tue Aug 30, 2016 6:19 pm
Contact:

Re: NGplay 9.87 64-bit released

Post by Ras » Sun Mar 12, 2017 12:57 am

I have been reviewing the changes for deciding which of them would be useful for the CT800, so maybe some people are interested what exactly has changed. Some of the improvements over v9.86 were already included in the CT800, and some of the others will be backported to the CT800.

NG-Play changes from v9.86 to v9.87:

- back rank safety is part of the king safety evaluation.
- trapped pieces recognised: e.g. "white bishop on a7 with black pawn on b6".
- blocked pieces recognised: e.g. "rook in the corner blocked by own king", "white bishop on the original square blocked by central pawn on e2/d2 with e3/d3 blocked by something else".
- knight piece square table modified.
- bishop/rook piece square tables removed.
- hash tables store the 64 bit value, not only the upper 32 bit.
- hash table cluster size reduced from 3 to 2, code simplification.
- hash table handling includes search tree distance from root position for mating scores.
- reverse futility depth reduced to 4, matching the forward futility depth.
- insufficient material draw recognised in search nodes, i.e. before the leaves.
- move generation for null move search deferred to late move generation in the next depth level.
- threat moves pushed up further in MVV-LVA during IID.
- no IID from root position because that is already handled in the pre-search.
- late move reduction: reduced depth if too many moves.
- important bugfix: pruned moves also count as legal moves. This avoids erroneous stalemate detection in the search, which lead to some lost games in v9.86.

- issue still in v9.87: main hash tables have one entry too few which might result in rare buffer overruns on the heap, potentially leading to segmentation faults. The risk is lower than with v9.86 which had two entries too few.

Ras
Posts: 947
Joined: Tue Aug 30, 2016 6:19 pm
Contact:

Re: NGplay 9.87 64-bit released

Post by Ras » Sun Mar 12, 2017 1:12 am

MikeB wrote:apparently for me, the macOS version likes to resign early
Does that also happen when you give a bit more time?

I faintly remember that v9.86 had that issue under very strict time controls when being forced to move more or less immediately, and that part of the code has not been changed.

Ras
Posts: 947
Joined: Tue Aug 30, 2016 6:19 pm
Contact:

Re: NGplay 9.87 64-bit released

Post by Ras » Sun Mar 12, 2017 3:07 pm

After digging a bit deeper, that might well be a program issue even with correct time.

What's happening here: if the engine "somehow" believes it has nearly 0 thinking time on the first move, it will stop the iteration and break directly out of the IID loop. The score it still initialised to below -MATE, and that leads the engine to resign.

Now this "somehow" might well be a platform dependent issue when taking a look at how the time management is done. The central point here is:

Code: Select all

int GetMillisecs(void)
{
  struct timeb timebuffer;
  ftime(&timebuffer);
  return (timebuffer.time * 1000) + timebuffer.millitm;
}
This is trying to stuff the milliseconds since 01-01-1970 into an int. int is specified to have at least 16 bits, but probably, it is 32 bits on PC platforms. How many milliseconds does that give us? 2^31-1 because it is signed. That would be enough for 24 DAYS since 01-01-1970.

Now it depends on when it actually overflows, how the compiler implements that and what compiler optimisation exploits the undefined behaviour that signed integer overflow constitutes. Basically, anything would be allowed to happen.

Post Reply