I'm TA for an AI course at my university. They recently had to deliver and demonstrate their system beating 2048. Most people used min/max with alpha-beta pruning, and considered all possible moves and all possible placements of a 2 or 4 tile. This can make your bot a bit too cautious, so some used Expectimax instead, weighting each value with the probability of it happening.<p>Those who had simpler heuristics did better. Trying to combine 4-5 heuristics is hard, as you have to weight them against each other. The "gradients" mentioned here did alone produce good results for most students. Of the ~50 people, most managed to demonstrate to me that they could get a 2048 tile within a time limit. Some even 8k and 16k tiles.<p>I think most of them got the "Tetris-effect" by watching their bot play a few rounds, tweak, run it again etc. for a few days. Probably watched blocks sliding around when making food etc. :p