Qual é o algoritmo ideal para o jogo 2048?

Recentemente, deparei com o jogo 2048 . Você mescla blocos semelhantes movendo-os em qualquer uma das quatro direções para criar blocos "maiores". Após cada movimento, um novo bloco aparece na posição vazia aleatória com um valor de 2ou 4. O jogo termina quando todas as caixas estão preenchidas e...