Turn-Based Games sources: •http://www.game-research.com/ •www.gamespot.com •Wikipedia.org •Russell & Norvig AI Book; Chapter 5 (and slides) •Jonathan Schaeffer’s AAW 05 presentation •My own Héctor Muñoz-Avila.

Download Report

Transcript Turn-Based Games sources: •http://www.game-research.com/ •www.gamespot.com •Wikipedia.org •Russell & Norvig AI Book; Chapter 5 (and slides) •Jonathan Schaeffer’s AAW 05 presentation •My own Héctor Muñoz-Avila.

Turn-Based Games
sources:
•http://www.game-research.com/
•www.gamespot.com
•Wikipedia.org
•Russell & Norvig AI Book; Chapter 5 (and slides)
•Jonathan Schaeffer’s AAW 05 presentation
•My own
Héctor Muñoz-Avila
Turn-Based Strategy Games
Early strategy games was dominated by turnbased games
•Derivate from board games
•Chess
•The Battle for Normandy (1982)
•Nato Division Commanders (1985)
Turn-based strategy:
•game flow is partitioned in turns or rounds.
• Turns separate analysis by the player from actions
•“harvest, build, destroy” in turns
• Two classes:
•Simultaneous
•Mini-turns
Turn-Based Games Continues to be A
Popular Game Genre
• At least 3 sub-styles are very popular:
– “Civilization”-style games
• Civilization IV came out last week
– Fantasy-style (RPG)
• Heroes of Might and Magic series
– Poker games
• Poker Academy
Some Historical Highlights
• 1952 Turing design a chess algorithm. Around the same
time Claude Shannon also develop a chess program
• 1956 Maniac versus Human
• 1970 Hamurabi. A game about building an economy for a
kingdom
• The Battle for Normandy (1982)
• 1987 Pirates!
• 1990 Civilization
• 1995 HoMM
• 1996 Civilization II
• The best game ever?
• …
• 2005 Civilization IV
• 2006 HoMM V
Side-tracking:
Game Design: Contradicting Principles
• Principle: All actions can be done from a
single screen.
• Classical example: Civ IV
• But: HoMM uses two interfaces: HoMM IV
Coming back: How to Construct Good AI?
• Idea: Lets just use A* and define a good heuristic for the game
Search space: a bipartite tree
After all didn’t we use it with the 9-puzzle game?
• Problems with this idea:
 Adversarial: we need to consider possible moves of
our opponent (s)
Time limit: (think Chess)
Types of Adversarial
TBGs (from AI perspective)
Deterministic
Chance
Perfect
information
Chess, Go, rockpaper-scissors
Backgammon,
monopoly
Imperfect
information
Battleships,
Stratego
Bridge, Poker
Civilization, HoMM
Game tree (2-player, deterministic, turns)
Concepts:
•State: node in search space
•Operator: valid move
•Terminal test: game over
•Utility function: value for
outcome of the game
•MAX: 1st player, maximizing its
own utility
•MIN: 2nd player, minimizing
Max’s utility
Minimax
• Finding perfect play for deterministic games
• Idea: choose move to position with highest minimax
value
= best achievable payoff against best play
• E.g., 2-play game:
Minimax algorithm
Properties of minimax
• Complete? Yes (if tree is finite)
• Optimal? Yes (against an optimal opponent)
• Time complexity? O(bm)
– b: branching factor
– m: # moves in a game
•For chess, b ≈ 35, m ≈100 for "reasonable" games
Therefore, exact solution is infeasible
Minimax algorithm with Imperfect
Decisions
Cutoff-test(state)
evaluationFunction(state)
Cutoff-test(state)
evaluationFunction(state)
Evaluation Function
• Evaluation Function
– Is an estimate of the actual utility
– Typically represented as a linear function:
EF(state) = w1f1(state) + w2f2(state) + … + wnfn(state)
– Example:
Chess
• weight: Piece  Number •Function; state  Number
f1 = #(pawns,w)  #(pawns,b)
(w1) Pawn  1
f2 = #(knight,w)  #(knight,b)
(w2) Knight  3
f3 = #(bishop,w)  #(bishop,b)
(w3) Bishop  3
f4 = #(rook,w)  #(rook,b)
(w4) Rook  5
f5 = #(knight,w)  #(knight,b)
(w5) Queen  9
Example: Evaluation Function
“all things been equal”
White moves,
Who is winning?
Black
Is this consistent with
Evaluation function?
Yes!
Evaluation Function (2)
• Obviously, the quality of the AI player depends on the
evaluation function
• Conditions for evaluation functions:
If n is a terminal node, EF(n) = Utility(n)
Computing EF should not take long
EF should reflect chances of winning
If EF(state) > 3 then is almost-certain that blacks win
Cutting Off Search
•
When to cutoff minimax expansion?
Fixed depth limit
Iterative deepening until times runs out
•
Potential problem with cutting off search: Horizon
problem
Decision made by opponent is damaging but
cannot be “seen” because of cutoff
•
Solution:
Quiescent: states that are unlikely to exhibit wild
swings in the values of the evaluation functions
Example: Horizon Problem
“all things been equal”
White moves,
Who is winning?
Black
Is this consistent with
Evaluation function?
No!
α-β pruning: Motivation
•A good program may search 1000 positions per second
•In a chess tournament, a player gets 150 seconds per move
•Therefore, the program can explore 150,000 positions per move
•With a branching factor of 34, this will mean a look ahead of 3
or 4 moves
• Facts:
4-turns ≈ human novice
8-turns ≈ typical PC, human master
12-turns ≈ Deep Blue, Kasparov
• How to look ahead more than 4 turns? Use α-β pruning
Example:
• Finding perfect play for deterministic games
• Idea: choose move to position with highest minimax
value
= best achievable payoff against best play
• E.g., 2-play game:
α-β pruning
α-β pruning example
α-β pruning example
α-β pruning example
α-β pruning example
Principle of α-β Prunning
• α is the value of the best (i.e., highestvalue) choice found so far at any
choice point along the path for max
 If v  α, max will avoid it
o Therefore, prune that branch
• β is the lowest-value found so far at
any choice point along the path for
min
 If v  α, min will avoid it
o Therefore, prune that branch
The α-β algorithm
The α-β algorithm
Properties of α-β
• Pruning preserves completeness and optimality of original
minimax algorithm
• Good move ordering improves effectiveness of pruning
• With "perfect ordering," time complexity = O(bm/2)
Therefore, doubles depth of search
• Used in PC games today (9 moves look-ahead, Grand
Master level)
Deterministic games in practice
• Checkers: Chinook ended 40-year-reign of human world champion
Marion Tinsley in 1994. Used a precomputed endgame database
defining perfect play for all positions involving 8 or fewer pieces on the
board, a total of 444 billion positions.
• Chess: Deep Blue defeated human world champion Garry Kasparov in a
six-game match in 1997. Deep Blue searches 200 million positions per
second, 24 processors, quiescent identified with help of human grand masters
• Othello: human champions refuse to compete against computers, who
are too good.
• Go: human champions refuse to compete against computers, who are too
bad. In go, b > 300, so most programs use pattern knowledge bases to
suggest plausible moves.
Additional Notes
• The next 5 slides are form David W. Aha (NRL)
presentation at Lehigh University in Fall’04
Example Game: FreeCiv
(Chance, adversarial, imperfect information game)
Civilization II (MicroProse)
• Civilization II (1996-): 850K+ copies sold
– PC Gamer: Game of the Year Award winner
– Many other awards
• Civilization series (1991-): Introduced the civilization-based game genre
FreeCiv (Civ II clone)
•Open source freeware
•Discrete strategy game
•Goal: Defeat opponents,
or build a spaceship
•Resource management
– Economy, diplomacy,
science, cities, buildings,
world wonders
– Units (e.g., for combat)
•Up to 7 opponent civs
•Partial observability
http://www.freeciv.org
FreeCiv Scenario
General description
• Game initialization: Your only unit, a “settler”, is placed randomly on a random
world (see Game Options below). Players cyclically alternate play
• Objective: Obtain highest score, conquer all opponents, or build first spaceship
• Scoring: “Basic” goal is to obtain 1000 points. Game options affect the score.
– Citizens: 2 pts per happy citizen, 1 per content citizen
– Advances: 20 pts per World Wonder, 5 per “futuristic” advance
– Peace: 3 pts per turn of world peace (no wars or combat)
– Pollution: -10pts per square currently polluted
• Top-level tasks (to achieve a high score):
– Develop an economy
– Increase population
– Pursue research advances
– Opponent interactions: Diplomacy and defense/combat
Game Option
Y1
Y2
Y3
World size
Small
Normal
Large
Difficulty level
Warlord (2/6)
Prince (3/6)
King (4/6)
#Opponent civilizations
5
5
7
Level of barbarian activity
Low
Medium
High
FreeCiv Concepts
Concepts in an Initial Knowledge Base
• Resources: Collection and use
o Food, production, trade (money)
• Terrain:
o Resources gained per turn
o Movement requirements
• Units:
o Type (Military, trade, diplomatic, settlers, explorers)
o Health
o Combat: Offense & defense
o Movement constraints (e.g., Land, sea, air)
•
•
•
•
Government Types (e.g., anarchy, despotism, monarchy, democracy)
Research network: Identifies constraints on what can be studied at any time
Buildings (e.g., cost, capabilities)
Cities
o Population Growth
o Happiness
o Pollution
• Civilizations (e.g., military strength, aggressiveness, finances, cities, units)
• Diplomatic states & negotiations
FreeCiv Decisions
Civilization decisions
• Choice of government type (e.g., democracy)
• Distribution of income devoted to research, entertainment, and wealth goals
• Strategic decisions affecting other decisions (e.g., coordinated unit movement for trade)
City decisions
• Production choice (i.e., what to create, including city buildings and units)
• Citizen roles (e.g., laborers, entertainers, or specialists), and laborer placement
– Note: Locations vary in their terrain, which generate different amounts of food,
income, and production capability
Unit decisions
• Task (e.g., where to build a city, whether/where to engage in combat, espionage)
• Movement
Diplomacy decisions
• Whether to sign a proffered peace treaty with another civilization
• Whether to offer a gift
FreeCiv CP Decision Space
Variables
• Civilization-wide variables
o
o
o
o
o
N: Number of civilizations encountered
D: Number of diplomatic states (that you can have with an opponent)
G: Number of government types available to you
R: Number of research advances that can be pursued
I: Number of partitions of income into entertainment, money, & research
• U: #Units
o L: Number of locations a unit can move to in a turn
• C: #Cities
o Z: Number of citizens per city
o S: Citizen status (i.e., laborer, entertainer, doctor)
o B: Number of choices for city production
Decision complexity per turn (for a typical game state)
• O(DNGRI*LU*(SZB)C)
; this ignores both other variables and domain knowledge
o This becomes large with the number of units and cities
o Example: N=3; D=5; G=3; R=4; I=10; U=25; L=4; C=8; Z=10; S=3; B=10
o Size of decision space (i.e., possible next states): 2.5*1065 (in one turn!)
o Comparison: Decision space of chess per turn is well below 140 (e.g., 20 at first move)