Check out Glinski's Hexagonal Chess, our featured variant for May, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

Earlier Reverse Order LaterLatest
Alpha Zero plays chess[Subject Thread] [Add Response]
Aurelian Florea wrote on Sat, Dec 9, 2017 07:54 AM UTC:

Here is a commentary of one of the games in the 10-0 win of alpha zero against 3rd place in this year's TCEC Stockfish: https://www.youtube.com/watch?v=4ebzevCLGbQ

I was curious if it can be modified to play other chess variants. I'm quite sure it is. There are probably legal matters to take in consideration but besides that programming wise, it should be just a matter of feasible time :)!

 

You may find the whole match on chess24.com :

https://chess24.com/en/watch/live-tournaments/alphazero-vs-stockfish/1/1/1

@Greg & @ HG

Any ideas about it, You two are probably the leading people in CV computer play :)!

I vowed to do something like alpha go for CV for one year now but still have not started :)! I guess that boat has sailed, maybe not :( :), don't know :)!


Greg Strong wrote on Sat, Dec 9, 2017 11:58 PM UTC:

Retrofitting an existing high-quality engine to play variants is problematic.  It is not so bad for variants that are very close, like Fischer Random.  Even things like Siriwan that are played on 8 x 8 might not be tooo bad.  But adding the ability to change board size to a program which was created without that in mind would be very difficult.  And it probably would not be worth the time.  The really top-level engines like Stockfish are so good because they have lots and lots of code that very specifically designed and optimized to play Chess.  Most of this code is, at best, throw-away for playing variants, and at worst, downright harmful and hard to remove.

Best to create from scratch.  Want to dip your toes into these waters, I would recommend you download the source code for SjaakII, and see if you can improve it, or at least understand it.

Cheers :)


H. G. Muller wrote on Sun, Dec 10, 2017 08:40 AM UTC:

I think you are a bit too pessimistic on this. There actually exists a version of Stockfish that can play variants, some very different from Chess (Crazyhouse). And it blows away everything that was written before. So the general search strategy must count for a lot. And the Stockfish developmet system also includes advanced tuning methods.


Aurelian Florea wrote on Sun, Dec 10, 2017 10:14 AM UTC:

HG & Greg both,

That was mostly about Alpha0 rather than Stockfish, which is a machine learning program :)! Totally diferent monster. They changed a program desinged to play go into a program that play chess and trained it for only 2 hours. I think it is obvious that the diffenece between Go and Chess are far greater than let's say between chess and Grand Chess or Omega chess. This is what I was asking about. I hope I have made myself a bit clearer :)!


Greg Strong wrote on Mon, Dec 11, 2017 12:56 AM UTC:

It's certainly possible I'm too pessimistic.  Playing Crazyhouse is pretty impressive as Stockfish has no concept of drops, and that's a huge change.  That said, it's still an 8x8 game.  Stockfish has bitboards deeply embedded throughout.  That said, it is very object-oriented and template-driven, so replacing the bitboard class with one that uses more bits might not be too bad.  But I still think it actually would be harder to make it play Omega Chess than Crazyhouse.  Anyway, Stockfish's selectivity is incredible.  It makes sense to me to just design an engine with universality in mind and then copy the fantastic elements of Stockfish's search algorithm.

Regarding AlphaChess, apparently this is a completely different beast.  I should have read the article before commenting :)  I might have some thoughts after I read it.


Joe Joyce wrote on Mon, Dec 11, 2017 04:19 AM UTC:

AlphaZero is a neural net which learns by playing against itself, starting with random moves and working up to a rating of over 3300, iirc. It runs on some very fancy hardware, so  its learning time is misleading. It played millions of games against itself to learn Go. I'm curious about just what it learns when it's teaching itself a game. How dependent is it on the exact board geometry and each player moving only one (or a few) pieces per turn? If the game is a very large (~1000 - 10,000 squares or more) massively multi-move abstract strategy war game with a board that can change between games, does that sort of thing make any significant difference, or merely add some time to the AI learning process?


6 comments displayed

Earlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.