This project was the final result when I attended Taiwan 2048 Bot Contest in 2014. I got Awarded for Excellent (5th place in 58 teams) at the end. You can view results of other teams from this archived page.
Addition to expectiminimax tree, I also used genetic algorithm to get the weight of each feature. I trained 6 evolutions and selected the best performed one (evo3.data in my training). Note that related codes about training is not included in this project. Some hacks about bit manipulation is heavily used to speed up during the search procedure. For those interest in this part, please refer to the great book Hacker's Delight.