Game Tree ( Oyun Ağaçları )

Post on 29-Nov-2014

6.714 views 0 download

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ı )

Unbeatable TicTacToe (xox)

Alp Çokerwww.alpcoker.comalpcoker@live.com

Game Tree

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

became programmable.

Game Systems Rely On

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

Board Games

Tic Tac Toe,Chess,Go....

Why Board Games?

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

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] .

Minimax Method

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

Goal: Move to position of highest minimax value

Minimax Method

Minimize Maximum Loss OR

Maximize Minimum Gain

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.

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)

Minimax ( Generate Tree )

Minimax ( Decide Whose Turn )MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Minimax ( Evaluate Funcions )

12

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Minimax ( Evaluate Funcions )

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Minimax ( Evaluate Funcions )

12

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Minimax ( Evaluate Funcions )

12 4

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

Minimax ( Evaluate Funcions )

4

12 4

12 7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

MIN

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

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

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

α-β Pruning

• Extension of Minimax Algorithm.

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

α-β Pruning

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

for further examination of the node.

α-β Pruning

11 7 5 1 81016 14 2

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

α-β Pruning

7

11 7 5 1 81016 14 2

<7

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

α-β Pruning

7

11 7 5 1 81016 14 2

<7

>7MAX ( Artificial Intelligence )

MIN ( Player )

MAX

α-β Pruning

7

11 7 5 1 81016 14 2

<7

>7

<5

MAX ( Artificial Intelligence )

MIN ( Player )

MAX

α-β 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

α-β 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

α-β 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.

α-β Pruning7

7

11 7 5 8

MAX ( Artificial Intelligence )

MIN ( Player )

MAX 1016 2

<7

>7

<5

114

<2

Tic Tac Toe

Tic Tac Toe Game Search

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

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.

-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

¿ Questions ?

Alp Çokerwww.alpcoker.comalpcoker@live.com

Thanks...