That actually looks hilarious, especially the part where checkmating is illegal since it would always be the best move. The first game highlighted is also fun. I'll have to try this next week at the chess club!
Should that always be the case, though? We could try to force a position where 2 separate moves checkmate. Then only 1 (presumably the one that results from capturing the highest valued piece?) would be the engine result.
This is a good point. If you can check with your queen but hang it, the “best move” would be to take it. Make it so they have to take it, for example in a back rank, and you win.
Aren't there situations where 2+ moves cause checkmate? Only one can be the top engine move. Or are all of those effectively impossible to reach unless your opponent helps?
> When multiple moves have the top score, they are all top moves, even if visual markers (like move arrows) suggest the engine prefers one over the other.
Since all moves that checkmate the opponent will have the same score (M1 or -M1) they'll all be illegal.
Not necessarily. The check with forced answer could be a terrible move in normal chess. E.g. a check with the queen where the queen can simply be taken by the king.
Which it quite often is. Like the example they show with the early-game check with the queen, putting the king in check by placing a totally undefended piece within one square of the king is (usually) a suboptimal move, and the king taking that piece will (often) be the most optimal way of getting out of check.
In this variant the attacking piece will effectively be protected by how bad its move was. Creates some interesting incentives - the only way to checkmate is a move that is normally not optimal and has only one way out of check.
I think that's like saying you can't play scrabble because the dictionary changes over time. You specify the engine and wait time before you start a game.
Only in the general case, for simple (mostly endgame) positions it is quite possible to exhaustively search the move tree and find the absolute best move. Those can be found by current engines and future engine development won't change them anymore. Such a move would therefore always be the top engine move.
Yeah, deterministic is not actually the concept I want here I think. It's fine if it's random, it just needs to be unambiguous.
So you just choose in advance what settings to run with and the stopping condition. And then it doesn't matter that if you had run it with different settings, you may have gotten a different answer.
It is less fun if the outcome is non-deterministic. It means that occasionally the win is determined randomly. That takes away a certain element of skill.
I guess if you let it run for a long time it should converge on a first move?
I don't think there's a real fix for the issue, unless someone effectively solves chess someday. Otherwise your win/loss is fundamentally based on the imperfect evaluation of a particular engine.
If it's really just the nondeterminism that bothers you (which is fair enough, preferences vary), there's engines that either are deterministic or can be made so with settings.
That wouldn't work as the speed at which the engine runs is not deterministic.
Engines can be configured to limit search to a certain depth, which will produce a result after every branch has reached the limit or been pruned. That process will vary in time but be deterministic.
Recent neural based engines tend to not be deterministic, especially if ran multi-threaded.
This is not necessarily true. Sometimes there are emultiple best moves, and in this case the order might be arbitrary depending on all sorts of hard to control things like thread interleavings and caching effects which can be affected even by other processes on the system. You could run it single threaded with no transposition table, but then you have a pretty shitty engine because modern engines are fundamentally designed around having a transposition table. Then you get situations where the top engine move might actually be a bad move.
I expect that if I were offered a veto against a stronger player, I would not be skilled enough to spot which move to veto, and would probably end up hoarding my veto, like in video games where you have a great-but-rare ability that you keep perpetually in reserve.
(“Too Awesome to Use” on TV Tropes. Link omitted - you’re welcome).
Nah, you’d spot one pretty fast when you blundered and they went to take advantage of it. Instead you’d more likely have the opposite problem where you’d veto after a blunder but still be at such a huge disadvantage that it wouldn’t matter much.
It would be pretty neat between players of similar skill level though, then I could see the hoarding taking place.
True, and I can see some fun mind-games where a player might try baiting an opponent into wasting their veto on an apparently-strong move, or by intentionally playing a weaker move that still somehow looks strong but actually masks a now-unvetoable killer move…
Maybe for players under say 1800 elo online, but for players above that this won't work -- "bluffing" isn't really a thing until you're at the very very highest levels of chess, and even then the bluffs are only during the openings and if they call your bluff you are only worse by 0.1-0.4 at the most.
Is there a known family of "functors" for games like this, e.g. veto or having one opportunity to swap positions with your opponent etc.? It would be cool to see what you could say about the rule modification in a general sense before applying to a particular game.
There is some literature on this, yes. I don't know quite how general it gets.
See for example several books by Elwyn Berlekamp.
One outcome of this work was Berlekamp (IIRC) solving a small class of endgame problem that has eluded professional (full-time) go players for literally hundreds of years.
I think if this was played at a GM level, games would be dreadfully boring, for one simple reason: the first player that ever allows a winning threat with only one defence, will lose the game.
This will lead to extremely cagey games where no one ever dares make the game sharp and imbalanced.
I loved the idea, but on further thought, the AI has a huge advantage in knowing what the engine move is, so they can never lose to incorrectly calling the last move and engine move.
Wouldn't human^2 chess be similar to regular chess? The human-chess AI is guaranteed never to play the regular-chess optimal move, so you can get a checkmate by always playing the optimal move (according to the engine). And unlike human chess, there's nothing preventing you from checkmating your opponent.
(I believe a chess engine could play human^2 chess exactly like it plays regular chess. A human couldn't because a human doesn't know what moves the chess engine would pick.)
Presumably human^2 chess would prohibit both the top engine move from human^1 chess and the top engine move from human^0 chess. That is, it's human^1 chess with the added restriction of not playing top engine moves.
There may not always be 1 possible move in a given position either; how does regular chess handle that? (Presumably you'd use the same rule by default for human^n chess.)
The meta is different because they know their opponent also can't play the best move which impacts what move you play (ie. intentionally hanging queen for advantage)
AI can't win at human chess, because any move that it attempts to make is by definition the top move choice of an engine, and so causes immediate defeat.
I've played and lost enough games against engines that I would say I've learnt some of the "best moves" (as suggested by the engine, when analysing why I lost) in almost every "usual" scenario for my "usual" openings all the way to maybe the fourth move. There are a lot of variations, but even past the fourth move I still remember some engine suggestions based on my own errors.
I think it is a joke on the accusations among professional chess players that some players cheat by using a chess engine to determine their next move. In other words: claiming the move of your opponent is the top engine move is equivalent to accusing them of "cheating".
Yes, but this new rule also adds interesting new mechanisms, like for instance the kamikaze check move with the queen, where the opponent's only move is to take with the king, hence losing the game (as it is also engine top move).
Mastering that kind of new threats does not seem easy IMO, and in fact could well be mastered by... computers ;-)
I've heard it said that the best parodies are almost as good as the things they parody (and a sign that the comedians in question both love and understand the thing they are making a parody of). It could be argued that this chess variant is a really good "parody" in that sense, but encoded in the rules of the game itself.
So basically chess with landmines. Every move will be contested (because why wouldn't you? there are no downsides and only upsides)
So every move you make (I'll be watching you) could end up being the top move. Even if you run the chess engine yourself to decide what not to play, you're still at risk of bad luck because you happen to run the chess engine on a faster or slower machine than the person checking for the top move, and they diverge.
EDIT: Never mind, contesting and getting it wrong causes you to lose - that's the downside.
It's a cool concept but the first naive thought that comes to mind for me is that white could just easily dominate by taking advantage of the fact that taking a queen is almost always the top engine move. So just by maintaining relative king safety on white's side, you just open your queen early and make sure that every move there onwards hangs your queen in some fashion. It's very easy to hang a queen. You just have an invincible juggernaut for the first half of the game until you've demolished enough pieces to make it hard to find ways to hang your queen, and by that point the material advantage is such that the opponent might just resign.
The article states that if there are multiple moves the engine recommends, that they all count as the "optimal" move, even if there's an indication of preference by the engine.
I'm approaching 40 years old, have played chess off and on since I was a kid, and I'm not sure I've ever played a match that didn't include several blunders. Like, on the off chance I'm playing someone who doesn't blunder often, I'll certainly pick up their slack.
My game quality is measured in how many times I say "fuck!" right after moving a piece. A very good game for me is about a two-fuck game.
The fun thing about chess, you don’t seem to think you are good, but I can’t imagine only
making two obvious mistakes in a game! It grows with you, haha.
Most of them it's more like four or five "oh my god I hope they don't see that thing I spotted the second I took my hand off" moments—and that's just the ones I notice before they're exploited. I'm sure I make tons of moves that anyone half-decent would call blunders but that simply go unnoticed by both players at the board.
I'm so very bad at spotting diagonal attacks, especially. Anyone who can open up their bishops then play for time will eventually see me put my queen in some dumbshit situation that lets them take it free or cheap in a single move, for instance, not even any multi-move planning required.
Lichess has a variant called "Antichess". If you can take a piece, you have to. No checks/checkmate rules. First person to have zero remaining pieces wins.
You basically want to "blunder" into giving your opponent long chains of captures while avoiding any positions that allow your opponent to hang a piece.
My first naive counterthought is that if you try to do that then black can ignore your queen and use their queen to take your pieces. You're a move ahead but you don't get a snowballing advantage.
The title "Human Chess is a chess variant where playing the top engine move is forbidden" kinda suggests that the top move just isn't available to the player.
However, the thought you had, and similar ones, are very much the intentional side-effect of the rules. The only way to win the game, as stated, is forcing your opponent to make the top engine move. Or, of course, correctly claim that your opponent made such a move (even though it wasn't forced). Or, having your opponent make the incorrect claim about your move.
So, it isn't necessarily "playing good chess". Though, I must say, I'm not qualified to have any good idea of what it would mean to be good at this game. It definitely helps to be good at chess, and have a good command of what are the correct engine moves. Especially since you lose if you incorrectly claim a position and opponent move was "the top engine line".
I suppose most would reduce this to leaving the opponent to only one legal move. In which case, the problem is is trivial. But, after move 2? You need to know most opening lines, and probably play intentionally bad in many situations.
Hm, this is cooler the more I think about it.
Imagine intentionally setting up material sacrifice with a resulting choice of multiple moves for the opponent to capitalize. If you can correctly evaluate the best computer move, you have a strong advantage. If it is not obvious, then the opponent might not dare to gamble the challenge.
Has Hikaru tried this in one of his streams? I'm certain he would have a blast.
The only thing about this that doesn't "spark joy" are the ambiguous practical implementations.
- Which engine? This matters a lot.
- How do you define the computational cut-off? CPU-minutes? Move depth? Etc. Not necessarily a simple problem.
- The rule "When multiple moves have the top score, they are all top moves". Needs a specific score evaluation delta for grouping "top moves".
All of these could rather simply be resolved if it isn't very important... might even add some uncertainty to it, for fun. Like, say: 1. Stockfish 15. 2. Allow the computer whatever resources it has available, 1 minute, and play some drum roll sample. 3. Pawn-evlauation of 0.05.
I'd also be interested in a variant where the engine-recommended move is displayed to the players. It would take out the uncertainty of whether a move is illegal, but would allow for different win conditions (e.g. approach checkmate without ever using an optimal move).
This is what I thought it would be from the title. Top players say that they don’t necessarily see a top engine move but can immediately identify one when it is played on them.
It’s an exaggeration but with some truth to it. Outside of openings and end games the top move for a chess engine is often different from the top move for a player. That said, grandmasters do of course often play the top engine move.
Human players are dealing with both human limitations and human limitations which really changes the game. So a grandmaster can for example benefit from playing a slightly weaker but less well known opening that they have recently studied in depth with the assumption that their opponent hasn’t done the same.
Not wasting time with claims would be another very practical advantage.
A further variant for fairness purposes: let each player bring their preferred chess engine, instead of arguing about the choice of only one; and have each player run both engines for mutual anti-cheating verification.
Then either the two engines agree on the best move (likely case if they are both strong) or all moves that either engine considers better than the other engine's best move (at least 2, usually not too many) can be interdicted.
I wonder — at the top end the chess engines clearly compete with each other and produce different results, that’s how one can be said to be better than the other, right? But against us puny humans, especially novices, do they produce very different outputs? Or is it just like, the moves to crush a silly meat-brain are just super obvious, no need for creativity.
Especially in this game, the humans will be trying to play badly.
Some games from the most recent chess engine tournament look whacky as hell. Like if you showed the games to a grandmaster they would probably estimate it was 2 completely new 400 elo players.
I think some of the moves the engine suggests in human games look whacky to human grandmasters.
Hikaru Nakamura is a top GM that does commentary streams — and frequently comments things like “but what do I know about chess?” when responding to AI suggestions. It’ll suggest a weird move that seems to leave a mess on the board while insisting that everything is great. And obviously if you actually tried to play against Stockfish from that position, it would crush you.
Looks like 400 ELO, but hey — what do we know about chess?
One of the big issues with engines is that they don't assume they're playing against human players. Of course in an engine v engine tournament they're not. But it makes it hard to use them to study things, especially below elo 2000. Many times the chess.com "best move" seems utterly ridiculous, and when I click for it to follow through on the suggested move line, it shows the opponent making a response no human would ever ever make. I think we need to have some sort of division between "this engine will win any game ever" and "this engine will always win against a human."
There's been times when the chess.com calls my move a mistake, and suggests something nonsense that leads to a guaranteed mate in 15, when I got a (non-guaranteed but real) mate in 5 from my move, because I know I'm playing against a human. The engine move is more guaranteed, but very illogical unless your brain can do the equivalent of the 30 turns of minmax.
Actually no, the top choice would be to force your opponent into a position where the series of second best moves literally destroys them.
You're looking for traps where only a particular move can save you.
A minimally modified engine lookup wins here.
There's a whole bunch of openings that ensure it for white, this game is rigged even more than playing the best move, even if you do enforce a random opening.
There must be a threshold above which making an engine move is allowed. Because if there's a checkmate move, it will be the best engine move and needs to be allowed.
No; checkmates are not needed. You win the game by almost checkmating the opponent: by leaving them only one legal move, which is thus necessarily the top engine move.
If you deliver checkmate, you lose. You have to instead force your opponent into a situation where they only have one legal move (which is trivially the best engine move).
I don’t see how one way of checkmating could be worse than another way of checkmating? Do some engines give different scores for different check-mating moves? (Different moves from the same position I mean)
You can force the opponent into a position where the only move that saves them is a top engine move. Since they cannot play that move, the other option is to surrender.
So essentially this converts most mates in two into mates in one, but some become ties by repetition.
The article had an illustration of this: the player put their opponent into check where there was only one move to get out of check. The opponent would have to make that move, whether they were human or machine, so the player who made the original move wins the game.
It is an interesting variation on chess given the current state of tournament play, yet it isn't really a solution to the cheating problem since it is effectively a new game with a new end-state. But you are probably right about there needing to be some sort of threshold. While there the rules of the variation says that any move with equal scores is considered equivalent, I would imagine the players would need a very intimate knowledge of how the engine scores moves in certain scenarios.
As others have mentioned, that is accounted for in the rules.
My immediate first reaction was also that it would be interesting to have a variant that is the same except you are allowed to checkmate, except then I realized the recursive nature of how board positions are evaluated makes that problematic. For instance, if there's a mate in 2, the first move of the mate in two is now certainly the "best move". Creeping up on a checkmate without ever making the "best move" until the very last one might actually be harder than the win condition based on strangling the opponent described in the current rules.
It just doesn't make sense though for that reason. You can't sneak up on an engine. There's not a single engine out there that wouldn't recognize a mate in 2 moves. Unless the opponent blunders (which actually might be forced if the best defensive move is blocked).
It just seems like you're changing the objective of the game entirely to the point where it's only slightly related to chess.
That was my thought too. Does the engine know that the other player is forbidden to play the top engine move on the next turn? Then you can't just do something like c3 Nf6 Qa4 e5 Qe4!? to hang the queen in the center, knowing that Nxe4 is prohibited, because the strongest move for white if Nxe4 is prohibited would have been Qe4!
Any move the human chess engine makes would be losing by definition if it is also used as the bench mark.
Therefor, such an engine can only hang in computation - being unable to produce a top move because if it were to make a suggestion then the actual best move changes to avoid it. Since the engine is unable to produce a move - there is no top engine move which makes every move legal.
A normal game of chess is played while the engine locks up on the sideline
You forgot that the engine user may cheat and even if they declare the engine there's no real way to detect if they're truthful and not using a certain of the engine tuned for Human Chess specifically.
I like this strategy, but I don't think it's necessarily clear cut: while taking the queen is forbidden, the opponent also has the opportunity of putting their queen en prise.
So you end up in this scenario where both players are taking one another's pieces while leaving their queens en prise the whole time. Is it a draw, or is there some clever way to break this loop?
There will be opening theory soon, and it will be essential in many cases.
For instance after 1.e3 e6 2.Qh5, White threatens Qxf7+ which would force black to play the top engine move. Then 2...g6 3.Qxg6 is one idea -- but there are two recaptures, fxg6 and hxg6, and only one of them can be the top engine move (hxg6, I'm guessing). So 3...fxg6 probably refutes this idea. But are you sure enough as white to try to claim a win if black goes hxg6?
And after say 1.e3 e6 2.Qh5 g6 3.Qxh7 (avoiding that line and going for material), not only does black not have to care about their rook (white can't take it, it would be the best move), black actually has 3...Qh4 winning -- he threatens 4...Qxf2+, white can't play 4.Qxh4 as that's the best engine move, and white's queen is threatened twice, so black will be able to take it -- provided he checked this line before the game to know which piece to take with.
Edit: it doesn't actually win, white has 4.Qf5 to defend f2... what a strange game.
Edit 2: once a piece is _en prise_ somewhere, the game can otherwise become somewhat normal as taking it would be the best move and so would moving it to a safe spot - so other moves can be played as usual. But would they be good?
You could have two engines: a strong engine and a weak engine. If the weak engine suggests a move then it's allowed. But if the strong engines suggests a different move than it's forbidden.
But you'd need to fine-tune the stupidity of the weak engine to have decent but not too good moves: an extra chore that would amply offset any increase of fun.
I bet if you hang your queen 5-6 times, for one of those, taking the queen won't be the top move. Just think about if your queen would _still_ be hanging after a check that maybe captures some other piece first. And then that strategy has lost you your queen.
I had a similar naive thought, but it doesnt resolve easily. For starters, Black can do the same thing just a move behind.
Second, if you ever hang your queen two ways at once - one of them could be a less optimal take (-5 is not as good as -8)
Third, whoever is a move ahead in a race of taking pieces will be the first to run out of weak pieces to take. Their available move pool is shrinking faster. Not sure how it would play out, black would need to cater to it by removing defenders and hanging pieces of their own, etc.
That said, first move advantage does seem strong still due to how forcing a queen can be. An example would be 1.e4..e5 2.Qh5..d5 3.Qxf7#
The best way to find out the best strategy for Human Chess is to train AlphaZero to play it, and learn from its example. Then we can make a Human Human Chess variant where you lose the game by playing the top move suggested by this newly trained engine.
It is an interesting theoretical question whether we can have Aleph Zero Human Chess where Human(Human(...(Chess))) is applied infinitely, approaching Aleph Zero trainings of AlphaZero, or we get a redundant variant after some application where further application of Human() no longer produces a new variant.
The answer is no: every time you apply Human(), you reduce by one the number of legal moves at every given game state. After some finite number of iterations, there are no longer any legal opening moves.
With this variant, since there are a finite number of legal board positions in chess, and Human^n chess is simply chess with a finite number of moves prohibited at each board position (claiming is the same as resigning, in this formulation), there are a finite number of distinct Human^n chess, so the mapping Human^n-1 chess -> Human^n chess must eventually reach a cycle (potentially of length 1, i.e. a fixed point).
I’m not sure about a straight-up cycle. I think it requires determinism, whereas the engine is not necessarily deterministic (eg. NN based ones like AlphaZero).
I think it’s possible that at least 1 position (and probably a lot more) will have more than 1 optimal solution. If the engine is not fully deterministic, then it’s possible instead of a normal cycle, there are a fixed set of strategies at each n that form a cycle, but no single sequence that repeats.
The other thing that would compound this is that no current chess engine solves the game fully. There would be even more positions that have multiple “optimal” solutions if the engine only looks ahead to bounded x.
That's a good point about non-determinism, although I wonder if there are known convergence/stability results in the ML literature that allow you to effectively ignore that detail (i.e. it seems plausible that you could get something like "human^n chess always stabilizes at some fixed amount of training time/computational power"). You can also just fix the randomization seed, but that's obviously a less satisfying result.
> The other thing that would compound this is that no current chess engine solves the game fully. There would be even more positions that have multiple “optimal” solutions if the engine only looks ahead to bounded x.
I'm not sure this is an obstacle; we're explicitly excluding the computer's preferred move, rather than the necessarily optimal move, after all. You could easily play human chess with the engine from (e.g.) Battle Chess, which honestly is sort of an interesting idea in its own right.
giving checkmate is a loss, the win condition for human chess is giving check in such a way that there is only one legal move. So hanging your queen might be good offensively, but its not good defense.
Moreover if you hang your queen in more than one way, your opponent can still take it in whichever way the computer evaluates as worse. Which is often easy to guess. The weird part of this will come from the fact that accuracy of engines diverges very rapidly off of the critical path. Once you're down a queen, you're basically free to play however you like.
> If a player only has one move available, that move will always be the top engine move, which loses the game.
It's interesting that this brings another degree of indirection to victory conditions.
If you never played chess before, you'd assume the goal is to take the opponent's king. But as we know, making a move that would allow your opponent to take the king is forbidden, so the goal of normal chess is force your opponent into a position where you could take the king next turn (checkmate).
This variant takes this another step further: Now any move which could result in checkmate (or check with only one exit) is forbidden, and the goal is to force the opponent in a position where any next move would result in checkmate or check.
This could be fun for spectators streaming the match at home, who could see the top engine move in real time while the players are considering their next move
I’d say an interesting variant would be regular chess with Swap2 rule from gomoku. Which is basically the first player makes the first few moves for both sides, and the other player can decide to swap black and white.
I've been thinking about a possible chess variant to eliminate opening preparation drudgery.
The Fisher 960 variant tries to do this, but it can be very different from regular chess, and some of the positions are unbalanced.
I think we can use the fact that engines know when a position is even. There must be millions of even positions in the first 10 or so moves. Pick one of those randomly, and start the game.
I would wonder if you need to add an 'ease of play' consideration to how even the positions are. Positions may be technically even but the play for one side could be more complicated to see your way through.
Yeah, that would be a real problem. It's even if you see some amazing combination.
One way to adjust would be to have everyone in a round play the same position, and calibrate. As in if black wins 90% of the games, a white win counts for more.
This is already how some engines tournaments work.
They don't start from move zero, they start from some uncommon position after a few moves, but one still considered even or at least not unbalanced.
I think in the context of top level chess, eliminating opening prep is the wrong way to go. And I don't like 960 either for that reason. I think the problem with opening prep today is that there are so many drawish openings and forced draws, constructed repetitions etc. In other words it's just too easy for top players to make a low effort draw.
To make top level chess more interesting I have a handful of ideas that work in tandem.
1. Change the scoring and rating systems so that a win is worth more than two draws. E.g a win is 3 points for the winner, draw is 1 point to each player. Game theoretically this should favour players that play for a win and avoid easy draws. But also modifying the rating system is crucial, otherwise we'll get the same drawmeisters dominating the rating list.
2. Change the repetition rule to be similar to xiangqi(Chinese chess) where repetitions are illegal and don't lead to a draw. This eliminates most of the lowest effort draws right out of the gate.
3. Make the game sharper and more complex. The easiest way to do this is just to remove the concept of castling altogether. Former world champion Kramnik has advocated this, and computer analyses of the ruleset is promising. King safety is suddenly a hard problem to solve in most openings and the game becomes much, much sharper.
4(optional). add more pieces. The best way is Seirawan-chess, a modification of Capablanca chess that adds a knight-bishop(hawk) and knight-rook(elephant) without changing the board geometry and starting position.
Yeah, there are chess tournaments that do this now, like Norway Chess. But because a single tournament can't change the FIDE rating system, it's sort of a fart in the wind.
Norway chess also has the spectaculary stupid idea that if a game is drawn, the players play an armageddon(white gets more time, black wins with a draw) blitz game, and the winner gets half a point extra, so 1.5 to 1. This just ruins it to me. A draw should still be a draw, sometimes the players were just equal and not all draws are lazy. And this makes drawing more attractive again because if you win the armageddon you still get half a victory worth of points. And decided by a blitz game in a classical tournament.
I remember someone on /r/chess actually evaluated every single starting position in Fischer Chess. This was the most balanced position: https://preview.redd.it/4o4kfv2kfcw91.png
I think this would also be fun to try with Ultimate Tic-Tac-Toe, which also has the advantage of being much faster to resolve with AI than taking a minute.
If we train recursively-restricted reinforcement learning agents, could there be interesting differences in the behaviors that emerge? Could it even be used as a method for exploration?
Some set-up considerations: 1) Actions must be discrete, or at least binned for restriction, 2) The number of times to restrict is limited by the size of the action space
I would imagine for CartPole, the balancing would become more wobbly, while still somewhat successfully balancing. But in more complicated environments, it could result in much more different behaviors because the states visited (and trajectories) could be different.
What about positions where there are multiple moves that are indistinguishable to the engine? The order in this case is somewhat arbitrary and might change randomly each time you run the engine depending on which engine it is.
242 comments
[ 3.5 ms ] story [ 256 ms ] thread> When multiple moves have the top score, they are all top moves, even if visual markers (like move arrows) suggest the engine prefers one over the other.
Since all moves that checkmate the opponent will have the same score (M1 or -M1) they'll all be illegal.
In this variant the attacking piece will effectively be protected by how bad its move was. Creates some interesting incentives - the only way to checkmate is a move that is normally not optimal and has only one way out of check.
How? Top engine move changes with evaluation time. Longer the wait, better the move.
I think that's like saying you can't play scrabble because the dictionary changes over time. You specify the engine and wait time before you start a game.
Waiting for a specific duraion may yield different results depending on CPU usage or other variables.
So you just choose in advance what settings to run with and the stopping condition. And then it doesn't matter that if you had run it with different settings, you may have gotten a different answer.
I don't think there's a real fix for the issue, unless someone effectively solves chess someday. Otherwise your win/loss is fundamentally based on the imperfect evaluation of a particular engine.
If it's really just the nondeterminism that bothers you (which is fair enough, preferences vary), there's engines that either are deterministic or can be made so with settings.
Engines can be configured to limit search to a certain depth, which will produce a result after every branch has reached the limit or been pruned. That process will vary in time but be deterministic.
Recent neural based engines tend to not be deterministic, especially if ran multi-threaded.
In Veto Chess you get one chance per game to veto your opponent's last move, and force them to make a different one.
This shares with Human Chess the property that you can win by checking the king such that the response is forced.
It may also serve as a handicap system in games between players of widely different strength, where only the weaker player gets the veto.
(“Too Awesome to Use” on TV Tropes. Link omitted - you’re welcome).
But then, I’m a terrible chess player.
It would be pretty neat between players of similar skill level though, then I could see the hoarding taking place.
As the saying goes, "the threat is stronger than the execution".
<Zach Braff voice> How did we get here?
See for example several books by Elwyn Berlekamp.
One outcome of this work was Berlekamp (IIRC) solving a small class of endgame problem that has eluded professional (full-time) go players for literally hundreds of years.
This will lead to extremely cagey games where no one ever dares make the game sharp and imbalanced.
Next: AI that can play Human Chess.
After: Human^2 Chess: you can't play what the AI above would play.
etc
I wonder if this creates distinctly new games at each level, or if it's just nonsense one level down.
https://www.chess.com/blog/AcceleratedPog/bongcloud-opening-...
(I believe a chess engine could play human^2 chess exactly like it plays regular chess. A human couldn't because a human doesn't know what moves the chess engine would pick.)
AI can't win at human chess, because any move that it attempts to make is by definition the top move choice of an engine, and so causes immediate defeat.
I have a low chess rank (900 on chess.com), yet on an okay game 25% of my moves will be "top engine moves": https://i.imgur.com/TGaDtzr.png
I could even easily find games where I had 50% of top engine moves.
It's really not exceptional. Often the top engine move is the only good move and that only good move is pretty obvious.
You just described all of chess.
I've played and lost enough games against engines that I would say I've learnt some of the "best moves" (as suggested by the engine, when analysing why I lost) in almost every "usual" scenario for my "usual" openings all the way to maybe the fourth move. There are a lot of variations, but even past the fourth move I still remember some engine suggestions based on my own errors.
Mastering that kind of new threats does not seem easy IMO, and in fact could well be mastered by... computers ;-)
I've heard it said that the best parodies are almost as good as the things they parody (and a sign that the comedians in question both love and understand the thing they are making a parody of). It could be argued that this chess variant is a really good "parody" in that sense, but encoded in the rules of the game itself.
So every move you make (I'll be watching you) could end up being the top move. Even if you run the chess engine yourself to decide what not to play, you're still at risk of bad luck because you happen to run the chess engine on a faster or slower machine than the person checking for the top move, and they diverge.
EDIT: Never mind, contesting and getting it wrong causes you to lose - that's the downside.
The page doesn't say, but it's cheating to use an engine yourself to decide what move to make (or to decide whether to contest)
My game quality is measured in how many times I say "fuck!" right after moving a piece. A very good game for me is about a two-fuck game.
Most of them it's more like four or five "oh my god I hope they don't see that thing I spotted the second I took my hand off" moments—and that's just the ones I notice before they're exploited. I'm sure I make tons of moves that anyone half-decent would call blunders but that simply go unnoticed by both players at the board.
I'm so very bad at spotting diagonal attacks, especially. Anyone who can open up their bishops then play for time will eventually see me put my queen in some dumbshit situation that lets them take it free or cheap in a single move, for instance, not even any multi-move planning required.
You basically want to "blunder" into giving your opponent long chains of captures while avoiding any positions that allow your opponent to hang a piece.
While I enjoy the conversation ideas like these create, I'm often left wondering why Fischer random isn't more popular.
Edit: I didn't read the fine print. First moves are exempt.
However, the thought you had, and similar ones, are very much the intentional side-effect of the rules. The only way to win the game, as stated, is forcing your opponent to make the top engine move. Or, of course, correctly claim that your opponent made such a move (even though it wasn't forced). Or, having your opponent make the incorrect claim about your move.
So, it isn't necessarily "playing good chess". Though, I must say, I'm not qualified to have any good idea of what it would mean to be good at this game. It definitely helps to be good at chess, and have a good command of what are the correct engine moves. Especially since you lose if you incorrectly claim a position and opponent move was "the top engine line".
I suppose most would reduce this to leaving the opponent to only one legal move. In which case, the problem is is trivial. But, after move 2? You need to know most opening lines, and probably play intentionally bad in many situations.
Hm, this is cooler the more I think about it.
Imagine intentionally setting up material sacrifice with a resulting choice of multiple moves for the opponent to capitalize. If you can correctly evaluate the best computer move, you have a strong advantage. If it is not obvious, then the opponent might not dare to gamble the challenge.
Has Hikaru tried this in one of his streams? I'm certain he would have a blast.
The only thing about this that doesn't "spark joy" are the ambiguous practical implementations.
- Which engine? This matters a lot.
- How do you define the computational cut-off? CPU-minutes? Move depth? Etc. Not necessarily a simple problem.
- The rule "When multiple moves have the top score, they are all top moves". Needs a specific score evaluation delta for grouping "top moves".
All of these could rather simply be resolved if it isn't very important... might even add some uncertainty to it, for fun. Like, say: 1. Stockfish 15. 2. Allow the computer whatever resources it has available, 1 minute, and play some drum roll sample. 3. Pawn-evlauation of 0.05.
Human players are dealing with both human limitations and human limitations which really changes the game. So a grandmaster can for example benefit from playing a slightly weaker but less well known opening that they have recently studied in depth with the assumption that their opponent hasn’t done the same.
A further variant for fairness purposes: let each player bring their preferred chess engine, instead of arguing about the choice of only one; and have each player run both engines for mutual anti-cheating verification. Then either the two engines agree on the best move (likely case if they are both strong) or all moves that either engine considers better than the other engine's best move (at least 2, usually not too many) can be interdicted.
Especially in this game, the humans will be trying to play badly.
Hikaru Nakamura is a top GM that does commentary streams — and frequently comments things like “but what do I know about chess?” when responding to AI suggestions. It’ll suggest a weird move that seems to leave a mess on the board while insisting that everything is great. And obviously if you actually tried to play against Stockfish from that position, it would crush you.
Looks like 400 ELO, but hey — what do we know about chess?
There's been times when the chess.com calls my move a mistake, and suggests something nonsense that leads to a guaranteed mate in 15, when I got a (non-guaranteed but real) mate in 5 from my move, because I know I'm playing against a human. The engine move is more guaranteed, but very illogical unless your brain can do the equivalent of the 30 turns of minmax.
A minimally modified engine lookup wins here.
There's a whole bunch of openings that ensure it for white, this game is rigged even more than playing the best move, even if you do enforce a random opening.
So essentially this converts most mates in two into mates in one, but some become ties by repetition.
It is an interesting variation on chess given the current state of tournament play, yet it isn't really a solution to the cheating problem since it is effectively a new game with a new end-state. But you are probably right about there needing to be some sort of threshold. While there the rules of the variation says that any move with equal scores is considered equivalent, I would imagine the players would need a very intimate knowledge of how the engine scores moves in certain scenarios.
My immediate first reaction was also that it would be interesting to have a variant that is the same except you are allowed to checkmate, except then I realized the recursive nature of how board positions are evaluated makes that problematic. For instance, if there's a mate in 2, the first move of the mate in two is now certainly the "best move". Creeping up on a checkmate without ever making the "best move" until the very last one might actually be harder than the win condition based on strangling the opponent described in the current rules.
It just seems like you're changing the objective of the game entirely to the point where it's only slightly related to chess.
Therefor, such an engine can only hang in computation - being unable to produce a top move because if it were to make a suggestion then the actual best move changes to avoid it. Since the engine is unable to produce a move - there is no top engine move which makes every move legal.
A normal game of chess is played while the engine locks up on the sideline
So you end up in this scenario where both players are taking one another's pieces while leaving their queens en prise the whole time. Is it a draw, or is there some clever way to break this loop?
For instance after 1.e3 e6 2.Qh5, White threatens Qxf7+ which would force black to play the top engine move. Then 2...g6 3.Qxg6 is one idea -- but there are two recaptures, fxg6 and hxg6, and only one of them can be the top engine move (hxg6, I'm guessing). So 3...fxg6 probably refutes this idea. But are you sure enough as white to try to claim a win if black goes hxg6?
And after say 1.e3 e6 2.Qh5 g6 3.Qxh7 (avoiding that line and going for material), not only does black not have to care about their rook (white can't take it, it would be the best move), black actually has 3...Qh4 winning -- he threatens 4...Qxf2+, white can't play 4.Qxh4 as that's the best engine move, and white's queen is threatened twice, so black will be able to take it -- provided he checked this line before the game to know which piece to take with.
Edit: it doesn't actually win, white has 4.Qf5 to defend f2... what a strange game.
Edit 2: once a piece is _en prise_ somewhere, the game can otherwise become somewhat normal as taking it would be the best move and so would moving it to a safe spot - so other moves can be played as usual. But would they be good?
We can argue if a forced move ends the game, or just allows it.
This would (more) move the game forwards in the basic historical rule-set.
- giz
Second, if you ever hang your queen two ways at once - one of them could be a less optimal take (-5 is not as good as -8)
Third, whoever is a move ahead in a race of taking pieces will be the first to run out of weak pieces to take. Their available move pool is shrinking faster. Not sure how it would play out, black would need to cater to it by removing defenders and hanging pieces of their own, etc.
That said, first move advantage does seem strong still due to how forcing a queen can be. An example would be 1.e4..e5 2.Qh5..d5 3.Qxf7#
It is an interesting theoretical question whether we can have Aleph Zero Human Chess where Human(Human(...(Chess))) is applied infinitely, approaching Aleph Zero trainings of AlphaZero, or we get a redundant variant after some application where further application of Human() no longer produces a new variant.
I think it’s possible that at least 1 position (and probably a lot more) will have more than 1 optimal solution. If the engine is not fully deterministic, then it’s possible instead of a normal cycle, there are a fixed set of strategies at each n that form a cycle, but no single sequence that repeats.
The other thing that would compound this is that no current chess engine solves the game fully. There would be even more positions that have multiple “optimal” solutions if the engine only looks ahead to bounded x.
> The other thing that would compound this is that no current chess engine solves the game fully. There would be even more positions that have multiple “optimal” solutions if the engine only looks ahead to bounded x.
I'm not sure this is an obstacle; we're explicitly excluding the computer's preferred move, rather than the necessarily optimal move, after all. You could easily play human chess with the engine from (e.g.) Battle Chess, which honestly is sort of an interesting idea in its own right.
In fact, the opponent cannot play the best move to escape a mate, so a bunch of the games would become forced surrenders.
Moreover if you hang your queen in more than one way, your opponent can still take it in whichever way the computer evaluates as worse. Which is often easy to guess. The weird part of this will come from the fact that accuracy of engines diverges very rapidly off of the critical path. Once you're down a queen, you're basically free to play however you like.
There are a lot of dynamics here.
It's interesting that this brings another degree of indirection to victory conditions.
If you never played chess before, you'd assume the goal is to take the opponent's king. But as we know, making a move that would allow your opponent to take the king is forbidden, so the goal of normal chess is force your opponent into a position where you could take the king next turn (checkmate).
This variant takes this another step further: Now any move which could result in checkmate (or check with only one exit) is forbidden, and the goal is to force the opponent in a position where any next move would result in checkmate or check.
The Fisher 960 variant tries to do this, but it can be very different from regular chess, and some of the positions are unbalanced.
I think we can use the fact that engines know when a position is even. There must be millions of even positions in the first 10 or so moves. Pick one of those randomly, and start the game.
One way to adjust would be to have everyone in a round play the same position, and calibrate. As in if black wins 90% of the games, a white win counts for more.
To make top level chess more interesting I have a handful of ideas that work in tandem.
1. Change the scoring and rating systems so that a win is worth more than two draws. E.g a win is 3 points for the winner, draw is 1 point to each player. Game theoretically this should favour players that play for a win and avoid easy draws. But also modifying the rating system is crucial, otherwise we'll get the same drawmeisters dominating the rating list.
2. Change the repetition rule to be similar to xiangqi(Chinese chess) where repetitions are illegal and don't lead to a draw. This eliminates most of the lowest effort draws right out of the gate.
3. Make the game sharper and more complex. The easiest way to do this is just to remove the concept of castling altogether. Former world champion Kramnik has advocated this, and computer analyses of the ruleset is promising. King safety is suddenly a hard problem to solve in most openings and the game becomes much, much sharper.
4(optional). add more pieces. The best way is Seirawan-chess, a modification of Capablanca chess that adds a knight-bishop(hawk) and knight-rook(elephant) without changing the board geometry and starting position.
Norway chess also has the spectaculary stupid idea that if a game is drawn, the players play an armageddon(white gets more time, black wins with a draw) blitz game, and the winner gets half a point extra, so 1.5 to 1. This just ruins it to me. A draw should still be a draw, sometimes the players were just equal and not all draws are lazy. And this makes drawing more attractive again because if you win the armageddon you still get half a victory worth of points. And decided by a blitz game in a classical tournament.
Bishop, Rook, Knight, King, Knight, Rook, Queen, Bishop. Here's the post: https://www.reddit.com/r/chess/comments/yeregq/fischer_rando...
Maybe this should be used as the starting point? Traditional openings would usually give an advantage to White.
When you have mate-in 1 it's impossible to have anything else recommended by the computer. Flip of a coin for which one is on top when you have two?
https://en.wikipedia.org/wiki/Losing_chess
https://en.wikipedia.org/wiki/Ultimate_tic-tac-toe
Some set-up considerations: 1) Actions must be discrete, or at least binned for restriction, 2) The number of times to restrict is limited by the size of the action space
I would imagine for CartPole, the balancing would become more wobbly, while still somewhat successfully balancing. But in more complicated environments, it could result in much more different behaviors because the states visited (and trajectories) could be different.