Live data from Hacker News

Getting the World Record in Hatetris (2022)

hallofdreams.org

51–58 of 58 posts

Re: Getting the World Record in Hatetris (2022)

#51
post #2

Related: Losing the World Record in Hatetris (2023) - https://news.ycombinator.com/item?id=36558013 - July 2023 (1 comment) Getting the World Record in Hatetris - https://news.ycombinator.com/item?id=32495842 - Aug 2022 (1 comment) Hatetris – Tetris which always gives you the worst piece - https://news.ycombinator.com/item?id=27063894 - May 2021 (245 comments) Hatetris - https://news.ycombinator.com/item?id=4846607 -…

The "Losing the World Record..." article is especially worth reading.

This is gold.

Reading the back-and-forth about the Hatetris world record progression has the Summoning Salt music playing in the back of my mind, and I absolutely want to see one of his YouTube expositions on the subject.

Re: Getting the World Record in Hatetris (2022)

#52

I absolutely love love love seeing things like this. I've been doing a fair bit with Monte Carlo search lately to explore different spaces, but mine has been in the context of Llama.cpp and Magic: The Gathering. [1] I'm going to compare and contrast my approaches with the approach used by the authors. First, I want to ask a question (either to the authors, or to the general audience), about trees vs. DAGs. The author…

> It's also fascinating to me that the author attempted to train an ML model to play the game. My initial thought was that an exhaustive search was the only way to approach this (because it's perhaps the only way to arrive at a max score that is provably correct), but I think I am not truly appreciating the vastness of the search space at play here, and exhaustively searching all possible inputs might just be too unimaginably large.

I think when we did the math with our best emulator it would take 100 billion years? There are, by our estimation or a game lasting a thousand moves 10^23 possible wells. With current computing, even if we threw all the resources of the planet at it, we'd still be a few orders of magnitude short of finishing in our lifetimes. It is a very very very large search space.

>Searching for duplicate states and culling any branches that are equivalent.

Branch pruning and comparison are both expensive relatively speaking. You want, in a perfect world, to essentially have a hashmap lookup for duplicate nodes, so deciding if its new or not is O(1), rather than having to look at your node and all its children to know if it's duplicated. It doesn't matter unless you're really chasing performance.

Also this was our first serious rust project so implementing it was a bit more daunting than expected. In a sane codebase it's probably not a bad refactor, at the point we did it we had six methods with a bunch of stuff jammed into them and names like `explore_tree` so it was a challenge, made significantly easier by rust types, and more frustrating by the borrow checker.

Re: Getting the World Record in Hatetris (2022)

#53

I find it interesting how the author's first approach was to use a black box neural network instead of the evidently simpler beam search. As far as I'm aware, beam search was widely considered to be the simple method for game optimization just a decade ago. Sure, new methods will always replace old methods, just like CNNs replaced SIFT for image processing. However, I feel that beam search is one of those elementary…

The main impetus was trying to show that you could do AlphaZero on a regular computer. It didn't pan out that way.

Re: Getting the World Record in Hatetris (2022)

#54

Earlier quoted context omitted.

Fine Structure's ending is very optimistic, in fact. (edit: a lot of his short stories are, too.) But yeah, Ra is rather bleak. I guess it's not for everyone, but if you came in from "There Is No Antimemetics Division" it won't bother you.

exactly because I came from antimemetics it bothers me as his default

Then I'm confused about why you followed qntm from Antimemetics, which is already pretty bleak, but not enough to prevent you from reading Ra, which was somehow enough to put you off of his work forever. Why did you stop exactly there, reading more from an author who did something you don't like but not reading any farther to learn that he is capable of more?

Re: Getting the World Record in Hatetris (2022)

#56
post #14

Off topic but I did not know that Hatetris and "there is no antimemetics divisions¹" have the same creator : qntm ! 1- https://qntm.org/scp

Underrated book IMO. I enjoyed it more than the 3 body problem: the characters are better written, their motivations make more sense despite having much less time for actually developing them. I was really having fun trying to figure out how to make the best of an impossible to solve situation. And the SCP lore is wonderful.

I haven't read _Their Is No [...]_, but I have read _Fine Structure_, another book by QNTM. It's an exhilarating read with some forgivable issues and I'd heartily recommend it to anyone interested in heady sci-fi.

I would never recommend 3 Body Problem. I found it and its sequel to be irredeemably unpleasant.

Re: Getting the World Record in Hatetris (2022)

#57
post #38

Very good article. I hadn't seen it before. I wonder why it never mentions SAT solvers at all. I can believe that the approach is hopeless, but a few words on the topic would still have been nice.

From Dave: Short answer: SAT solvers are hard. Long answer: I actually discussed it with Tim once, long after part 2 of our blog post and after the whole thing settled down. Tim was making an SAT solver based on a post about a homemade Sudoku program that got out of hand ( https://t-dillon.github.io/tdoku/ ), and HATETRIS has a binary grid representation, so it's a logical thing to attempt. So, how would you answer t…

But I mean, what happens if you just chuck those 39,000 clauses into Z3 and let it spin to see what happens? Solvers use a bunch of cute backtracking heuristics to not explore too much of the state space, and they keep getting better at it. Particularly, SAT is sort of like the halting problem, with a class of easily identifiable satisfiable instances and a class of easily identifiable unsatisfiable ones. The difficult instances are a narrow band between the other two classes. SAT solvers are so successful because so many naturally occurring instances turn out to be easy.

Re: Getting the World Record in Hatetris (2022)

#58
post #52

I absolutely love love love seeing things like this. I've been doing a fair bit with Monte Carlo search lately to explore different spaces, but mine has been in the context of Llama.cpp and Magic: The Gathering. [1] I'm going to compare and contrast my approaches with the approach used by the authors. First, I want to ask a question (either to the authors, or to the general audience), about trees vs. DAGs. The author…

> It's also fascinating to me that the author attempted to train an ML model to play the game. My initial thought was that an exhaustive search was the only way to approach this (because it's perhaps the only way to arrive at a max score that is provably correct), but I think I am not truly appreciating the vastness of the search space at play here, and exhaustively searching all possible inputs might just be too uni…

That's very helpful, thank you!
Post reply on HN