CHALLENGE OF THE GOBOTS
description
Transcript of CHALLENGE OF THE GOBOTS
![Page 1: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/1.jpg)
CHALLENGE OF THE GOBOTS
SPRING 2009 MIDTERM
MIKE TRANCHRIS CUNEO
ARTURO SALAZARALLEN DUNLEA
![Page 2: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/2.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 3: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/3.jpg)
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.
![Page 4: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/4.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 5: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/5.jpg)
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
![Page 6: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/6.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 7: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/7.jpg)
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
![Page 8: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/8.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 9: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/9.jpg)
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
![Page 10: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/10.jpg)
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.
![Page 11: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/11.jpg)
MAXIMIN Tree Each new board will
generate a tree of new boards
![Page 12: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/12.jpg)
MAXIMIN Tree
Strength = 4Strength = 1
Strength = 2
Each one of the new boards will be evaluated according to its strength
![Page 13: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/13.jpg)
MAXIMIN Tree
Strength = 4Strength = 1
Strength = 2
The strongest new board will be chosen
![Page 14: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/14.jpg)
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
![Page 15: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/15.jpg)
Stone CapturingUh oh!
![Page 16: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/16.jpg)
Stone CapturingBAM!
![Page 17: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/17.jpg)
Stone CapturingSUCCESS
![Page 18: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/18.jpg)
Stone CapturingA weaker move
![Page 19: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/19.jpg)
Stone CapturingWhoops!
![Page 20: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/20.jpg)
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.
![Page 21: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/21.jpg)
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?
![Page 22: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/22.jpg)
Loosely Owned Territory
No one has Any Territory and No Immediate danger of being captured.
![Page 23: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/23.jpg)
Loosely Owned Territory
We can assume that we loosely own territory because it is only a few steps away from being captured Territory.
![Page 24: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/24.jpg)
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.
![Page 25: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/25.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 26: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/26.jpg)
Gobots Summary PAGE rundown Block Diagram Key Algorithms Demo Next Steps
![Page 27: CHALLENGE OF THE GOBOTS](https://reader035.fdocuments.us/reader035/viewer/2022062521/56816648550346895dd9bf96/html5/thumbnails/27.jpg)
Next Steps Continue implementing algorithms Strengthen our heuristic Optimize to improve depth of trees