Final
Final
Final
CZ3005
• How can one describe the task/problem for the agent?
Artificial Intelligence
• What are the properties of the task environment for the agent?
• Problem formulation
Intelligent Agents and
• Uninformed search strategies
Search
• Informed search strategies: greedy search, A * search
Assoc Prof Bo AN
www.ntu.edu.sg/home/boan
Email: boan@ntu.edu.sg
Office: N4-02b-55
radar, … Medical diagnosis Symptoms, findings, Questions, tests, Healthy patient, Patient, hospital
system patient’s answers treatments minimize costs
• Actions: steer, accelerate, brake, horn, display, …
Satellite image Pixels of varying Print a Correct Images from orbiting
• Goals: safety, reach destination, maximise profits, obey analysis system intensity, color categorization of categorization satellite
scene
laws, passenger comfort,… Part-picking robot Pixels of varying Pick up parts and Place parts in Conveyor belt with
• Environment: Singapore urban intensity sorts into bins correct bins parts
Deterministic (vs The next state of the environment is completely determined Deterministic? No. Some cars in front may turn right suddenly
nondeterministic) by the current state and the actions selected by the agent
Episodic? No. The current action is based on previous driving
Episodic (vs Each episode is not affected by the previous taken actions
Sequential) actions
Static? No. When the taxi moves, Other cars are moving as
Static (vs Environment does not change while an agent is well
dynamic) deliberating
Discrete? No. Speed, Distance, Fuel consumption are in real
Discrete (vs A limited number of distinct percepts and actions domains
continuous)
Example: Chess More Examples
Accessible? Yes. All positions in chessboard can be observed
Environment Accessible Deterministic Episodic Static Discrete
Deterministic? Yes. The outcome of each movement can be Chess with a clock Yes Yes No Semi Yes
determined Chess without a clock
Poker
Yes
No
Yes
No
No
No
Yes
Yes
Yes
Yes
Backgammon Yes No No Yes Yes
Episodic? No. The action depends on previous movements Taxi driving No No No No No
Medical diagnosis system No No No No No
Static? Yes. When there is no clock, when are you considering Image-analysis system
Part-picking robot
Yes
No
Yes
No
Yes
Yes
Semi
No
No
No
the next step, the opponent can't move; Semi. When Refinery controller No No No No No
Interactive English tutor No No No No Yes
there is a clock, and time is up, you will give up the
movement
Discrete? Yes. All positions and movements are in discrete
domains
3 4 1 2
3 4
5 6
5 6
7 8 7 8
• Solution:
a path (connecting sets of states) that leads to a set of states all of which are
goal states
Touring problems:
• Traveling Salesperson problem
• “Shortest tour": visit every city exactly once
Sibiu Bucharest
Search Strategies Uninformed vs Informed
• A strategy is defined by picking the order of node expansion. Uninformed search strategies Informed search strategies
• Strategies are evaluated along the following dimensions: • Use only the information • Use problem-specific
available in the problem knowledge to guide the
Completeness Does it always find a solution if one exists?
definition search
Time How long does it take to find a solution: the
Complexity number of nodes generated 1. Breadth-first search • Usually more efficient
2. Uniform-cost search
Space Maximum number of nodes in memory
Complexity 3. Depth-first search
Optimality Does it always find the best (least-cost) solution? 4. Depth-limited search
5. Iterative deepening search
• Optimal: Yes when all step costs equally 14 1014 3500 years 11111 terabytes
Uniform-Cost Search Uniform-Cost Search
To consider edge costs, expand 1
A S 2 S
unexpanded node with the least path
A 0
cost g 1 10
A B C
1 10 5 B 5
• Modification of breath-first search 1 5 15
B S G
5 5
• Instead of First-In-First-Out (FIFO) S G
4 S
3 S
15 5
queue, using a priority queue with 15 5 C A B C A B C
path cost g(n) to order the elements 15 5 15
C
• BFS = UCS with g(n) = Depth(n) G G G
11 10 11
Here we do not expand notes that have been expanded.
E C C C C
E
F G F G F G
J K K
L M M
Depth-First Search Depth-Limited Search
Denote To avoid infinite searching, Depth-first search with a cutoff on the
• m: maximum depth of the state space max depth / of a path
Complete • infinite-depth
No
spaces: No Complete Yes, if 𝐼𝐼 ≥ 𝑑𝑑
• finite-depth spaces
No
with loops: No
• with repeated-state
Ye checking: Yes Time 𝑂𝑂(𝑏𝑏𝐼𝐼 )
• finite-depth spaces
s Yewithout loops: Yes
Space 𝑂𝑂(𝑏𝑏𝐼𝐼)
𝑂𝑂 𝑏𝑏𝑚𝑚
s
Time
If solutions are dense, may be much faster than breadth-first Optimal No
Space 𝑂𝑂(𝑏𝑏𝑏𝑏)
No
Optimal No
Limit = 0 Limit = 2
Limit = 1
Iterative Deepening Search Iterative Deepening Search...
Iteratively estimate the max depth / of DLS one-by-one Function ITERATIVE-DEEPENING-SEARCH(problem) returns a solution sequence
inputs: problem, a problem
Limit = 3 for depth 0 to ∞ do
if DEPTH-LIMITED-SEARCH(problem, depth) succeeds then return its result
end
return failure
Complete Yes
Time 𝑂𝑂(𝑏𝑏𝑑𝑑 )
Space 𝑂𝑂(𝑏𝑏𝑑𝑑)
Optimal Yes
71 Oradea Neamt
Arad
Bucharest
366
0
state Arad
Arad
Bucharest
366
0
87 Craiova 160 Craiova 160
75 Zerind 151 Dobreta 242 Dobreta 242
Lasi
366
Arad Efoire 161 Efoire 161
140 Sibiu 92 Fagaras 176 Fagaras 176
99 Fagaras
Vaslui Giurgiu 77 Giurgiu 77
118
80 Rimnicu Hirsova 151 Hirsova 151
142
Vilcea Lasi 226 Lasi 226
Timisoara 211
Lugoj 244 Lugoj 244
Pitesti 98 Hirsova Mehadia 241 Mehadia 241
111 Lugoj 97 85
Neamt 234 Neamt 234
70 146 Urziceni 86 Oradea 380 Oradea 380
101
Mehadia 138 Bucharest Pitesti 98 Pitesti 98
75 90 Eforie Rimnicu Vilcea 193 Rimnicu Vilcea 193
Sibiu 253 Sibiu 253
Dobreta Craiova
120 Giurgiu Timisoara 329 Timisoara 329
Urziceni 80 Urziceni 80
• Useful but potentially fallible (heuristic) Vaslui 199 Vaslui 199
Zerind 374 Zerind 374
• Heuristic functions are problem-specific
Example Example
b) After Straight-line distance to Bucharest c) After Straight-line distance to Bucharest
expanding Arad
Arad
Bucharest
366
0
expanding Arad Arad
Bucharest
366
0
Arad Craiova
Dobreta
160
242
Sibiu Craiova
Dobreta
160
242
Efoire 161 Efoire 161
Sibiu Timisoara Zerind Fagaras 176
Sibiu Timisoara Zerind Fagaras 176
Giurgiu 77 Giurgiu 77
253 329 374 Hirsova 151
329 374 Hirsova 151
Lasi 226 Lasi 226
Lugoj 244 Arad Lugoj 244
Mehadia 241 Oradea Mehadia 241
Neamt 234 366 Fagaras Rimnicu Neamt 234
Oradea 380 380 Vilcea Oradea 380
Pitesti 98 176 193 Pitesti 98
Rimnicu Vilcea 193 Rimnicu Vilcea 193
Sibiu 253 Sibiu 253
Timisoara 329 Timisoara 329
Urziceni 80 Urziceni 80
Vaslui 199 Vaslui 199
Zerind 374 Zerind 374
Example Complete?
d) After Straight-line distance to Bucharest Question: Is this approach complete?
expanding Arad Arad
Bucharest
366
0
Fagaras Craiova 160 Example: Find a path from Lasi to Fagaras
Dobreta 242
Efoire 161 Oradea
Sibiu Timisoara Zerind Fagaras 176
Neamt
Giurgiu 77 Zerind
329 374 Hirsova 151
Lasi
Arad
Lasi 226 Sibiu Fagaras
Arad Lugoj 244 R Vaslui
Oradea Mehadia 241 Rimnicu
366 Fagaras Rimnicu Neamt 234 Timisoara Vilcea
380 Vilcea Oradea 380 Pitesti Hirsova
Lugoj
Pitesti 98 Urziceni
193
Rimnicu Vilcea 193
Mehadia Bucharest
Sibiu 253
Sibiu Bucharest Timisoara 329 Dobreta Eforie
Craiova
Urziceni 80 Giurgiu
253 0 Vaslui 199
Zerind 374 Answer: No
Greedy Search... A * Search
• m: maximum depth of the search space • Uniform-cost search
Complete No • g(n): cost to reach n (Past Experience)
Time 𝑂𝑂(𝑏𝑏𝑚𝑚 ) • optimal and complete, but can be very
inefficient
Space 𝑂𝑂(𝑏𝑏𝑚𝑚 )(keeps all nodes in memory)
• Greedy search
Optimal No
• h(n): cost from n to goal (Future Prediction)
• neither optimal nor complete, but cuts search
space considerably
Evaluation function: 𝑓𝑓 𝑛𝑛 = 𝑔𝑔 𝑛𝑛 + ℎ(𝑛𝑛) (a) The initial state (b) After expanding Arad (c) After expanding Sibiu
Arad Arad Arad
366 = 0 + 366
• f (n): estimated total cost of path through n to goal (Whole Life) Sibiu Zerind Sibiu Zerind
Timisoara
• If g = 0 greedy search; If h = 0 uniform-cost search 393 = 140 + 253 449 = 75 + 374 449 = 75 + 374
447 = 118 + 329
• Function A* Search(problem) returns solution Timisoara Arad
Oradea
• Return Best-First-Search(problem, 𝑔𝑔 + ℎ) 447 = 118 + 329 646 = 280 + 366
671 = 291+ 380
Rimnicu
Vilcea
Fagaras
413 = 220 + 193
415 = 239 + 176
Example: Route-finding from Arad to Bucharest Example: Route-finding from Arad to Bucharest
Best-first-search with evaluation function 𝑔𝑔 + ℎ Best-first-search with evaluation function 𝑔𝑔 + ℎ
Arad
(d) After expanding (e) After expanding
Rimnicu Vilcea Arad Fagaras Zerind
Sibiu
Zerind Timisoara 449 = 75 + 374
Sibiu Arad
Timisoara 449 = 75 + 374 447 = 118 + 329
Arad 447 = 118 + 329 646 = 280 + 366 Oradea Rimnicu
646 = 280 + 366 Fagaras 671 = 291+ 380 Vilcea
Oradea Rimnicu
Fagaras 671 = 291+ 380 Vilcea Sibiu
Sibiu Craiova
415 = 239 + 176 Sibiu Pitesti 553 = 300 + 253
Bucharest
Craiova 591 = 338 + 253 526 = 360 + 166
Pitesti 553 = 300 + 253 415 = 317 + 98
450 = 450 + 0
526 = 360 + 166
415 = 317 + 98
Sibiu 50𝑠𝑠𝑡 St 7 6 5 3 2 1
4
Sibiu Craiova Pitesti 553 = 300 + 253
Bucharest
10𝑠𝑠𝑡 Ave
6𝑠𝑠𝑡 Ave
5𝑠𝑠𝑡 Ave
9𝑠𝑠𝑡 Ave
8𝑠𝑠𝑡 Ave
4𝑠𝑠𝑡 Ave
2𝑛𝑛𝑑𝑑 Ave
3𝑟𝑟𝑑𝑑 Ave
591 = 338 + 253 526 = 360 + 166
7𝑠𝑠𝑡 Ave
Manhattan Shortest
450 = 450 + 0 Path = 8
Rimnicu Distance
Bucharest Craiova Vilcea Heuristic
418 = 418 + 0 615 = 455 + 160 607 = 414 + 193
Example: Route-finding in Manhattan (Greedy) Example: Route-finding in Manhattan (UCS)
53𝑛𝑛𝑑𝑑 St 3 2 53𝑛𝑛𝑑𝑑 St 7 8
52𝑛𝑛𝑑𝑑 St 2 1 52𝑛𝑛𝑑𝑑 St 6 9
51𝑠𝑠𝑠𝑠 St 5 4 3 2 1 51𝑠𝑠𝑠𝑠 St 1 2 3 4 5
S G S G
50𝑠𝑠𝑡 St 7 6 5 4 3 2 1 50𝑠𝑠𝑡 St 1 2 3 4 5 6 7
10𝑠𝑠𝑡 Ave
10𝑠𝑠𝑡 Ave
6𝑠𝑠𝑡 Ave
6𝑠𝑠𝑡 Ave
5𝑠𝑠𝑡 Ave
5𝑠𝑠𝑡 Ave
9𝑠𝑠𝑡 Ave
9𝑠𝑠𝑡 Ave
8𝑠𝑠𝑡 Ave
4𝑠𝑠𝑡 Ave
8𝑠𝑠𝑡 Ave
4𝑠𝑠𝑡 Ave
2𝑛𝑛𝑑𝑑 Ave
2𝑛𝑛𝑑𝑑 Ave
3𝑟𝑟𝑑𝑑 Ave
3𝑟𝑟𝑑𝑑 Ave
7𝑠𝑠𝑡 Ave
7𝑠𝑠𝑡 Ave
Example: Route-finding in Manhattan (A*) Complexity of A*
Time Exponential in length of
solution
53𝑛𝑛𝑑𝑑 St 10 10
Space (all generated nodes
52𝑛𝑛𝑑𝑑 St 8 10 are kept in memory)
Exponential in length of
51𝑠𝑠𝑠𝑠 St 6 6 6 6 6 solution
S G
With a good heuristic, significant
50𝑠𝑠𝑡 St 8 8 8 8 8 8 8
savings are still possible
compared to uninformed search
10𝑠𝑠𝑡 Ave
6𝑠𝑠𝑡 Ave
5𝑠𝑠𝑡 Ave
9𝑠𝑠𝑡 Ave
8𝑠𝑠𝑡 Ave
4𝑠𝑠𝑡 Ave
2𝑛𝑛𝑑𝑑 Ave
3𝑟𝑟𝑑𝑑 Ave
7𝑠𝑠𝑡 Ave
methods
Lesson Outline
CZ3005
• Constraint Satisfaction
Artificial Intelligence
• Adversarial search (Game Playing)
Constraint satisfaction
and adversarial search
Assoc Prof Bo AN
www.ntu.edu.sg/home/boan
Email: boan@ntu.edu.sg
Office: N4-02b-55
Variables: D, E, M, N, O, R, S, Y
Goal test Domains: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
• a set of constraints specifying allowable combinations of values for subsets of Constraints
Y = D + E or Y = D + E - 10, etc
variables D ≠ E, D ≠ M, D ≠ N, etc.
M ≠ 0, S ≠ 0 (unary constraints: concern the value of a
Example: 8-queens
R single variable)
• Goal test: No two queens in the same row, column or diagonal
NT
Northern
Territory Q
Queensland WA
Western
Australia South
SA NSW
Australia
New South
Wales
V
Victoria
T
Tasmania
Example (Map Colouring)... Example (Map Colouring)...
NT
Q
WA
SA
NSW
V
WA NT Q NSW V SA T
T
WA NT Q NSW V SA T
WA NT Q NSW V SA T
WA NT Q NSW V SA T
Most Constraining Variable Least Constraining Value
Allow 1 value
Example: map colouring for SA
Allow 0 values
for SA
To reduce the branching factor on future choices by selecting the variable that is
Choose the value that leaves maximum flexibility for subsequent variable
involved in the largest number of constraints on unassigned variables.
assignments
move
X X X
• Operators: legal moves MIN(O) X X X
X X X
• Terminal test: determines when the game is over
X O X O X
• states where the game has ended: terminal states MAX(X) O …
• Utility function (payoff function): returns a numeric score to quantify the • The utility value of the terminal state
outcome of a game X O X X O X O
is from the point of view of MAX
MIN(O) X X …
Utility -1 0 +1
What Search Strategy? Minimax Search Strategy
Search strategy
One-play Two-play • Find a sequence of moves that leads to a terminal state (goal)
MAX A
Minimax search strategy
MAX A • Maximise one's own utility and minimise the opponent's
• Assumption is that the opponent does the same
MIN B C D
B C D
(8) (3) (-2)
E F G H I J K
(9) (-6) (0) (0) (-2) (-4) (-3)
b) Determine the best utility of the parents of the terminal state • Choose move with best
c) Repeat the process for their parents until the root is reached achievable payoff against best 𝐴𝐴11 𝐴𝐴12 𝐴𝐴13 𝐴𝐴21 𝐴𝐴22 𝐴𝐴23 𝐴𝐴31 𝐴𝐴32 𝐴𝐴33
play
• MAX tries to max the utility, 3 12 8 2 4 6 14 5 2
3. Select the best move (i.e. the move with the highest utility value)
assuming that MIN will try to
min it
Othello 4 `X' plays first
• A player can place a new piece in a position if there
X considers the game now X O
exists at least one straight (horizontal, vertical, or
O X
diagonal) occupied line between the new piece and
another piece of the same kind, with one or more
contiguous pieces from the opponent player between
X O them O considers the game now X O
X X
O X X
• After placing the new piece, the pieces from the
opponent player will be captured and become the
pieces from the same Player X considers the game now O X O X O
X X X
• The player with the most pieces on the board wins
computed as
3( 𝑋𝑋𝐶𝐶 - 𝑂𝑂𝐶𝐶 ) + 2(𝑋𝑋𝑏𝑏 - 𝑂𝑂𝑏𝑏 ) + (𝑋𝑋𝑚𝑚 -𝑂𝑂𝑚𝑚 ) X X X X X
O X O O X O O O X O O X
where 𝑋𝑋𝐶𝐶 is the number of X's at corners, X X X X X X X X
X X
X O
X X X
X X
X O
X X X
X O
X X
𝑋𝑋𝑏𝑏 is the number of X's at the border (excluding corners) , X X X X X O X O X O X X X
MAX(X) O O O X O X O
5 X X 3 O X 9 X O
X O X X O
R
X X X X X Black: to move
O X O O X O O O X O O X
X X X X X X X X
X X X X X X O X O White: about to lose
X O X X X X X X X
X X X X X O X O X O X X X
5 4 4 5 X 5 6 4 9
X O X X X X X
X X X O X O X
MIN(O)
O X O X O X
Expansion of non-quiescent positions until quiescent positions are reached
3 3 3
• Policy 𝜋𝜋(𝑠𝑠): the action that an agent takes in any given state Quit: Quit: Quit:
$100 $1,100 $11,100
• The “solution” to an MDP
Transition model:
𝑎𝑎∗
𝑠𝑠0 𝑎𝑎1
𝜋𝜋 ∗ 𝑠𝑠1 𝑎𝑎0
𝑠𝑠2 𝑎𝑎0
states - and estimate 𝑉𝑉 𝜋𝜋𝑖𝑖 based on this policy. 2. Policy Evaluation (calculate the 𝑉𝑉)
– Iterate this process until convergence (like VI) a. Repeat
b. Δ←0
• Steps of PI c. For each state 𝑠𝑠:
1. Initialization d. 𝑣𝑣 ← 𝑉𝑉 𝑠𝑠
e. 𝑉𝑉 𝑠𝑠 ← ∑𝑠𝑠′ 𝑝𝑝 𝑠𝑠 ′ 𝑠𝑠, 𝜋𝜋(𝑠𝑠) 𝑅𝑅 𝑠𝑠, 𝜋𝜋(𝑠𝑠), 𝑠𝑠 ′ + 𝛾𝛾𝑉𝑉 𝑠𝑠 ′
2. Policy Evaluation (calculating the 𝑉𝑉) f. Δ ← max(Δ, 𝑣𝑣 − 𝑉𝑉 𝑠𝑠 )
3. Policy Improvement (calculate the policy 𝜋𝜋) g. until Δ < 𝜔𝜔 (a small positive number)
𝑉𝑉 ∗
• Collaborative AI
• How can AI agents learn to recognise someone’s intent (that is, what they
𝑠𝑠0 8.03
are trying to achieve)?
𝑠𝑠1 11.2
• How can AI agents learn what behaviours are helpful when working toward a
𝑠𝑠2 8.9 common goal?
– We can easily calculate the optimal policy. Can you try it?
• How can they coordinate or communicate with another agent to agree on a
shared strategy for problem-solving?
𝑎𝑎∗
𝑠𝑠0 𝑎𝑎1
𝜋𝜋 ∗
𝑠𝑠1 𝑎𝑎0
𝑠𝑠2 𝑎𝑎0
learning
Experience Policy/Value
First Visit Monte Carlo Policy Evaluation Monte Carlo in RL: Control
• Average returns only for the first time 𝑠𝑠 is visited in an episode • Now, we have the value function of all states given a policy
• Algorithm
– Initialize: • We need to improve policy to be better
• 𝜋𝜋 ← policy to be evaluated
• 𝑉𝑉 ← an arbitrary state-value function
• Policy Iteration
• 𝑅𝑅𝑐𝑐𝑅𝑅𝑅𝑅𝑟𝑟𝑛𝑛𝑠𝑠(𝑠𝑠) ← an empty list, for all state 𝑠𝑠 – Policy evaluation
– Repeat many times: – Policy improvement
• Generate an episode using 𝜋𝜋
• For each state 𝑠𝑠 appearing in the episode:
• However, we need to know how good an action is
– 𝑅𝑅 ← return following the first occurrence of 𝑠𝑠
– Append 𝑅𝑅 to 𝑅𝑅𝑐𝑐𝑅𝑅𝑅𝑅𝑟𝑟𝑛𝑛𝑠𝑠(𝑠𝑠)
– 𝑉𝑉 𝑠𝑠 ← 𝑎𝑎𝑎𝑎𝑐𝑐𝑟𝑟𝑎𝑎𝑎𝑎𝑐𝑐(𝑅𝑅𝑐𝑐𝑅𝑅𝑅𝑅𝑟𝑟𝑛𝑛𝑠𝑠 𝑠𝑠 )
Q-value Computing Q-value
1
An Example of Iteration Process Deep Q-Network
𝑠𝑠
𝒘𝒘𝒒𝒒 𝑞𝑞(𝑠𝑠,
� 𝑎𝑎, 𝒘𝒘𝒒𝒒 )
𝑎𝑎
• Input state s is stack of raw pixels from last 4 frames • Pong’s video
• Output is 𝑞𝑞(𝑠𝑠,𝑎𝑎) for 18 button • https://www.youtube.com/watch?v=PSQt5KGv7Vk
• Reward is change in score for that step • Beat human on many games
What is Game Theory?
Player A Rock
-1, 1 0, 0 1, -1
1, -1 -1, 1 0, 0
Games Biology
3 4
Nash Equilibrium Nash Equilibrium
Paper
0, 0 1,-1 -1,1
1/3
Player A Rock -1, 1 0, 0 1, -1
1/3
1, -1 -1, 1 0, 0
Scissors
1/3
5 6
7 8
Matching Pennies Mixed Strategies for Matching Pennies
• Players i and j simultaneously choose the face of a • NO pair of strategies forms a pure strategy NE:
coin, either “heads” or “tails”. whatever pair of strategies is chosen, somebody will
• If they show the same face, then i wins, while if they wish they had done something else.
show different faces, then j wins. • The solution is to allow mixed strategies:
• The Payoff Matrix: – play “heads” with probability 0.5
– play “tails” with probability 0.5.
• This is a NE strategy.
9 10
Games with
complete information
Chess Go
Games with
incomplete information
Negotiation Poker
11 12
Texas Hold’em Poker Architecture of Libratus
• Flop: three public cards are dealt, followed by a betting round Equilibrium • CFR
Finding • CFR+
• Turn: a fourth public card is dealt, followed by a betting round • Monte Carlo CFR
(offline)
• River: a last public card is dealt, followed by a betting round
• The game ends when Decomposition
• endgame solving
– Only one player is left, all the other players fold and Subgame
• subgame re-solving
– A showdown; a hand with the best 5 cards using both the two private cards Refinement
• max-margin subgame refinement
and the five public cards wins (online)
13 14
• Security allocation
– Target weights
– Opponent reaction
• Stackelberg: Security forces commit first
• Optimal allocation: Weighted random
– Strong Stackelberg Equilibrium
Attacker
Target #1 Target #2
Defender Target #1 4, -3 -1, 1
Key challenges: Limited resources, surveillance Target #2 -5, 5 2, -1
15 16
Game Theory for Security: Applications IRIS: Federal Air Marshals Service [2009]
Game Theory + Optimization + Uncertainty + Learning + …
Scale Up Number of Defender Strategies
Strategy 1 Strategy 2 Strategy 3 Strategy 1 Strategy 2 Strategy 3
Strategy Str
1 ate
Green Security
gy
Opportunistic
1
Str
ate
Strategy gy
5 4
Str
Strategy
ate
6
gy
5
Str
ate
gy
6
Coast Guard
LAX TSA
Cyber Security • 1000 Flights, 20 air marshals: 1041 combinations
Games – ARMOR out of memory
Panthera/WWF
LA Sheriff USC • Not enumerate all combinations combinations
– Branch and price
o Branch & bound + column generation
Argentina Airport Chile Border
India
17 18
PROTECT: Randomized Patrol Scheduling [2011] PAWS: Protection Assistant for Wildlife
Coordination (Scale-up) and Ferries (Continuous Space/time) Security Trials in Uganda and Malaysia [2014]
t2 t3 • Important lesson: Geography!
t7
t4
t1
t6 t5
Uganda Andrew Lemieux Malaysia Panthera
Malaysia
19 20
PAWS Deployed in 2015 in Southeast
Asia (with Panthera and WWF)
PAWS Version 2: Features
• Street map
– Ridgelines, rivers/streams
Indonesia Malaysia
21