Giraffe, new release (Aug 17)

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.
matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Giraffe, new release (Aug 17)

Post by matthewlai » Mon Aug 17, 2015 8:06 pm

Another Giraffe from the zoo: https://bitbucket.org/waterreaction/gir ... 150817.zip

64-bit and 32-bit versions are in the archive. At Norbert's suggestion, I tried to get Wb2Uci to work with it, but was unable to, and the total lack of documentation didn't really help. If anyone is experienced with Wb2Uci, help would be much appreciated!

This one should be about 300 Elo stronger than the last. Don't you love it when engines are so bad that they can still become 300 Elo stronger in 3 weeks? :)

Improvements:
  • * Better evaluation neural network architecture. Much more accurate AND much faster! It has also been trained for much longer (48 hours on 20-cores). 150 Elo here.
    * Fixed a serious time allocation bug that I overlooked when converting from depth-based search to node-based search. 92 Elo.
    * Changed from fail-hard to fail-soft. 36 Elo.
    * Tuned aspiration window. 26 Elo.
    * Tuned internal iterative deepening. 16 Elo.
All results are from self-play in cluster testing (1s + 0.5s games). All Elo differences are +- 12.

I'm hoping this version is at least IM strength now. I have been watching it play quite a bit, and saw some very cool sacrifices. Once in a while it backfires, but most of the time they actually work out! The games seem to be quite a bit more interesting to watch than typical computer games. That said, the sacrificial playing style probably won't work well against other engines, at least until Giraffe becomes competitive tactically.

More details are in my dissertation which will be released with open sourced Giraffe in about a month, but I believe the evaluation network is now at least as accurate as the top engines (though obviously the search is still much weaker, and eval is still much slower).

A lot of work has been done for using neural network for move ordering and node allocation, and there were some exciting results. But it's not quite ready yet, so it will have to wait till the next version.

PS. Don't be alarmed by the 30+ plies reported. Depth doesn't mean anything for Giraffe because it's not depth-based. I am just using that number to denote iteration number in iterative deepening. I have switched to a much lower node count multiplier for ID, and that's why "depth" appears to be much higher now.

Thanks!
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

mar
Posts: 1832
Joined: Fri Nov 26, 2010 1:00 pm

Re: Giraffe, new release (Aug 17)

Post by mar » Mon Aug 17, 2015 8:48 pm

Very nice progress, congrats! :D

[pgn]
[Event "Cheng_giraffe"]
[Site "KEWL"]
[Date "2015.08.17"]
[Round "1"]
[White "Cheng"]
[Black "Giraffe"]
[Result "1/2-1/2"]
[ECO "D00"]
[WhiteElo "2200"]
[BlackElo "2200"]
[PlyCount "81"]
[EventDate "2015.??.??"]

1. Nc3 d5 2. d4 Nf6 3. Nf3 c6 4. Bf4 b5 5. e3 h6 6. Bd3 g5 7. Bg3 e6 8. Ne2 a5
9. O-O a4 10. b3 Nbd7 11. c4 bxc4 12. bxc4 Ne4 13. cxd5 cxd5 14. Bxe4 dxe4 15.
Nd2 f5 16. Rc1 Kf7 17. Bc7 Qe8 18. Nc4 Ra6 19. Be5 Rh7 20. Ng3 Kg8 21. Rc2 a3
22. Qb1 Nxe5 23. Nxe5 Bb7 24. Rc3 Bd5 25. Qc2 Ra8 26. Rb1 h5 27. f3 exf3 28. e4
fxe4 29. Nxe4 Bxe4 30. Qxe4 fxg2 31. Kxg2 Rg7 32. Rb6 Rb8 33. Rcc6 Rxb6 34.
Rxb6 Qc8 35. Rc6 Qb8 36. Nd3 Qb1 37. Qxe6+ Rf7 38. Qg6+ Rg7 39. Qe6+ Rf7 40.
Qg6+ Rg7 41. Qe6+ 1/2-1/2
[/pgn]
(thanks to Daniel Jose for filtering the comments for me :)

matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Giraffe, new release (Aug 17)

Post by matthewlai » Mon Aug 17, 2015 9:10 pm

mar wrote:Very nice progress, congrats! :D

[pgn]
[Event "Cheng_giraffe"]
[Site "KEWL"]
[Date "2015.08.17"]
[Round "1"]
[White "Cheng"]
[Black "Giraffe"]
[Result "1/2-1/2"]
[ECO "D00"]
[WhiteElo "2200"]
[BlackElo "2200"]
[PlyCount "81"]
[EventDate "2015.??.??"]

1. Nc3 d5 2. d4 Nf6 3. Nf3 c6 4. Bf4 b5 5. e3 h6 6. Bd3 g5 7. Bg3 e6 8. Ne2 a5
9. O-O a4 10. b3 Nbd7 11. c4 bxc4 12. bxc4 Ne4 13. cxd5 cxd5 14. Bxe4 dxe4 15.
Nd2 f5 16. Rc1 Kf7 17. Bc7 Qe8 18. Nc4 Ra6 19. Be5 Rh7 20. Ng3 Kg8 21. Rc2 a3
22. Qb1 Nxe5 23. Nxe5 Bb7 24. Rc3 Bd5 25. Qc2 Ra8 26. Rb1 h5 27. f3 exf3 28. e4
fxe4 29. Nxe4 Bxe4 30. Qxe4 fxg2 31. Kxg2 Rg7 32. Rb6 Rb8 33. Rcc6 Rxb6 34.
Rxb6 Qc8 35. Rc6 Qb8 36. Nd3 Qb1 37. Qxe6+ Rf7 38. Qg6+ Rg7 39. Qe6+ Rf7 40.
Qg6+ Rg7 41. Qe6+ 1/2-1/2
[/pgn]
(thanks to Daniel Jose for filtering the comments for me :)
Thanks! Hope all is well with Cheng!
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

Robert Pope
Posts: 392
Joined: Sat Mar 25, 2006 7:27 pm

Re: Giraffe, new release (Aug 17)

Post by Robert Pope » Mon Aug 17, 2015 9:20 pm

Just curious - how does that compare in strength to Brainless?

matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Giraffe, new release (Aug 17)

Post by matthewlai » Mon Aug 17, 2015 9:27 pm

Robert Pope wrote:Just curious - how does that compare in strength to Brainless?
I have never compared them actually, so your guess is as good as mine :D.

I would guess they are about the same strength now. Brainless is not very well written, but it does have most of the popular techniques implemented (LMR, futility, razoring, delta pruning, etc).

Giraffe is all about exploring the uncharted territory, and I'm making a lot of the stuff up as I go. A lot of the stuff I have implemented in Giraffe cannot be found in any existing literature.

Much more fun for me, but not very good for the goal of creating the strongest chess engine in the world :).
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Re: Giraffe, new release (Aug 17)

Post by cdani » Mon Aug 17, 2015 9:39 pm

Congratulations!!

matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Giraffe, new release (Aug 17)

Post by matthewlai » Tue Aug 18, 2015 8:39 am

Robert Pope wrote:Just curious - how does that compare in strength to Brainless?
As it turned out, Giraffe is almost exactly as strong as Brainless -

Code: Select all

Rank Name                     Elo    +    - games score oppo. draws 
   1 Brainless 08-16 64-bit     7   18   18   310   52%    -7   13% 
   2 Giraffe 63f71c3eb204      -7   18   18   310   48%     7   13% 
Pretty amazing considering the fact that Giraffe has a much more primitive search, and searches at 1/15 the speed!
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

Werewolf
Posts: 929
Joined: Thu Sep 18, 2008 8:24 pm

Re: Giraffe, new release (Aug 17)

Post by Werewolf » Tue Aug 18, 2015 9:08 am

HI,

Sorry I've only just started looking at your engine.

Is it UCI? If not are you planning to make it UCI in the future? Which GUI do you typically use with it?

Thanks

matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Giraffe, new release (Aug 17)

Post by matthewlai » Tue Aug 18, 2015 9:11 am

Werewolf wrote:HI,

Sorry I've only just started looking at your engine.

Is it UCI? If not are you planning to make it UCI in the future? Which GUI do you typically use with it?

Thanks
Thanks!

It doesn't support UCI at the moment. I'll probably add support for it in a month or so, when I have some free time.

I usually use xboard/winboard. I have also tested it with Arena. I am guessing most GUIs supporting winboard/CECP protocol should work as well.
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

matthewlai
Posts: 736
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Giraffe, new release (Aug 17)

Post by matthewlai » Tue Aug 18, 2015 9:39 am

Thanks to Norbert's help, UCI is now supported through Odd Gunnar Malin's Wb2Uci adapter!

I have updated the archive to include "giraffe_uci.exe". It should work just like an UCI engine.

It's currently set up to use the w64 version. If you need it to use the w32 version, edit Wb2Uci.eng, and replace w64 by w32.
Author of Giraffe, an engine based on deep reinforcement learning. https://bitbucket.org/waterreaction/giraffe/overview

Post Reply