Game Tree ( Oyun Ağaçları )

37
Unbeatable TicTacToe (xox) Alp Çoker www.alpcoker.com [email protected] Game Tree

description

How computer(Artificial Intelligence) choose next move. How to apply Minimax Method and Alpha & Beta Pruning step by step.

Transcript of Game Tree ( Oyun Ağaçları )

Page 1: Game Tree ( Oyun Ağaçları )

Unbeatable TicTacToe (xox)

Alp Ç[email protected]

Game Tree

Page 2: Game Tree ( Oyun Ağaçları )

Game playing was one of the first tasks undertaken in AI as soon as computers

became programmable.

Page 3: Game Tree ( Oyun Ağaçları )

Game Systems Rely On

– Search techniques – Heuristic functions– Bounding and pruning techniqiues– Knowledge database on game

Page 4: Game Tree ( Oyun Ağaçları )

Board Games

Tic Tac Toe,Chess,Go....

Page 5: Game Tree ( Oyun Ağaçları )

Why Board Games?

• Two opponents.• Game states are easy to represent.• Not involving chance or hidden.• Search concentrate on one player.

Page 6: Game Tree ( Oyun Ağaçları )

Minimax Method

• Try to find next best move in a game with 2 player .

• The object of a search is to find a path from the starting position to a goal position

• It calculates all possible game states by examining all opposing moves .

• Determine the next move against best play[opponent] .

Page 7: Game Tree ( Oyun Ağaçları )

Minimax Method

• Max tries to maximize its score • Min tries to minimize Max’s score (Min)

Goal: Move to position of highest minimax value

Page 8: Game Tree ( Oyun Ağaçları )

Minimax Method

Minimize Maximum Loss OR

Maximize Minimum Gain

Page 9: Game Tree ( Oyun Ağaçları )

Minimax Search Algorithm1. Generate the whole game tree to leaves2. Apply utility (payoff) function to leaves3. Back-up values from leaves toward the root:* a Max node computes the max of its child values* a Min node computes the Min of its child values4. When value reaches the root: choose maxvalue and the corresponding move.

Page 10: Game Tree ( Oyun Ağaçları )

Evaluation Function

• Each game outcome has a payoff, which we can represent as a number

• By convention, we prefer positive numbers• In some games, the outcome is either a simple

win (+1) or a simple loss (-1)• In some games, you might also tie, or draw (0)

Page 11: Game Tree ( Oyun Ağaçları )

Minimax ( Generate Tree )

Page 12: Game Tree ( Oyun Ağaçları )

Minimax ( Decide Whose Turn )MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 13: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

12

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 14: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 15: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

12

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 16: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

12 4

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 17: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

4

12 4

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 18: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )

4 3

12

76

34 18 6 15 7 24

1512 5 18 6 7 117 241

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 19: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )7

4 3

12

76

34 18 6 15 7 24

1512 5 18 6 7 117 241

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 20: Game Tree ( Oyun Ağaçları )

Minimax ( Evaluate Funcions )7

4 3

12

76

34 18 6 15 7 24

1512 5 18 6 7 117 241

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Page 21: Game Tree ( Oyun Ağaçları )

α-β Pruning

• Extension of Minimax Algorithm.

• With the help of α-β Pruning we can reduce the size of game tree so we can get quicker response .

Page 22: Game Tree ( Oyun Ağaçları )

α-β Pruning

If a move is determined worse than another move already examined, then there is no need

for further examination of the node.

Page 23: Game Tree ( Oyun Ağaçları )

α-β Pruning

11 7 5 1 81016 14 2

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

Page 24: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11 7 5 1 81016 14 2

<7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

Page 25: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11 7 5 1 81016 14 2

<7

>7MAX ( Artificial Intelligence )

MIN ( Player )

MAX

Page 26: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11 7 5 1 81016 14 2

<7

>7

<5

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

Page 27: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11

5

7 5 81016 2

<7

>7

<5

In 7<x and 5>x interval there can be no x , so we don’t Need to traverse in nodes 14 and 1

114

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

Page 28: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11 7 5 8

MAX ( Artificial Intelligence )

MIN ( Player )

MAX 1016 2

<7

>7

<5

114

<10

In 7<x and 10>x interval there can be x then continue in nodes 2 and 8

Page 29: Game Tree ( Oyun Ağaçları )

α-β Pruning

7

11 7 5 8

MAX ( Artificial Intelligence )

MIN ( Player )

MAX 1016 2

<7

>7

<5

114

<2

In 7<x and 2>x interval there can be no x , so we don’t Need to traverse in node 8.

Page 30: Game Tree ( Oyun Ağaçları )

α-β Pruning7

7

11 7 5 8

MAX ( Artificial Intelligence )

MIN ( Player )

MAX 1016 2

<7

>7

<5

114

<2

Page 31: Game Tree ( Oyun Ağaçları )

Tic Tac Toe

Page 32: Game Tree ( Oyun Ağaçları )

Tic Tac Toe Game Search

Page 33: Game Tree ( Oyun Ağaçları )

Applying Minimax & α-β Pruning

• Evaluation function of Tic Tac Toe game is just win , lose and draw.

• Computer traverse all nodes until leaf then give every leaf evaluation value. By using minimax method computer select best move.

Win by Computer : 1Win by Opponent : -1Draw : 0

Page 34: Game Tree ( Oyun Ağaçları )

Applying Minimax & α-β Pruning

I assume the game state is like above form. Next move will be X and that will be determined by computer using Minimax Method with α-β Pruning step by step.

Page 35: Game Tree ( Oyun Ağaçları )

-1 0

0

-1 +1

+1

0

0

MAX ( AI )

MAX ( AI )

MIN ( Opponent )

+1

+1

MIN ( Opponent )

-1-1

0

0

α-β Pruning

Computer Choses That Move

Page 36: Game Tree ( Oyun Ağaçları )

¿ Questions ?

Page 37: Game Tree ( Oyun Ağaçları )

Alp Ç[email protected]

Thanks...