30 Weird Chess Algorithms: Elo World
suckerpinch8 HN recommenders · 2019–2026
965K views · explainer · evergreen · Uploaded 2019-07-15
Tom Scott-style absurdist tour by Tom7 of SIGBOVIK chess projects: a tournament of 30 weird chess algorithms used to rate a color- and piece-blind chess program. Topics include mirrors, arithmetic encoding, perverted game tree search and a diluted Stockfish.
HN commenters call it a must-watch for its deadpan, absurdly elaborate engineering and cite it for ideas like diluting strong engines with random moves.
1:30:28AlphaGo - The Movie | Full award-winning documentary
Google DeepMind
51:22USENIX Security '18-Q: Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible?
USENIX
59:34CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
2:58The Loving Trap
Ben Woodhams
16:18Computer program that learns to play classic NES games
suckerpinch
28:23The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?
Reducible
1:07:41Modern Dictionaries by Raymond Hettinger
SF Python
19:08NaN Gates and Flip FLOPS
suckerpinch
13 comments from Hacker News
Tom7 made a video also: [VIDEO] If you haven’t seen them his other videos are well worth watching as well.
Suckerpinch (Tom) recently had a video[1] about predicting the position of the oponents pieces from knowning just white. I don't think he's aware of this. Great video anyway. He trained an NN to predict the pieces and then used Stockfish on the resulting position. [1] [VIDEO]
I had just looked up this wiki article a couple days ago based on this video: [VIDEO] , "30 Weird Chess Algorithms: Elo World" An intricate and lengthy account of several different computer chess topics from my SIGBOVIK 2019 papers. We conduct a tournament of fools with a pile of different weird chess algorithms, ostensibly to quantify how well my other weird program to play color- and piece-blind chess performs. On the way we "learn" about mirrors, arithmetic encoding, perversions of game tree search, spicy oils, and hats. Is this also why it showed up just now?
Only somewhat related, but if you found these ideas amusing, you'd probably enjoy watching tom7's video on unusual chess engine strategies: [VIDEO]
It's unknown what role if any BPE plays. I was surprised to discover that the final probability of a move is equal to the probability of each token from the root prompt, i.e. even though "1.Nf3 e5" is encoded as ['1', '.', 'N', 'f', '3', ' e', '5'] the probability of e5 seems unaffected by the fact that Nf3 is 3 tokens as opposed to one. You're right that coming up with a token mapping could help things. It's a bit tricky to do that right now. Your options for fitting a custom vocab seems to be "use sentencepiece to fit a vocab, then modify the gpt-2 codebase to use the sentencepiece library for decoding". I am honestly not sure if the output of sentencepiece is compatible with traditional encoders. What I mean is, it doesn't seem to generate an encoder.json + vocab.bpe file. It seemed to be some other kind of format. So I'm not sure if the tooling that has evolved around OpenAI's encoder format would be applicable there. I really don't know, though. According to this slatestarcodex comment, someone got superior results on solely algebraic notation (which looks like g1f3 instead of Nf3): [LINK] Another extension that might help is to periodically inject the full FEN board state. This was the format we were going to try next, which injects the full FEN after every move: [LINK] I'm so happy to get to work with GPT-2 1.5B. It's been a lot of fun to train. By the way, if you like this kind of thing, you'll love Elo World. [VIDEO]
Tom7 is brilliant for anyone that hasn't seen him before. His Reverse Emulation video ( [LINK] ) and Weird Chess Algorithms ( [VIDEO] ) are a must watch. His dead pan delivery coupled with the ridiculous amount of effort he puts into things that don't _really_ matter is honestly inspiring.
Tom's really mastered his skill of casual misleading, he adds these "wait, what?" moments to every video. A more notorious example will be his explanation of how optical reflection works, check out his "30 Weird Chess Algorithms" ( [VIDEO] ) around 10:20. Edit: spelling.
Anything that catches your eye is good but my favorites are: 30 Weird Chess Algorithms: ELO World [VIDEO] Reverse Emulating the NES to give it SUPER POWERS! [LINK]
Mine are "Harder Drives"[1], "ELO World"[2], and "Printable x86"[3] [1] [LINK] [2] [VIDEO] [3] [LINK]
"I was initially hoping to get some insight on e.g. which pairs of squares had the fewest moves for a given piece etc." This may not be quite what you were asking for, but it's close, and has the advantage that I can link it right now. Tom7's Elo World chess video has where pieces start and end up, and their survival rates, as a chart: [VIDEO]
> I figured it's how they were able to weaken a chess engine back in the day; can't adjust the overall strength, so add random blunders. In tom7’s Elo World, he does this (“dilutes” strong Chess AIs with a certain percentage of random moves) to smooth the gradient since otherwise it would be impossible to evaluate his terrible chess bots against something like Stockfish since they’d just lose every time. [VIDEO]
This reminded me of Tom7's video where he made a bunch of ridiculous engines and pitted them against each other (and against "diluted" versions of Stockfish): [VIDEO] [LINK]
In fact, you don't even need an LLM tournament when you can have tom7's Elo World tournament: [VIDEO]