Jaki jest optymalny algorytm dla gry 2048?

Niedawno natknąłem się na grę 2048 . Łączysz podobne płytki, przesuwając je w jednym z czterech kierunków, aby utworzyć „większe” płytki. Po każdym ruchu, nowa dachówka pojawia się losowo pustej pozycji o wartości albo 2albo 4. Gra kończy się, gdy wszystkie pola są wypełnione i nie ma ruchów, które...