Slashdot Mirror


Tetris Is Hard: NP-Hard

bughunter writes "Analysts at MIT Laboratory for Computer Science, who have been busy translating, rotating and dropping, have demonstrated what the rest of us suspected: Tetris is hard. Technically, it's 'NP-hard,' meaning that there is no efficient way to calculate the necessary moves to "win," even if you know in advance the complete order of pieces, and are given all the time you need to make each move. At least there's one geek classic that refuses to fall to the scrutiny of mathematicians."

149 of 343 comments (clear)

  1. Winning by scotch · · Score: 3, Interesting

    How the hell do you win at tetris? I remember it getting faster and faster but never ending. Maybe I just sucked at the game, or was playing a clone.

    --
    XML causes global warming.
    1. Re:Winning by agurkan · · Score: 5, Informative

      I think what is meant is, if the number of pieces is finite then finding a configuration for putting them without gaps is not polinomial in number of pieces.

      --
      ato
    2. Re:Winning by kjd · · Score: 3, Interesting

      In the Game Boy version (1989), you got little audiovisual rewards for breaking certain point barriers. If you broke 50,000, you'd get to see a little rocket launch. 100,000 lines (I think this is the right number) would net you a takeoff of the Space Shuttle.

    3. Re:Winning by targo · · Score: 3, Informative

      How the hell do you win at tetris?

      The best Tetris game that I remember playing was Super Tetris. It had a bunch of extra features compared to classic Tetris, and 10 different levels that you could complete. The best feature was the ability to save/reload the game, so in higher levels I would just reload the game every time I made a bad move, and completed the game this way.
      You may be able to find it on some abandonware site, it is lots of fun.

    4. Re:Winning by Kong+the+Medium · · Score: 5, Informative

      It isn't the Space Shuttle, it's the Buran, the russian Version of the space shuttle. AIIRC you needed 250000 points for it to launch, or 25 PERFECTS in game B. After getting a Buran, i quit tetris cold turkey.

      --
      ... whenever a text is transmitted, variation occurs. This is because human beings are careless, fallible, and occasiona
    5. Re:Winning by silvaran · · Score: 2

      The Playstation one is pretty sweet. The pieces are rendered (though it's still 2D-looking most of the time). When you play multiplayer, and you're kicking ass, the other player's boart twists and spins making it harder to play.

      The only drawback is, as long as you keep rotating the piece, it will appear to "bounce" on the other pieces below. You could keep quickly rotating the pieces back and forth until you found a place to fit. In essence, you could bounce a piece around for a limitless amount of time until you got it just right...

    6. Re:Winning by stevey · · Score: 3, Interesting

      You also win if all your opponents are dead in the multiplayer games, like Tetrinet. (There's a good client out for Linux too - gTetrinet).

      Unfortuntately there is a limit of six players to the game; but it's still been taking my workplace by storm for the past two weeks.

    7. Re:Winning by Lars+Arvestad · · Score: 5, Informative
      Read the paper. One does not need to understand it to see what the actual questions are.

      The authors carefully defines that a Tetris problem is a starting board and a series of Tetrominoes. Several computational objectives are then defined, such as "can a game be played wherein k rows are collapsed?" or "can the board after the last tetrominoe have at most height k?".

      So it is really a mathematical version of Tetris, but it applies to regular Tetris in that there are certainly games that simply are too hard for you.

      --
      Reality or nothing.
    8. Re:Winning by RovingSlug · · Score: 2
      I imagine "winning" in Tetris would be defined as "not-losing". I'd guess the goal of a winning algorithm would be for an initially empty board to calculate a strategy to never stack-out (lose) for any arbitrary inifite sequence of Tetris pieces.

      Probably to help prove that, the tool you'd want is an algorithm to determine if an arbitrary board is winable or losable for any given N-finite sequence of pieces; where N is the number of remaining empty grids divided by four. You'd want to use that algorithm to determine a large set of initial board configurations that you'll never leave for any given sequence of pieces. That first algorithm is probably the one they say is NP-hard.

    9. Re:Winning by travd · · Score: 5, Informative
      More particularly, they show that given an arbitrary size game board, and prior knowledge of the sequence of pieces, the problem of computing the optimal solution to four problems is NP-Hard:

      (1) Eliminating all blocks on the playfield in a minumum number of moves.

      (2) Maximising the possible number of tetrises obtained.

      (3) Maximising the number of lines cleared.

      (4) Minimizing the height of the block configuration.

      Note that they prove (1) essentially by starting from a very particular arrangement of blocks on the playing field, such that the reduction to 3-Partition is "easy" to prove (I use the word "easy" in the loosest sense). They then go on to prove (2),(3), and (4) using small modifications to the basic setup.

      The admit that the "empty initial field" problem is an open one, but I would imagine that that problem can also be proven NP-Hard.

    10. Re:Winning by Gubble · · Score: 2, Informative

      Not-losing tetris is impossible in the long term. All you need to loose is a very long sequence of Z and S pieces. These pieces don't tile the plane. Even if a normal tetris game program may forbid such sequences, your "any arbitrary sequence" definition clearly includes such seq.s

    11. Re:Winning by Lev_Arris · · Score: 2, Informative

      As far I as remember you only had to beat game mode B with speed 9 and high 5 (half the screen filled at start) to win. (or get that high score in mode A)

    12. Re:Winning by Dimensio · · Score: 2

      Clearing Level 9 Height 5 in Type B earned a space shuttle takeoff.

      Type A gave you various rockets based upon your score. I don't remember the best rocket that I saw, but the best level I reached (starting from 9) was either 20 or 21 (I cleared enough lines to get to level 21, but I don't recall if the game actually went to it).

    13. Re:Winning by RovingSlug · · Score: 2
      "Dumb and Dumber."

      Funny.

    14. Re:Winning by RovingSlug · · Score: 2

      That's good, though. That's the way academia works. You make an assertion, of course what you assert isn't quite right, and though the process you find more interesting things to say. In this case, that not only do you need to constain the board configuration, but that you also need to constrain the sequence of tiles in some way. Excellent! Hell, you could even get a second paper out of it! :)

  2. Tetris is NP-hard! by DeadMoose · · Score: 5, Funny

    Yeah, that's it; I'm not bad at it, it's just too hard. Just like, um, most every other video game I've played...

  3. Are you goofing off playing tetris... by aero6dof · · Score: 5, Funny

    No, I'm empirically testing some NP theories...

  4. They used math to figure this out? by Uhh_Duh · · Score: 5, Funny


    I don't get it. They used math to figure out that tetris is hard, but math is hard too. :(

    --
    -- People who hate Windows use Linux. People who love UNIX use BSD.
    1. Re:They used math to figure this out? by the.jedi · · Score: 5, Funny

      Yeah well we mit people are crazy like that.
      Instead of studing for my Linear Algebra exam,
      I've been busy proving tecmobowl is NP-Fun!

      --
      ThunderBird. Nuff said.
    2. Re:They used math to figure this out? by doug363 · · Score: 2
      But they don't place any limit on how many pieces must be placed to optimally satisfy their criteria --- there may be an arbitrarily large number of pieces that must be places. So the problem is unbounded: the number of pieces given to you is unbounded. Further, they say that even if you know all the pieces that you'll get, you still can't solve the problem in less than polynomial time (with respect to the number of pieces). They also show that their proof holds even when the gameboard is extended to be arbitrarily tall, so the player can never "lose". So, yes, the problem that they propose is unbounded.

      However, note that they propose a specific board from which they want to optimize the placement of pieces in the "best" way (they look at 4 different ways of defining "best"). They don't start from an empty game board.

  5. Hey... by bluemilker · · Score: 5, Funny

    those guys are dumb. Everyone knows you just leave a single block wide path in the center... you're _sure_ to get a 4-long column before you hit the... ARGH! ... this would be so much easier if I had a version of tetris that told me all the pieces in advance, like theirs does...

    1. Re:Hey... by tbspit · · Score: 3, Informative

      In the center? That gives you two narrow columns to build. I always leave the single block wide path at the extreme left or right.

    2. Re:Hey... by athmanb · · Score: 4, Interesting

      If you leve the open column in the center, you have an even count of blocks on the left side, and an odd count on the right side. This means you have more possibilities to stack different classes of blocks.

      Plus, you can use both right- and left-handed L blocks as a makeshift solution if your stack gets too high.

  6. In Other News by GroovBird · · Score: 5, Funny

    Ron Rivest of RSA Security (NASDAQ: RSAS) announced that are releasing a new assymetric encryption algorithm based on Tetris. Since Tetris has been under the scrutiny of millions of people, experts say that it is much more secure than current outdated algorithms such as RSA and Elliptic Curve. This will bring a new era in computer security, Ron says.

  7. The only way to win at Tetris... by gpinzone · · Score: 5, Funny

    Is to prove the P = NP challenge. I think I'll play Quake 3 instead.

    1. Re:The only way to win at Tetris... by SpaceLifeForm · · Score: 5, Funny

      ...is not to play.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    2. Re:The only way to win at Tetris... by IIRCAFAIKIANAL · · Score: 2

      ...is not to play.

      That's like playing MMORPGs - the only way to win is to walk away. Sounds like a koan or something.

      --
      Robots are everywhere, and they eat old people's medicine for fuel.
    3. Re:The only way to win at Tetris... by Isle · · Score: 2

      In case some new generations of nerds doesnt know. That is a reference to the movie "Wargames", where they try to teach a computer exactly that by letting it play tic-tac-toe ad infinitum, and that way saves the world. (Dont ask)

  8. Further studies... by Ravenn · · Score: 2, Funny

    Next we'll see occultists studying Pacman.

    Then NASA will use Moon Buggy as a simulator for the next Mars mission.

    And eventually the Army will use Quake to train... ummm... too late on that one. Hey, at least they build their own!

    Ravenn

    --
    Of all the things you can accomplish by screwing up your face and swearing into a dark room, sleep is not one of them.
    1. Re:Further studies... by Flakeloaf · · Score: 5, Interesting

      Next we'll see occultists studying Pacman.

      At least Pacman has a perfect solution. No fancy math required, just a good hot meal beforehand and a little patience.

      --

      Am I the only one who heard Roxette to sing "I'm gonna get blitzed for some sex"?

  9. It's not that Tetris is HARD... by Steve+Cowan · · Score: 5, Funny

    Mathematicians simply can't concentrate on the movement of the pieces, even given all the time they need, because it's too easy to get distracted by that wacky Russian folk music.

  10. I always sucked at tetris... by Cyno01 · · Score: 4, Funny

    the game would be a whole lot easier if every piece was only one block instead of four, but then i guess they'd have to call it monris or something

    --
    "Sic Semper Tyrannosaurus Rex."
  11. Poll by SexyKellyOsbourne · · Score: 2

    The highest level you got on Tetris?

    23 for me, on the SNES version.

    I used to be really, really good at it.

    But Tetris is nearly impossible when they're dropping at breakneck speed -- in fact, it falls so fast that even a computer controlled bot operating in microseconds could not rotate it to keep it perpetuating, even if the speed weren't increasing after 20 (or even 15).

    I didn't think the non-speed aspect would be so difficult: Pazhatiniov (sp?) is truly a genius.

    1. Re:Poll by MrMetlHed · · Score: 2, Interesting
      Level 30 on Tetris DX for the Gameboy color. But only because it stops getting faster at level 30. All told I had over a thousand lines, something like 2.2 million points. At that speed you basically end up playing the game in the Next Piece window and hoping you tap the buttons fast enough to make it fall properly.

      Charlie

    2. Re:Poll by robertchin · · Score: 3, Informative

      Alexey Pajitnov.

    3. Re:Poll by Limynali · · Score: 5, Funny

      Last weekend I was priviliged enough to hear Alexey Pajitnov, the creator of Tetris, give a talk on how he came up with tetris, the design process of games, etc... The best part was at the end somene asked him about the dificulty of Tetris and he replied that even though he knew that each piece had the same probabilty (because he coded it) there must be some little guy inside the computer purposefully giving him the 'wrong' pieces and witholding the one he needed, "that Son-of-a-bitch!" (yes, he actually said that)

      It's reasurring to know that even HE thinks it's rigged.

  12. Re:The answer you seek by papasui · · Score: 2

    err that should say "flask", I've been studying my Tetris too hard...

  13. So that's why... by Ghoser777 · · Score: 3, Funny
    there's a security bug in kadmind4, as mentioned in the previous slashdot story! Instead of focusing on checking for buffer overflow errors, they were busy playing Tetris ;)

    [self duck];

    F-bacher

    --
    James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
  14. I wonder... by SparkyTWP · · Score: 2, Funny

    I wonder if the computer got the rocket ship to launch. I only managed to do it once when I was young.

  15. man... that is so not fair by lingqi · · Score: 4, Funny

    What the heck huh, I goto a "less glorified school" compared to MIT, and study / do research in semiconductor electron migrations, efficiency in cryptograhy systems, implementation of computer based voice and image recognition.

    MIT kids do research in TETRIS.

    wtf? tell me again why MIT is one of the best engineering school again?

    oh wait... i just got it.

    --

    My life in the land of the rising sun.

    1. Re:man... that is so not fair by imr · · Score: 2

      they probably will sell it to the US army wrapped in a comic magazine and tons of buzzwords.
      "The mega computing suit of the future complete with accessorized time shuffling device for long duty scheludes with heavy guards".
      a pillow and a tetris game..

  16. Re:What? by mizhi · · Score: 5, Informative

    Because games can provide real world analogues. Yeah, I'm going to invoke Nash and his game theory. When he was studying at princeton, a large portion of the mathematicians there played games, some of which were invented at princeton based on some mathematical notion of some sort. Lots of those dumb little puzzles that you see in hobby shops have rigorous mathematical treatments. Moreover, a classic problem in computer science is to reduce one problem to another, so imagine taking a real world problem and modeling it as a simpler problem with the same characteristics. Say, a game. If you can analyze the game, then you've got at least a suitable starting point for analyzing the real world problem that you're actually interested in. Now, I don't know what practical application that knowing the approximation characteristics of optimizing parts of a tetris game are, but of the cuff I could see it having applications in packing problems or flow control (particles through a pipe?).

    So, to answer your assertion that these studies are getting dumber and dumber by the day, I'd counter that while it may not produce immediate practical results, I could see this analysis being used elsewhere.

    --
    Humorless sig goes here.
  17. Online Tetris tournaments by wilbrod · · Score: 4, Informative

    If you are good at tetris you can play online tournaments at Worldwinner.com against an or some opponents.

    The nice part: you bet real money. If you are somewhat good you can make some cash. I really made 25$,around 37$CDN. I stopped since it was too hard to win when I was classified as "intermediate" and I was loosing all my earnings I won "newbie".

    Try it at your own risk.. Very addictive. You get 5$ free when you join. Everything is VeriSign Certified.

    1. Re:Online Tetris tournaments by Cheese+Cracker · · Score: 3, Funny

      "If you are good at tetris you can play online tournaments at Worldwinner.com [worldwinner.com] against an or some opponents.

      The nice part: you bet real money. If you are somewhat good you can make some cash."


      Maybe the MIT dudes should have known about this...
      They could have made their Tetris simulator pay for
      their research project and more.

  18. I was doing home-work the whole time. by DougJohnson · · Score: 3, Funny
    Now I can get my Computer Science Theory mark reviewed under the grounds that I put hours of research into attempting to find a solution to an NP Hard problem.

    You'd be amazed at some of the Heuristics you have to use at Level 10!

  19. Re:ending of tetris by \\ · · Score: 2

    you know, my gameboy tetris record for lines was 227. that's 27 lines at level 20, which was basically the devil.. and youre claiming you averaged 250, and your mother 300-500.

    i'm not saying you're a liar, but i really, really doubt anyone can maintain level 20 on gameboy tetris for 200+ lines. maybe you're remembering something wrong, but.. no. it hurts just to think about.

  20. NOW I'VE GOT MY EXCUSE! by fireboy1919 · · Score: 5, Interesting

    Now whenever I lose the latest new game I can just say, "I have just determined that this game is very hard. Its NP-Hard, in fact." I'm sure that'll impress all the lady-geeks around that would otherwise have thought me intellectually inferior for losing the game.

    Interesting thing about NP-hard stuff, though, especially when it comes to things like video games. There are a group of techniques that work to solve NP-hard problems SOME of the time based around searching. Because there are multiple winning solutions for Tetris, and there is are several quite obvious heuristics to aid in the search (such as planning so that you leave indentations that will fit the next piece(s), and attempting to fill lower lines before higher ones), it's probably still solvable in polynomial time MOST of the time.

    Of course, solvable is relative. The optimal solution (highest score) for a finite number of moves cannot be proven without trying all combinations of states, but to simply finish, there are lots of solutions.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  21. Re:Hrm. by Anonymous Coward · · Score: 3, Funny

    Are there any other NP-hard games which were invented by dead Russians?

    Can't you be satisfied with one? I mean do you have any idea how hard it is to get dead Russions to invent anything?

  22. My theory by Jugalator · · Score: 5, Funny

    Tetris wouldn't be NP-hard if it just released that damn 1x4 brick when you need it!

    --
    Beware: In C++, your friends can see your privates!
    1. Re:My theory by dimator · · Score: 2

      if it just released that damn 1x4 brick when you need it

      3 buddies of mine and I spent many hours playing tetris, especially the Versus mode on the SNES version. When we needed a piece, we would say "why don't they give me what I need!" or "they know they are screwing me over, i need a line!" The point being we assumed there was some committee ("they") inside the game, or possibly we were referring to the group that made the game, that was not giving the right pieces at the right time. The "they" became a running joke...

      God what a pointless story.... I guess you had to be there.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    2. Re:My theory by Jugalator · · Score: 3, Funny

      Hehe... Yeah, I'm personally convinced that Tetris and all its clones have a highly sophisticated masochistic AI.

      --
      Beware: In C++, your friends can see your privates!
  23. Re:ending of tetris by silvaran · · Score: 3, Funny

    Your mother could beat you at Tetris? Boy, were you in the wrong generation.

  24. memory optimization by fat32 · · Score: 2, Interesting


    It seems to me that this would have some applicability to memory stacks. After all, Tetris is a stack that doesn't need to be emptied in order for the rows above it to be used efficiently.

    First I was thinking that Tetris is just a recursive problem; if a certain subset of pieces can be used to achieve a Tetris (4-row removal) then they can be removed from consideration. But then I realized that this would affect one's options for clearing rows below that, or pieces to come. It sounds like the only way to do this is by considering all (n_pieces*rotation)! possible plays.

    Is this perhaps proof that memory usage cannot be optimized beyond a certain point?

  25. Re:Tetris "ends"? by fireboy1919 · · Score: 5, Interesting

    Depends on the version. For the original gameboy version, in the count up mode (starting at level 1 and going up), you got to see images of a spaceship every 10 levels (if I remember right).

    It launched when you reached the final level, I think. I did it once, and was very happy, but it sure wasn't as much fun as the game itself.

    If you play the countdown mode (start with 40 pieces at a constant level and eliminate all of them) at the highest level (9, I think, or maybe 10), then when you finish you got to hear all of the instruments playing together (each of the other levels had instruments playing).

    The ending of Dr. Mario was a lot more interesting.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  26. Wait a second... by Chemical · · Score: 5, Interesting
    A lot of Tetris and Tetris type games had a two player mode that had the option for CPU controlled player two if you didn't have any friends. If you set the AI to the maximum level, you would be instantly crushed no matter how good you were. The CPU could instantly decide where to place the blocks, and never made a bad move. Try setting Tetris Attack for the SNES to play against itself for a while. It's kind of impressive.

    My question is this: How is it Nintendo et. al. can program an incredibly skilled Tetris AI, but scientists at MIT cannot?

    1. Re:Wait a second... by cosyne · · Score: 5, Insightful

      My question is this: How is it Nintendo et. al. can program an incredibly skilled Tetris AI, but scientists at MIT cannot?

      First, a disclaimer- IHNRTFA. But still, my guess is that the optimal solution is NP-hard. That is, given the exact sequence of blocks, give the sequence of moves which will get rid of them all as fast as possible and/or with the highest score possible. If you just know the current piece, you have about 48 moves to evaluate (assuming it's like 12 blocks wide and there are 4 possible rotations). If you know the next you have 48^2, but even an NES could probably evaluate those faster than you could given some simple cost function. A lot of computer science is coming up with approximations which are close to optimal (ie they beat humans or at least don't pile up and die) while remaining computationally feasible.

    2. Re:Wait a second... by travd · · Score: 5, Informative
      But since there are only 4 blocks in each piece, "exponential" is not that big, the computer can easily compute an optimal placement without breaking a sweat.

      That's just wrong.

      If you read the article, you would see that the fact that tetrominos (that's what they call 'em) are four block combinations does not define the magnitude of the (likely, assuming P != NP) exponential relationship. In fact, they show that the problem scales in an NP fashion with the number of pieces - the number four doesn't come into it.

      What the Nintendo version shows is that a simple AI (with perfect movement abilities) and so on can come close enough to optimal in a usual situation (the article presenet an extremely contrived worse case scenario) to beat a human player. This has no bearing on the NP completeness of the problem.

      On another note, the authors admit that the Tetris problem is NOT NP-Complete except for arbitrarily large game fields.

    3. Re:Wait a second... by travd · · Score: 2, Insightful

      I don't think the "N remains small, no matter how you look at it" - consider the case where many hundreds of pieces are played - certainly not unusual among higher level players. A number of this magnitude is certainly enough to make many NP problem intractable.

    4. Re:Wait a second... by travd · · Score: 3, Insightful
      > if the state space stays small...

      True, but the state space of go (or chess) also stays small, yet this does not prevent the optimal play problem from being intractable (on today's hardware, with today's algorithms). The difference is that to analyse possible future moves beginning from the current (small) state space, a program (traditionally) must investigate a huge, typically exponential, number of possible future state spaces, based on possible future moves, etc.

      Note that the version of tetris considered in the paper is the offline version, where the sequence of pieces is known in advance, rather than just the next piece - certainly if they considered the model of the game where only the next piece was known, then deterministically optimal play would be impossible, rather than simply intractable, and the question would be a probablistic one instead. For example it has been shown that the optimal solution for the Mastermind style of game is calculable in a probabalistic sense, yet is intractable (due to the size of the payoff matrix).

    5. Re:Wait a second... by Patrick · · Score: 4, Insightful
      How is it Nintendo et. al. can program an incredibly skilled Tetris AI, but scientists at MIT cannot?

      1) The Nintendo AI doesn't have to be optimal. It just has to be better than a human.

      2) Being better than a human at Tetris is less about placement than it is about agility. You may be better at figuring out where pieces should go, but the Nintendo will always be better at actually getting them into place.

      3) The problem Nintendo solved is much more tractible because it only deals with two pieces at once. The problem MIT posed deals with the entire sequence, potentially hundreds of pieces. The problem is (probably) exponential, so each additional piece that must be considered makes the problem about 20x harder.

    6. Re:Wait a second... by kisrael · · Score: 2

      Tetris Attack, while THE best head to head "action puzzle" game out there (along with its clone Pokemon Puzzle League) is definately not Tetris...in fact, the Tetris theme is just a marketing gimmick. (It's a lot better than most head to head games, like Kirby's Avalenche et al, because when you send pieces to make your opponent's life more difficult, you might also be giving them the keys to massive chain reactions, so the game has a nice see-saw feel.)

      Anyway, I would guess that Tetris Attack is easier to optimise than Tetris anyway. Maybe not, since there is a variety of combos that can be used. And as someone pointed out, despite the formal "difficulty" of the game, relative to the processor power we have, playing a "good enough" game isn't that much of a feat.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    7. Re:Wait a second... by alexandre · · Score: 2

      There are more than just 48 moves because some times you have to move the piece at the last moment to make it fit under another one :-) (But they probably just ignore that possibility! :)

  27. Re:ending of tetris by Babbster · · Score: 2

    Moms beating their gamer kids at Tetris is no surprise (I'm in the same boat). I've played hundreds [upon hundreds] of different games over the years, while my mom has spent months at a time just playing Tetris. I do wonder if there was ever a Gameboy-like device that ONLY played Tetris. It would have saved me quite a few bucks over the years replacing her Gameboy over and over again when she would wear it out. :)

  28. Thoughts... by superdan2k · · Score: 2

    I don't see how this is an issue -- I haven't got a math degree, in fact, I suck at it. (Hence, my English degree.) But with a finite playing field and finite set of shapes, one would think that a computer would be much better at it than a human if it knew the order of the pieces.

    You could probably create a genetic algorithm that would look at the order of groups of N and figure out macro-structures, and how those macro-structures best interacted with one another.

    Whatever the case, I'm still of the opinion that Tetris is a Soviet Meme Weapon that was released too early. If they'd waited until the Internet was in every office and home, Western Civilization would have ground to a halt, and we'd all be drinking vodka and wearing furry hats by now.

    --
    blog |
  29. Re:Because the game is hard, or... by McBeth · · Score: 3, Informative

    Read the article, it is amazingly accessible.

    Humans and NP problems
    There are two things people look at when they find a new NP problem. First is reducing a currently known NP problem to the new problem. In this case, they reduced the 3 bucket problem. Second is the difficulty of approximation. Apparently Tetris also happens to be difficult to approximate. Humans happen to be _really_ good at approximation, while sucking at exact calculations. That is the whole reason we designed computers in the first place.

    Note for those who don't read the article. Their proof is _not_ for a basic tetris game. They assume a prebuilt structure that you are trying to fit pieces into. This structure is designed to allow the mapping from the 3-bucket problem to Tetris. They specifically mention the starting point of an empty board as an open problem.

  30. Historical value by Dexter77 · · Score: 2

    What are your opinions dear slashdotters, now that Tetris has proven itself in the eyes of mathematicians should we place it on the same line with Chess and Go or maybe rubik's cube?

    Computer world has not yet produced any historical classics, but I think if there should be one the Tetris might be the best candidate. Tetris is a game that can't be produced without computers, but it holds the same gaming value as Chess or Go, it can be played infinitely which in my opinion is the most important feature of a classic game.

    Please share your thoughts?

    1. Re:Historical value by ProfessorPuke · · Score: 2

      From the point of view of computer terminolgy, and also heavy game players, Tetris is not a game at all. Both the Game Theory branch of mathematics and any big playing group will tell you that games are all about opposition- two competitors pitting their skills against each other using a set of rules. Pure tetris has only one player, and (like things called Solitare) isn't really a game.

      (The mathematicians go even further, and only classify problems as a game if there is are no elements unknown to the players- so no facedown cards, and no rolling of dice)

  31. Re:Tetris "ends"? by DEBEDb · · Score: 2
    Will someone please tell me what happens when Tetris ends?


    We are actually living in a section of a
    Tetris figure falling down in a cosmic
    Tetris game played by the great Pajitnasana.
    When it falls, our universe ends. When the
    entire game ends... Oh, I shudder to think
    of that...

    --

    Considered harmful.
  32. Re:the second I read the article by Jugalator · · Score: 3, Funny

    I'm sure creating that infectious tune wasn't NP-hard.

    No, but, from own experiences, it's an NP-hard problem to get it out of your head once you've heard it, so please don't give me a link to where it can be downloaded. :-)

    --
    Beware: In C++, your friends can see your privates!
  33. Re:ending of tetris by feceus · · Score: 2, Funny

    I believe the game you're referring to is Blockout.

    My father brought it home from work one day, and I played it for the next few months. Took me a while to finally see the 3D blocks. =\

    It's scary watching Tetris blocks fill up to the screen TOWARDS you. :O

  34. Duh by Crispin+Cowan · · Score: 3, Informative
    Well, duh. Tetris is based on bin packing, a classic NP-hard optimization problem. That's what makes it such a compelling game: you have to solve a really hard problem in real time.

    Crispin
    ----
    Crispin Cowan, Ph.D.
    Chief Scientist, WireX Communications, Inc.
    Immunix: Security Hardened Linux Distribution
    Available for purchase

    1. Re:Duh by donutello · · Score: 3, Informative

      Nope. Tetris has nothing to do with bin packing. Bin packing is about putting numbers in buckets such that no bucket has a total more than so much. Tetris looks like a bin you're packing but there is no similarity between tetris and the bin packing they are refering to.

      --
      Mmmm.. Donuts
  35. Re:Interesting Reduction by pyrote · · Score: 2

    Minesweeper is math..it is solvable, and I have yet to find a version to challange me. 6 sided blocks too. it's all math that can be calculated logically.

    --
    THE WORLD IS GOING TO END!!!! eventually.
  36. Re:Tetris "ends"? by Jugalator · · Score: 2

    Will someone please tell me what happens when Tetris ends? Is it like the end of the rainbow ... pots of gold and all that good stuff?

    Yeah, I think it's like the end of the rainbow, but not as you describe it. Rather "you never get there". :-)

    --
    Beware: In C++, your friends can see your privates!
  37. Re:Hrm. by Wrexen · · Score: 5, Informative

    The inventor of Tetris is alive and well. In fact, I just saw him give a talk while visitng UIUC at their Reflections and Projections conference.

  38. Remember what WOPR said... by jonblaze · · Score: 2, Insightful

    "The only way to win is not to play."

  39. Not your father's tetris... by travd · · Score: 5, Informative
    The top of the third page, the authors reveal a major change to the definition of Tetris they made in order to prove NP-Completeness:
    It is natural to generalize the Tetris gameboard to m-by-n, since a relatively simple dynamic program solves the case of a constant-size gameboard in time polynomial in the number of pieces.
    Of course every version of Tetris that I have played has been on a "constant-size game board" - and so the real result is that Tetris, as the rest of the world knows it, is NOT NP-Complete, and is solvable in P(n) time - I find that the generalization to m x n gameboards breaks the problem, while the other simplifications or generalizations they introduce are reasonable.
    1. Re:Not your father's tetris... by Plutor · · Score: 3, Informative

      Not really. All NP-hard problems are relatively "easy" if you use a constant-size (and small) set. By the Minesweeper analogy: If the board is 5x5, it's easy to solve. Only by generalizing the problem to an arbitrarily large set, can they show that it actually is NP-complete.

      x^n doesnt look like much when n is 'small'.

  40. Tetrisphere? by Ziviyr · · Score: 2

    Is Tetrisphere also NP-hard?

    --

    Someone set us up the bomb, so shine we are!
  41. Re:Because the game is hard, or... by sahala · · Score: 5, Informative
    ... because object recognition is hard for computers? Tetris is all about putting things where they fit, not some grand master strategy. And us biological constructs have an advantage, where we can more or less decide on the fly if X piece will fit decently enough in Y hole without having to go through a bajillion IF-THEN logic loops.

    How is this modded up as insightful??? Object recognition has nothing to do with this being hard. Read what it says on the bottom of page 2:

    Our results. We introduce the natural full-information (offline) version of Tetris: we have a deterministic, finite piece sequence, and the player knows the identity and order of all pieces that will be presented. We study the offine version because its hardness captures much of the difficulty of playing Tetris; intuitively, it is only easier to play Tetris with complete knowledge of the future, so the difficulty of playing the offine version suggests the diffculty of playing the online version. It also naturally generalizes the one-piece lookahead of implemented versions of Tetris.

  42. Tetris NP-hardness results by po8 · · Score: 5, Insightful

    Technically, it's 'NP-hard,' meaning that there is no efficient way to calculate the necessary moves to "win"

    It is more correct to say that "there is no known efficient way to calculate the necessary moves to win, and it is unlikely that one will be discovered." Technically, there is no efficient method unless P = NP. See Garey and Johnson for details.

    At least there's one geek classic that refuses to fall to the scrutiny of mathematicians.

    Actually, even the (surprising, novel, and cool) approximation results only tell us about the asymptotic complexity of the game, and then only of the "offline" game in which you know the sequence of pieces that will be coming. Note that optimal restacking of blocks is also asymptotically NP-hard and inapproximable [Gupta and Nau], but quite tractable for humans and machines even for very large stacks in practice. Short version: in spite of these results, a good AI programmer can easily build a Tetris-playing program that will kick your sorry human behind :-).

    One assumption in the paper that I disagree with is that "intuitively" the offline version (full knowledge of piece sequence) should be easier than the version in which the piece sequence is not known. My intuition says the opposite: in the online version, the most one can do is optimize one's probability of a win. This more modest goal should be easier to attain than the loftier goal of "prove a win if one exists".

  43. technically, that is wrong by g4dget · · Score: 2
    Technically, it's 'NP-hard,' meaning that there is no efficient way to calculate the necessary moves to "win," even if you know in advance the complete order of pieces, and are given all the time you need to make each move.

    Even if we stick with the traditional meaning of "efficient" as "solvable in polynomial time", that is wrong: we simply don't know whether NP-hard problems can be solved in polynomial time or not.

    Of course, the whole definition of "efficiency" used in the theory of NP completeness is bogus. Just because something runs in polynomial time doesn't mean it can be solved "efficiently" or even that it "scales well", and just because something is NP-hard doesn't mean that it's not solvable efficiently in most or all cases you would be interested in.

    NP completeness is a cute theory, but the misleading use of the term "efficient" it has brought into vogue in some computer science circles has really done a lot of harm and caused a lot of confusion.

    1. Re:technically, that is wrong by Corporate+Troll · · Score: 2, Insightful
      we simply don't know whether NP-hard problems can be solved in polynomial time or not.

      And that is wrong too.... Because NP means "Non-Deterministically in Polynomial time". This means you *can* solve the problem in polynomial time, but that you need to approach the problem by attacking it in a parallel way. Look at it this way: if you have a problem that needs 2^1000 different calculation and each of those calculations lasts 1 day. Given you have 2^1000 computers, you can solve the problem in 1 day, which is *definately* polynomial (it's constant!)

    2. Re:technically, that is wrong by g4dget · · Score: 2
      And that is wrong too....

      No, it isn't. When people talk about "solvable in polynomial time" without further qualification, they mean the deterministic case.

      Look at it this way: if you have a problem that needs 2^1000 different calculation and each of those calculations lasts 1 day. Given you have 2^1000 computers, you can solve the problem in 1 day, which is *definately* polynomial (it's constant!)

      That's neither an accurate statement about non-determinism nor about parallelism.

    3. Re:technically, that is wrong by Corporate+Troll · · Score: 2, Insightful
      I'm pretty sure that my computer theory professor would have deducted points if I said "NP problems cannot be solved in polynomial time". It's some years ago I had that course, so times might have changed.

      Now, please explain *why* those statement are wrong for parallelism and non-determinism (I know that non-determinism != parallelism, but it's a way to *illustrate*). That's the way I used to remember the difference between P and NP, worked fine you know. Of course, I'm willing to learn if you know so much better.

    4. Re:technically, that is wrong by g4dget · · Score: 2
      my computer theory professor would have deducted points if I said "NP problems cannot be solved in polynomial time"

      As well he should: that statement is wrong. All we can say is that it isn't known whether NP-complete problems can be solved in (deterministic, sequential) polynomial time. Which is what I said.

      Now, please explain *why* those statement are wrong for parallelism and non-determinism

      Because you are not guaranteed that a problem consisting of "2^1000 computations" can be carried out by "2^1000 computers" in parallel. For example, if "encrypt" is a strong encryption algorithm that takes a day to run, how would you parallelize this:

      s = "hello"
      for i=1 to 2**1000 do s = encrypt(msg=s,key=i) end
      print(s)

      And for parallelizing an NP-complete problem by removing non-determinism, you can only parallelize as you encounter choice points--afterwards, you are still left with a problem in P (i.e., worse than constant time in general).

    5. Re:technically, that is wrong by Corporate+Troll · · Score: 2, Insightful
      Well it is after all you that said "we simply don't know whether NP-hard problems can be solved in polynomial time or not.", which in my eyes is completely equivalent to saying "NP problems cannot be solved in polynomial time". As you said, you implied determinism, but to someone who didn't have computer theory classes this non-obvious. Not everyone around here has a computer science degree.

      You are right that not every problem is parallelizable. Your example doesn't really "solve" anything, it just displays a list of "hello" encrypted with 2**1000 different keys. But even then it is synchronizable, let each of your computer start the encryption 1ms apart and send it to a queue: the results will come in nicely sequential and you have your result. This would take very very very long (since 1ms * 2**^1000 seconds = very very long), but it would be Polynomial time. Polynomial time does not imply "in our lifetime". Note also that you would only need 86400000 computers, since after 86400000ms the first one is done and can start the next calculation.

      A better example would have been this:

      String unencryptedMessage="Hello World";
      String encryptedMessgae="fqwdwezufzd";
      for( verylong key=0; key < 2^1000; key++ ) {
      if ( encrypt( key, unencryptedMesage).equals( encryptedMessgae ) ) { System.out.println( "The encryption key is: " + key ); }
      }

      This is solving a problem: namely finding the key of a known encrypted message. And very easy to solve when computing non-deterministically. Just let each of your nodes do exactly one calculation. Things like DNA-Computing and Quantum computing are based on this philosophy: try everything at the same time and filter out the result.
      I have to admit that my thinking was more in the lines of the classics like Travelling Salesman, or the one with the boolean expression where you have to fill in booleans in order to get it true with a give set of operators.
      Finally, since all NP-hard problems can be reformulated as another NP-hard problem, it is should be possible to transform any non-synchronizable (ahem!) NP-hard problem into a synchronizable NP-problem. Not sure about that, as said... long time ago I had that course.

    6. Re:technically, that is wrong by Corporate+Troll · · Score: 2, Insightful
      No, that is not what I say... The missing word in BOTH statements is "deterministic".
      Is this that hard to comprehend? It's one word that is missing that makes the statement false, and that is it.
      The point is: We KNOW that NP-hard problems are solvable in polynomial time, just NOT in a deterministic way.

      The question here is not at all if NP=P, since NP is defined as "Solvable non-deterministically in Polynomial time" and P is defined as "Solvable deterministically in polynomial time". *sigh* Hence: both techniques solve in Polynomial time only the way of processing is drastically different in order to archieve a solution.

    7. Re:technically, that is wrong by g4dget · · Score: 2
      You know, I was going to respond to the half-dozen or so errors in your posting, but when I came to this, I decided it just isn't worth it:

      since all NP-hard problems can be reformulated as another NP-hard problem

      You obviously don't have the slightest clue of what you are talking about. Get yourself a good book on computational complexity.

    8. Re:technically, that is wrong by Corporate+Troll · · Score: 2, Insightful
      How many times exactly do I have to tell you that I took that course years ago? So, okay, I'm wrong (yes, I did some googling), buy hey, let's talk about your knowlegde about this subject as soon as you are out of University and had years of mind-numbing Corpoate environments to endure.

      You know, you forget stuff while aging....

  44. 0-1 Knapsack Problem by Citizen+of+Earth · · Score: 2

    Technically, it's 'NP-hard,'

    To me, Tetris seems to be analogous to the 0-1 Knapsack problem, which is also NP-complete. Except maybe Tetris moves the problem into the second dimension. OTOH, we know that P=NP [1], so this problem can be solved readily.

    [1] The Simpsons, "Treehouse of Horror VI", #3F04, 1995.

  45. Only proven hard if started screwed up enough... by po8 · · Score: 5, Insightful

    Uh, I was just reading the full paper and came to this comment which summarizes an important fact omitted in the abstract:

    An essential part of our reduction is a complicated initial gameboard from which the player must start. A major open question is whether Tetris can be played efficiently with an empty initial configuration: What is the complexity of Tetris when the initial gameboard is empty?
    In other words, "normal offline Tetris" (whatever that means) may still be in P. (And, BTW, when they say "complicated", they really mean it: check out the full paper for details.) Sigh.
  46. Tetiris / Eyeball RSI Warning by Boss,+Pointy+Haired · · Score: 5, Interesting

    Just a warning to those becoming or already hooked on Tetris.

    I used to be a serious Tetris junkie, and played on many different versions on different platforms.

    Playing so much, I became "quite good", and this meant that blocks were falling extremely rapidly.

    To play tetris at high speed, you glance very quickly at the arriving piece, then move your gaze back to the pile to asses the position - moving the piece without looking at it. Repeat until bored.

    Then my eyes packed up. I basically developed something like "RSI" in both eyes - my eyes would twitch repeatedly up and down in the exact movements used in high speed tetris. This whilst not even playing tetris.

    I diagnosed the problem myself and quit playing, but it took a few months to clear up.

    Just a warning. I still play it on and off.

    1. Re:Tetiris / Eyeball RSI Warning by isorox · · Score: 5, Funny

      Just a warning. I still play it on and off.

      Thanks, if I ever meet you I'll be sure not to be freaked out

    2. Re:Tetiris / Eyeball RSI Warning by tswinzig · · Score: 2, Funny

      I diagnosed the problem myself and quit playing, but it took a few months to clear up.

      Just a warning. I still play it on and off.


      It's probably more fun when it's on, right?

      --

      "And like that ... he's gone."
    3. Re:Tetiris / Eyeball RSI Warning by Jester99 · · Score: 2

      Hm. When I play DDR, I typically just look at the top few rows of arrows... my eyes don't flit around much at all.

  47. Re:Only proven hard if started screwed up enough.. by po8 · · Score: 2

    And wait, there's still more. The proof fails if you fix the number of columns in the game board! In other words, this is not just offline Tetris on a normal-width Tetris board: the complexity is a function of the fact that as the piece sequence gets longer, the board width also increases.

    I was excited about this paper half an hour ago: now, not so much.

  48. A good new view into women... by Ektanoor · · Score: 4, Funny

    Some have noted that women have always had a peculiar taste to play Tetris. It is interesting to note that the most fanatic players are usually women... Well, I am completely of a different mind and always considered this game as too boring. I wondered how could people play such thing for long hours. No more. I consider the game an excellent testing system. The next time I see a girl dealing with NP-hard algorithms and crying she can't hold up, I'll play the dirty trick:

    New fresh roast student - "Excuse me, but this task it's too hard for me. It deals with a NP-hard task and I don't have the brains for it... Couldn't you give a more simple task for me?.."

    Me - "Well go and play some Tetris while I think how we can ease your work..."

    After a few hours - "Well what's the score? And you say NP-hard algorithms are too hard for you? You trying to solve a NP-hard algorithm for more than an hour! Cool, go and try to do the same with that task you don't have brains for..."

    1. Re:A good new view into women... by tswinzig · · Score: 5, Funny

      The next time I see a girl dealing with NP-hard algorithms and crying she can't hold up, I'll play the dirty trick...

      And here I thought the rest of your story would involve the use of the pickup line, "Hey baby, wanna play with something that is very NP-Hard?!"

      --

      "And like that ... he's gone."
  49. You don't know much about CS or Tetris, actualy. by Find+love+Online · · Score: 4, Interesting

    Tetris is all about putting things where they fit, not some grand master strategy.

    Actually, Tetris is all about risk management. See my other post on the subject. Once you get good at fitting the pieces together, the game becomes a question of figuring how risky building (and destroying) certain structures is, based on the probability of getting a long, or L shape.

    And us biological constructs have an advantage, where we can more or less decide on the fly if X piece will fit decently enough in Y hole without having to go through a bajillion IF-THEN logic loops.

    Hrm... What is an "if-then" loop?

    Seriously though, in this case it shouldn't take more then a handful of loops and conditionals to figure out if a piece fits somewhere.

    Playing Tetris is not actually a hard problem for a computer. NP-Hard and 'hard for a computer' are totally different things.

    In general, the only reason human brains are better at some kinds of problems then computers is because computers are simply more limited in processing power. It would take thousands upon thousands of PCs hooked together to equal one human brain in terms of raw processing power.

    (I've heard estimates that PCs will equal the human mind in 20 years, figuring with Moore's law, that would mean the human brain is about 2^13 times more powerful then a PC, or 8192 times)

    Computational theory applies to all computing devices, including brains and other neural networks.

    If something is NP-hard for a circuit, its NP hard for a brain too.

  50. Tetris unwinnable against malevolent machine by Stephen · · Score: 4, Interesting

    It's also the case that Tetris is unwinnable against a malevolent machine, which chooses a nasty sequence of pieces. In the sense that even if you know the pieces in advance, you will eventually fill any tower of finite height.

    I've seen two independent proofs of this (and other people have surely done it too) but I can't find an online proof. But I think that one way for the machine to win is to drop S and Z pieces in any irrational proportion.

    --
    11.00100100001111110110101010001000100001011010001 1000010001101001100010011
    1. Re:Tetris unwinnable against malevolent machine by GregWebb · · Score: 2

      Surely as long as you know it's going to do that, you can peg your level at pretty close to what you've got at the moment with a constant supply of _any_ piece, alternating S and Zs included? You'll lose one line to the initial gaps but that's it.

      Tetris can ultimately defeat you I suspect, but that doesn't seem to be the way.

      --

      Greg

      (Inside a nuclear plant)
      Aaaarrrggh! Run! The canary has mutated!

  51. Tetris is very easy on a Hercules - I should know by delphi125 · · Score: 3, Funny
    A long time ago, Tetris for the PC printed different coloured spaces for the blocks. Unfortunately, a Hercules monochrome card pretending to be able to deal with colour would display them all the same. So I could see the score etc, but not the pieces themselves. Since that would be a little too hard, I wrote a TSR which hooked into INT 10 which would change spaces to other characters. This depended on the colour, so for example the Blue 2x2 would print as 4 'O's.

    How can this be easy, you ask? Well, I put a delay in there too, it was adjustable from the command line of the TSR. When my score went past -32768 at the highest level, I decided enough was enough, and I didn't play Tetris for many years after.

  52. Earlier Tetris Papers on 'Loseability' by Keev · · Score: 5, Interesting

    Some little-known related references: A CS student at Univ of BC, John Brzustowski, did his Master's thesis on the problem of winning at Tetris if the computer is aware of your moves and reacting to them. He apparently proved that there is a finite sequence of tetrominos, which, if the machine selects them, you must lose. His work is cited in this later paper by H. Burgiel called "How to Lose at Tetris", which proves more generally that the computer can always produce a sequence of lose-forcing tetrominos, whether or not it's aware of your moves: paper is here.

    --
    A man, a plan, a canal: Suez!
  53. Oh by LS · · Score: 2

    I thought NP meant Not Particularly. duh

    --
    There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
  54. This is not about tetris as you know it by olethrosdc · · Score: 3, Insightful

    Pay attention to page three: It is natural to generalize the Tetris gameboard to m-by-n, since a relatively simple dynamic program solves the case of a constant-size gameboard in time polynomial in the number of pieces

    I guess this means that hey, they are talking about something else that the normal constant-size gameboard!

    Also, page 25, gives a subtle hint that this is not about standard Tetris:

    What is the complexity of Tetris for a gameboard with a constant number of rows?

    What can we say about the difficulty of playing online Tetris if pieces are generated independently at random according to the uniform distribution?..

    Also, the authors concentrate on playing optimal with respect to the number of lines cleared and the number of tetrises achived (either objective, not both) - and do not concentrate on, say, not losing (They give references to the hardness of not losing in the first chapter)

    --

    I miss my rubber keyboard.(Homepage)

    1. Re:This is not about tetris as you know it by Sandmann · · Score: 2, Informative
      > ... a relatively simple dynamic program solves
      > the case of a constant-size gameboard in time
      > polynomial in the number of pieces

      Here is one relatively simple dynamic programming solution.

      Suppose the game board has size k. Each cell in the game board can be either on or off, so we can represent the state of the board in a bit vector with k bits. Now define a recursive procedure that takes a sequence of n blocks and a state of the game board as input:
      def solve (c, B_1, ..., B_n):
      if n == 1:
      (given c):
      find best placement of B_1;
      find the score you get with
      that placement
      return ([B_1], score)

      best_so_far = ([], 0)
      for each possible placement p of B_1:
      c' = c with p applied
      s = solve (c, B_2, ..., B_n);

      if (s is better than best_so_far)
      best_so_far = s

      return best_so_far
      This will calculate the optimal solution, but unfortunately the program runs in exponential time. To fix that, observer that solve will only be called with 2^k * n different sets of parameters. This means that since the function only does constant work when we disregard the recursive calls, caching the results of calls to the procedure in a table of size 2^k * n, we can make it run in time O(n).

      Note however that the O here is hiding a constant of size 2^k, where k is the size of the game board. This means that this algorithm, while nominally O(n), is not practical when the gameboard gets even moderately big.
  55. Re:Interesting Reduction by gazbo · · Score: 2, Informative
    No it is not.

    You are partly right; it is never NP-complete. It is also often solvable. However, in the general case it is not solvable - sometimes you just have to guess.

    In fact, take the first move you have to make and tell me with 100% certainty that you're not clicking on a mine. You can't - the problem is not solveable.

  56. Re:Uh... by gazbo · · Score: 2, Insightful
    We don't know the mind works, no

    we do know...the mechanism by which it works

    Which is it? Either we know how it works or we don't. If we know how it works (same as ANNs?) then fine, go ahead and make assumptions based on that. If we don't, then don't make those assumptions. Just because people have evidence to support theories doesn't mean they can be stated as fact. We do not know how the brain works.

  57. Tetris Crypto by rjh · · Score: 2

    Not only that, but you could use Tetris as the foundation of a public-key cryptosystem. Knapsack algorithms are cool. :)

    Not that I'm suggesting anyone do this for anything other than geek points, mind you. Knapsack algorithms are in disfavor (several kinds of knapsacks lend themselves well to cryptanalysis). But still, you could do it. :)

  58. Tetris with physics: Triptych by Plug · · Score: 4, Interesting

    Chronic Logic, the people who brought you the cool Pontifex bridge builder game, have a game called Triptych, which can loosely be defined as 'Tetris meets Columns with physics'.

    When you drop blocks, gravity affects them, and you can move blocks around with other blocks. (If your blocks aren't placed square, they don't land square! V shaped blocks tend to sit upside down etc) You get rid of blocks not by making lines, but by getting 3 of the same colour in a row, which then 'energize' and let you eat other blocks of the same colour.

    And the best part - it's written in the Simple DirectMedia Layer, so it runs on Windows, Mac or Linux. Check it out. (The main site is in Flash; this site takes you straight to it.

    (Disclaimer - I am nothing to do with Chronic Logic - I just like the game.)

  59. Re:ending of tetris by joss · · Score: 2

    > to me it was a bugger challenge.

    Really ? Wow, that would be some incentive. I sure wouldnt want to play tetris knowing that would happen to me if I screwed up.

    --
    http://rareformnewmedia.com/
  60. Re:Hrm. by SkulkCU · · Score: 3, Insightful


    These kids think that if it was made before they were born, the inventor must be dead.
    Hmmph.

    --
    .sig last updated Jan. 14, 2000
  61. Re:Hrm. by 6Yankee · · Score: 5, Funny

    Are there any other NP-hard games which were invented by dead Russians?

    Is Russian Roulette NP-hard?

  62. NP-Hard? by chickenmonger · · Score: 2, Funny

    Is it just me, or did somebody else think of NP-transistors when they read "NP-Hard"?
    (Zap! Kapow! Kersplat!)

    ....I think my geek factor just increased by 1 x 10^2...ouch...

  63. bastion strategy by Animaether · · Score: 3, Interesting

    The reason you'd leave it open in the center is because.. if a beam block appears, you...

    1. Won't die immediately, when the block is vertical and Your stacks are high, as it'll slot into the gap.
    2a. can drop it immediately, making a tetris.
    2b. have to only rotate once to make it vertical, followed by 2a.

  64. Look, I know they're from MIT and all... by MattRog · · Score: 5, Funny

    but that doesn't give them the right to flat-out make up words. "Inapproximability" indeed!

    --

    Thanks,
    --
    Matt
    1. Re:Look, I know they're from MIT and all... by mrsmalkav · · Score: 2, Funny

      That's a perfectly cromulent word. How dare you challenge MIT analysts.

  65. Another version of the tetris song on mp3.com by yerricde · · Score: 3, Interesting

    Here's a Europop version of "Korobeyniki", which many players think of as "the Tetris song".

    --
    Will I retire or break 10K?
    1. Re:Another version of the tetris song on mp3.com by Joey7F · · Score: 2

      Reel Big Fish has a good version of that song

      --Joey

  66. Re:What about Bust-A-Move?!? by ndogg · · Score: 2

    Sorry, I hate to break this to you, but Bust-A-Move wouldn't be that hard of a problem to solve polynomially, especially if you knew ahead of time all the pieces you would get. However, there is a small possibility that you could have a game that is impossible to solve (via the order of colors, and the colors you already have.)

    --
    // file: mice.h
    #include "frickin_lasers.h"
  67. Same piece sequence for both players by yerricde · · Score: 2

    Consider it a 2-player game. Say the player builds this 4-layer hole with the expectation to complete 4 layers with the next 4-long piece. In their game, the player knows when this piece arrives. In online tetris, the 'giver' can observe this setup and decide not to give any 4-longs at all.

    In most official TETRIS® products, each player has an independent PRNG seeded from the same value at the start; thus, the game gives the same pieces in the same order to both players. Thus, if you're not getting any sticks, the other player is just as screwed as you are.

    --
    Will I retire or break 10K?
  68. There's no sadistic AI in Tetris by yerricde · · Score: 2

    I'm personally convinced that Tetris and all its clones have a highly sophisticated masochistic AI.

    I don't know about most Tetris clones, but I do know that Tetanus On Drugs has only a simple linear congruential PRNG, not some sadistic AI.

    --
    Will I retire or break 10K?
  69. Actually, Tetris is impossible by watanabe · · Score: 4, Informative
    Actually, Tetris is impossible.

    http://www.math.uic.edu/~burgiel/Tetris/explanatio n.html Has a great article about this. Essentially, in a truly random Tetris game, getting a long sequence of alternating Z and S pieces will make it impossible to complete the board; they're thicker in the middle than the sides, meaning you'll build up a little tower in the middle, no matter how good you are.

    The page has links to a version of Tetris with only those pieces, if you want to try your luck on it.

  70. P vs. NP and why should I care? by rtos · · Score: 5, Informative
    [I posted this before, but I thought it was apropos to this story as well.]

    Perhaps you are wondering what an NP-complete problem is or what this P vs. NP stuff is all about. You might want to check out the comp.theory FAQ and scroll down to 7. P vs NP. It gives a bit of history and a decent description.

    Or check out The P versus NP Problem at Clay for a really good description (unfortunately too long to quote here). And lastly, you might want to check out Tutorial: Does P = NP? at VB Helper for a little more info.

    Ok, but what is it good for? The Compendium of NP Optimization Problems is a great place to look for real world examples of NP problems. Including everything from flower shop scheduling [nada.kth.se] to multiprocessor scheduling.

    Hopefully that helps. I was very clueless when it came to P vs. NP stuff that always seems to be mentioned on Slashdot. So I took the time to look it up. Now I'm clueless but I have links to share. :)

    --
    -- null
  71. Tetris is only NP-hard when you try to maximize! by frleong · · Score: 4, Interesting

    There is a difference between a solution and an optimal solution. The fact that you don't lose doesn't mean that you're getting the best score. Finding the best way to fit a "T" block, for example, is simply much harder than just finding a place to place it.

    --
    ¦ ©® ±
  72. Kirby's Avalanche by Anonymous+Custard · · Score: 2, Funny

    I played tetris lightly, but never owned it or played too much. Although, it (and some other games) a few times had me dreaming about playing (like, literally had me arranging blocks in a dream).

    However, when I was about 14, I played a match of Kirby's avalanche against my friend's au pair (mom was divorced and he had a little bro). We had been lpaying all summer, so we were pretty good, but this match lasted well over an hour. The game speed got ridiculous, where the pieces seemed to fall as fast as the graphics processor could display them :-) We even had to take bathroom breaks. We were just so into the game that we were TOTALLY in the kirby zone. Kind of like when you're typing and you just hit exactly the right keys more quickly than usual, we were just placing the globs so perfectly and makin so many pumpkin combos :-)

    Ahhhhh, those were the days!

  73. AI: Tetris vs Dr. Mario by Vegan+Pagan · · Score: 3, Interesting

    If Nintendo is to be believed, Tetris is hard for computers and Dr. Mario is hard for humans.

    They published a SNES game with both Tetris and Dr. Mario on one cartrige. I'm assuming both were programmed by the same team, since it let both games run simultaneously.

    In either game you could play against the AI. You could choose the AI player's smarts, piece drop speed, and starting clutter. When I played against the smartest AI in Tetris, and made all else equal for it and me, I could just beat it, especially when starting with a clear field where I guess the player must be most "creative". But in Dr. Mario the AI was nearly perfect! As fast as possible and the best possible moves! Even on top speed and max clutter the AI almost never caved in! And to me, Dr. Mario is a more complicated game than Tetris.

    How could this be?

  74. Time Out! by kiwifr00t · · Score: 3, Interesting

    I'm either missing something or the boys at the MIT lab are thinking too hard.
    Years ago I wrote a program to play tetris and it did just fine! I know because it played directly against the tetris I had on my computer.
    I'll explain how it worked:
    In 1989 I lived in England and had lots of spare time to tinker with my computer (it was an old PC running at 4.77Mhz).
    I thought DOS Tetris was the coolest thing since mini skirts and was also dabbling with TSR programs at the time (TSR = Terminate and Stay Resident). These would let you run one program in the background while another program runs.
    So, naturally, I wrote a TSR program to play Tetris.
    I would start the TSR and then start the game. The TSR would look in the video buffer and analyze tetris as it ran. It would look at the layout of the board and look at the next piece. With some relatively simple logic and a series of rules it weighed the merits of various positions for the piece. To make the move it would stuff keystrokes in the keyboard buffer, such as Rotate, Rotate, Left, Left, Left, Drop. Then it simply waited till the keyboard buffer was empty (the piece had been moved) and look for the next piece.
    I could just sit back and watch...
    At first it wasn't very good but with some tweaking of rules it improved drastically.
    It would do much better than I could do manually, with pieces spinning, moving and dropping like crazy until the game really sped up. Then, with the limitations of a slow computer it couldn't analyze the best move and get the keystrokes in the buffer in time. Once it hit this threshold the pieces would start to stack up and it would be 'game over'.
    I think at the time and the version I had I personally could get a score of around 8000. The TSR could get scores up to around 15000.

    Just something to think about.....
    --
    Geoff

    1. Re:Time Out! by cpeikert · · Score: 2

      I'm either missing something or the boys at the MIT lab are thinking too hard.

      You are missing something... one of the authors is a woman. :)

  75. Re:Actualy, it's NP-complete. by shaldannon · · Score: 2

    Your comments gave me an idea that started me wondering....

    what happens if you write a reverse tetris program? That is, write a program where the human tries to pick the right combination of pieces and the computer tries to achieve tetrises using the pieces...

    Of course, my not being an AI expert, it would be pointless for me to try, but maybe someone else out there might find it interesting...

    --


    What is your Slash Rating?
  76. But this doesn't explain why... by diogenes57 · · Score: 2, Funny

    It's so hard to win on Tetrinet. I always thought the winners cheated using bots, but now this tells me that isn't possible.

    1. Re:But this doesn't explain why... by z4ce · · Score: 2

      Tetrinet isn't that hard. I can normally win like 1/2 of the time when not playing with cheaters. Personally, now I'm into TetriFAST it's like tetrinet.. only well.. fast (no block delay). The best players can drop like 140ppm(peices per minute) at SNS (Sticks 'n' Squares). I can only do like 80-90 at SNS but I can still win like 1/4th of the time.

      IF you want to play tetriNET/FAST on linux see the CVS version of gtetrinet if you want to play on windows check out the original. I normally play on downstack.com

      Ian

  77. Soko [AI vs human enjoyment] by Derwen · · Score: 2
    Analysts at MIT Laboratory for Computer Science, who have been busy translating, rotating and dropping, have demonstrated what the rest of us suspected: Tetris is hard. Technically, it's 'NP-hard,'
    Mybe they should be studying the correlation between how challenging problems are to AI, and how enjoyable they are for the human brain.
    Obviously loads of people love Tetris. My favourite game is Sokoban, which is beloved of AI researchers as it is P Space complete.
    Oh, and it's available for sed, as well as emacs :-)

    - Derwen

    --
    http://fsfeurope.org/
  78. Tetris is for wussies by Reziac · · Score: 2

    REAL geeks play Welltris and Blockout!!

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  79. where's the hole? by boarder · · Score: 2

    I've been playing Tetris seriously for a long time, and I've always put the hole on the right side...
    Because of the width of the board and where the long piece is initially placed, it takes one extra translation move to get it to the left side of the screen.
    I've tested putting the hole in the center and in various other locations, but I found it is much simpler to control one wide stack with various places for different blocks, instead on two stacks with only a small number of places for blocks.
    When you get up to level 19 and above, things are moving so fast that the controller doesn't handle moving back and forth very quickly... you need to move pieces in a general direction (like all of them to the right, then slowly building to the left).
    All of this is on the NES Nintendo brand of Tetris. I have played other versions, but none as extensively. I would love to know the optimal strategy, but I think each player chooses which one works best for them (so even though the center may be optimal, I like the left better). My best score was 470,000... The guys at TwinGalaxies have the top score at 999,999 which seems impossible to me.

    --
    IANAL, but I play one on /.
    1. Re:where's the hole? by boarder · · Score: 2

      yeah, I watched them (these vids)... they're pretty good, but nothing like what you'd have to be in order to score 470,000 in original NES tetris. There are some differences you have to watch for in the video:
      1) pieces can be slid 2 or 3 spaces after they hit (at that speed, 1 is optimistic in the original)
      2) pieces can be rotated 2 or 3 times after they hit (once at any speed is optimistic in the original)
      3) pieces move right and left A LOT faster... in level 19, a long piece drops about 4 places for every move left or right; in this game, you can move the piece all the way to the wall by the time it drops 4 places

      Don't get me wrong, that guy is insanely good, but the original is more difficult and I can easily comprehend what they're doing.

      --
      IANAL, but I play one on /.
  80. New Deep Fritz competition? by phorm · · Score: 2

    So next time around, is Deep Fritz going to compete in the world Tetris competition? From what I gathered, the big machine had a stored set of the chess moves and their optimal countermoves.

    Tetris, it seems, could not even be pre-stored in such a way?
    Not counting how the blocks will speed up, does this mean that humans have a better chance of winning at tetris than at chess?

  81. 128-bit Tetris encryption by c64cryptoboy · · Score: 4, Funny

    Now that we know it's NP hard, lets see if anyone can come up with a Tetris-based encryption scheme. Lets see, with just one shape (7 tetrominoes with rotations) there are 19 possibilities, so that's at least 4 bits of entropy right there.
    This could make the Bovine distributed cracking clients a lot more fun to watch.

    --
    I put the 'fun' in fundamentalism
  82. Similar to Go? by Suppafly · · Score: 2

    Technically, it's 'NP-hard,' meaning that there is no efficient way to calculate the necessary moves to "win," even if you know in advance the complete order of pieces, and are given all the time you need to make each move. At least there's one geek classic that refuses to fall to the scrutiny of mathematicians."

    I suspect it's similar to Go in that respect. People have been trying to make a computer good at Go for quite a while with limited success.

    Although with Tetris, I'd assume that even though there isn't a good way to guess the quickest way to win, it is probably trivial to make a computer halfway decent at playing tetris.

  83. Harder and More Fun! - Triptych! by teamhasnoi · · Score: 2
    http://www.chroniclogic.com/

    Triptych is like tetris with real physics. Blocks bounce and rotate a *full* 360 degrees;. It's addictive as hell - Works on Linux, Mac and Windows too!

    Be sure to check out Pontifex - build bridges...One of the most addictive games I have ever played!

  84. Re:From the Too-many-other-newsites department by sahala · · Score: 2
    I don't know what slashdot you're thinking about, but I'm reading the version where no one reads the article. Hell he mentioned X and Y in his post somewhere, so it MUST be insightful. I didn't even bother reading his whole post, I'm too busy playing flash adventure to care.

    Someone mod this guy up for Realistic :)

  85. I can't believe it's not Tetris by terrab0t · · Score: 2, Interesting
  86. Re:NP-hardness is ubiquitous by Wavicle · · Score: 2

    Even if there's only one layer of tiles, so you can see the entire state of the game at the start, determining whether it is possible to remove all the tiles is NP-complete.

    Given that there will be very many solutions to the problem (removing all tiles) and each solution will be equally as good as all other solutions - thus not all pairing possibilities would have to be considered - are you sure the problem is NP-complete?

    --
    Education is a better safeguard of liberty than a standing army.
    Edward Everett (1794 - 1865)
  87. Re:Tetris "ends"? by Bill+Currie · · Score: 2

    32767

    --

    Bill - aka taniwha
    --
    Leave others their otherness. -- Aratak

  88. The nintendo version was Cool! Re:Tetris "ends"? by Joey7F · · Score: 2

    Back on Nintendo after you scored a certain amount of points (like 25000 or so) you would see a rocket take off. The rockets got progressively larger and more complicated looking as your score increased.

    After an hour and a half of my fingers going crazy, I reached my highest score ever. I could not wait to see this! To my shock there was the dinkiest little rocket (it is the first one they show you) and while I was screaming ripoff at the tv, the kremlin, which is always next to the pad, ends up blasting off!

    It was the single coolest video game surprise of my childhood.

    --Joey

  89. You can't win with just the wrong pieces! by Doug+Merritt · · Score: 3, Insightful
    Ages ago I modified Xtetris to play automatically. I figured I had succeeded when it continued to play at top speed for a full week without losing.

    But interestingly enough, then I decided to see whether the game was deterministically winnable, or only statistically winnable -- so I used the same strategy algorithm to "cheat" by always picking the piece that was hardest to fit, and then presenting that piece as the next one for the human player to deal with.

    Both when I played, and when my autoplayer algorithm played, we always lost immediately without being able to remove even one row. It is truly maddening to get absolutely nothing but the "wrong" pieces. Even in slow motion, they just don't fit.

    The way to interpret this is that tetris is unplayable in the absolute worst case of bad luck, but that it is strangely nicely tuned so that it is winnable in a statistical sense -- for a while .

    But even if it doesn't speed up too much, eventually you'll run into a statistical streak of bad luck with just the wrong pieces, and you will lose! Guaranteed.

    Alexey was a friend of a friend at the time, and I mentioned this result to him. He said he was not at all surprised, but didn't say much else about it.

    --
    Professional Wild-Eyed Visionary
  90. What this proof is really about by vlad_petric · · Score: 3, Informative
    Dear slashdotters who either never took or just completely ignored an algorithms/complexity class,

    They have shown, by reducing one NP-Complete problem to Tetris with full-lookahead, that optimal Tetris with full-lookahead is NP-hard.

    Now, the reducing works by taking any instance (i.e. input) of the original problem and converting it into an instance of the tetris problem, not the other way around. So the conversion won't produce all possible Tetris games, in fact only a very restricted class of them.

    This ignores two important aspects of Tetris playing:

    The game is not bound by the number of pieces (so suboptimal behaviour is not really a problem)

    The game is played with *random* input sets

    But, as always, it's very easy to discuss something that you have no idea what it means. And, btw, being NP-complete or NP-hard doesn't mean necessarily exponential complexity (neither P=NP nor PNP have been shown).

    The Raven

    --

    The Raven

  91. Re:What about Bust-A-Move?!? by ndogg · · Score: 2

    But Bust-A-Move isn't really at all anything like Tetris. I can see how it could have gotten its inspiration from Tetris, but that's where the similarities end.

    --
    // file: mice.h
    #include "frickin_lasers.h"