
Tetris Is Hard, Even to Approximate - ColinWright
https://arxiv.org/abs/cs/0210020
======
djtriptych
Worth linking to the most famous of these authors, Erik Dermaine. More or less
a prototypical child genius in math / CS. MIT Professor at 20.

[https://en.m.wikipedia.org/wiki/Erik_Demaine](https://en.m.wikipedia.org/wiki/Erik_Demaine)

Also highly recommended basically any filmed class he’s teaching on MIT
OpenCourseware

~~~
abhgh
I quite like his presentation format for his online lectures (example - [1]);
3 panels - (1) video of him explaining/board work (2) notes (3) slides, all
sync-ed. When he changes topic the slide and notes panel also move forward.
And I think this has been around for ~ 10 yr now.

[1]
[http://courses.csail.mit.edu/6.849/fall10/lectures/L01.html](http://courses.csail.mit.edu/6.849/fall10/lectures/L01.html)

~~~
tomcam
This dude is amazing. Did not know about him. Thanks!

------
gqcwwjtg
This is a version of Tetris in which random pieces appear, not the classic
version where all 7 of the pieces appear in a shuffled order over and over.

~~~
maxmcd
The original NES variant (which is used for professional play) has random
pieces.

~~~
Waterluvian
I think this is also true for GB?

~~~
jamiek88
The GB version is the definitive version for me, I’ve never been able to find
a modern version on any device that feels the same.

It was the only game I had for my GB, I played the crap out of that game to
the point I’d dream about it or see the tiles when I closed my eyes.

~~~
everly
Totally agree and I've always wondered how much of that has to do with the
hardware feel.

~~~
frosted-flakes
It's available on the 3DS as a Virtual Console, and it's identical in every
way, including the controls.

------
rhacker
Interesting. I would think ML would do well to copy players. When I play it's
a rather boring game, I'm almost always just setting up for the |. I can
imagine trying to approximate a player using a complex branch if/else
structure being complicated code. But I have to wonder if deep ML would be a
rather impressive implementation (even without seeing the next block). The
only thing that kills my game is the ever increasing speed, which wouldn't
matter to ML.

~~~
ComplexSystems
Well, according to this paper, ML can't do too well, unless you can use ML to
solve NP-complete problems.

~~~
schwurb
ML is all about finding approximate solutions. Categorizing problem as NP-
complete only makes sense when talking about exact solutions.

~~~
mlevental
that's not true at all
[https://en.m.wikipedia.org/wiki/Approximation_algorithm#Hard...](https://en.m.wikipedia.org/wiki/Approximation_algorithm#Hardness_of_Approximation)

~~~
schwurb
Please point out where I am (completely!) wrong.

I have formally dealt with approximation algorithms before and I skimmed the
wikipedia article, yet I did not find anything that contradicts me. Note the
in the section on hardness, P and NP (obviously) appear as bounds of
solutions. Where is the contradiction?

Further, all this (approximation algos and P/NP algos) are discrete, complete
algorithms. ML is a completely different story, as one is never certain
whether some optimum is global or local. Hence, ML is a heuristic, while
Djikstras shortest path algorithm is a series of steps with a success
guarantee (with provable worst runtime behavior).

------
stcredzero
Has someone tried to implement public key cryptography with Tetris?

------
sddfd
I thought Tetris was pretty easy for a computer to play: to decide where to
put the next piece, just maximize flatness of the surface while penalizing
holes.

I'm hence surprised about the hardness of approximation result.

~~~
jhanschoo
You are right: the authors observe that when the size of the playing field is
fixed and the only variable is the sequence of tetrominoes (which may vary
arbitrarily in length), Tetris can be solved in polynomial time with a dynamic
programming approach.

The authors' contribution is that the problem of choosing the optimal strategy
is NP-complete when the playing field is itself variable, and provided as an
input to the algorithm (as a matrix of 1s and 0s indicating whether or not the
cell is filled, or equivalently, as the number of cells in the grid provided
in unary base.)

------
userbinator
This is a very thorough analysis. It's not that surprising to me, given the
existing knowledge about the complexity of this type of game:

[https://en.wikipedia.org/wiki/Tile-
matching_video_game#Compu...](https://en.wikipedia.org/wiki/Tile-
matching_video_game#Computational_complexity)

~~~
mmarx
The paper is from 2002, all of the references in that Wikipedia article are
younger (and indeed, reference [16] even cites the Tetris is Hard paper).

------
schoen
(2002)

~~~
MrEldritch
It's not like Tetris has gotten any easier to approximate in the last 17
years.

