Live data from Hacker News

Top Chess Engine Championship

tcec-chess.com

21–30 of 43 posts

Re: Top Chess Engine Championship

#21
How does Chess engine timing work? Do chess engines strategically use up their time depending on the complexity or the criticality of the position?

Do both chess engines have equal machine power, cores, IOPS, CPU model, RAM, etc?

They're showing a game with an eval bar. How does it evaluate the position, don't you need a chess engine to evaluate and provide a score in the first place? Perhaps we're seeing two chess engines play against each other with a third one evaluating for the viewers? Is it the average evaluation between the two engines?

Re: Top Chess Engine Championship

#22

Earlier quoted context omitted.

> As in, real time to the computation? Why though. Why not? What have SC2 bots (or their abilities) to do with chess bots? > Why not just have a fixed pace unrelated to how long the moves "really" took to calculate, with a (no longer real time) clock shown to indicate how the machines used their allotted time? You can't show moves that haven't been played yet, so either your pace is much too slow, or you have to wait…

> You can't show moves that haven't been played yet, so either your pace is much too slow, or you have to wait until the game is finished before displaying it. This makes sense for human players, but the Chess Engines aren't human, so their matches can proceed in parallel. Whereupon a human audience isn't actually watching them in real time anyway. AIUI The engines are not learning during tournament play, so unlike a…

> This makes sense for human players, but the Chess Engines aren't human, so their matches can proceed in parallel.

And if they wanted to they could show multiple matches in parallel. After all that's what happens in the case of a tournament such as the recent Tata Steel tournament. I assume that the issue is that they want to maximize resources for the engines and for that you need to run at most a few engines (and therefore matches) in parallel.

If I read things correctly it's all running on a single server with "only" 96GiB of RAM per engine (https://wiki.chessdom.org/TCEC_Season_Further_information#TC...), running more matches in parallel would be detrimental to the quality of the chess played.

Re: Top Chess Engine Championship

#23

Other than the board, that page is completely opaque to me. There's a whole bunch of what are apparently technical stats, but I can't even infer enough to know whether big numbers are good or bad. This would be a whole lot more engaging with more explanation, at least hover tips over all the fields and so forth.

Yes you are right it is not a very good UX. For me the most interesting part is observing the evaluations of the position from the perspective of 2 engines. See the charts that track it move by move. It is often the case that one engine sees something that other doesn't. For example, say, that it is completely busted. I imagine internal dialogue: I'm fine, I'm fine, am I in trouble... oh $^#^ I'm losing now. It was especially true in the early days of neural chess engines which saw ideas which were well beyond the event horizon of traditional engines. Most people who are watching these tournaments on twitch are chess engine developers themselves that's why interfaces like these are fine for them.

Re: Top Chess Engine Championship

#24

How does Chess engine timing work? Do chess engines strategically use up their time depending on the complexity or the criticality of the position? Do both chess engines have equal machine power, cores, IOPS, CPU model, RAM, etc? They're showing a game with an eval bar. How does it evaluate the position, don't you need a chess engine to evaluate and provide a score in the first place? Perhaps we're seeing two chess e…

To some extent it depends on the settings of the tournament because engines can work in the background and analyse position while it is not their turn. It is called ponder.

Time management is based on some heuristics built into the engine. Some positions that are being evaluated are more dynamic and engines have rules to evaluate positions which are settled down.

As for the hardware if 2 CPU engines are playing they have exactly the same resources. The problem arises when one engine is GPU based and the other is CPU. In this situations balancing the compute power is hard but even then they normally have the same time allocated.

Re: Top Chess Engine Championship

#25

Other than the board, that page is completely opaque to me. There's a whole bunch of what are apparently technical stats, but I can't even infer enough to know whether big numbers are good or bad. This would be a whole lot more engaging with more explanation, at least hover tips over all the fields and so forth.

The top line "eval" number is who is winning - positive means white is winning and negative means black is winning. "TC" is the time control - right now they are playing at 30 minutes + 5 seconds per move (for each side). Most of the other numbers are diagnostics about the chess engine's calculations.

Generally, their audience is "people who play chess" - and those people can be assumed to know this. If you don't play chess, watching a broadcast on Twitch or YouTube will be more enjoyable.

Re: Top Chess Engine Championship

#26

The Top Chess Engine Championship (TCEC) is a computer chess tournament. The goal is to provide the viewers with a live broadcast of long time control, quality chess - played strictly between computer chess engines created by different programmers. One Season is divided into several Stages and lasts about 3-4 months. The winner of the Season will be the TCEC Grand Champion. They are current playing to lowest league--…

Are there niche versions of this? There's like communities that try to write code that can run on old hardware and in certain space requirements, etc.

From a coding perspective - I think it could get really interesting to see people try to make super small engines. I've seen a couple and am blown away that a pretty small program w/o an ML model can destroy me in Chess.

It'd be cool to see how good super simple programs could get.

Re: Top Chess Engine Championship

#27

How does Chess engine timing work? Do chess engines strategically use up their time depending on the complexity or the criticality of the position? Do both chess engines have equal machine power, cores, IOPS, CPU model, RAM, etc? They're showing a game with an eval bar. How does it evaluate the position, don't you need a chess engine to evaluate and provide a score in the first place? Perhaps we're seeing two chess e…

For time management, the rough approach is to allocate a fixed % of the remaining time and increase or reduce it, mostly depending on the stability of the evaluation with increasing search depth.

Games are played on the same computer, with only one engine analyzing at a time.

The graph shows each engine's evaluation of the position for each move in the game. The red line is from a 3rd engine "observing" the game.

Re: Top Chess Engine Championship

#28

How does Chess engine timing work? Do chess engines strategically use up their time depending on the complexity or the criticality of the position? Do both chess engines have equal machine power, cores, IOPS, CPU model, RAM, etc? They're showing a game with an eval bar. How does it evaluate the position, don't you need a chess engine to evaluate and provide a score in the first place? Perhaps we're seeing two chess e…

> Do chess engines strategically use up their time depending on the complexity or the criticality of the position?

Yes, this has been something engines have started to optimize. Some engines that don't do this well can be beaten by "flagging" (i.e. making pointless moves rapidly) once they run low on time.

> Do both chess engines have equal machine power, cores, IOPS, CPU model, RAM, etc?

Last I remember, the goal was to give engines roughly equal computational capacity. But it would be tailored to the engine, e.g. AlphaZero getting something with more GPU(s) and StockFish getting (at the time) more CPU(s) - at least for the final matches.

> They're showing a game with an eval bar

For me, it shows the current evaluation of both engines (numerically), as well as a graph with up to four engine evaluations (the two contestants + up to two "commentators").

Re: Top Chess Engine Championship

#29

Earlier quoted context omitted.

> As in, real time to the computation? Why though. Why not? What have SC2 bots (or their abilities) to do with chess bots? > Why not just have a fixed pace unrelated to how long the moves "really" took to calculate, with a (no longer real time) clock shown to indicate how the machines used their allotted time? You can't show moves that haven't been played yet, so either your pace is much too slow, or you have to wait…

> You can't show moves that haven't been played yet, so either your pace is much too slow, or you have to wait until the game is finished before displaying it. This makes sense for human players, but the Chess Engines aren't human, so their matches can proceed in parallel. Whereupon a human audience isn't actually watching them in real time anyway. AIUI The engines are not learning during tournament play, so unlike a…

> Whereupon a human audience isn't actually watching them in real time anyway.

Uhm, yes they are.

TCEC can't afford to run more games in parallel. And if they did, they'd use all that processing power to run one game instead. The point is to produce the highest quality chess possible.

Why would you delay showing the moves that happen when you can just... not do it? You can always go through the games at your own pace afterwards anyway.

Re: Top Chess Engine Championship

#30

The Top Chess Engine Championship (TCEC) is a computer chess tournament. The goal is to provide the viewers with a live broadcast of long time control, quality chess - played strictly between computer chess engines created by different programmers. One Season is divided into several Stages and lasts about 3-4 months. The winner of the Season will be the TCEC Grand Champion. They are current playing to lowest league--…

> live broadcast As in, real time to the computation? Why though. The SC2 bots don't compete in real time, many of them can't, most of those that can are clearly hampered when playing against a human (necessarily real time) versus a machine (not real time), but you just watch the matches as if they'd happened in real time after the game is finished. Why not just have a fixed pace unrelated to how long the moves "real…

Sports/eSports are more fun to watch live, because it's going on right now and you're finding out the results the same time as everyone else in the world is.

As for the SC2 bots, it sounds like they aren't very good. Chess bots, on the other hand, are, and these ones are playing a standard classical time control that is often used by human players. Time management is a super important part of this (indeed there are often separate neutral networks that are used to determine how much time should be spent thinking about a given move). The game inherently takes place live over a given window of time, and so long as that's true, why not stream it live too?

Post reply on HN