Computers Playing Games Arif Zaman CS 101 Acknowledgements Portions of this are taken from MIT’s open-courseware http://ocw.mit.edu/ Some items are adapted from Chapter 5 on.
Download
Report
Transcript Computers Playing Games Arif Zaman CS 101 Acknowledgements Portions of this are taken from MIT’s open-courseware http://ocw.mit.edu/ Some items are adapted from Chapter 5 on.
Computers Playing Games
Arif Zaman
CS 101
Acknowledgements
Portions of this are taken from MIT’s
open-courseware http://ocw.mit.edu/
Some items are adapted from Chapter 5
on Games by some professor who
adapted it from notes by Charles R.
Dyer, University of Wisconsin-Madison
Why Play?
Humans play for enjoyment, but computers…?
Games of strategy and skill require
“intelligence”. We may learn about thinking by
learning how to teach computers.
Hard but well defined problems, unlike other AI
problems like speech, ethics etc.
Competition, knowledge-representation, …
To provide entertainment, competition and
training to humans (that play or program).
Game Theory
Von Neumann and
Morgenstern analyzed
two person zero-sum
games, where each
person takes a decision
simultaneously, and then
gets paid according to a
payoff matrix.
Economic games, can
be multi-person, multistage.
Enemy
Strategy
My
Stra
tegy
A
B
X
10
-10
Y
-2
40
Board Games
Two Person
Alternating moves
Zero Sum
Deterministic (not
Backgammon or
Ludo)
Perfect Information
(not Bridge, Hearts)
Examples
Tic-Tac-Toe
Checkers
Chess
Go
Reversi (Othello)
History
1949 Claude Shannon
paper on Chess
1951 Alan Turing
simulation on Checkers
1955 Chess Program
using α-β.
1966 MacHack
1990 Belle (harware
assist)
2000 Deep Blue (serious
hardware)
3500
3000
2500
2000
1500
Deep
Blue
USCF Rating
Belle
Mac
Hack
1000
500
Depth (ply)
0
3
6
9
12
Top-down Program
Repeat Until Done
DrawBoard
GetPlayerMove
CheckLegalMove ‘also check if game over
MakePlayerMove
DrawBoard
FindLegalMoves ‘also check if game over
EvaluateLegalMoves
MakeBestMove
Static Position Evaluator
Given a position, come up with a “value”.
Values are 0…1 or 0…infinity or –
infinity…infinity.
0..1 can represent “probability” of my lose/win
In chess can count
my pieces – enemy pieces.
my total piece value – enemy total piece value.
Add points for Mobility
Add points for Center Control
Negative points for exposed king, etc.
This is where humans experts excel.
Game Tree Mini-Max
Crude Evaluator
You can start off with
a crude static
evaluator, and a high
ply minimax.
Russians believed
that better would be
an excellent but slow
static evaluator with
lower plies.
The extreme
strategies are of
course a perfect
evaluator with 1-ply
Or the complete
game-tree search
with trivial evaluator.
Deep Blue
32 node supercomputer, each with eight
special chess processors.
50 – 100 billion moves in 3 mins with a
13-30 ply search
Other Tricks
α-β pruning: We do Lookup Tables: for
not need to look at
opening moves.
every possible move, Special program:
especially if we have
for endgames.
a good candidate.
Quiessence: Static
evaluate at peaceful
situations. Go
deeper into fights.
Other Games
Go is much harder. The best computer is
far worse than the best human, even
though the rules are very simple
Checkers computers are far better than
the best humans
Tic-Tac-Toe is still a great mystry
Othello has a very interesting story.
Rules of the game
Start with four squares
filled.
Move next to opposite
colored square.
Change color of all
opposite colored
squared surrounded by
moved piece and
another piece of the
same color.
Must capture.
Reversi (Othello)
D E Moriarty and R
Miikkulainen,
“Discovering Complex
Othello Strategies
Through Evolutionary
Neural Networks”
Created a strong player
without any initial
knowledge, by breeding
a program!
Evolutionary
Start with a “population”
of 100 “random”
programs.
Have a competition, and
kill the 90 losers. Breed
the 10 winners by
“mixing” their “genes”
with a bit of “mutation.”
Do the same for many
generations (1000’s).
Positional Strategy
Positional Strategy
Programs quickly
learned the basic
positional strategy:
Take corners.
Avoid neighbors of
corners
Take neighbors of
neighbors of corners.
Mobility Strategy
Keep low piece
count
Restrict opponents
moves
Discovered only
once in Japan, and
then everyone learnt
it from them.
Mobility vs Positional
The mobility strategy
(learned by the ENN)
looks like it is
loosing, but converts
it to a win in the last
3-4 moves!
But…
Specially designed programs to play
Othello still do even better eg. Bill or
Logistello.