# Tetris – Genetic Algorithm Presented by, Jeethan & Jun.

## Presentation on theme: "Tetris – Genetic Algorithm Presented by, Jeethan & Jun."— Presentation transcript:

Tetris – Genetic Algorithm Presented by, Jeethan & Jun

 Evolutionary Algorithm  A commonly used method by which solutions to problems that might otherwise be impossible to solve are solved.  Usually be used to find the near-optimal solution for the problems which have many candidate solutions by using the evolutionary principles and methods.  Can also be used to tackle problems that humans don't really know how to solve.  Widely used with other algorithms in engineering and other fields. Introduction

Tetris is a computer game invented by Alexey Pajitnov in 1985. Then it was widely played on many other devices such as game consoles. The game is played on a game-board, usually with a width of 10 and height of 20. There are seven distinct Tetrominoes, each of which occupies four grid cells of the game board. The Tetrominoes move downwards with a certain speed while the player can rotate them and move them horizontally. One Tetrominoes stops moving as soon as it hits the ground or previously placed Tetrominoes. Tetris Game Overview

 Each fully occupied horizontal line in the game-board is removed and all blocks above slip down by one line.  The game ends as soon as a new tetrominoes cannot enter the board. GOAL - The player has to clear as many lines as possible before the board is filled.

Types of Tetrominoes

 Blocks of four (tetrominoes) falling from the top of the board. The player moves and rotates the blocks and stacks them up: Rules

 black outline is one of the places you can put the shaped block. Rules

 How to design using AI ?  Using Genetic Algorithm - Determine which positions are good and which are bad  The AI is going to go through each position and choose the best possible one. Tetris AI - Outline

 Avoid Penalize height since when all the blocks are stacked up to the top, you lose: Strategies

Step 1 : Look at the current block and the next block and simulate ALL possible combinations (positions and rotations) of the two blocks. Step 2: Calculate a score for each of the positions. Step 3: Move the block to the position with the highest score and repeat. Algorithm for Tetris

 To get a score for a position : Score = A * Sum of Heights + B * Number of Clears + C * Number of Holes + D * Number of Blockades  For each edge touching, another block  the wall  the floor

Charles Darwin specifies four criteria for the process of natural selection to occur:  Variation: Organisms in a population must be slightly different from one another.  Inheritance: Traits of parent organisms must be passed onto their offspring.  Limited space: Only some of the offspring in any generation is able to survive and pass on its genes.  Competition: Individuals that are more fit are more likely to pass on their genes to the next generation. Implementing genetic algorithm

1.A chromosome which expresses a possible solution to the problem as a string. ( since there are a set of seven weights,chromosome is an array of seven doubles ) 2. A fitness function which takes a chromosome as input and returns a higher value for better solutions. Factors influencing Natural selection process

 The fitness function – the score is just the number of lines the AI runs for before it dies. Scoring system :  Nintendo’s original scoring system for Tetris — 40 points for one clear, 120 points for two simultaneous clears, 300 for three simultaneous clears, and 1200 for four simultaneous clears. Fitness Function

3. A population which is just a set of many chromosomes (sixteen chromosomes ; Initially the chromosomes are filled with randomly generated numbers. Each generation onwards, the population’s chromosomes are derived from the best candidates of the previous generation — but the population size stays the same)

 Tournament selection: Selection Method

A crossover operation which determines how parents combine to produce offspring Cross over is a process of taking more than one parent solutions and producing a child solution from them A mutation operation which determines how random deviations manifest themselves (We have a 10% chance of a mutation – a chromosome that is different from either parent’s) Crossover & Mutation