Wednesday, January 15, 2020

[weylfetj] Watching computer chess for a long time

Have a computer play chess against itself for a long time, months to years.  What about this might be entertaining for people to spectate?

One thing that probably won't be entertaining is a single game with a very long time control.  It will probably be a boring draw.  It is also a bad fit with technological advancement.  Computers (and software) become better over time, but a game becomes easier over time, with fewer and fewer pieces.

Three possibilities likely more entertaining:

1. Watch the development of opening theory.  Let the computer play many games against itself and do Monte Carlo tree search, probably also with reinforcement learning as Alphazero did.

As the computer becomes more powerful over time, the opening transposition table can become larger, neural networks can become larger, searches can become deeper and wider.  All of these (hopefully) lead to improvement in opening play.

A human spectating the computer's development, giving it attention occasionally, can query, what are the most interesting changes the computer discovered in opening theory since the human last checked?  Why did those changes occur?  (The reason may be because of a discovery of a key move, and continuation, that busts a line previously believed to be good.)  These are the same questions one asks about the development of opening theory in human games.

Some difficult UI issues: how can a computer quantify how interesting a change to opening theory is?  How can a computer explain why a opening is better?

2. Watch the development of endgame theory.  The simplest version is a progression over time of the computation of endgame tablebases from few pieces to more.  Again, this sort of lines up with computers becoming more powerful over time.

On one hand, it doesn't line up too well computers becoming more powerful because a tablebase of N+1 pieces requires so much more computing power than N that one may have to wait years for computers to become powerful enough to go one piece more.

On the other hand, there are some incremental steps that may be entertaining to spectate that require less computation than calculating a whole tablebase.  Find the positions one more step away from checkmate (or reduction) than previously calculated.  Show the interesting positions.  Keep refining machine learning to compress better existing tablebases or portions thereof.  Show interesting positions that the machine learning algorithm "recently" learned to play or classify correctly, and explain how it's doing so.  (But neural networks are especially bad when explanations of how or why are desired.)  Again, there are a bunch of UI issues, including how to quantify "interesting".

3. We reconsider a variation of the initial rejected idea of a single deeply calculated game of a computer playing itself.  Assuming we can quantify "interesting", we can have the computer play many not-so-deep games against itself and provide to spectators only the most interesting ones, at a rate tuned and suitable for the attention humans will give it.  (Probably around 1 game per week.)  Or maybe instead of an interesting game, just an interesting position that occurred in a game.  Humans will demand higher thresholds of interestingness over time: they become bored of things similar to what they have already seen.  The computer becoming more powerful over time can play more games, filter more exclusively, and deliver higher interestingness over time.  This repeated self-play could also be part of a Monte Carlo framework described above for improving computer play.

We don't have to limit to orthodox chess.  Consider calculating these on Chess960 and other chess variants.

No comments :