Tetris AI
02 Mar 2024 / university project
Tetris AI agent done in group of 5 in Java for CS3243 Introduction to Artificial Intelligence course. This is not a game AI, hence the action done by the agent is always a decision made considering the highest utility (unlike game AI, where the AI should do some 'bad moves' (looks smart, not 'acting smart') and adjust accordingly to player), and the agent plays by itself to solve as many rows as possible.
The approach we use is basically a utility function (use of heuristics), that weights features of the current game state, and calculates the best possible moves by comparing the evaluations made by the utility function, and pick the action that produces the most gain. We use Genetic Algorithm to breed the weights of the features in order to fine-tune them to produce better overall performance.
Final code & report: http://www.mediafire.com/download.php?elrbs18z8fke2ey
My contribution in the process of the making: http://www.mediafire.com/download.php?bb6sja43ppzy3a7