程序代写 COMP3620 / 6320 – S1 2022 – cscodehelp代写
COMP3620 / 6320 – S1 2022
This lecture will be recorded
Turn off your camera if you do not want to be in the recording
If you cannot see my whole slide, go to View Options -> Zoom Ratio and select Fit to Window
Copyright By cscodehelp代写 加微信 cscodehelp
If you want to ask a question, either:
• Raise your hand and I will open your mic, or • Type the question in the chat box
Last Lecture Tic-tac-toe
Last Lecture: Minimax
• Perfect play for deterministic, two-player, zero-sum, perfect-information games • Idea: choose move to position with highest minimax value
➢best achievable utility against best possible opponent
E.g. 2-ply game:
Last Lecture: α–β pruning
3 12 8 2 4 6 14 2 5
• Handling large state spaces in Games • Stochastic Games
Outline for today
Imperfect decisions in real-time
• Approach: limit search depth and estimate expected utility
Cutoff Cutoff
expected utility
expected utility
exact utility
Suppose we have 100 seconds, explore 104 nodes/second ⇒ 106 nodes per move ≈ 358/2
⇒ α–β reaches depth 8 ⇒ pretty good chess program
Changes to Minimax
• Use Cutoff test instead of Terminal test
– Cutoff(s,d): true iff the state s encountered at depth d in the tree must be considered as a leaf (or s is terminal).
• e.g., depth limit, estimated number of nodes expanded
– perhaps add quiescence search
• Use Eval instead of Utility
– Eval(s,p) i.e., evaluation function that estimates the expected utility of cutoff state s
wrt player p, and correlates with chances of winning
– should order the terminal states in the same way as Utility
– should not take too long
Evaluation functions
What would be a good evaluation function for tic tac toe??
Evaluation functions
Black to move White to move White slightly better Black winning
For chess, typically linear weighted sum of features Eval(s) = w1f1(s) + w2f2(s) + . . . + wnfn(s)
e.g., w2 = 5 with f2(s) = (number of white castles) – (number of black castles), etc.
Observation: Exact values don’t matter
12 24 120 20400
• Behavior is preserved under any monotonic transformation of Eval • Only the order matters:
– payoff in deterministic games acts as an ordinal utility function
Stochastic Games
Stochastic games: backgammon
0 1 2 3 4 5 6
195−>2141 115−>161 105−>160
7 8 9 10 11 12
0 1 2 3 4 5 6
7 8 9 10 11 12
115−>161 105−>160
25 24 23 22 21 20 19
18 17 16 15 14 13
25 24 23 22 21 20 19
18 17 16 15 14 13
0 1 2 3 4 5 6
7 8 9 10 11 12
0 1 2 3 4 5 6
7 8 9 10 11 12
0 1 2 3 4 5 6
7 8 9 10 11 12
5−>110 195−>2141 115−>161 105−>160
25 24 23 22 21 20 19
18 17 16 15 14 13
5−>101 195−>2141 115−>161 105−>160
5−>101 195−>2141 115−>161 105−>160
25 24 23 22 21 20 19
18 17 16 15 14 13
25 24 23 22 21 20 19
18 17 16 15 14 13
Stochastic games in general
• Chance is introduced by dice, card-shuffling, coin flipping.
• “Chance” can be seen as special kind of player whose move is the outcomes of a
random event, which determines the space of legal moves down the tree. • Chance is not adversarial: the value of chance positions is the expectation
(average) over all possible outcomes of the value of the result.
Minimax in Stochastic Games
• ExpectiMinimax gives perfect play, also like Minimax, expect we must handle chance nodes
−1 0.5 0.5 0.5
MAX’s move
MIN’s coin flip
MIN’s move
2 4 7 4 6 0 5 −2
Stochastic games in practice
• Time complexity: O(bmnm)
– n is the maximum number of outcomes of a chance event
• Dice rolls increase the effective branching factor
• n = 21 possible rolls with 2 dice
• b ≈ 20 legal moves in Backgammon (can be 4,000 with 1-1 roll)
• ≈ 109 nodes at depth 4 of the tree
• α–β pruning is much less effective
• value of lookahead is diminished
• TDGammon [1992] uses depth-2 search + very good Eval
• ≈ world-champion level
• evaluation function learnt over millions of games
• method combined reinforcement learning with neural nets
𝑏: max. branching factor
𝑚: max. depth of the state space
Evaluation function: exact values DO matter
.9 .1 .9 .1 2 3 1 4
2 2 3 3 1 1 4 4
x10 no x100 change
.9 .1 .9 .1 20 30 1 400
20 2030 30 1 1400400
• Behavior is preserved only by positive linear transformation
• Hence Eval should be proportional to the expected payoff determined by Utility
Pruning in stochastic game trees
A version of α-β pruning is possible:
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,+∞] 0.5 0.5
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,+∞] 0.5
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,+∞] 0.5 0.5
[1.5 ,0]!!
Can we prune here?
• No, the value of the chance node could still be high enough to be MAX’s choice and we need to find out exactly how high it is.
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,+∞] 0.5
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,+∞] 0.5
Pruning in stochastic game trees
A version of α-β pruning is possible:
CHANCE 1.5 0.5 0.5
[1.5 ,0.5]!! 0.5
[1.5 ,1] !!
Can we prune here? • Yes, because
– the value of the MIN node will be at most 1,
– hence the value of the CHANCE node will be at most 0.5,
– which is provably insufficient to be MAX’s choice.
Pruning in stochastic game trees
A version of α-β pruning is possible:
1.5 0.5 0.5
MIN 2 1 0 1
Pruning in stochastic game trees
More pruning occurs if we can bound the leaf values
⇒ Suppose our Eval function returns values in [−2, +2], then
Pruning in stochastic game trees
More pruning occurs if we can bound the leaf values
⇒ Suppose our Eval function returns values in [−2, +2], then
Pruning in stochastic game trees
More pruning occurs if we can bound the leaf values
⇒ Suppose our Eval function returns values in [−2, +2], then
1.5 0.5 0.5
Pruning in stochastic game trees
More pruning occurs if we can bound the leaf values
⇒ Suppose our Eval function returns values in [−2, +2], then
1.5 0.5 0.5
[1.5,+1]!!
[1.5,0] !! 22210112
Can we prune here? • Yes, because
– we know that the right-hand MIN node will be worth at most 2
– therefore the CHANCE node is worth at most 1
– which is not high enough to be MAX’s choice.
Pruning in stochastic game trees
More pruning occurs if we can bound the leaf values
⇒ Suppose our Eval function returns values in [−2, +2], then
1.5 0.5 0.5
Other techniques to tame complexity
• Symmetry pruning
• Monte Carlo sampling
• Iterative deepening
• Pattern databases
• Deep learning
• Monte Carlo Tree Search (MCTS)
Deterministic games in practice
• Checkers: Chinook ended 40-year-reign of world champion in 1994. Used an endgame database defining perfect play for all positions involving 8 or fewer pieces on the board (500 billion states). In 2007, checkers became the largest game to be completely solved (with 500 × 1020 states!) at the time.
• Chess: Deep Blue defeated human world champion in a six-game match in 1997. Deep Blue searches 200 million positions per sec, i.e. 300 billion per move (depth 14), uses very sophisticated evaluation (8000 features), and singular extensions to extend some search lines up to 40 ply.
• Go: branching factor b > 300 made this more challenging. Monte Carlo Tree Search (MCTS) is the method of choice. Zen defeated a 9 Dan in 2013. In 2016 AlphaGo won 4-1 against , using deep learning to learn a value function and policy to guide MCTS.
• General game playing: playing any game from the rules of the game. Poker: the next big thing! But it’s a stochastic game!
• A Game is defined by an initial state, a successor function, a terminal test, and a utility function
• The minimax algorithm select optimal actions for two-player zero-sum games of perfect information by a depth first exploration of the game-tree
• α-β pruning does not compromise optimality but increases efficiency by eliminating provably irrelevant subtrees
• It is not feasible to consider the whole game tree (even with α-β), so we need to cut the search off at some point and apply an evaluation function that gives an estimate of the expected utility of a state
• Game trees and minimax can be extended to stochastic games by introducing chance nodes whose value is the expectation of that of their successors
• The value of α-β and lookahead is limited in stochastic games ➢the evaluation function needs to compensate
程序代写 CS代考 加微信: cscodehelp QQ: 2235208643 Email: kyit630461@163.com