CHALLENGE OF THE GOBOTS

Post on 24-Feb-2016

40 views 0 download

Tags:

description

CHALLENGE OF THE GOBOTS. Spring 2009 Midterm Mike Tran Chris Cuneo Arturo Salazar Allen Dunlea. Gobots. Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps. Summary. - PowerPoint PPT Presentation

Transcript of CHALLENGE OF THE GOBOTS

CHALLENGE OF THE GOBOTS

SPRING 2009 MIDTERM

MIKE TRANCHRIS CUNEO

ARTURO SALAZARALLEN DUNLEA

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

SummaryOur project is to create an agent that will

be able to play the game of Go on a competitive level against the members in our group. The decision making process of the agent will involve using a MAXIMIN tree to evaluate the strengths of each possible move.

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

PAGE Rundown•Moves from the user given as Strings (i.e. “A1”, “C5”)Percepts•placeStone(String color, int x, int y);•pass();Actions•By the end of the game:•Maximize territory owned by the Gobot•Maximize stones captured by the Gobot•Minimize stones captured by the opponentGoals•A 2D array of vertices owned by white, black or neither•We will focus on a 9x9 boardEnvironment

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

Block Diagram

Percepts:Opponent places

stone(i.e. “C1”, “E6”)

Generate best move

Actions:genmove

orpass

(i.e. “= A3”, “= B5”)

Update board

Build MINMAX tree

Request a

move

placeStone

Board status

placeStone

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

Key AlgorithmsWe will use a simple heuristic to

evaluate the “strength” of a board

H(move) = stones captured + white’s actual territory owned + (0.25) white’s loosely owned territory – black’s actual territory owned – (0.25) black’s loosely owned territory – stones lost

MAXIMIN Tree The agent will use a MAXIMIN tree

evaluation algorithm along with alpha-beta pruning to create possible actions.

Decides which stone placement will give the best possible outcome for the GoBot on the current board.

MAXIMIN Tree Each new board will

generate a tree of new boards

MAXIMIN Tree

Strength = 4Strength = 1

Strength = 2

Each one of the new boards will be evaluated according to its strength

MAXIMIN Tree

Strength = 4Strength = 1

Strength = 2

The strongest new board will be chosen

Stone Capturing H(move) = stones captured + white’s actual

territory owned + (0.25) white’s loosely owned territory – black’s actual territory owned – (0.25) black’s loosely owned territory – stones lost

To capture a stone (or stones) surround their immediate sides with Your stonesOr the edge of the board

Stone CapturingUh oh!

Stone CapturingBAM!

Stone CapturingSUCCESS

Stone CapturingA weaker move

Stone CapturingWhoops!

Actual Territory H(move) = stones captured + white’s

actual territory owned + (0.25) white’s loosely owned territory – black’s actual territory owned – (0.25) black’s loosely owned territory – stones lost

The actual territory is the number of intersections surrounded by a players stones on the board.

Loosely Owned TerritoryLoosely owned Territory H(move) = stones captured + white’s actual

territory owned + (0.25) white’s loosely owned territory – black’s actual territory owned – (0.25) black’s loosely owned territory – stones lost

 Problem Not all moves capture Opponent Stones Not all moves gain Territory

How do we consider the benefits of such moves?

Loosely Owned Territory

No one has Any Territory and No Immediate danger of being captured.

Loosely Owned Territory

We can assume that we loosely own territory because it is only a few steps away from being captured Territory.

Loosely Owned TerritoryHow we calculate: We say we loosely own a territory if we

have another stone within 3territories from us that can possible be used to surround.

Meaning if we have a Wall or Similar Stone within 3 Territories in any direction of our stone then we loosely own the area in between them.

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps

Next Steps Continue implementing algorithms Strengthen our heuristic Optimize to improve depth of trees