final script

Introduction to Artificial Intelligence
Marc Toussaint
April 7, 2015
The majority of slides of the earlier parts are adapted from Stuart Russell.
This is a direct concatenation and reformatting of all lecture slides and exercises from
the Artificial Intelligence course (winter term 2014/15, U Stuttgart), including indexing to
help prepare for exams.
sequential
decisions
deterministic
sequential
decision
problems
propositional
sequential assignment
MCTS
fwd/bwd
chaining
bandits
UCB
graphical
models
MDPs
Decision Theory
probabilistic
on
trees
minimax
utilities
multi-agent
MDPs
FOL
constraint
propagation
alpha/beta
pruning
games
propositional
logic
CSP
backtracking
search
BFS
relational
dynamic
programming
V(s), Q(s,a)
FOL
belief
propagation
msg. passing
relational
graphical
models
HMMs
relational
MDPs
fwd/bwd
msg. passing
ML
learning
Reinforcement
Learning
Active
Learning
Contents
1 Introduction
4
3 Search
5
Example: Romania (1:2) Example: Vacuum World (1:5) Problem Definition: Deterministic, fully observable (1:9)
Example: The 8-Puzzle (1:15)
3.1 Tree Search Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Tree search implementation: states vs nodes (1:25) Tree Search: General Algorithm (1:26) Breadth-first search
(BFS) (1:29) Complexity of BFS (1:37) Uniform-cost search (1:38) Depth-first search (DFS) (1:39) Complexity
of DFS (1:52) Iterative deepening search (1:54) Complexity of Iterative Deepening Search (1:63) Graph search
and repeated states (1:65)
4 Informed search algorithms
13
Best-first Search (2:3) Greedy Search (2:5) Complexity of Greedy Search (2:14) A∗ search (2:15) A∗ : Proof 1 of
Optimality (2:22) Complexity of A∗ (2:27) A∗ : Proof 2 of Optimality (2:28) Admissible heuristics (2:30) Memorybounded A∗ (2:34)
5 Constraint Satisfaction Problems
17
Constraint satisfaction problems (CSPs): Definition (3:2) Map-Coloring Problem (3:3)
5.1 Methods for solving CSPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backtracking (3:10) Variable order: Minimum remaining values (3:18) Variable order: Degree heuristic (3:19)
Value order: Least constraining value (3:20) Forward checking (3:21) Constraint propagation (3:25) Treestructured CSPs (3:33)
1
18
2
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
6 Optimization
22
Optimization problem: Definition (4:2) Local Search (4:5) Travelling Salesman Problem (TSP) (4:6) Local optima,
plateaus (4:8) Iterated Local Search (4:9) Simulated Annealing (4:11) Genetic Algorithms (4:14)
6.1 A glimpse at general optimization problems . . . . . . . . . . . . . . . . . . . . . .
24
LP, QP, ILP, NLP (4:17) Slack Variables (4:19) n-queens as ILP (4:19) TSP as ILP (4:20) CSP as ILP (4:21)
7 Propositional Logic
26
Knowledge base: Definition (5:2) Wumpus World example (5:4) Logics: Definition, Syntax, Semantics (5:20) Entailment (5:21) Model (5:22) Inference (5:28) Propositional logic: Syntax (5:29) Propositional logic: Semantics (5:31)
Logical equivalence (5:37) Validity (5:38) Satisfiability (5:38) Horn Form (5:40) Modus Ponens (5:40) Forward chaining (5:41) Completeness of Forward Chaining (5:51) Backward Chaining (5:52) Conjunctive Normal Form (5:64)
Resolution (5:64) Conversion to CNF (5:65)
8 First Order Logic
37
FOL: Syntax (6:5) Universal quantification (6:7) Existential quantification (6:8)
8.1 FOL description of interactive domains . . . . . . . . . . . . . . . . . . . . . . . . .
38
Situation Calculus (6:21) Frame problem (6:22) Planning Domain Definition Language (PDDL) (6:24)
9 First Order Logic – Inference
41
Reduction to propositional inference (7:6) Unification (7:9) Generalized Modus Ponens (7:14) Forward Chaining
(7:15) Backward Chaining (7:17) Resolution (7:19) Conversion to CNF (7:20)
10 Probabilities
44
Probabilities as (subjective) information calculus (8:2) Frequentist vs Bayesian (8:4)
10.1 Basic definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
Definitions based on sets (8:6) Random variables (8:7) Probability distribution (8:8) Joint distribution (8:9)
Marginal (8:9) Conditional distribution (8:9) Bayes’ Theorem (8:11) Multiple RVs, conditional independence
(8:12)
10.2 Probability distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
Bernoulli and Binomial (8:14) Beta (8:15) Multinomial (8:18) Dirichlet (8:19) Conjugate priors (8:23) Dirac (8:26)
Gaussian (8:27) Particle approximation of a distribution (8:29) Utilities and Decision Theory (8:32) Entropy (8:33)
Kullback-Leibler divergence (8:34)
11 Bandits & UCT
50
Multi-armed Bandits (9:1) Exploration, Exploitation (9:6) Upper Confidence Bound (UCB) (9:8) Monte Carlo Tree
Search (MCTS) (9:14) Upper Confidence Tree (UCT) (9:19)
12 Game Playing
53
Minimax (10:3) Alpha-Beta Pruning (10:6) Evaluation functions (10:11) UCT for games (10:12)
13 Graphical Models
55
Bayesian Network (11:3) Conditional independence in a Bayes Net (11:7) Inference: general meaning (11:12)
13.1 Inference Methods in Graphical Models . . . . . . . . . . . . . . . . . . . . . . . .
57
Inference in graphical models: overview (11:17) Monte Carlo (11:19) Importance sampling (11:22) Gibbs sampling (11:24) Variable elimination (11:27) Factor graph (11:30) Belief propagation (11:36) Message passing
(11:36) Loopy belief propagation (11:39) Junction tree algorithm (11:41) Maximum a-posteriori (MAP) inference
(11:45) Conditional random field* (11:46)
14 Dynamic Models
63
Markov Process (12:2) Filtering, Smoothing, Prediction (12:3) Hidden Markov Model (12:4) HMM: Inference (12:5)
HMM inference (12:6) Kalman filter (12:9)
15 Reinforcement Learning
66
Markov Decision Process (MDP) (13:3) Value Function (13:4) Bellman optimality equation (13:8) Value Iteration
(13:10) Q-Function (13:11) Q-Iteration (13:12) Proof of convergence of Q-Iteration (13:13) Temporal difference (TD)
(13:19) Sarsa (13:21) Q-learning (13:22) Proof of convergence of Q-learning (13:24) Eligibility traces (13:26) Modelbased RL (13:34) Imitation Learning (13:37) Inverse RL (13:40) Policy gradients (13:44)
16 Reinforcement Learning – Exploration
Epsilon-greedy exploration in Q-learning (14:4) Sample Complexity (14:6) PAC-MDP efficiency (14:7) ExplicitExploit-or-Explore* (14:9) R-Max (14:14) Bayesian RL (14:15) Optimistic heuristics (14:16)
74
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
17 Exercises
17.1 Exercise 1 .
17.2 Exercise 2 .
17.3 Exercise 3 .
17.4 Exercise 4 .
17.5 Exercise 5 .
17.6 Exercise 6 .
17.7 Exercise 7 .
17.8 Exercise 8 .
17.9 Exercise 9 .
17.10Exercise 10
Index
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
78
78
79
79
80
81
82
82
83
83
84
86
4
1
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Introduction
I wasn’t happy with the first slides (’Introduction’ and ’Intelligent Agents’).
So I skip them here. They will also not be relevant for the exam. You
may find them on the lecture webpage.
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
3
5
Search
1:4
Example: vacuum world
Outline
• Problem formulation & examples
Deterministic, fully observable, start in
#5. Solution??
• Basic search algorithms
1:1
1:5
Example: Romania
Example: vacuum world
On holiday in Romania; currently in Arad.
Flight leaves tomorrow from Bucharest
Deterministic, fully observable, start in
#5. Solution??
[Right, Suck]
Formulate goal:
be in Bucharest, Sgoal = {Bucharest}
Formulate problem:
states: various cities, S = {Arad, Timisoara, . . . }
actions: drive between cities, A = {edges between states}
Find solution:
Non-observable,
{1, 2, 3, 4, 5, 6, 7, 8}
e.g.,
Right goes
Solution??
start
to
in
{2, 4, 6, 8}.
1:6
sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
minimize costs with cost function, (s, a) 7→ c
1:2
Example: Romania
Example: vacuum world
Deterministic, fully observable, start in
#5. Solution??
[Right, Suck]
Non-observable,
start
in
{1, 2, 3, 4, 5, 6, 7, 8}
e.g.,
Right goes to {2, 4, 6, 8}.
Solution??
[Right, Suck, Lef t, Suck]
Non-deterministic, start in #5
Murphy’s Law: Suck can dirty a clean
carpet
Local sensing: dirt, location only.
Solution??
1:7
1:3
Problem types
Deterministic, fully observable (“single-state problem”)
Agent knows exactly which state it will be in; solution is a
sequence
First state and world known → the agent does not rely on
observations
Non-observable (“conformant problem”)
Agent may have no idea where it is; solution (if any) is a
sequence
Nondeterministic and/or partially observable (“contingency problem”)
percepts provide new information about current state
solution is a reactive plan or a policy
often interleave search, execution
Unknown state space (“exploration problem”)
Example: vacuum world
Deterministic, fully observable, start in
#5. Solution??
[Right, Suck]
Non-observable,
start
in
{1, 2, 3, 4, 5, 6, 7, 8}
e.g.,
Right goes to {2, 4, 6, 8}.
Solution??
[Right, Suck, Lef t, Suck]
Non-deterministic, start in #5
Murphy’s Law: Suck can dirty a clean
carpet
Local sensing: dirt, location only.
Solution??
[Right, if dirt then Suck]
1:8
6
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Deterministic, fully observable problem def.
A deterministic, fully observable problem is defined by four items:
initial state s0 ∈ S
e.g., s0 = Arad
successor function succ : S × A → S
e.g., succ(Arad,Arad-Zerind) = Zerind
goal states Sgoal ⊆ S
e.g., s = Bucharest
step cost function cost(s, a, s0 ), assumed to be ≥ 0
states??: integer dirt and robot locations (ignore dirt amounts
e.g., traveled distance, number of actions executed, etc.
etc.)
the path cost is the sum of step costs
actions??: Lef t, Right, Suck, N oOp
goal test??
path cost??
A solution is a sequence of actions leading from s0 to a goal
1:12
An optimal solution is a solution with minimal path costs
Example: vacuum world state space graph
1:9
Example: vacuum world state space graph
states??: integer dirt and robot locations (ignore dirt amounts
etc.)
actions??: Lef t, Right, Suck, N oOp
goal test??: no dirt
states??
path cost??
actions??
1:13
goal test??
Example: vacuum world state space graph
path cost??
1:10
Example: vacuum world state space graph
states??: integer dirt and robot locations (ignore dirt amounts
etc.)
actions??: Lef t, Right, Suck, N oOp
goal test??: no dirt
states??: integer dirt and robot locations (ignore dirt amounts
path cost??: 1 per action (0 for N oOp)
etc.)
1:14
actions??
Example: The 8-puzzle
goal test??
path cost??
1:11
Example: vacuum world state space graph
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
7
Example: The 8-puzzle
states??
actions??
goal test??
path cost??
1:15
Example: The 8-puzzle
states??: integer locations of tiles (ignore intermediate positions)
actions??: move blank left, right, up, down (ignore unjamming
etc.)
goal test??: = goal state (given)
path cost??: 1 per move
[Note: optimal solution of n-Puzzle family is NP-hard]
states??: integer locations of tiles (ignore intermediate posi-
1:19
tions)
actions??
3.1
goal test??
Tree Search Algorithms
path cost??
1:20
1:16
Tree search algorithms
Example: The 8-puzzle
Basic idea:
offline, simulated exploration of state space
by generating successors of already-explored states
(a.k.a. expanding states)
1:21
Tree search example
states??: integer locations of tiles (ignore intermediate positions)
actions??: move blank left, right, up, down (ignore unjamming
etc.)
goal test??
path cost??
1:17
1:22
Tree search example
Example: The 8-puzzle
1:23
states??: integer locations of tiles (ignore intermediate positions)
Tree search example
actions??: move blank left, right, up, down (ignore unjamming
etc.)
goal test??: = goal state (given)
path cost??
1:18
8
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
1:24
Depth-first search
Depth-limited search
Implementation: states vs. nodes
Iterative deepening search
1:28
A state is a (representation of) a physical configuration
A node is a data structure constituting part of a search tree
Breadth-first search
includes parent, children, depth, path cost g(x)
States do not have parents, children, depth, or path cost!
Expand shallowest unexpanded node
Implementation:
fringe is a FIFO queue, i.e., new successors go at end
The E XPAND function creates new nodes, filling in the various
fields and using the S UCCESSOR F N of the problem to create
the corresponding states.
1:25
1:29
Breadth-first search
Implementation: general tree search
function T REE -S EARCH( problem, fringe) returns a solution, or failure
fringe ← I NSERT(M AKE -N ODE(I NITIAL -S TATE[problem]), fringe)
loop do
if fringe is empty then return failure
node ← R EMOVE -F RONT(fringe)
if G OAL -T EST(problem, S TATE(node)) then return node
fringe ← I NSERTA LL(E XPAND(node, problem), fringe)
function E XPAND( node, problem) returns a set of nodes
successors ← the empty set
for each action, result in S UCCESSOR -F N(problem, S TATE[node]) do
s ← a new N ODE
PARENT-N ODE[s] ← node; ACTION[s] ← action; S TATE[s] ← result
PATH -C OST[s] ← PATH -C OST[node] + S TEP -C OST(S TATE[node],
action, result)
D EPTH[s] ← D EPTH[node] + 1
add s to successors
return successors
1:26
Expand shallowest unexpanded node
Implementation:
fringe is a FIFO queue, i.e., new successors go at end
1:30
Breadth-first search
Expand shallowest unexpanded node
Implementation:
Search strategies
fringe is a FIFO queue, i.e., new successors go at end
A strategy is defined by picking the order of node expansion
Strategies are evaluated along the following dimensions:
completeness—does it always find a solution if one exists?
time complexity—number of nodes generated/expanded
space complexity—maximum number of nodes in memory
optimality—does it always find a least-cost solution?
1:31
Time and space complexity are measured in terms of
b—maximum branching factor of the search tree
Breadth-first search
d—depth of the least-cost solution
m—maximum depth of the state space (may be ∞)
Expand shallowest unexpanded node
1:27
Uninformed search strategies
Uninformed strategies use only the information available
in the problem definition
Breadth-first search
Uniform-cost search
Implementation:
fringe is a FIFO queue, i.e., new successors go at end
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
1:32
Properties of breadth-first search
9
Depth-first search
Expand deepest unexpanded node
Implementation:
Complete??
fringe = LIFO queue, i.e., put successors at front
1:33
Properties of breadth-first search
Complete?? Yes (if b is finite)
Time??
1:34
Properties of breadth-first search
1:39
Depth-first search
Complete?? Yes (if b is finite)
Expand deepest unexpanded node
Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e.,
exp. in d
Implementation:
fringe = LIFO queue, i.e., put successors at front
Space??
1:35
Properties of breadth-first search
Complete?? Yes (if b is finite)
Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e.,
1:40
exp. in d
Depth-first search
Space?? O(bd+1 ) (keeps every node in memory)
Optimal??
Expand deepest unexpanded node
1:36
Implementation:
Properties of breadth-first search
fringe = LIFO queue, i.e., put successors at front
Complete?? Yes (if b is finite)
Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e.,
exp. in d
Space?? O(bd+1 ) (keeps every node in memory)
Optimal?? Yes (if cost = 1 per step); not optimal in general
1:41
Space is the big problem; can easily generate nodes at 100MB/sec
so 24hrs = 8640GB.
1:37
Uniform-cost search
Depth-first search
Expand deepest unexpanded node
Implementation:
fringe = LIFO queue, i.e., put successors at front
Expand least-cost unexpanded node
Implementation:
fringe = queue ordered by path cost, lowest first
Equivalent to breadth-first if step costs all equal
Complete?? Yes, if step cost ≥ Time?? # of nodes with g ≤ cost of optimal solution, O(bdC
∗
/e
where C ∗ is the cost of the optimal solution
Space?? # of nodes with g ≤ cost of optimal solution, O(bdC
∗
1:42
)
/e
Depth-first search
)
Optimal?? Yes—nodes expanded in increasing order of g(n)
1:38
Expand deepest unexpanded node
Implementation:
fringe = LIFO queue, i.e., put successors at front
10
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
1:47
Properties of depth-first search
Complete??
1:48
1:43
Depth-first search
Properties of depth-first search
Expand deepest unexpanded node
Complete?? No: fails in infinite-depth spaces, spaces with loops
Implementation:
Modify to avoid repeated states along path
fringe = LIFO queue, i.e., put successors at front
⇒ complete in finite spaces
Time??
1:49
Properties of depth-first search
1:44
Complete?? No: fails in infinite-depth spaces, spaces with loops
Modify to avoid repeated states along path
Depth-first search
⇒ complete in finite spaces
Expand deepest unexpanded node
Time?? O(bm ): terrible if m is much larger than d
but if solutions are dense, may be much faster than breadth-
Implementation:
first
fringe = LIFO queue, i.e., put successors at front
Space??
1:50
Properties of depth-first search
1:45
Complete?? No: fails in infinite-depth spaces, spaces with loops
Modify to avoid repeated states along path
Depth-first search
⇒ complete in finite spaces
Time?? O(bm ): terrible if m is much larger than d
Expand deepest unexpanded node
but if solutions are dense, may be much faster than breadth-
Implementation:
first
fringe = LIFO queue, i.e., put successors at front
Space?? O(bm), i.e., linear space!
Optimal??
1:51
Properties of depth-first search
1:46
Complete?? No: fails in infinite-depth spaces, spaces with loops
Depth-first search
Modify to avoid repeated states along path
⇒ complete in finite spaces
Expand deepest unexpanded node
Time?? O(bm ): terrible if m is much larger than d
Implementation:
fringe = LIFO queue, i.e., put successors at front
but if solutions are dense, may be much faster than breadthfirst
Space?? O(bm), i.e., linear space!
Optimal?? No
1:52
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
11
Depth-limited search
= depth-first search with depth limit l,
i.e., nodes at depth l have no successors
Recursive implementation:
function D EPTH -L IMITED -S EARCH( problem, limit) returns soln/fail/cutoff
R ECURSIVE -DLS(M AKE -N ODE(I NITIAL -S TATE[problem]), problem,
limit)
function R ECURSIVE -DLS(node, problem, limit) returns soln/fail/cutoff
cutoff-occurred? ← false
if G OAL -T EST(problem, S TATE[node]) then return node
else if D EPTH[node] = limit then return cutoff
else for each successor in E XPAND(node, problem) do
result ← R ECURSIVE -DLS(successor, problem, limit)
if result = cutoff then cutoff-occurred? ← true
else if result 6= failure then return result
if cutoff-occurred? then return cutoff else return failure
1:58
Properties of iterative deepening search
1:53
Complete??
1:59
Iterative deepening search
function I TERATIVE -D EEPENING -S EARCH( problem) returns a solution
inputs: problem, a problem
Properties of iterative deepening search
Complete?? Yes
for depth ← 0 to ∞ do
result ← D EPTH -L IMITED -S EARCH( problem, depth)
if result 6= cutoff then return result
end
Time??
1:60
1:54
Properties of iterative deepening search
Complete?? Yes
Iterative deepening search l = 0
Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd )
Space??
1:61
1:55
Properties of iterative deepening search
Complete?? Yes
Iterative deepening search l = 1
Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd )
Space?? O(bd)
Optimal??
1:62
1:56
Properties of iterative deepening search
Iterative deepening search l = 2
Complete?? Yes
Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd )
Space?? O(bd)
Optimal?? Yes, if step cost = 1
Can be modified to explore uniform-cost tree
Numerical comparison for b = 10 and d = 5, solution at far left
leaf:
1:57
Iterative deepening search l = 3
N (IDS)
=
50 + 400 + 3, 000 + 20, 000 + 100, 000 = 123, 450
N (BFS)
=
10 + 100 + 1, 000 + 10, 000 + 100, 000 + 999, 990 =
12
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
IDS does better because other nodes at depth d are not expanded
BFS can be modified to apply goal test when a node is generated
1:63
Summary of algorithms
Criterion
BreadthFirst
UniformCost
DepthFirst
DepthLimited
Iterative
Deepening
Yes∗
bd+1
bd+1
Yes∗
Yes∗
∗
bdC /e
∗
dC
/e
b
Yes
No
bm
bm
No
Yes, if l ≥ d
bl
bl
No
Yes
bd
bd
Yes∗
Complete?
Time
Space
Optimal?
1:64
Loops: Repeated states
Failure to detect repeated states can turn a linear problem into
an exponential one!
1:65
Graph search
function G RAPH -S EARCH( problem, fringe) returns a solution, or failure
closed ← an empty set
fringe ← I NSERT(M AKE -N ODE(I NITIAL -S TATE[problem]), fringe)
loop do
if fringe is empty then return failure
node ← R EMOVE -F RONT(fringe)
if G OAL -T EST(problem, S TATE[node]) then return node
if S TATE[node] is not in closed then
add S TATE[node] to closed
fringe ← I NSERTA LL(E XPAND(node, problem), fringe)
end
But: storing all visited nodes leads again to exponential space
complexity (as for BFS)
1:66
Summary
In BFS (or uniform-cost search), the fringe propagates layerwise, containing nodes of similar distance-from-start (cost-sofar), leading to optimal paths but exponential space complexity
O(B d+1 )
In DFS, the fringe is like a deep light beam sweeping over the
tree, with space complexity O(bm). Iteratively deepening it also
leads to optimal paths.
Graph search can be exponentially more efficient than tree search,
but storing the visited nodes may lead to exponential space
complexity as BFS.
1:67
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
4
Informed search algorithms
13
Greedy search
We set the priority function equal to a heuristic f (n) = h(n)
h(n) = estimate of cost from n to the closest goal
Outline
E.g., hSLD (n) = straight-line distance from n to Bucharest
Greedy search expands the node that appears to be closest to
• Best-first search
goal
• A∗ search
2:5
• Heuristics
2:1
Greedy search example
Review: Tree search
function T REE -S EARCH( problem, fringe) returns a solution, or failure
fringe ← I NSERT(M AKE -N ODE(I NITIAL -S TATE[problem]), fringe)
loop do
if fringe is empty then return failure
node ← R EMOVE -F RONT(fringe)
if G OAL -T EST[problem] applied to S TATE(node) succeeds return
node
fringe ← I NSERTA LL(E XPAND(node, problem), fringe)
2:6
Greedy search example
A strategy is defined by picking the order of node expansion
2:2
Best-first search
2:7
Idea: use an arbitrary priority function f (n) for each node
– actually f (n) is neg-priority: nodes with lower f (n) have
higher priority
Greedy search example
f (n) should reflect which nodes could be on an optimal path
– could is optimistic – the lower f (n) the more optimistic
you are that n is on an optimal path
⇒ Expand the unexpanded node with highes priority
Implementation:
fringe is a queue sorted in decreasing order of priority
2:8
Special cases:
greedy search
Greedy search example
A∗ search
2:3
Romania with step costs in km
2:9
Properties of greedy search
Complete??
2:4
2:10
14
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Properties of greedy search
n.
(Also require h(n) ≥ 0, so h(G) = 0 for any goal G.)
Complete?? No–can get stuck in loops, e.g., with Oradea as
goal,
E.g., hSLD (n) never overestimates the actual road distance
Theorem: A∗ search is optimal (=finds the optimal path)
Iasi → Neamt → Iasi → Neamt →
2:15
Complete in finite space with repeated-state checking
Time??
2:11
A∗ search example
Properties of greedy search
Complete?? No–can get stuck in loops, e.g.,
2:16
Iasi → Neamt → Iasi → Neamt →
Complete in finite space with repeated-state checking
Time?? O(bm ), but a good heuristic can give dramatic improve-
A∗ search example
ment
Space??
2:12
Properties of greedy search
2:17
Complete?? No–can get stuck in loops, e.g.,
Iasi → Neamt → Iasi → Neamt →
A∗ search example
Complete in finite space with repeated-state checking
Time?? O(bm ), but a good heuristic can give dramatic improvement
Space?? O(bm )—keeps all nodes in memory
Optimal??
2:13
2:18
Properties of greedy search
A∗ search example
Complete?? No–can get stuck in loops, e.g.,
Iasi → Neamt → Iasi → Neamt →
Complete in finite space with repeated-state checking
Time?? O(bm ), but a good heuristic can give dramatic improvement
Space?? O(bm )—keeps all nodes in memory
Optimal?? No
2:19
Greedy search does not care about the ’past’ (the cost-so-far).
2:14
A∗ search example
A∗ search
Idea: combine information from the past and the future
– neg-priority = cost-so-far + estimated cost-to-go
Evaluation function f (n) = g(n) + h(n)
g(n) = cost-so-far to reach n
h(n) = estimated cost-to-go from n
f (n) = estimated total cost of path through n to goal
A∗ search uses an admissible (=optimistic) heuristic
i.e., h(n) ≤ h∗ (n) where h∗ (n) is the true cost-to-go from
2:20
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
A∗ search example
15
Properties of A∗
Complete?? Yes, unless there are infinitely many nodes with
f ≤ f (G)
Time?? Exponential in [relative error in h × length of soln.]
Space?? Keeps all nodes in memory
Optimal??
2:26
Properties of A∗
2:21
Complete?? Yes, unless there are infinitely many nodes with
f ≤ f (G)
Proof of optimality of A∗
Time?? Exponential in [relative error in h × length of soln.]
Suppose some suboptimal goal G2 has been generated and is
in the fringe (but has not yet been selected to be tested for goal
condition!). Let n be an unexpanded node on a shortest path to
an optimal goal G.
Space?? Keeps all nodes in memory
Optimal?? Yes
A∗ expands all nodes with f (n) < C ∗
A∗ expands some nodes with f (n) = C ∗
A∗ expands no nodes with f (n) > C ∗
2:27
Optimality of A∗ (more useful)
f (G2 )
=
g(G2 )
>
g(G)
since G2 is suboptimal
≥
f (n)
since h is admissible
Lemma: A∗ expands nodes in order of increasing f value∗
since h(G2 ) = 0
Gradually adds “f -contours” of nodes (cf. breadth-first adds layers)
Contour i has all nodes with f = fi , where fi < fi+1
Since f (n) < f (G2 ), A∗ will expand n before is will select G2
from the fringe (for goal testing). Then, as G is added to the
fringe, and since f (G) = g(G) < f (G2 ) = g(G2 ) it will select G
before G2 for goal testing.
2:22
Properties of A∗
Complete??
2:23
2:28
∗
Properties of A
Proof of lemma: Consistency
Complete?? Yes, unless there are infinitely many nodes with
A heuristic is consistent if
f ≤ f (G)
h(n) ≤ c(n, a, n0 ) + h(n0 )
Time??
2:24
If h is consistent, we have
Properties of A∗
f (n0 )
=
g(n0 ) + h(n0 )
=
g(n) + c(n, a, n0 ) + h(n0 )
f ≤ f (G)
≥
g(n) + h(n)
Time?? Exponential in [relative error in h × length of soln.]
=
f (n)
Complete?? Yes, unless there are infinitely many nodes with
Space??
I.e., f (n) is nondecreasing along any path.
2:25
2:29
16
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Admissible heuristics
Key point: the optimal solution cost of a relaxed problem
is no greater than the optimal solution cost of the real problem
E.g., for the 8-puzzle:
2:33
h1 (n) = number of misplaced tiles
Memory-bounded A∗
h2 (n) = total Manhattan distance
(i.e., no. of squares from desired location of each tile)
As with BFS, A∗ has exponential space complexity
Iterative-deepening A∗ , works for integer path costs, but problematic for real-valued
(Simplified) Memory-bounded A∗ (SMA∗ ):
– Expand as usual until a memory bound is reach
h1 (S) =??
– Then, whenever adding a node, remove the worst node
h2 (S) =??
0
n from the tree
– worst means: the n0 with highest f (n0 )
2:30
– To not loose information, backup the measured step-cost
Admissible heuristics
cost(˜
n, a, n0 )
to improve the heuristic h(˜
n) of its parent
E.g., for the 8-puzzle:
∗
SMA is complete and optimal if the depth of the optimal path is
h1 (n) = number of misplaced tiles
within the memory bound
h2 (n) = total Manhattan distance
2:34
(i.e., no. of squares from desired location of each tile)
Summary
Combine information from the past and the future
A heuristic function h(n) represents information about the future
– it estimates cost-to-go optimistically
h1 (S) =?? 6
Good heuristics can dramatically reduce search cost
h2 (S) =?? 4+0+3+3+1+0+2+1 = 14
2:31
Greedy best-first search expands lowest h
– incomplete and not always optimal
Dominance
∗
A search expands lowest f = g + h
– neg-priority = cost-so-far + estimated cost-to-go
If h2 (n) ≥ h1 (n) for all n (both admissible)
– complete and optimal
then h2 dominates h1 and is better for search
– also optimally efficient (up to tie-breaks, for forward search)
Typical search costs:
d = 14 IDS = 3,473,941 nodes
A∗ (h1 ) = 539 nodes
A∗ (h2 ) = 113 nodes
d = 24 IDS ≈ 54,000,000,000 nodes
A∗ (h1 ) = 39,135 nodes
A∗ (h2 ) = 1,641 nodes
Given any admissible heuristics ha , hb ,
Admissible heuristics can be derived from exact solution of relaxed problems
Memory-bounded startegies exist
2:35
Outlook
We postpone tree search with partial observations
h(n) = max(ha (n), hb (n))
– rather discuss this in a fully probabilistic setting later
is also admissible and dominates ha , hb
We postpone tree search for games
2:32
Relaxed problems
– minimax extension to tree search
– discuss state-of-the-art probabilistic Monte-Carlo tree search
methods later
Admissible heuristics can be derived from the exact
solution cost of a relaxed version of the problem
If the rules of the 8-puzzle are relaxed so that a tile can move
anywhere, then h1 (n) gives the shortest solution
If the rules are relaxed so that a tile can move to any adjacent
square, then h2 (n) gives the shortest solution
Next: Constraint Statisfaction Problems
2:36
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
5
Constraint Satisfaction Problems
17
Example: Map-Coloring contd.
Outline
• CSP examples
• Backtracking sequential assignment for CSPs
• Problem structure and problem decomposition
• Later: general-purpose discrete (and continuous) optimization
methods
Solutions are assignments satisfying all constraints, e.g.,
3:1
{W = red, N = green, Q = red, E = green, V = red, S = blue, T = green}
3:4
Constraint satisfaction problems (CSPs)
Constraint graph
In previous lectures we consideres sequential decision problems
Binary CSP: each constraint relates at most two variables
CSPs are not sequential decision problems
Constraint graph: a bi-partite graph: nodes are variables, boxes
However, the basic methods address them by testing sequentially ’decisions’
are constraints
In the map-coloring problem, all constraints relate two variables:
boxes↔edges
In general, constraints may constrain several (or one) vari-
CSP:
ables (|Ik | 6= 2)
We have n variables xi , each with domain Di , xi ∈ Di
N
We have K constraints Ck , each of which determines the feasible configurations of a subset of variables
W
The goal is to find a configuration X = (X1 , .., Xn ) of all vari-
c1
c2
ables that satisfies all constraints
c3
Q
S
E
c6
c8
c7
Formally Ck = (Ik , ck ) where Ik ⊆ {1, .., n} determines the
c5
c4
c9
V
subset of variables, and ck : DIk → {0, 1} determines whether
a configuration xIk ∈ DIk of this subset of variables is feasible
T
3:5
3:2
Varieties of CSPs
Example: Map-Coloring
• Discrete variables: finite domains; each Di of size |Di | = d ⇒
O(dn ) complete assignments
– e.g., Boolean CSPs, incl. Boolean satisfiability infinite domains (integers, strings, etc.)
– e.g., job scheduling, variables are start/end days for each
job
– linear constraints solvable, nonlinear undecidable
• Continuous variables
– e.g., start/end times for Hubble Telescope observations
– linear constraints solvable in poly time by LP methods
Variables W , N , Q, E, V , S, T
3:6
(E = New South Wales)
Domains Di = {red, green, blue} for all variables
Varieties of constraints
Constraints: adjacent regions must have different colors
e.g., W 6= N , or
Unary constraints involve a single variable, |Ik | = 1
(W, N ) ∈ {(red, green), (red, blue), (green, red), (green, blue), . . .}
3:3
e.g., S 6= green
Binary constraints involve pairs of variables, |Ik | = 2
e.g., S 6= W
18
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
⇒ b = d and there are dn leaves
Higher-order constraints involve 3 or more variables, |Ik | > 2
e.g., Sudoku
Depth-first search for CSPs with single-variable assignments
Having “soft constraints” (preferences, cost, probabilities) leads
is called backtracking search
to general optimization and probabilistic inference problems
Backtracking search is the basic uninformed algorithm for CSPs
3:7
Can solve n-queens for n ≈ 25
3:11
Real-world CSPs
Backtracking search
Assignment problems
function B ACKTRACKING -S EARCH(csp) returns solution/failure
return R ECURSIVE -B ACKTRACKING({ }, csp)
e.g., who teaches what class
Timetabling problems
function
R ECURSIVE -B ACKTRACKING(assignment, csp)
returns
soln/failure
if assignment is complete then return assignment
var ← S ELECT-U NASSIGNED -VARIABLE(VARIABLES[csp], assignment,
csp)
for each value in O RDERED -D OMAIN -VALUES(var, assignment, csp) do
if value is consistent with assignment given C ONSTRAINTS[csp]
then
add [var = value] to assignment
result ← R ECURSIVE -B ACKTRACKING(assignment, csp)
if result 6= failure then return result
remove [var = value] from assignment
return failure
e.g., which class is offered when and where?
Hardware configuration
Spreadsheets
Transportation scheduling
Factory scheduling
Floorplanning
Notice that many real-world problems involve real-valued variables
3:8
5.1
3:12
Backtracking example
Methods for solving CSPs
3:13
3:9
Backtracking example
Sequential assignment approach
Let’s start with the straightforward, dumb approach, then fix it
States are defined by the values assigned so far
• Initial state: the empty assignment, { }
• Successor function: assign a value to an unassigned variable
that does not conflict with current assignment ⇒ fail if no feasible assignments (not fixable!)
3:14
• Goal test: the current assignment is complete
Backtracking example
1) Every solution appears at depth n with n variables ⇒ use
depth-first search
2) b = (n − `)d at depth `, hence n!dn leaves!
3:10
Backtracking sequential assignment
Two variable assignment decisions are commutative, i.e.,
[W = red then N = green] same as [N = green then W = red]
We can fix a single next variable to assign a value to at each
node
This does not compromise completeness (ability to find the
solution)
3:15
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
19
Backtracking example
Given a variable, choose the least constraining value:
the one that rules out the fewest values in the remaining variables
Combining these heuristics makes 1000 queens feasible
3:20
3:16
Forward checking
Improving backtracking efficiency
Idea: Keep track of remaining legal values for unassigned variables
Simple heuristics can give huge gains in speed:
Terminate search when any variable has no legal values
1. Which variable should be assigned next?
2. In what order should its values be tried?
3. Can we detect inevitable failure early?
4. Can we take advantage of problem structure?
3:21
3:17
Forward checking
Minimum remaining values
Idea: Keep track of remaining legal values for unassigned variables
Minimum remaining values (MRV):
Terminate search when any variable has no legal values
choose the variable with the fewest legal values
3:18
3:22
Degree heuristic
Forward checking
Tie-breaker among MRV variables
Idea: Keep track of remaining legal values for unassigned vari-
Degree heuristic:
choose the variable with the most constraints on remaining
variables
ables
Terminate search when any variable has no legal values
3:19
Least constraining value
3:23
20
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Forward checking
for every value x of X there is some allowed y
Idea: Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
3:27
Arc consistency (for pair-wise constraints)
Simplest form of propagation makes each arc consistent
X → Y is consistent iff
for every value x of X there is some allowed y
Use a data structure D OMAIN [X] to explicitly store Di for each
node
3:24
Constraint propagation
If X loses a value, neighbors of X need to be rechecked
Forward checking propagates information from assigned to unassigned variables, but doesn’t provide early detection for all failures:
3:28
Arc consistency (for pair-wise constraints)
Simplest form of propagation makes each arc consistent
X → Y is consistent iff
for every value x of X there is some allowed y
N and S cannot both be blue!
Idea: propagate the implied constraints serveral steps further
Generally, this is called constraint propagation
3:25
If X loses a value, neighbors of X need to be rechecked
Arc consistency detects failure earlier than forward checking
Can be run as a preprocessor or after each assignment
Arc consistency (for pair-wise constraints)
3:29
Arc consistency algorithm (for pair-wise constraints)
Simplest form of propagation makes each arc consistent
X → Y is consistent iff
for every value x of X there is some allowed y
function AC-3( csp) returns the CSP, possibly with reduced domains
inputs: csp, a pair-wise CSP with variables {X1 , X2 , . . . , Xn }
local variables: queue, a queue of arcs, initially all the arcs in csp
while queue is not empty do
(Xi , Xj ) ← R EMOVE -F IRST(queue)
if R EMOVE -I NCONSISTENT-VALUES(Xi , Xj ) then
for each Xk in N EIGHBORS[Xi ] do
add (Xk , Xi ) to queue
3:26
Arc consistency (for pair-wise constraints)
Simplest form of propagation makes each arc consistent
X → Y is consistent iff
function R EMOVE -I NCONSISTENT-VALUES( Xi , Xj ) returns true iff
D OM[Xi ] changed
changed ← false
for each x in D OMAIN[Xi ] do
if no value y in D OMAIN[Xj ] allows (x,y) to satisfy the constraint
Xi ↔ Xj
then delete x from D OMAIN[Xi ]; changed ← true
return changed
O(n2 d3 ), can be reduced to O(n2 d2 )
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
3:30
21
3. For j from 1 to n, assign Xj consistently with P arent(Xj )
This is forward sequential assignment (trivial backtracking)
Constraint propagation
3:34
Nearly tree-structured CSPs
See textbook for details for non-pair-wise constraints
Very closely related to message passing in probabilistic models
Conditioning: instantiate a variable, prune its neighbors’ domains
In practice: design approximate constraint propagation for specific problem
E.g.: Sudoku: If Xi is assigned, delete this value from all
peers
3:31
Problem structure
Cutset conditioning: instantiate (in all ways) a set of variables
such that the remaining constraint graph is a tree
Cutset size c ⇒ runtime O(dc · (n − c)d2 ), very fast for small c
N
W
c1
c2
c3
3:35
Q
c5
c4
c9
S
Summary
E
c6
c8
c7
CSPs are a fundamental kind of problem:
V
finding a feasible configuration of n variables
the set of constraints defines the (graph) structure of the prob-
T
lem
Tasmania and mainland are independent subproblems
Sequential assignment approach
Backtracking = depth-first search with one variable assigned
Identifiable as connected components of constraint graph
3:32
per node
Variable ordering and value selection heuristics help significantly
Tree-structured CSPs
Forward checking prevents assignments that guarantee later
failure
Constraint propagation (e.g., arc consistency) does additional
work
to constrain values and detect inconsistencies
The CSP representation allows analysis of problem structure
Theorem: if the constraint graph has no loops, the CSP can be
solved in O(n d2 ) time
Tree-structured CSPs can be solved in linear time
If after assigning some variables, the remaining structure is a
Compare to general CSPs, where worst-case time is O(dn )
tree
→ linear time feasibility check by tree CSP
This property also applies to logical and probabilistic reasoning!
3:33
Algorithm for tree-structured CSPs
1. Choose a variable as root, order variables from root to leaves
such that every node’s parent precedes it in the ordering
2. For j from n down to 2, apply R EMOVE I NCONSISTENT(P arent(Xj ), Xj )
This is backward constraint propagation
3:36
22
6
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Optimization
Iterative improvement
The majority of optimization methods iteratively manipulate x to
monotonely improve x, e.g.:
– line search, backtracking, trust region methods
Outline
– gradient-based, (Quasi-) Newton methods
– interior point methods, Simplex method
• Local Search
– primal-dual Newton
• Iterated Local Search
– local search, pattern search, Nelder-Mead
• Simulated annealing & Genetic algorithms (briefly)
Exceptions:
– Global Optimization, Bayesian Optimization
• General formulation of optimization problems
– stochastic search, simulated annealing, evolutionary algorithms
• LP, QP, ILP, non-linear program
• ILP formulations of n-queens, CSP, TSP
4:4
4:1
Local search (greedy downhill, hill climbing)
Optimization problems
We have n variables xi ,
We assume there is a finite neighborhood N(x) defined for every
continuous x ∈ Rn , or discrete xi ∈
x
{1, .., d}, or mixed
Greedy local search (variant 1):
An optimization problem (or mathematical program) is defined
by
min f (x)
x
s.t.
g(x) ≤ 0, h(x) = 0
where g : Rn → Rk defines k inequality constraints,
Input: Initial x, function f (x)
Output: Local minimum x
ˆ of f (x)
1: repeat
2:
x
ˆ←x
3:
x ← argminy∈N(x) f (y)
4: until f (ˆ
x) ≤ f (x)
and h : Rn → Rl defines l equality constraints
Variant 2: x ← the “first” y ∈ N(x) such that f (y) < f (x)
Optimization is a central thread through all of science:
– Machine Learning, Robotics, Computer Vision
4:5
– Engineering, Control Theory
– Economics, Operations Research
Example: Travelling Salesman Problem (TSP)
– Physics, Chemistry, Molecular Biology
– Social Sciences
Goal: Find the shortest closed tour visiting n cities.
Computational modelling of natural phenomena often via opti-
Start with any complete tour; modify 2 arcs to make the tour
mality principles
shorter
4:2
Stefan Funke gives an excellent lecture on Discrete Optimization (WS)
– max-flow and min-cut on graphs
– Linear Programs, esp. Simplex methods
Variants of this approach get within 1% of optimum very quickly
– Integer Linear Programming and LP-relaxations
with thousands of cities
In TSP, this neighborhood is called 2-opt (modifying 2 arcs).
I offer a lecture on Continuous Optimization (SS)
– Gradient and Newton methods
3-opt or 4-opt are larger neighborhoods.
4:6
– Lagrangian, log-barrier, augmented lagrangian methods,
primal-dual
– Local & stochastic search, global optimization, Bayesian
optimization
4:3
Example: n-queens
Goal: Put n queens on an n × n board with no two queens on
the same
row, column, or diagonal
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Start with any configuration of n queens; move a queen to re-
23
Example: Tavelling Salesman Problem
duce number of conflicts
LocalSearch uses the simple 2-opt or 3-opt neighborhood (→
quick)
Iterated Local Search uses 4-opt meta-neighborhood (double
bridges)
4:10
Simulated annealing
Almost always solves n-queens problems almost instantaneously
for very large n, e.g., n = 1million
Idea: Escape local minimum by allowing some “bad” moves
but gradually decrease their size and frequency
4:7
Input: initial x, function f (x), proposal distribution q(y|x), initial temp. T
Output: Global minimum x
ˆ of f (x)
1: repeat
2:
Sample y from the neighborhood of x, y ∼ q(y|x)
3:
Acceptance
probability
A
=
f (x)−f (y)
q(x|y) T
min 1, e
q(y|x)
4:
With probability A update x ← y
5:
Decrease T , e.g. T ← (1 − )T for small 6: until T = 0 or x converges
Local search contd.
Useful to consider solution space landscape
Typically q(x|y) = q(y|x)
The new sample y is always accepted if y is better than x (f (y) ≤
f (x))
Random-restart local search overcomes local optima problem—
If y is worse than x, only accept with probability e
f (x)−f (y)
T
trivially complete
4:11
Random sideways moves escape from plateaus, but loop on flat
Properties of simulated annealing
optima
4:8
At fixed “temperature” T , state occupation probability reaches
Boltzman distribution
Iterated Local Search (6= random restarts)
p(x) = αe
−f (x)
kT
Random restarts may be rather expensive, sampling initial x is
T decreased slowly enough =⇒ always reach best state x∗ =
fully uninformed
Idea: Escape local minimum x by restarting in a meta-neighborhood
argminx f (x)
because e
N (x)
∗
−f (x∗ )
kT
/e
−f (x)
kT
=e
f (x)−f (x∗ )
kT
1 for small T
Is this necessarily an interesting guarantee??
Input: Initial x, function f (x)
Output: Local minimum x
ˆ of f (x)
1: repeat
2:
For all meta-neigbors yi ∈ N∗ (x) compute yˆi ←
LocalSearch(yi )
3:
x ← argminy∈{ˆ
y1 ,..,ˆ
yI } f (y)
4: until x converges
Devised by Metropolis et al., 1953, for physical process modelling
4:12
Local beam search (maintain k candidates)
Idea: keep k candidates instead of 1; choose top k of all their
LocalSearch uses a simple/quick neighborhood N(x)
successors
The meta-neighborhood N∗ (x) enables large jumps towards alternative local optima
Not the same as k searches run in parallel!
Searches that find good candidates recruit other searches
Variant 2: x ← the “first” yi ∈ N∗ (x) such that f (ˆ
yi ) < f (x)
to join them
Stochastic variant: Meta-neighborhood N∗ (x) is replaced by a
Problem: quite often, all k candidates end up on same local hill
transition prob. q ∗ (y|x)
Idea: choose k successors randomly, biased towards good ones
4:9
4:13
24
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Genetic algorithms
– Sequential Quadratic Programming (SQP), Log-barrier, Augmented Lagrangian, primal-dual
= stochastic local beam search + generate successors from
4:17
pairs of candidates
The art is in finding a reduction
How can a real-world problem be encoded as an optimization
problem?
4:18
4:14
Genetic algorithms contd.
Example: n-queens as Integer Linear Program
binary indicator variables xij for a queen at position (i, j), i, j =
GAs require solutions encoded as strings (GPs use trees or pro-
1, .., n
Constraints:
grams)
– row constraints ∀i :
P
xij ≤ 1
P
i xij ≤ 1
P
– diagonal cnstr. ∀i∈{−n+1,..,n−1} :
j:j,i+j∈{1,..,n} xi+j,j ≤ 1
P
– diagonal cnstr. ∀i∈{−n+1,..,n−1} :
j:j,i−j∈{1,..,n} xi−j,j ≤ 1
Crossover helps iff substrings are meaningful components
j
– column constraints ∀j :
Objective Function: arbitrary (e.g. f (x) = 1)! We encoded everything in the constraints!
GAs 6= evolution: e.g., real genes encode replication machinery!
Better alternative: Optimize the number of constraint violations:
instead of “≤ 1” write “≤ 1 + ξk ” in all constraints
the slack variables ξ = (ξ1 , .., ξK ) become part of the state
Move general view:
add the constraints ξk ≥ 0
keeping multiple candidates allows us to use
objective function f (x, ξ) =
more general neighborhoods N(x1 , .., xK ) or meta-neighborhoods
P
k
ξk
related to Phase I optimization of finding a feasible x
4:15
6.1
A glimpse at general optimization problems
4:19
Example: TSP as Integer Linear Program
binary indicator variables xij for (ij) ∈ tour
4:16
Optimization problems
city-visit-times ti ∈ {1, .., n}
Objective:
cost f (x) =
Linear Program (LP)
>
min c x s.t.
x
Gx ≤ h, Ax = b
– Simplex Algorithm, Interior point method (Log-barrier), Augmented Lagrangian, primal-dual
– LP in standard form: minx c>x s.t.
P
ij
cij xij of the tour
Constraints:
P
– Columns sum to 1: ∀j : i xij = 1
P
– Rows sum to 1: ∀i : j xij = 1
– city-visit-times ti must fulfill:
∀2≤i6=j≤n : ti − tj ≤ n − 2 − (n − 1)xij
x ≥ 0, Ax = b
Quadratic Program (QP) (Q is positive definite)
1
min x>Qx + c>x s.t. Gx ≤ h, Ax = b
x
2
– Log-barrier, Augmented Lagrangian, primal-dual Newton
(There are alternative formulations.)
4:20
Example: CSP as Integer Linear Program
Integer Linear Program (ILP)
min c>x s.t.
x
Ax = b, xi ∈ {1, .., di }
– LP-relaxations & backtracking, specialized methods, graph
cut methods
Non-linear program (Convex Program: f, g convex and h linear)
min f (x)
x
s.t.
g(x) ≤ 0, h(x) = 0
binary indicator variables xiv = [Xi = v] for every CSP variable
Xi
Constraints:
– “Xi can have only one value”:
probabilities..)
∀i :
P
v
xiv = 1 (cf.
– If [Xi = v ∧Xj = w] is constraint-violating, add a constraint
xiv + xjw ≤ 1
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
– Do this for EVERY forbidden local configuration (MANY constraints)
Objective Function:
arbitrary (e.g. f (x) = 1)! We encoded everything in the
constraints!
Better alternative:
Translate the constraints into soft constraints xiv + xjw ≤
1 + ξk
Minimize
P
k
ξk
s.t.
ξk ≥ 0
(There exists a more efficient formulation for MaxSAT in conjunctive normal form.)
4:21
Summary
Many problems can be reduced to optimization problems
Local Search, esp. Iterated Local Search is often effective in
practice
In continuous domains, when gradients, Hessians are given →
full field of optimization
Ongoing research in global & Bayesian optimization
4:22
25
26
7
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Propositional Logic
Performance measure
gold +1000, death -1000
-1 per step, -10 for using the arrow
Environment
Squares adjacent to wumpus are smelly
Squares adjacent to pit are breezy
Glitter iff gold is in the same square
Shooting kills wumpus if you are facing it
The wumpus kills you if in the same
square
Shooting uses up the only arrow
Grabbing picks up gold if in same square
Releasing drops the gold in same square
Actuators Left turn, Right turn,
Outline
• Knowledge-based agents
• Wumpus world
• Logic in general—models and entailment
• Propositional (Boolean) logic
• Equivalence, validity, satisfiability
• Inference rules and theorem proving
Forward, Grab, Release, Shoot, Climb
– forward chaining
Sensors Breeze, Glitter, Stench, Bump, Scream
– backward chaining
– resolution
5:4
5:1
Wumpus world characterization
Knowledge bases
Observable??
5:5
Knowledge base = set of sentences of a formal language
Wumpus world characterization
Declarative approach to building an agent (or other system):
T ELL it what it needs to know
Observable?? No—only local perception
Then it can A SK itself what to do—answers should follow from
Deterministic??
the KB
5:6
Agents can be viewed at the knowledge level
Wumpus world characterization
i.e., what they know, regardless of how implemented
Or at the implementation level
i.e., data structures in KB and algorithms that manipulate
Observable?? No—only local perception
Deterministic?? Yes—outcomes exactly specified
them
5:7
5:2
Wumpus world characterization
A simple knowledge-based agent
Observable?? No—only local perception
function KB-AGENT( percept) returns an action
static: KB, a knowledge base
t, a counter, initially 0, indicating time
Deterministic?? Yes—outcomes exactly specified
Static?? Yes—Wumpus and Pits do not move
T ELL(KB, M AKE -P ERCEPT-S ENTENCE( percept, t))
action ← A SK(KB, M AKE -ACTION -Q UERY(t))
T ELL(KB, M AKE -ACTION -S ENTENCE(action, t))
t←t + 1
return action
Discrete??
5:8
Wumpus world characterization
The agent must be able to:
Represent states, actions, etc.
Incorporate new percepts
Update internal representations of the world
Deduce hidden properties of the world
Deduce appropriate actions
Observable?? No—only local perception
Deterministic?? Yes—outcomes exactly specified
Static?? Yes—Wumpus and Pits do not move
5:3
Discrete?? Yes
Single-agent??
Wumpus World description
5:9
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
27
Wumpus world characterization
Observable?? No—only local perception
Deterministic?? Yes—outcomes exactly specified
Static?? Yes—Wumpus and Pits do not move
Discrete?? Yes
Single-agent?? Yes—Wumpus is essentially a natural feature
5:10
Exploring a wumpus world
5:13
Exploring a wumpus world
5:11
5:14
Exploring a wumpus world
Exploring a wumpus world
5:12
5:15
Exploring a wumpus world
Exploring a wumpus world
28
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Breeze in (1,2) and (2,1)
⇒ no safe actions
Assuming pits uniformly distributed,
(2,2) has pit w/ prob 0.86, vs. 0.31
Smell in (1,1) ⇒ cannot move
Can use a strategy of coercion:
shoot straight ahead
wumpus was there ⇒ dead ⇒
safe
wumpus wasn’t there ⇒ safe
5:19
5:16
Logic in general
Exploring a wumpus world
Logics are formal languages for representing information
such that conclusions can be drawn
Syntax defines the sentences in the language
Semantics define the “meaning” of sentences;
i.e., define truth of a sentence in a world
E.g., the language of arithmetic
x + 2 ≥ y is a sentence; x2 + y > is not a sentence
x + 2 ≥ y is true iff the number x + 2 is no less than the number
y
x + 2 ≥ y is true in a world where x = 7, y = 1
x + 2 ≥ y is false in a world where x = 0, y = 6
5:20
5:17
Entailment
Entailment means that one thing follows from another:
Exploring a wumpus world
KB |= α
Knowledge base KB entails sentence α
if and only if
α is true in all worlds where KB is true
E.g., the KB containing “the Giants won” and “the Reds won”
entails “Either the Giants won or the Reds won”
E.g., x + y = 4 entails 4 = x + y
Entailment is a relationship between sentences (i.e., syntax)
that is based on semantics
5:21
5:18
Other tight spots
Models
Given a logical sentence, when is its truth uniquely defined in a
world?
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Logicians typically think in terms of models, which are formally
29
Wumpus models
structured worlds
(e.g., full abstract description of a world, configuration of all variables, world state)
with respect to which truth can uniquely be evaluated
We say m is a model of a sentence α if α is true in m
M (α) is the set of all models of α
Then KB |= α if and only if M (KB) ⊆ M (α)
E.g. KB = Giants won and Reds won
α = Giants won
KB = wumpus-world rules + observations
α1 = “[1,2] is safe”, KB |= α1 , proved by model checking
5:22
5:26
Entailment in the wumpus world
Wumpus models
Situation after detecting nothing in [1,1],
moving right, breeze in [2,1]
Consider possible models for ?s
assuming only pits
3 Boolean choices ⇒ 8 possible models
5:23
Wumpus models
KB = wumpus-world rules + observations
α2 = “[2,2] is safe”, KB 6|= α2
5:27
Inference
Inference in the general sense means: Given some pieces of
information (prior, observed variabes, knowledge base) what is
5:24
the implication (the implied information, the posterior) on other
things (non-observed variables, sentence)
Wumpus models
KB `i α = sentence α can be derived from KB by procedure i
Consequences of KB are a haystack; α is a needle.
Entailment = needle in haystack; inference = finding it
Soundness: i is sound if
whenever KB `i α, it is also true that KB |= α
Completeness: i is complete if
whenever KB |= α, it is also true that KB `i α
Preview: we will define a logic (first-order logic) which is expressive enough to say
almost anything of interest, and for which there exists a sound and complete inference procedure. That is, the procedure will answer any question whose answer
follows from what is known by the KB.
KB = wumpus-world rules + observations
5:25
5:28
30
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Propositional logic: Syntax
5:33
Propositional logic is the simplest logic—illustrates basic ideas
Wumpus world sentences
The proposition symbols P1 , P2 etc are sentences
If S is a sentence, ¬S is a sentence (negation)
Let Pi,j be true if there is a pit in [i, j].
If S1 and S2 are sentences, S1 ∧ S2 is a sentence (conjunction)
Let Bi,j be true if there is a breeze in [i, j].
If S1 and S2 are sentences, S1 ∨ S2 is a sentence (disjunction)
If S1 and S2 are sentences, S1 ⇒ S2 is a sentence (implication)
¬P1,1
If S1 and S2 are sentences, S1 ⇔ S2 is a sentence (bicondi-
¬B1,1
tional)
B2,1
5:29
“Pits cause breezes in adjacent squares”
Propositional logic: Syntax grammar
hsentencei
hatomic sentencei
hcomplex sentencei
→
→
→
hatomic sentencei | hcomplex sentencei
true | false | P | Q | R | . . .
¬ hsentencei
| (hsentencei ∧ hsentencei)
| (hsentencei ∨ hsentencei)
| (hsentencei ⇒ hsentencei)
| (hsentencei ⇔ hsentencei)
B1,1
⇔
(P1,2 ∨ P2,1 )
B2,1
⇔
(P1,1 ∨ P2,2 ∨ P3,1 )
“A square is breezy if and only if there is an adjacent pit”
5:34
5:30
Truth tables for inference
Propositional logic: Semantics
B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1
Each model specifies true/false for each proposition symbol
E.g. P1,2 P2,2
P3,1
true true false
(With these symbols, 8 possible models, can be enumerated
automatically.)
R1
R2
R3
R4
R5
KB
false false false false false false false true true true true false false
false false false false false false true true true false true false false
..
..
..
..
..
..
..
..
..
..
..
..
..
.
.
.
.
.
.
.
.
.
.
.
.
.
false true false false false false false true true false true true false
false true false false false false true true true true true true true
false true false false false true false true true true true true true
false true false false false true true true true true true true true
Rules for evaluating truth with respect to a model m:
¬S
is true iff
S
is false
false true false false true false false true false false true true false
..
..
..
..
..
..
..
..
..
..
..
..
..
S1 ∧ S2
is true iff
S1
is true and
S2
is true
.
.
.
.
.
.
.
.
.
.
.
.
.
S1 ∨ S2
is true iff
S1
is true or
S2
is true
true true true true true true true false true true false true false
S1 ⇒ S2
is true iff
S1
is false or
S2
is true
Enumerate rows (different assignments to symbols),
i.e., is false iff
S1
is true and
S2
is false
if KB is true in row, check that α is too
S1 ⇔ S2
is true iff
S1 ⇒ S2 is true and S2 ⇒ S1 is true
Simple recursive process evaluates an arbitrary sentence, e.g.,
5:35
¬P1,2 ∧ (P2,2 ∨ P3,1 ) = true ∧ (false ∨ true) = true ∧ true = true
5:31
Inference by enumeration
Truth tables for connectives
P
Q
¬P
P ∧Q
P ∨Q
P ⇒Q
P ⇔Q
false
false
true
true
false
true
false
true
true
true
false
false
false
false
false
true
false
true
true
true
true
true
false
true
true
false
false
true
5:32
Wumpus world sentences
Let Pi,j be true if there is a pit in [i, j].
Let Bi,j be true if there is a breeze in [i, j].
¬P1,1
¬B1,1
B2,1
“Pits cause breezes in adjacent squares”
Depth-first enumeration of all models is sound and complete
function TT-E NTAILS ?(KB, α) returns true or false
inputs: KB, the knowledge base, a sentence in propositional logic
α, the query, a sentence in propositional logic
symbols ← a list of the proposition symbols in KB and α
return TT-C HECK -A LL(KB, α, symbols, [ ])
function TT-C HECK -A LL(KB, α, symbols, model) returns true or false
if E MPTY ?(symbols) then
if PL-T RUE ?(KB, model) then return PL-T RUE ?(α, model)
else return true
else do
P ← F IRST(symbols); rest ← R EST(symbols)
return TT-C HECK -A LL(KB, α, rest, E XTEND(P , true, model)) and
TT-C HECK -A LL(KB, α, rest, E XTEND(P , false, model))
O(2n ) for n symbols
5:36
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
31
Logical equivalence
Forward and backward chaining
Two sentences are logically equivalent iff true in same models:
Applicable when KB is in Horn Form
α ≡ β if and only if α |= β and β |= α
Horn Form (restricted)
KB = conjunction of Horn clauses
(α ∧ β)
≡
(β ∧ α) commutativity of ∧
(α ∨ β)
≡
(β ∨ α) commutativity of ∨
– proposition symbol; or
((α ∧ β) ∧ γ)
≡
(α ∧ (β ∧ γ)) associativity of ∧
– (conjunction of symbols) ⇒ symbol
((α ∨ β) ∨ γ)
≡
(α ∨ (β ∨ γ)) associativity of ∨
¬(¬α)
≡
α
(α ⇒ β)
≡
(¬β ⇒ ¬α) contraposition
(α ⇒ β)
≡
(¬α ∨ β) implication elimination
(α ⇔ β)
≡
((α ⇒ β) ∧ (β ⇒ α)) biconditional elimination
¬(α ∧ β)
≡
(¬α ∨ ¬β)
De Morgan
¬(α ∨ β)
≡
(¬α ∧ ¬β)
De Morgan
(α ∧ (β ∨ γ))
≡
((α ∧ β) ∨ (α ∧ γ)) distributivity of ∧ over ∨
(α ∨ (β ∧ γ))
≡
((α ∨ β) ∧ (α ∨ γ)) distributivity of ∨ over ∧
Horn clause =
E.g., C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ B)
double-negation elimination
Modus Ponens (for Horn Form): complete for Horn KBs
α1 , . . . , αn ,
α1 ∧ · · · ∧ αn ⇒ β
β
Can be used with forward chaining or backward chaining.
These algorithms are very natural and run in linear time
5:40
5:37
Validity and satisfiability
Forward chaining
A sentence is valid if it is true in all models,
e.g., true, A ∨ ¬A,
A ⇒ A,
Idea: fire any rule whose premises are satisfied in the KB,
(A ∧ (A ⇒ B)) ⇒ B
Validity is connected to inference via the Deduction Theorem:
KB |= α if and only if (KB ⇒ α) is valid
add its conclusion to the KB, until query is found
P ⇒Q
L∧M ⇒P
A sentence is satisfiable if it is true in some model
e.g., A ∨ B,
B∧L⇒M
C
A∧P ⇒L
A sentence is unsatisfiable if it is true in no models
A∧B ⇒L
e.g., A ∧ ¬A
A
Satisfiability is connected to inference via the following:
B
KB |= α if and only if (KB ∧ ¬α) is unsatisfiable
5:41
i.e., prove α by reductio ad absurdum
5:38
Forward chaining example
Proof methods
Proof methods divide into (roughly) two kinds:
Application of inference rules
– Legitimate (sound) generation of new sentences from old
– Proof = a sequence of inference rule applications
Can use inference rules as operators in a standard search
alg.
– Typically require translation of sentences into a normal form
Model checking
truth table enumeration (always exponential in n)
improved backtracking, e.g., Davis–Putnam–Logemann–Loveland
(see book)
5:42
heuristic search in model space (sound but incomplete)
e.g., min-conflicts-like hill-climbing algorithms
5:39
Forward chaining example
32
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
5:43
Forward chaining example
5:46
Forward chaining example
5:44
Forward chaining example
5:47
Forward chaining example
5:45
Forward chaining example
5:48
Forward chaining example
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
33
Backward chaining
Idea: work backwards from the query q:
to prove q by BC,
check if q is known already, or
prove by BC all premises of some rule concluding q
Avoid loops: check if new subgoal is already on the goal stack
Avoid repeated work: check if new subgoal
1) has already been proved true, or
2) has already failed
5:52
5:49
Backward chaining example
Forward chaining algorithm
function PL-FC-E NTAILS ?(KB, q) returns true or false
inputs: KB, the knowledge base, a set of propositional Horn clauses
q, the query, a proposition symbol
local variables: count, a table, indexed by clause, initially the number
of premises
inferred, a table, indexed by symbol, each entry initially
false
agenda, a list of symbols, initially the symbols known
in KB
while agenda is not empty do
p ← P OP(agenda)
unless inferred[p] do
inferred[p] ← true
for each Horn clause c in whose premise p appears do
decrement count[c]
if count[c] = 0 then do
if H EAD[c] = q then return true
P USH(H EAD[c], agenda)
return false
5:53
5:50
Backward chaining example
Proof of completeness
FC derives every atomic sentence that is entailed by KB
1. FC reaches a fixed point where no new atomic sentences are
derived
2. Consider the final state as a model m, assigning true/false to
symbols
3. Every clause in the original KB is true in m
Proof : Suppose a clause a1 ∧ . . . ∧ ak ⇒ b is false in m
Then a1 ∧ . . . ∧ ak is true in m and b is false in m
Therefore the algorithm has not reached a fixed point!
4. Hence m is a model of KB
5. If KB |= q, q is true in every model of KB, including m
5:54
General idea: construct any model of KB by sound inference,
check α
5:51
Backward chaining example
34
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
5:55
Backward chaining example
5:58
Backward chaining example
5:56
Backward chaining example
5:59
Backward chaining example
5:57
Backward chaining example
5:60
Backward chaining example
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
35
where `i and mj are complementary literals. E.g.,
P1,3 ∨ P2,2 ,
P1,3
¬P2,2
Resolution is sound and complete for propositional logic
5:64
Conversion to CNF
B1,1 ⇔ (P1,2 ∨ P2,1 )
1. Eliminate ⇔, replacing α ⇔ β with (α ⇒ β) ∧ (β ⇒ α).
(B1,1 ⇒ (P1,2 ∨ P2,1 )) ∧ ((P1,2 ∨ P2,1 ) ⇒ B1,1 )
5:61
Backward chaining example
2. Eliminate ⇒, replacing α ⇒ β with ¬α ∨ β.
(¬B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬(P1,2 ∨ P2,1 ) ∨ B1,1 )
3. Move ¬ inwards using de Morgan’s rules and double-negation:
(¬B1,1 ∨ P1,2 ∨ P2,1 ) ∧ ((¬P1,2 ∧ ¬P2,1 ) ∨ B1,1 )
4. Apply distributivity law (∨ over ∧) and flatten:
(¬B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬P1,2 ∨ B1,1 ) ∧ (¬P2,1 ∨ B1,1 )
5:65
Resolution algorithm
5:62
Proof by contradiction, i.e., show KB ∧ ¬α unsatisfiable
function PL-R ESOLUTION(KB, α) returns true or false
inputs: KB, the knowledge base, a sentence in propositional logic
α, the query, a sentence in propositional logic
Forward vs. backward chaining
FC is data-driven, cf. automatic, unconscious processing,
e.g., object recognition, routine decisions
May do lots of work that is irrelevant to the goal
BC is goal-driven, appropriate for problem-solving,
e.g., Where are my keys? How do I get into a PhD pro-
clauses ← the set of clauses in the CNF representation of KB ∧ ¬α
new ← { }
loop do
for each Ci , Cj in clauses do
resolvents ← PL-R ESOLVE(Ci , Cj )
if resolvents contains the empty clause then return true
new ← new ∪ resolvents
if new ⊆ clauses then return false
clauses ← clauses ∪ new
gram?
5:66
Complexity of BC can be much less than linear in size of KB
5:63
Resolution
Resolution example
KB = (B1,1 ⇔ (P1,2 ∨ P2,1 )) ∧ ¬B1,1
α = ¬P1,2
Conjunctive Normal Form (CNF—universal)
conjunction of disjunctions of literals
|
{z
}
clauses
E.g., (A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬D)
Resolution inference rule (for CNF): complete for propositional
logic
5:67
`1 ∨ · · · ∨ `k ,
m1 ∨ · · · ∨ mn
`1 ∨ · · · ∨ `i−1 ∨ `i+1 ∨ · · · ∨ `k ∨ m1 ∨ · · · ∨ mj−1 ∨ mj+1 ∨ · · · ∨ mn
36
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Summary
Modus Ponens rule: complete for Horn KBs
α1 ,...,αn ,
α1 ∧···∧αn ⇒
β
Resolution rule: complete for propositional logic in CNF, let “`i =
Logical agents apply inference to a knowledge base
¬mj ”:
to derive new information and make decisions
`1 ∨···∨`k ,
m1 ∨···∨mn
`1 ∨···∨`i−1 ∨`i+1 ∨···∨`k ∨m1 ∨···∨mj−1 ∨mj+1 ∨···∨mn
Basic concepts of logic:
5:70
– syntax: formal structure of sentences
– semantics: truth of sentences wrt models
– entailment: necessary truth of one sentence given another
– inference: deriving sentences from other sentences
– soundness: derivations produce only entailed sentences
– completeness: derivations can produce all entailed sentences
Wumpus world requires the ability to represent partial and negated
information, reason by cases, etc.
Forward, backward chaining are linear-time, complete for Horn
clauses
Resolution is complete for propositional logic
Propositional logic lacks expressive power
5:68
Dictionary: logic in general
a logic: a language, elements α are sentences, (grammar example: slide 34)
model m: a world/state description that allows us to evaluate
α(m) ∈ {true, false} uniquely for any sentence α, M (α) =
{m : α(m) = true}
entailment α |= β:
M (α) ⊆ M (β), “∀m : α(m) ⇒ β(m)”
(Folgerung)
equivalence α ≡ β: iff (α |= β and β |= α)
KB: a set of sentences
inference procedure i can infer α from KB: KB `i α
soundness of i: KB `i α implies KB |= α
(Korrektheit)
completeness of i: KB |= α implies KB `i α
5:69
Dictionary: propositional logic
conjunction: α ∧ β, disjunction: α ∨ β, negation: ¬α
implication: α ⇒ β ≡ ¬α∨β, biconditional: α ⇔ β ≡ (α ⇒ β)∧
(β ⇒ α)
Note: |= and ≡ are statements about sentences in a logic; ⇒
and ⇔ are symbols in the grammar of propositional logic
α valid: true for any model, e.g.: KB |= α iff [(KB ⇒ α) is
valid]
(allgemeingultig)
¨
α unsatisfiable: true for no model, e.g.: KB |= α iff [(KB ∧¬α)
is unsatisfiable]
literal: A or ¬A, clause: disjunction of literals, CNF: conjunction
of clauses
Horn clause: symbol | (conjunction of symbols ⇒ symbol), Horn
form: conjunction of Horn clauses
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
8
37
First Order Logic
6:4
Syntax of FOL: Basic elements
Constants
Predicates
Functions
Variables
Connectives
Equality
Quantifiers
Outline
• Why FOL?
• Syntax and semantics of FOL
• Example sentences
KingJohn, 2, U CB, . . .
Brother, >, . . .
Sqrt, Lef tLegOf, . . .
x, y, a, b, . . .
∧ ∨ ¬ ⇒ ⇔
=
∀∃
6:5
• Wumpus world in FOL
6:1
Pros and cons of propositional logic
First Order Logic: Syntax grammar
hsentencei
→
hatomic sentencei
| hcomplex sentencei
| [∀ | ∃] hvariablei hsentencei
hatomic sentencei
→
predicate(htermi,. . . )
| htermi=htermi
htermi
→
function(htermi,. . . )
| constant
| variable
hcomplex sentencei
→
¬ hsentencei
| (hsentencei [∧ | ∨ | ⇒ | ⇔ ] hsente
Pros:
Propositional logic is declarative: pieces of syntax correspond
to facts
Propositional logic allows partial/disjunctive/negated information
(unlike most data structures and databases)
Propositional logic is compositional:
meaning of B1,1 ∧ P1,2 is derived from meaning of B1,1 and of
P1,2
6:6
Meaning in propositional logic is context-independent
(unlike natural language, where meaning depends on context)
Universal quantification
∀ hvariablesi hsentencei
Cons:
Everyone at Berkeley is smart:
Propositional logic has very limited expressive power
(unlike
natural language)
∀ x At(x, Berkeley) ⇒ Smart(x)
∀x P
E.g., cannot say “pits cause breezes in adjacent squares”
is true in a model m iff P is true with x being
each possible object in the model
except by writing one sentence for each square
6:7
6:2
Existential quantification
First-order logic
∃ hvariablesi hsentencei
Whereas propositional logic assumes world contains facts,
first-order logic (like natural language) assumes the world con-
Someone at Stanford is smart:
∃ x At(x, Stanf ord) ∧ Smart(x)
tains
∃x P
• Objects: people, houses, numbers, theories, Ronald Mc-
is true in a model m iff P is true with x being
some possible object in the model
Donald, colors, baseball games, wars, centuries . . .
6:8
• Relations: red, round, bogus, prime, multistoried . . .,
brother of, bigger than, inside, part of, has color, occurred
after, owns, comes between, . . .
Properties of quantifiers
∀ x ∀ y is the same as ∀ y ∀ x
• Functions: father of, best friend, third inning of, one more
than, end of . . .
∃ x ∃ y is the same as ∃ y ∃ x
∃ x ∀ y is not the same as ∀ y ∃ x
6:3
∃ x ∀ y Loves(x, y)
“There is a person who loves everyone in the world”
Logics in general
Language
Ontological
Commitment
Epistemological
Commitment
Propositional logic
First-order logic
Temporal logic
Probability theory
Fuzzy logic
facts
facts, objects, relations
facts, objects, relations, times
facts
facts + degree of truth
true/false/unknown
true/false/unknown
true/false/unknown
degree of belief
known interval value
∀ y ∃ x Loves(x, y)
“Everyone in the world is loved by at least one person”
Quantifier duality: each can be expressed using the other
∀ x Likes(x, IceCream)
∃ x Likes(x, Broccoli)
¬∃ x ¬Likes(x, IceCream)
¬∀ x ¬Likes(x, Broccoli)
38
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Example sentences
6:9
Brothers are siblings
Truth in first-order logic
∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric
Sentences are true with respect to a model and an interpretation
6:14
Model contains ≥ 1 objects (domain elements) and relations
among them
Example sentences
Interpretation specifies referents for
constant symbols → objects (domain elements)
Brothers are siblings
predicate symbols → relations
∀ x, y Brother(x, y) ⇒ Sibling(x, y).
function symbols → functional relations
“Sibling” is symmetric
An atomic sentence predicate(term1 , . . . , termn ) is true
iff the objects referred to by term1 , . . . , termn
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
are in the relation referred to by predicate
One’s mother is one’s female parent
6:15
6:10
Example sentences
Models for FOL: Example
Brothers are siblings
∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
One’s mother is one’s female parent
∀ x, y M other(x, y) ⇔ (F emale(x) ∧ P arent(x, y)).
A first cousin is a child of a parent’s sibling
6:16
Example sentences
Brothers are siblings
∀ x, y Brother(x, y) ⇒ Sibling(x, y).
6:11
“Sibling” is symmetric
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
Models for FOL: Lots!
One’s mother is one’s female parent
Entailment in propositional logic can be computed by enumerat-
∀ x, y M other(x, y) ⇔ (F emale(x) ∧ P arent(x, y)).
ing models
A first cousin is a child of a parent’s sibling
We can enumerate the FOL models for a given KB vocabulary:
∀ x, y F irstCousin(x, y) ⇔ ∃ p, ps P arent(p, x)∧Sibling(ps, p)∧
For each number of domain elements n from 1 to ∞
P arent(ps, y)
For each k-ary predicate Pk in the vocabulary
6:17
For each possible k-ary relation on n objects
For each constant symbol C in the vocabulary
For each choice of referent for C from n objects . . .
8.1
FOL description of interactive domains
Computing entailment by enumerating FOL models is not easy!
6:18
6:12
Knowledge base for the wumpus world
Example sentences
“Perception”
Brothers are siblings
∀ b, g, t P ercept([Smell, b, g], t) ⇒ Smelt(t)
6:13
∀ s, b, t P ercept([s, b, Glitter], t) ⇒ AtGold(t)
Reflex: ∀ t AtGold(t) ⇒ Action(Grab, t)
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Reflex with internal state: do we have the gold already?
39
Each axiom is “about” a predicate (not an action per se):
∀ t AtGold(t) ∧ ¬Holding(Gold, t) ⇒ Action(Grab, t)
P true afterwards
Holding(Gold, t) cannot be observed
⇔
[an action made P true
∨
P true already and no action made P false
⇒ keeping track of change is essential
6:19
For holding the gold:
Deducing hidden properties
∀ a, s Holding(Gold, Result(a, s)) ⇔
Properties of locations:
[(a = Grab ∧ AtGold(s))
∀ x, t At(Agent, x, t) ∧ Smelt(t) ⇒ Smelly(x)
∨ (Holding(Gold, s) ∧ a 6= Release)]
∀ x, t At(Agent, x, t) ∧ Breeze(t) ⇒ Breezy(x)
6:23
Squares are breezy near a pit:
∀ y Breezy(y) ⇔ [∃ x P it(x) ∧ Adjacent(x, y)]
Planning Domain Definition Language (PDDL)
Implies two rules:
The Situation Calculus is very general, but not concise
Diagnostic rule—infer cause from effect
The AI community developed as simpler format (based on STRIPS)
∀ y Breezy(y) ⇒ ∃ x P it(x) ∧ Adjacent(x, y)
for the 1998/2000 International Planning Competition (IPC)
Causal rule—infer effect from cause
∀ x, y P it(x) ∧ Adjacent(x, y) ⇒ Breezy(y)
6:20
Keeping track of change: Situation Calculus
Facts hold in situations, rather than eternally
E.g., Holding(Gold, N ow) rather than just Holding(Gold)
Situation calculus is one way to represent change in FOL:
Adds a situation argument to each non-eternal predicate
6:24
E.g., N ow in Holding(Gold, N ow) denotes a situation
Situations are connected by the Result function
PDDL
Result(a, s) is the situation that results from doing a in s
The precondition specifies if an action predicate is applicable in
a given situation
The effect determines the changed facts
Frame assumption: All facts not mentioned in the effect remain
unchanged.
6:21
Describing actions I: Frame problem
The majority of state-of-the-art AI planners use this format
FFplan: (B. Nebel, Freiburg) a forward chaining heuristic
“Effect” axiom—describe changes due to action
state space planner
∀ s AtGold(s) ⇒ Holding(Gold, Result(Grab, s))
For probabilistic versions of PDDL:
T. Lang and M. Toussaint: Planning with noisy probabilistic relational rules.
JAIR, 2010.
“Frame” axiom—describe non-changes due to action
∀ s HaveArrow(s) ⇒ HaveArrow(Result(Grab, s))
6:25
Frame problem: find an elegant way to handle non-change
(a) representation—avoid frame axioms
Planning as FOL inference
(b) inference—avoid repeated “copy-overs” to keep track of
state
A general approach to planning is to query the KB for a plan that
6:22
Describing actions II
Successor-state axioms solve the representational frame problem
fulfills a goal condition
There is debate and ongoing research on this versus fwd search
6:26
40
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Substitution
Suppose a wumpus-world agent is using an FOL KB
and perceives a smell and a breeze (but no glitter) at s:
T ELL(KB, P ercept([Smell, Breeze, N one], s))
A SK(KB, ∃ a Action(a, s))
I.e., does KB entail any particular actions at s?
Answer: Y es, {a/Shoot}
← substitution (binding list)
Given a sentence S and a substitution σ,
Sσ denotes the result of plugging σ into S; e.g.,
S = Smarter(x, y)
σ = {x/Hillary, y/Bill}
Sσ = Smarter(Hillary, Bill)
A SK (KB,S) returns some/all σ such that KB |= Sσ
6:27
Making plans as inference over plans
Represent plans as action sequences [a1 , a2 , . . . , an ]
P lanResult(p, s) is the result of executing p in s
Then the query A SK(KB, ∃ p Holding(Gold, P lanResult(p, S0 )))
has the solution {p/[F orward, Grab]}
Definition of P lanResult in terms of Result:
∀ s P lanResult([ ], s) = s
∀ a, p, s P lanResult([a|p], s) = P lanResult(p, Result(a, s))
6:28
Summary
First-order logic:
– objects and relations are semantic primitives
– syntax: constants, functions, predicates, equality, quantifiers
Increased expressive power: sufficient to define wumpus world
Situation calculus:
– convention for describing actions and change in FOL
– can formulate planning as inference on a situation calculus
KB
Planning Domain Definition Language (PDDL):
– more common restricted language
– more concise because of the frame assumption
– directly lends to forward chaining methods (like FFplan)
6:29
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
9
First Order Logic – Inference
41
Existential instantiation contd.
UI can be applied several times to add new sentences;
the new KB is logically equivalent to the old
Outline
EI can be applied once to replace the existential sentence;
the new KB is not equivalent to the old,
• Reducing first-order inference to propositional inference
but is satisfiable iff the old KB was satisfiable
• Unification
7:5
• Generalized Modus Ponens
Reduction to propositional inference
• Forward and backward chaining
• Resolution
Suppose the KB contains just the following:
7:1
∀ x King(x) ∧ Greedy(x) ⇒ Evil(x)
King(John)
Greedy(John)
Brother(Richard, John)
A brief history of reasoning
450B . C.
322B . C.
1565
1847
1879
1922
1930
1930
1931
1960
1965
Stoics
Aristotle
Cardano
Boole
Frege
Wittgenstein
¨
Godel
Herbrand
¨
Godel
Davis/Putnam
Robinson
propositional logic, inference (maybe)
“syllogisms” (inference rules), quantifiers
probability theory (propositional logic + uncertainty)
propositional logic (again)
first-order logic
proof by truth tables
∃ complete algorithm for FOL
complete algorithm for FOL (reduce to propositional)
¬∃ complete algorithm for arithmetic
“practical” algorithm for propositional logic
“practical” algorithm for FOL—resolution
Instantiating the universal sentence in all possible ways, we
have
King(John) ∧ Greedy(John) ⇒ Evil(John)
King(Richard) ∧ Greedy(Richard) ⇒ Evil(Richard)
King(John)
Greedy(John)
Brother(Richard, John)
7:2
The new KB is propositionalized: proposition symbols are King(Joh
Universal instantiation (UI)
7:6
Every instantiation of a universally quantified sentence is en-
Reduction contd.
tailed by it:
∀v α
S UBST({v/g}, α)
Idea: propositionalize KB and query, apply resolution, return result
for any variable v and ground term g
Problem: with function symbols, there are infinitely many ground
7:3
terms,
e.g., F ather(F ather(F ather(John)))
Existential instantiation (EI)
Theorem: Herbrand (1930). If a sentence α is entailed by an
FOL KB,
For any sentence α, variable v, and constant symbol k
it is entailed by a finite subset of the propositional KB
that does not appear elsewhere in the knowledge base:
Idea: For n = 0 to ∞ do
∃v α
S UBST({v/k}, α)
create a propositional KB by instantiating with depth-n terms
see if α is entailed by this KB
Problem: works if α is entailed, loops if α is not entailed
Theorem: Turing (1936), Church (1936), entailment in FOL is
E.g., ∃ x Crown(x) ∧ OnHead(x, John) yields
semidecidable
Crown(C1 ) ∧ OnHead(C1 , John)
7:7
provided C1 is a new constant symbol, called a Skolem constant
Problems with propositionalization
Another example: from ∃ x d(xy )/dy = xy we obtain
Propositionalization seems to generate lots of irrelevant sentences.
d(ey )/dy = ey
E.g., from
provided e is a new constant symbol
7:4
∀ x King(x) ∧ Greedy(x) ⇒ Evil(x)
King(John)
∀ y Greedy(y)
Brother(Richard, John)
42
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
it seems obvious that Evil(John), but propositionalization pro-
Unification
duces lots of facts such as Greedy(Richard) that are irrelevant
With p k-ary predicates and n constants, there are p · nk instan-
We can get the inference immediately if we can find a substitution θ
tiations
such that King(x) and Greedy(x) match King(John) and Greedy(y
With function symbols, it gets much much worse!
7:8
θ = {x/John, y/John} works
U NIFY(α, β) = θ if αθ = βθ
Unification
We can get the inference immediately if we can find a substitution θ
such that King(x) and Greedy(x) match King(John) and Greedy(y)
θ = {x/John, y/John} works
p
Knows(John, x)
Knows(John, x)
Knows(John, x)
Knows(John, x)
q
Knows(John, Jane)
Knows(y, OJ)
Knows(y, M other(y))
Knows(x, OJ)
θ
{x/Jane}
{x/OJ, y/John}
{y/John, x/M other(
U NIFY(α, β) = θ if αθ = βθ
7:12
p
Knows(John, x)
Knows(John, x)
Knows(John, x)
Knows(John, x)
q
Knows(John, Jane)
Knows(y, OJ)
Knows(y, M other(y))
Knows(x, OJ)
θ
Unification
We can get the inference immediately if we can find a substitution θ
7:9
such that King(x) and Greedy(x) match King(John) and Greedy(y
θ = {x/John, y/John} works
Unification
U NIFY(α, β) = θ if αθ = βθ
We can get the inference immediately if we can find a substitution θ
such that King(x) and Greedy(x) match King(John) and Greedy(y)
θ = {x/John, y/John} works
U NIFY(α, β) = θ if αθ = βθ
p
Knows(John, x)
Knows(John, x)
Knows(John, x)
Knows(John, x)
q
Knows(John, Jane)
Knows(y, OJ)
Knows(y, M other(y))
Knows(x, OJ)
θ
{x/Jane}
p
Knows(John, x)
Knows(John, x)
Knows(John, x)
Knows(John, x)
q
Knows(John, Jane)
Knows(y, OJ)
Knows(y, M other(y))
Knows(x, OJ)
θ
{x/Jane}
{x/OJ, y/John}
{y/John, x/M other(
f ail
Standardizing apart eliminates overlap of variables, e.g., Knows(z17
7:13
Generalized Modus Ponens (GMP)
7:10
Unification
p1 0 , p2 0 , . . . , pn 0 , (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q)
qθ
where pi 0 θ = pi θ for all i
We can get the inference immediately if we can find a substitution θ
p1 0 is King(John)
p2 0 is Greedy(y)
θ is {x/John, y/John}
qθ is Evil(John)
such that King(x) and Greedy(x) match King(John) and Greedy(y)
θ = {x/John, y/John} works
U NIFY(α, β) = θ if αθ = βθ
p
Knows(John, x)
Knows(John, x)
Knows(John, x)
Knows(John, x)
q
Knows(John, Jane)
Knows(y, OJ)
Knows(y, M other(y))
Knows(x, OJ)
θ
{x/Jane}
{x/OJ, y/John}
p1 is King(x)
p2 is Greedy(x)
q is Evil(x)
GMP used with KB of definite clauses (exactly one positive literal)
All variables assumed universally quantified
7:14
7:11
Forward chaining algorithm
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
43
Resolution: brief summary
Full first-order version:
function FOL-FC-A SK(KB, α) returns a substitution or false
repeat until new is empty
new ← { }
for each sentence r in KB do
( p 1 ∧ . . . ∧ p n ⇒ q) ← S TANDARDIZE -A PART(r)
for each θ such that (p 1 ∧ . . . ∧ p n )θ = (p 01 ∧ . . . ∧ p 0n )θ
for some p 01 , . . . , p 0n in KB
q 0 ← S UBST(θ, q)
if q 0 is not a renaming of a sentence already in KB or new
then do
add q 0 to new
φ ← U NIFY(q 0 , α)
if φ is not fail then return φ
add new to KB
return false
`1 ∨ · · · ∨ `k ,
m1 ∨ · · · ∨ mn
(`1 ∨ · · · ∨ `i−1 ∨ `i+1 ∨ · · · ∨ `k ∨ m1 ∨ · · · ∨ mj−1 ∨ mj+1 ∨ · · · ∨ mn )θ
where U NIFY(`i , ¬mj ) = θ.
For example,
¬Rich(x) ∨ U nhappy(x)
Rich(Ken)
U nhappy(Ken)
with θ = {x/Ken}
Apply resolution steps to CN F (KB ∧ ¬α); complete for FOL
7:19
7:15
Conversion to CNF
Properties of forward chaining
Everyone who loves all animals is loved by someone:
Sound and complete for first-order definite clauses
∀ x [∀ y Animal(y) ⇒ Loves(x, y)] ⇒ [∃ y Loves(y, x)]
(proof similar to propositional proof)
1. Eliminate biconditionals and implications
Datalog = first-order definite clauses + no functions (e.g., crime
∀ x [¬∀ y ¬Animal(y) ∨ Loves(x, y)] ∨ [∃ y Loves(y, x)]
KB)
k
FC terminates for Datalog in poly iterations: at most p·n literals
2. Move ¬ inwards: ¬∀ x, p ≡ ∃ x ¬p, ¬∃ x, p ≡ ∀ x ¬p:
May not terminate in general if α is not entailed
This is unavoidable: entailment with definite clauses is semidecidable
∀ x [∃ y ¬(¬Animal(y) ∨ Loves(x, y))] ∨ [∃ y Loves(y, x)]
∀ x [∃ y ¬¬Animal(y) ∧ ¬Loves(x, y)] ∨ [∃ y Loves(y, x)]
∀ x [∃ y Animal(y) ∧ ¬Loves(x, y)] ∨ [∃ y Loves(y, x)]
7:16
7:20
Backward chaining algorithm
Conversion to CNF contd.
function FOL-BC-A SK(KB, goals, θ) returns a set of substitutions
inputs: KB, a knowledge base
goals, a list of conjuncts forming a query (θ already applied)
θ, the current substitution, initially the empty substitution { }
local variables: answers, a set of substitutions, initially empty
if goals is empty then return {θ}
q 0 ← S UBST(θ, F IRST(goals))
for each sentence r in KB
where S TANDARDIZE -A PART(r) = ( p 1 ∧ . . . ∧ p n ⇒ q)
and θ0 ← U NIFY(q, q 0 ) succeeds
new goals ← [ p 1 , . . . , p n |R EST(goals)]
answers ← FOL-BC-A SK(KB, new goals, C OMPOSE(θ0 , θ)) ∪ answers
return answers
3. Standardize variables: each quantifier should use a different
one
∀ x [∃ y Animal(y) ∧ ¬Loves(x, y)] ∨ [∃ z Loves(z, x)]
4. Skolemize: a more general form of existential instantiation.
Each existential variable is replaced by a Skolem function
of the enclosing universally quantified variables:
∀ x [Animal(F (x)) ∧ ¬Loves(x, F (x))] ∨ Loves(G(x), x)
7:17
5. Drop universal quantifiers:
Properties of backward chaining
[Animal(F (x)) ∧ ¬Loves(x, F (x))] ∨ Loves(G(x), x)
Depth-first recursive proof search: space is linear in size of proof
6. Distribute ∧ over ∨:
Incomplete due to infinite loops
⇒ fix by checking current goal against every goal on stack
[Animal(F (x))∨Loves(G(x), x)]∧[¬Loves(x, F (x))∨Loves(G(x), x
Inefficient due to repeated subgoals (both success and failure)
⇒ fix using caching of previous results (extra space!)
7:21
Widely used (without improvements!) for logic programming
7:18
44
10
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Probabilities
• Utilities, decision theory, entropy, KLD
8:3
Probability: Frequentist and Bayesian
Objective Probability
• Frequentist probabilities are defined in the limit of an infinite
number of trials
Example: “The probability of a particular coin landing heads up is 0.43”
The double slit experiment:
x
• Bayesian (subjective) probabilities quantify degrees of belief
Example: “The probability of it raining tomorrow is 0.3”
– Not possible to repeat “tomorrow”
θ
8:4
P
10.1
Basic definitions
8:5
Probabilities & Sets
• Sample Space/domain O, e.g. O = {1, 2, 3, 4, 5, 6}
• Probability P : A ⊂ O 7→ [0, 1]
e.g., P ({1}) = 16 , P ({4}) = 16 , P ({2, 5}) = 31 ,
8:1
• Axioms: ∀A, B ⊆ O
Probability Theory
– Nonnegativity P (A) ≥ 0
– Additivity P (A ∪ B) = P (A) + P (B) if A ∩ B = { }
• Why do we need probabilities?
– Normalization P (O) = 1
– Obvious: to express inherent (objective) stochasticity of the
world
• Implications
0 ≤ P (A) ≤ 1
• But beyond this: (also in a “deterministic world”):
– lack of knowledge!
P ({ }) = 0
A ⊆ B ⇒ P (A) ≤ P (B)
– hidden (latent) variables
P (A ∪ B) = P (A) + P (B) − P (A ∩ B)
– expressing uncertainty
P (O \ A) = 1 − P (A)
– expressing information (and lack of information)
– Subjective Probability
8:6
Probabilities & Random Variables
• Probability Theory: an information calculus
8:2
• For a random variable X with discrete domain dom(X) = O we
write:
Outline
• Basic definitions
– Random variables
– joint, conditional, marginal distribution
– Bayes’ theorem
• Probability distributions:
– Binomial & Beta
– Multinomial & Dirichlet
– Conjugate priors
– Gauss
– Dirak & Particles
∀x∈O : 0 ≤ P (X = x) ≤ 1
P
P (X = x) = 1
x∈O
Example: A dice can take values O = {1, .., 6}.
X is the random variable of a dice throw.
P (X = 1) ∈ [0, 1] is the probability that X takes value 1.
• A bit more formally: a random variable is a map from a measureable
space to a domain (sample space) and thereby introduces a probability
measure on the domain (“assigns a probability to each possible value”)
8:7
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
45
Probabilty Distributions
likelihood · prior
normalization
posterior =
• P (X = 1) ∈ R denotes a specific probability
8:11
P (X) denotes the probability distribution (function over O)
Multiple RVs:
Example: A dice can take values O = {1, 2, 3, 4, 5, 6}.
By P (X) we discribe the full distribution over possible values {1, .., 6}.
These are 6 numbers that sum to one, usually stored in a table, e.g.:
[ 16 , 16 , 61 , 16 , 16 , 16 ]
• Analogously for n random variables X1:n (stored as a rank n
tensor)
Joint:
• In implementations we typically represent distributions over discrete random variables as tables (arrays) of numbers
P (X1:n )
Marginal:
P (X1:n ),
X2:n
P (X1 |X2:n ) =
Conditional:
• Notation for summing over a RV:
P
P (X1 ) =
P (X1:n )
P (X2:n )
• X is conditionally independent of Y given Z iff:
In equation we often needP
to sum over RVs. We then write
X P (X) · · ·
P
as shorthand for the explicit notation x∈dom(X) P (X = x) · · ·
P (X|Y, Z) = P (X|Z)
8:8
Joint distributions
• Product rule and Bayes’ Theorem:
P (X1:n ) =
Qn
i=1
P (X, Z, Y )
P (X|Y, Z) P (Y |Z) P (Z)
P (Xi |Xi+1:n )
P (X1 |X2:n ) =
P (X2 |X1 ,X3:n ) P (X1 |X3:n )
P (X2 |X3:n )
Assume we have two random variables X and Y
=
P (X|Y, Z) =
P (Y |X,Z) P (X|Z)
P (Y |Z)
P (X, Y |Z) =
P (X,Z|Y ) P (Y )
P (Z)
8:12
• Definitions:
Joint:
P (X, Y )
Marginal:
10.2
P (X) =
Conditional:
P
Y
Probability distributions
P (X, Y )
P (X|Y ) =
P (X,Y )
P (Y )
The conditional is normalized: ∀Y :
P
X
Bishop, C. M.: Pattern Recognition and Machine Learning.
Springer, 2006
http://research.
microsoft.com/en-us/um/
people/cmbishop/prml/
P (X|Y ) = 1
• X is independent of Y iff: P (X|Y ) = P (X)
(table thinking: all columns of P (X|Y ) are equal)
8:9
Joint distributions
8:13
Bernoulli & Binomial
joint: P (X, Y )
P
marginal: P (X) = Y P (X, Y )
conditional:
P (X|Y ) =
• We have a binary random variable x ∈ {0, 1}
P (X,Y )
P (Y )
{0, 1})
The Bernoulli distribution is parameterized by a single scalar µ,
• Implications of these definitions:
Product rule:
(i.e. dom(x) =
P (x = 1 | µ) = µ ,
P (X, Y ) = P (X|Y ) P (Y ) = P (Y |X) P (X)
P (x = 0 | µ) = 1 − µ
Bern(x | µ) = µx (1 − µ)1−x
Bayes’ Theorem:
P (X|Y ) =
P (Y |X) P (X)
P (Y )
• We have a data set of random variables D = {x1 , .., xn }, each
xi ∈ {0, 1}. If each xi ∼ Bern(xi | µ) we have
8:10
P (D | µ) =
Bayes’ Theorem
Qn
i=1
argmax log P (D | µ) = argmax
µ
P (X|Y ) =
Bern(xi | µ) =
P (Y |X) P (X)
P (Y )
µ
n
X
Qn
i=1
µxi (1 − µ)1−xi
xi log µ + (1 − xi ) log(1 − µ) =
i=1
• The Binomial distribution is the distribution over the count m =
Pn
i=1 xi


n  µm (1 − µ)n−m ,
Bin(m | n, µ) = 


m



n!
n =

(n − m)! m!
m

1X
ni
46
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
8:14
Beta
Multinomial
• We have an integer random variable x ∈ {1, .., K}
The probability of a single x can be parameterized by µ = (µ1 , .., µK )
How to express uncertainty over a Bernoulli parameter µ
• The Beta distribution is over the interval [0, 1], typically the pa-
P (x = k | µ) = µk
rameter µ of a Bernoulli:
with the constraint
1
Beta(µ | a, b) =
µa−1 (1 − µ)b−1
B(a, b)
with mean hµi =
a
a+b
and mode µ∗ =
a−1
a+b−2
PK
k=1
µk = 1 (probabilities need to be nor-
malized)
• We have a data set of random variables D = {x1 , .., xn }, each
for a, b > 1
xi ∈ {1, .., K}. If each xi ∼ P (xi | µ) we have
• The crucial point is:
– Assume we are in a world with a “Bernoulli source” (e.g.,
binary bandit), but don’t know its parameter µ
– Assume we have a prior distribution P (µ) = Beta(µ | a, b)
P (D | µ) =
where mk =
i=1
Pn
µx i =
i=1 [xi
Qn
i=1
[x =k]
QK
k=1
µk i
=
QK
k=1
m
µk k
= k] is the count of [xi = k]. The ML
estimator is
– Assume we collected some
P data D = {x1 , .., xn },
Pxi ∈
{0, 1}, with counts aD = i xi of [xi = 1] and bD = i (1 −
xi ) of [xi = 0]
– The posterior is
Qn
argmax log P (D | µ) =
µ
1
(m1 , .., mK )
n
• The Multinomial distribution is this distribution over the counts
P (D | µ)
P (µ) ∝ Bin(D | µ) Beta(µ | a, b)
P (µ | D) =
P (D)
mk
∝ µaD (1 − µ)bD µa−1 (1 − µ)b−1 = µa−1+aD (1 − µ)b−1+bD
Mult(m1 , .., mK | n, µ) ∝
QK
k=1
m
µk k
= Beta(µ | a + aD , b + bD )
8:18
8:15
Dirichlet
Beta
How to express uncertainty over a Multinomial parameter µ
The prior is Beta(µ | a, b), the posterior is Beta(µ | a + aD , b + bD )
• Conclusions:
– The semantics of a and b are counts of [xi = 1] and [xi = 0],
respectively
– The Beta distribution is conjugate to the Bernoulli (explained later)
– With the Beta distribution we can represent beliefs (state
of knowledge) about uncertain µ ∈ [0, 1] and know how to
update this belief given data
8:16
• The Dirichlet distribution is over the K-simplex, that is, over
P
µ1 , .., µK ∈ [0, 1] subject to the constraint K
k=1 µk = 1:
Dir(µ | α) ∝
QK
k=1
α −1
µk k
It is parameterized by α = (α1 , .., αK ), has mean hµi i =
and mode µ∗i =
Pαi −1
j αj −K
Pαi
j αj
for ai > 1.
• The crucial point is:
– Assume we are in a world with a “Multinomial source” (e.g.,
an integer bandit), but don’t know its parameter µ
– Assume we have a prior distribution P (µ) = Dir(µ | α)
– Assume we collected someP
data D = {x1 , .., xn }, xi ∈
{1, .., K}, with counts mk = i [xi = k]
Beta
– The posterior is
P (D | µ)
P (µ) ∝ Mult(D | µ) Dir(µ | a, b)
P (D)
QK
Q
m QK
αk −1
αk −1+mk
∝ k=1 µk k
= K
k=1 µk
k=1 µk
P (µ | D) =
= Dir(µ | α + m)
8:19
Dirichlet
from Bishop
The prior is Dir(µ | α), the posterior is Dir(µ | α + m)
8:17
• Conclusions:
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
47
Conjugate priors
– The semantics of α is the counts of [xi = k]
– The Dirichlet distribution is conjugate to the Multinomial
– With the Dirichlet distribution we can represent beliefs (state
of knowledge) about uncertain µ of an integer random variable and know how to update this belief given data
likelihood
Binomial Bin(D | µ)
Multinomial
Mult(D | µ)
Gauss N(x | µ, Σ)
1D
Gauss
N(x | µ, λ-1 )
nD
Gauss
N(x | µ, Λ-1 )
nD
Gauss
N(x | µ, Λ-1 )
8:20
Dirichlet
Illustrations for α = (0.1, 0.1, 0.1), α = (1, 1, 1) and α = (10, 10, 10):
conjugate
Beta Beta(µ | a, b)
Dirichlet Dir(µ | α)
Gauss N(µ | µ0 , A)
Gamma Gam(λ | a, b)
Wishart Wish(Λ | W, ν)
Gauss-Wishart
N(µ | µ0 , (βΛ)-1 ) Wish(Λ | W, ν)
8:24
from Bishop
Distributions over continuous domain
8:21
Motivation for Beta & Dirichlet distributions
• Bandits:
– If we have binary [integer] bandits, the Beta [Dirichlet] distribution is a way to represent and update beliefs
8:25
Distributions over continuous domain
• Let x be a continuous RV. The probability density function
(pdf) p(x) ∈ [0, ∞) defines the probability
– The belief space becomes discrete: The parameter α of
the prior is continuous, but the posterior updates live on a
discrete “grid” (adding counts to α)
b
Z
P (a ≤ x ≤ b) =
p(x) dx ∈ [0, 1]
a
– We can in principle do belief planning using this
• Reinforcement Learning:
– Assume we know that the world is a finite-state MDP, but
do not know its transition probability P (s0 | s, a). For each
(s, a), P (s0 | s, a) is a distribution over the integer s0
– Having a separate Dirichlet distribution for each (s, a) is a
way to represent our belief about the world, that is, our belief about P (s0 | s, a)
– We can in principle do belief planning using this → Bayesian
Reinforcement Learning
• Dirichlet distributions are also used to model texts (word distributions in text), images, or mixture distributions in general
The (cumulative) probability distribution F (y) = P (x ≤ y) =
Ry
dx p(x) ∈ [0, 1] is the cumulative integral with limy→∞ F (y) =
−∞
1
(In discrete domain: probability distribution and probability mass function P (x) ∈ [0, 1] are used synonymously.)
• Two basic examples:
Gaussian: N(x | µ, Σ) =
>
1
e− 2 (x−µ)
1
| 2πΣ | 1/2
Σ-1 (x−µ)
Dirac or d (“point particle”) d(x) = 0 except at x = 0,
8:22
Conjugate priors
R
d(x) dx =
1
d(x) =
∂
H(x)
∂x
where H(x) = [x ≥ 0] = Heavyside step func-
tion
8:26
• Assume you have data D = {x1 , .., xn } with likelihood
Gaussian distribution
P (D | θ)
N (x|µ, σ 2 )
that depends on an uncertain parameter θ
2σ
• 1-dim: N(x | µ, σ 2 ) =
Assume you have a prior P (θ)
1
| 2πσ 2 | 1/2
1
2
e− 2 (x−µ)
/σ 2
µ
• n-dim Gaussian in normal form:
• The prior P (θ) is conjugate to the likelihood P (D | θ) iff the posterior
P (θ | D) ∝ P (D | θ) P (θ)
N(x | µ, Σ) =
1
1
exp{− (x − µ)> Σ-1 (x − µ)}
2
| 2πΣ | 1/2
with mean µ and covariance matrix Σ. In canonical form:
is in the same distribution class as the prior P (θ)
N[x | a, A] =
exp{− 12 a>A-1 a}
1
exp{− x> A x + x>a}
2
| 2πA-1 | 1/2
(1)
• Having a conjugate prior is very convenient, because then you
with precision matrix A = Σ-1 and coefficient a = Σ-1 µ (and
know how to update the belief given data
8:23
mean µ = A-1 a).
48
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
• Gaussian identities: see http://ipvs.informatik.uni-stuttgart.
Motivation for particle distributions
de/mlr/marc/notes/gaussians.pdf
8:27
• Numeric representation of “difficult” distributions
– Very general and versatile
– But often needs many samples
Motivation for Gaussian distributions
• Distributions over games (action sequences), sample based planning, MCTS
• Gaussian Bandits
• State estimation, particle filters
• Control theory, Stochastic Optimal Control
• State estimation, sensor processing, Gaussian filtering (Kalman
• etc
8:31
filtering)
• Machine Learning
Utilities & Decision Theory
• etc
8:28
• Given a space of events O (e.g., outcomes of a trial, a game,
etc) the utility is a function
Particle Approximation of a Distribution
U : O→R
• We approximate a distribution p(x) over a continuous domain
Rn
• The utility represents preferences as a single scalar – which is
not always obvious (cf. multi-objective optimization)
• A particle distribution q(x) is a weighed set S = {(x , w
i
i
)}N
i=1
of
N particles
– each particle has a “location” xi ∈ Rn and a weight wi ∈ R
P
– weights are normalized, i wi = 1
q(x) :=
N
X
wi d(x − xi )
• Decision Theory making decisions (that determine p(x)) that
maximize expected utility
Z
E{U }p =
U (x) p(x)
x
• Concave utility functions imply risk aversion (and convex, risk-
i=1
taking)
where d(x − xi ) is the d-distribution.
8:32
• Given weighted particles, we can estimate for any (smooth) f :
Z
hf (x)ip =
f (x)p(x)dx ≈
PN
i=1
wi f (xi )
Entropy
• The neg-log (− log p(x)) of a distribution reflects something like
x
See An Introduction to MCMC for Machine Learning www.cs.
ubc.ca/˜nando/papers/mlintro.pdf
“error”:
– neg-log of a Guassian ↔ squared error
– neg-log likelihood ↔ prediction error
8:29
• The (− log p(x)) is the “optimal” coding length you should assign
Particle Approximation of a Distribution
to a symbol x. This will minimize the expected length of an
encoding
Histogram of a particle representation:
Z
H(p) =
p(x)[− log p(x)]
x
• The entropy H(p) = Ep(x) {− log p(x)} of a distribution p is a
measure of uncertainty, or lack-of-information, we have about x
8:33
Kullback-Leibler divergence*
• Assume you use a “wrong” distribution q(x) to decide on the
coding length of symbols drawn from p(x). The expected length
of a encoding is
Z
8:30
p(x)[− log q(x)] ≥ H(p)
x
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
• The difference
D p q =
Z
p(x) log
x
p(x)
≥0
q(x)
is called Kullback-Leibler divergence
Proof of inequality, using the Jenson inequality:
Z
−
p(x) log
x
q(x)
≥ − log
p(x)
Z
p(x)
x
q(x)
=0
p(x)
8:34
Some more continuous distributions*
Gaussian
Dirac or d
Student’s t
(=Gaussian for ν → ∞, otherwise
heavy tails)
Exponential
N(x | a, A)
> -1
1
1
e− 2 (x−a) A
| 2πA | 1/2
=
(x−a)
∂
d(x) = ∂x
H(x)
ν+1
2
p(x; ν) ∝ [1 + xν ]− 2
p(x; λ) = [x ≥ 0] λe−λx
(distribution over single event time)
Laplace
(“double exponential”)
Chi-squared
Gamma
p(x; µ, b) =
1 − | x−µ | /b
e
2b
p(x; k) ∝ [x ≥ 0] xk/2−1 e−x/2
p(x; k, θ) ∝ [x ≥ 0] xk−1 e−x/θ
8:35
49
50
11
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Bandits & UCT
Bandits: Formal Problem Definition
• Let at ∈ {1, .., n} be the choice of machine at time t
Let yt ∈ R be the outcome
Multi-armed Bandits
• A policy or strategy maps all the history to a new choice:
π : [(a1 , y1 ), (a2 , y2 ), ..., (at-1 , yt-1 )] 7→ at
• Problem: Find a policy π that
maxh
PT
t=1
yt i
or
maxhyT i
• There are n machines
• Each machine i returns a reward y ∼ P (y; θi )
The machine’s parameter θi is unknown
or other objectives like discounted infinite horizon maxh
P∞
t=1
γ t yt i
• Your goal is to maximize the reward, say, collected over the first
T trials
9:1
9:5
Exploration, Exploitation
• “Two effects” of choosing a machine:
– You collect more data about the machine → knowledge
Bandits – applications
– You collect reward
• Online advertisement
• For example
– Exploration: Choose the next action at to minhH(bt )i
– Exploitation: Choose the next action at to maxhyt i
9:6
• Clinical trials, robotic scientist
Digression: Active Learning
• “Active Learning”
• Efficient optimization
9:2
“Experimental Design”
“Exploration in Reinforcement Learning”
Bandits
All of these are strongly related to trying to minimize (also) H(bt )
• The bandit problem is an archetype for
– Sequential decision making
– Decisions that influence knowledge as well as rewards/states
Gaussian Processes:
– Exploration/exploitation
• The same aspects are inherent also in global optimization, active learning & RL
• The Bandit problem formulation is the basis of UCB – which is
(from Rasmussen & Williams)
the core of serveral planning and decision making methods
9:7
• Bandit problems are commercially very relevant
9:3
Upper Confidence Bounds (UCB)
Upper Confidence Bound (UCB)
1:
2:
9:4
3:
4:
Initialization: Play each machine once
repeat
Play the machine i that maximizes yˆi + β
until
q
2 ln n
ni
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
51
UCB for Gauss
yˆi is the average reward of machine i so far
• If we have a single Gaussian bandits, we can compute
P
the mean estimator µ
ˆ = n1 i yi
P
2
1
the empirical variance σ
ˆ 2 = n−1
i (yi − µ)
ni is how often machine i has been played so far
P
n = i ni is the number of rounds so far
β is often chosen as β = 1
and the variance of the mean estimator Var{µ} = sˆ2 /n
The bound is derived from the Hoeffding inequality
• µ
ˆ and Var{µ} describe our posterior Gaussian belief over the
See Finite-time analysis of the multiarmed bandit problem, Auer, Cesa-Bianchi &
Fischer, Machine learning, 2002.
true underlying µ
Using the err-function we can get exact quantiles
9:8
• Alternative strategies:
UCB algorithms
90%-quantile(µi )
• UCB algorithms determine a confidence interval such that
µ
ˆi + β
yˆi − σi < hyi i < yˆi + σi
p
√
Var{µi } = m
ˆ i + βσ
ˆ/ n
9:11
with high probability.
UCB - Discussion
UCB chooses the upper bound of this confidence interval
• UCB over-estimates the reward-to-go (under-estimates cost-to• Optimism in the face of uncertainty
go), just like A∗ – but does so in the probabilistic setting of bandits
• Strong bounds on the regret (sub-optimality) of UCB (e.g. Auer
et al.)
• The fact that regret bounds exist is great!
9:9
• UCB became a core method for algorithms (including planners)
UCB for Bernoulli
to decide what to explore:
• If we have a single Bernoulli bandits, we can count
In tree search, the decision of which branches/actions to explore
is itself a decision problem. An “intelligent agent” (like UBC) can
a = 1 + #wins ,
b = 1 + #losses
be used within the planner to make decisions about how to grow
the tree.
• Our posterior over the Bernoulli parameter µ is Beta(µ | a, b)
• The mean is hµi =
a
a+b
The mode (most likely) is µ∗ =
The variance is Var{µ} =
a−1
a+b−2
9:12
Monte Carlo Tree Search
for a, b > 1
ab
(a+b+1)(a+b)2
9:13
One can numerically compute the inverse cumulative Beta distribution → get exact quantiles
Monte Carlo Tree Search (MCTS)
• MCTS is very successful on Computer Go and other games
• Alternative strategies:
• MCTS is rather simple to implement
• MCTS is very general: applicable on any discrete domain
argmax 90%-quantile(µi )
i
• Key paper:
argmaxhµi i + β
´ Bandit based Monte-Carlo Planning, ECML
Kocsis & Szepesvari:
p
Var{µi }
2006.
i
9:10
• Survey paper:
Browne et al.: A Survey of Monte Carlo Tree Search Methods,
2012.
52
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
• Tutorial presentation:
9:17
http://web.engr.oregonstate.edu/˜afern/
icaps10-MCP-tutorial.ppt
9:14
Monte Carlo methods
Flat Monte Carlo
• The goal of MCTS is to estimate the utility (e.g., expected payoff
• General, the term Monte Carlo simulation refers to methods that
D) depending on the first action a chosen:
generate many i.i.d. random samples xi ∼ P (x) from a distribu-
Q(s0 , a) = E{D|s0 , a}
tion P (x). Using the samples one can estimate expectations of
anything that depends on x, e.g. f (x):
Z
hf i =
P (x) f (x) dx ≈
x
where expectation is taken with w.r.t. the whole future randomized actions (including a potential opponent)
N
1 X
f (xi )
N i=1
• Flat Monte Carlo does so by rolling out many random simula(In this view, Monte Carlo approximates an integral.)
tions (using a R OLLOUT P OLICY) without growing a tree
The key difference/advantage of MCTS over flat MC is that the
• Example: What is the probability that a solitair would come out
tree growth focusses computational effort on promising actions
successful? (Original story by Stan Ulam.) Instead of trying to
9:18
analytically compute this, generate many random solitairs and
Upper Confidence Tree (UCT)
count.
• UCT uses UCB to realize the T REE P OLICY, i.e. to decide where
• The method developed in the 40ies, where computers became
to expand the tree
faster. Fermi, Ulam and von Neumann initiated the idea. von
Neumann called it “Monte Carlo” as a code name.
9:15
• B ACKUP updates all parents of vl as
n(v) ← n(v) + 1 (count how often has it been played)
Generic MCTS scheme
Q(v) ← Q(v) + D (sum of rewards received)
• T REE P OLICY chooses child nodes based on UCB:
s
2 ln n(v)
Q(v 0 )
argmax
+β
0)
0
n(v
n(v 0 )
v ∈∂(v)
or choose v 0 if n(v 0 ) = 0
9:19
from Browne et al.
1:
2:
3:
4:
5:
6:
7:
8:
start tree V = {v0 }
while within computational budget do
vl ← T REE P OLICY(V ) chooses a leaf of V
append vl to V
D ← R OLLOUT P OLICY(V ) rolls out a full simulation,
with return D
B ACKUP(vl , D) updates the values of all parents of vl
end while
return best child of v0
9:16
Generic MCTS scheme
• In comparision to other planners it always computes full roll outs
to a terminal state. No heuristics to estimate the utility of a state
are needed.
• The tree grows unbalanced
• The T REE P OLICY decides where the tree is expanded – and
needs to trade off exploration vs. exploitation
• The R OLLOUT P OLICY is necessary to simulate a roll out. It could
be a random policy; at least a randomized policy.
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
12
Game Playing
53
Properties of minimax
Complete?? Yes, if tree is finite (chess has specific rules for
this)
Outline
Optimal?? Yes, against an optimal opponent. Otherwise??
• Minimax
Time complexity?? O(bm )
• α–β pruning
Space complexity?? O(bm) (depth-first exploration)
• UCT for games
For chess, b ≈ 35, m ≈ 100 for “reasonable” games
10:1
⇒ exact solution completely infeasible
But do we need to explore every path?
Game tree (2-player, deterministic, turns)
10:5
α–β pruning example
10:2
Minimax
Perfect play for deterministic, perfect-information games
Idea: choose move to position with highest minimax value
= best achievable payoff against best play
E.g., 2-ply game:
10:3
Minimax algorithm
function M INIMAX -D ECISION(state) returns an action
inputs: state, current state in game
return the a in ACTIONS(state) maximizing M IN -VALUE(R ESULT(a,
state))
function M AX -VALUE(state) returns a utility value
if T ERMINAL -T EST(state) then return U TILITY(state)
v ← −∞
for a, s in S UCCESSORS(state) do v ← M AX(v, M IN -VALUE(s))
return v
function M IN -VALUE(state) returns a utility value
if T ERMINAL -T EST(state) then return U TILITY(state)
v←∞
for a, s in S UCCESSORS(state) do v ← M IN(v, M AX -VALUE(s))
return v
10:4
54
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
10:6
Suppose we have 100 seconds, explore 104 nodes/second
⇒ 106 nodes per move ≈ 358/2
Why is it called α–β?
⇒ α–β reaches depth 8 ⇒ pretty good chess program
10:10
Evaluation functions
α is the best value (to
MAX )
If V is worse than α,
MAX
Define β similarly for
MIN
found so far off the current path
will avoid it ⇒ prune that branch
For chess, typically linear weighted sum of features
10:7
E VAL(s) = w1 f1 (s) + w2 f2 (s) + . . . + wn fn (s)
The α–β algorithm
e.g., w1 = 9 with
function A LPHA -B ETA -D ECISION(state) returns an action
return the a in ACTIONS(state) maximizing M IN -VALUE(R ESULT(a,
state))
function M AX -VALUE(state, α, β) returns a utility value
inputs: state, current state in game
α, the value of the best alternative for MAX along the path to
state
β, the value of the best alternative for MIN along the path to
state
if T ERMINAL -T EST(state) then return U TILITY(state)
v ← −∞
for a, s in S UCCESSORS(state) do
v ← M AX(v, M IN -VALUE(s, α, β))
if v ≥ β then return v
α ← M AX(α, v)
return v
f1 (s) = (number of white queens) – (number of black queens),
etc.
10:11
Upper Confidence Tree (UCT) for games
Standard backup updates all parents of vl as
n(v) ← n(v) + 1 (count how often has it been played)
Q(v) ← Q(v) + ∆ (sum of rewards received)
In games use a “negamax” backup: While iterating upward, flip
sign ∆ ← −∆ in each iteration
function M IN -VALUE(state, α, β) returns a utility value
same as M AX -VALUE but with roles of α, β reversed
Survey of MCTS applications:
10:8
Browne et al.: A Survey of Monte Carlo Tree Search Methods, 2012.
10:12
Properties of α–β
Brief notes on game theory
Pruning does not affect final result
• (Small) zero-sum games can be represented by a payoff matrix
Good move ordering improves effectiveness of pruning
• Uji denotes the utility of player 1 if she chooses the pure (=de-
A simple example of the value of reasoning about which computations are relevant (a form of metareasoning)
terministic) strategy i and player 2 chooses the pure strategy j.
U T = −U
Zero-sum games: Uji = −Uij ,
10:9
Resource limits
Standard approach:
• Use C UTOFF -T EST instead of T ERMINAL -T EST
e.g., depth limit (perhaps add quiescence search)
• Fining a minimax optimal mixed strategy p is a Linear Program
max w
w
s.t. U p ≥ w ,
X
pi = 1 ,
p≥0
i
Note that U p ≥ w implies minj (U p)j ≥ w.
• Gainable payoff of player 1: maxp minq q T U p
Minimax-Theorem: maxp minq q T U p = minq maxp q T U p
Minimax-Theorem ↔ optimal p with w ≥ 0 exists
• Use E VAL instead of U TILITY
i.e., evaluation function that estimates desirability of
position
10:13
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
13
Graphical Models
55
• The joint distribution can be factored as
P (X1:n ) =
n
Y
P (Xi | Parents(Xi ))
i=1
Outline
• Missing links imply conditional independence
• Ancestral simulation to sample from joint distribution
• A. Introduction
11:5
– Motivation and definition of Bayes Nets
– Conditional independence in Bayes Nets
– Examples
Example
• B. Inference in Graphical Models
– Sampling methods (Rejection, Importance, Gibbs)
– Variable Elimination & Factor Graphs
– Message passing, Loopy Belief Propagation
(Heckermann 1995)
P(B=bad) =0.02
P(F=empty)=0.05
Battery
Fuel
11:1
Gauge
Graphical Models
P(G=empty|B=good,F=not empty)=0.04
P(G=empty|B=good,F=empty)=0.97
P(G=empty|B=bad,F=not empty)=0.10
P(G=empty|B=bad,F=empty)=0.99
• The core difficulty in modelling is specifying
TurnOver
What are the relevant variables?
Start
P(S=no|T=yes,F=not empty)=0.01
P(S=no|T=yes,F=empty)=0.92
P(S=no|T=no,Fnot empty)=1.00
P(S=no|T=no,F=empty)=1.00
P(T=no|B=good)=0.03
P(T=no|B=bad)=0.98
How do they depend on each other?
(Or how could they depend on each other → learning)
⇐⇒ P (S, T, G, F, B) = P (B) P (F ) P (G|F, B) P (T |B) P (S|T, F )
• Graphical models are a simple, graphical notation for
• Table sizes: LHS = 25 − 1 = 31 RHS = 1 + 1 + 4 + 2 + 4 = 12
1) which random variables exist
11:6
2) which random variables are “directly coupled”
Thereby they describe a joint probability distribution P (X1 , .., Xn )
Bayes Nets & conditional independence
over n random variables.
• Independence: Indep(X, Y ) ⇐⇒ P (X, Y ) = P (X) P (Y )
• 2 basic variants:
– Bayesian Networks
– Factor Graphs
Field)
• Conditional independence:
(aka. directed model, belief network)
Indep(X, Y |Z) ⇐⇒ P (X, Y |Z) = P (X|Z) P (Y |Z)
(aka. undirected model, Markov Random
11:2
X
Bayesian Networks
Z
• A Bayesian Network is a
– directed acyclic graph (DAG)
– where each node represents a random variable Xi
Z
Y
X
Z
Y
X
Y
(head-to-head)
(tail-to-tail)
(head-to-tail)
Indep(X, Y )
¬Indep(X, Y |Z)
¬Indep(X, Y )
Indep(X, Y |Z)
¬Indep(X, Y )
Indep(X, Y |Z)
11:7
– for each node we have a conditional probability distribution
P (Xi | Parents(Xi ))
• In the simplest case (discrete RVs), the conditional distribution
is represented as a conditional probability table (CPT)
11:3
Example
P (X, Y, Z) = P (X) P (Y ) P (Z|X, Y )
P
P (X, Y ) = P (X) P (Y )
Z P (Z|X, Y ) = P (X) P (Y )
• Tail-to-tail: Indep(X, Y |Z)
P (X, Y, Z) = P (Z) P (X|Z) P (Y |Z)
drinking red wine → longevity?
11:4
Bayesian Networks
• DAG → we can sort the RVs; edges only go from lower to higher
index
• Head-to-head: Indep(X, Y )
P (X, Y |Z) = P (X, Y, Z) = P (Z) = P (X|Z) P (Y |Z)
• Head-to-tail: Indep(X, Y |Z)
P (X, Y, Z) = P (X) P (Z|X) P (Y |Z)
P (X, Y |Z) =
P (X,Y,Z)
P (Z)
=
P (X,Z) P (Y |Z)
P (Z)
= P (X|Z) P (Y |Z)
56
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
11:8
Inference
• Inference: Given some pieces of information (prior, observed
General rules for determining conditional independence in
a Bayes net:
variabes) what is the implication (the implied information, the
posterior) on a non-observed variable
• In a Bayes Nets: Assume there is three groups of RVs:
– Z are observed random variables
• Given three groups of random variables X, Y, Z
– X and Y are hidden random variables
Indep(X, Y |Z) ⇐⇒ every path from X to Y is “blocked by Z”
• A path is “blocked by Z” ⇐⇒ on this path...
– ∃ a node in Z that is head-to-tail w.r.t. the path, or
– We want to do inference about X, not Y
Given some observed variables Z, compute the
posterior marginal P (X | Z) for some hidden variable X.
– ∃ a node in Z that is tail-to-tail w.r.t. the path, or
P (X | Z) =
– ∃ another node A which is head-to-head w.r.t. the path
and neither A nor any of its descendants are in Z
11:9
Example
X
P (X, Z)
1
=
P (X, Y, Z)
P (Z)
P (Z) Y
where Y are all hidden random variables except for X
• Inference requires summing over (eliminating) hidden variables.
11:12
(Heckermann 1995)
P(B=bad) =0.02
P(F=empty)=0.05
Battery
Fuel
Example: Holmes & Watson
• Mr. Holmes lives in Los Angeles. One morning when Holmes
Gauge
leaves his house, he realizes that his grass is wet. Is it due to
P(G=empty|B=good,F=not empty)=0.04
P(G=empty|B=good,F=empty)=0.97
rain, or has he forgotten to turn off his sprinkler?
– Calculate P (R|H), P (S|H) and compare these values to
the prior probabilities.
P(G=empty|B=bad,F=not empty)=0.10
P(G=empty|B=bad,F=empty)=0.99
TurnOver
P(T=no|B=good)=0.03
P(T=no|B=bad)=0.98
Indep(T, F )?
Start
– Calculate P (R, S|H).
Note: R and S are marginally independent, but conditionally dependent
P(S=no|T=yes,F=not empty)=0.01
P(S=no|T=yes,F=empty)=0.92
P(S=no|T=no,Fnot empty)=1.00
P(S=no|T=no,F=empty)=1.00
Indep(B, F |S)?
Indep(B, S|T )?
11:10
• Holmes checks Watson’s grass, and finds it is also wet.
– Calculate P (R|H, W ), P (S|H, W )
– This effect is called explaining away
What can we do with Bayes nets?
JavaBayes: run it from the html page
• Inference: Given some pieces of information (prior, observed
http://www.cs.cmu.edu/˜javabayes/Home/applet.html
variabes) what is the implication (the implied information, the
11:13
posterior) on a non-observed variable
Example: Holmes & Watson
• Decision Making: If utilities and decision variables are defined
P(R=yes)=0.2
P(S=yes)=0.1
Rain
Sprinkler
→ compute optimal decisions in probabilistic domains
Watson
• Learning:
– Fully Bayesian Learning: Inference over parameters (e.g.,
β)
P(W=yes|R=yes)=1.0
P(W=yes|R=no)=0.2
Holmes
P(H=yes|R=no,S=no)=0.0
P(H=yes|R=yes,S=yes)=1.0
P(H=yes|R=yes,S=no)=1.0
P(H=yes|R=no,S=yes)=0.9
P (H, W, S, R) = P (H|S, R) P (W |R) P (S) P (R)
– Maximum likelihood training: Optimizing parameters
P (R|H) =
• Structure Learning (Learning/Inferring the graph structure itself): Decide which model (which graph structure) fits the data
best; thereby uncovering conditional independencies in the data.
=
1 X
P (H|S, R) P (S) P (R)
P (H) S
1
1
(1.0 · 0.2 · 0.1 + 1.0 · 0.2 · 0.9) =
0.2
P (H = 1)
P (H = 1)
1
1
P (R = 0 | H = 1) =
(0.9 · 0.8 · 0.1 + 0.0 · 0.8 · 0.9) =
0.072
P (H = 1)
P (H = 1)
P (R = 1 | H = 1) =
11:11
X P (R, W, S, H)
X
1
=
P (H|S, R) P (W |R) P (S) P (R)
P
(H)
P
(H)
W,S
W,S
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
11:14
57
In this view, Monte Carlo methods approximate an integral.
• Motivation: p(x) itself is too complicated to express analytically
or compute hf (x)ip directly
• These types of calculations can be automated
→ Variable Elimination Algorithm (discussed later)
11:15
13.1
Inference Methods in Graphical Models
• Example: What is the probability that a solitair would come out successful? (Original story by Stan Ulam.) Instead of trying to analytically
compute this, generate many random solitairs and count.
• Naming: The method developed in the 40ies, where computers became
faster. Fermi, Ulam and von Neumann initiated the idea. von Neumann
called it “Monte Carlo” as a code name.
11:19
11:16
Rejection Sampling
Inference methods in graphical models
• We have a Bayesian Network with RVs X1:n , some of which are
• Sampling:
– Rejection samping, importance sampling, Gibbs sampling
– More generally, Markov-Chain Monte Carlo (MCMC) methods
observed: Xobs = yobs , obs ⊂ {1 : n}
• The goal is to compute marginal posteriors P (Xi | Xobs = yobs )
conditioned on the observations.
• Message passing:
– Exact inference on trees (includes the Junction Tree Algorithm)
• We generate a set of K (joint) samples of all variables
S = {xk1:n }K
k=1
– Belief propagation
Each sample xk1:n = (xk1 , xk2 , .., xkn ) is a list of instantiation of all
• Other approximations/variational methods
– Expectation propagation
RVs.
11:20
– Specialized variational methods depending on the model
Rejection Sampling
• Reductions:
– Mathematical Programming (e.g. LP relaxations of MAP)
• To generate a single sample xk1:n :
– Compilation into Arithmetic Circuits (Darwiche at al.)
11:17
1. Sort all RVs in topological order; start with i = 1
2. Sample a value xki ∼ P (Xi | xkParents(i) ) for the ith RV con-
Sampling
ditional to the previous samples xk1:i-1
• Read Andrieu et al: An Introduction to MCMC for Machine Learn-
3. If i ∈ obs compare the sampled value xki with the observation yi . Reject and repeat from a) if the sample is not
ing (Machine Learning, 2003)
equal to the observation.
4. Repeat with i ← i + 1 from 2.
• Here I’ll discuss only thee basic methods:
– Rejection sampling
• We compute the marginal probabilities from the sample set S:
– Importance sampling
– Gibbs sampling
11:18
P (Xi = x | Xobs = yobs ) ≈
countS (xki = x)
K
or pair-wise marginals:
Monte Carlo methods
• Generally, a Monte Carlo method is a method to generate a set
P (Xi = x, Xj = x0 | Xobs = yobs ) ≈
countS (xki = x ∧ xkj = x0 )
K
of (potentially weighted) samples that approximate a distribution
11:21
p(x).
In the unweighted case, the samples should be i.i.d. xi ∼ p(x)
In the general (also weighted) case, we want particles that allow
Importance sampling (with likelihood weighting)
to estimate expectations of anything that depends on x, e.g.
f (x):
• Rejecting whole samples may become very inefficient in large
Z
hf (x)ip =
f (x) p(x) dx = lim
x
N →∞
N
X
i=1
Bayes Nets!
wi f (xi )
58
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Gibbs sampling*
• New strategy: We generate a weighted sample set
S = {(xk1:n , wk )}K
k=1
• As for rejection sampling, Gibbs sampling generates an unweighted
sample set S which can directly be used to compute marginals.
where each sample
xk1:n
is associated with a weight w
k
In practice, one often discards an initial set of samples (burn-in)
to avoid starting biases.
• In our case, we will choose the weights proportional to the likelihood P (Xobs = yobs | X1:n = xk1:n ) of the observations conditional to the sample xk1:n
• Gibbs sampling is a special case of MCMC sampling.
Roughly, MCMC means to invent a sampling process, where the
11:22
next sample may stochastically depend on the previous (Markov
property), such that the final sample set is guaranteed to corre-
Importance sampling
spond to P (X1:n ).
→ An Introduction to MCMC for Machine Learning
• To generate a single sample (wk , xk1:n ):
11:25
k
1. Sort all RVs in topological order; start with i = 1 and w =
Sampling – conclusions
1
2. a) If i 6∈ obs, sample a value xki ∼ P (Xi | xkParents(i) ) for the
ith RV conditional to the previous samples xk1:i-1
b) If i ∈ obs, set the value
xki
= yi and update the weight
• Sampling algorithms are very simple, very general and very
popular
– they equally work for continuous & discrete RVs
– one only needs to ensure/implement the ability to sample
from conditional distributions, no further algebraic manipulations
according to likelihood
wk ← wk P (Xi = yi | xk1:i-1 )
– MCMC theory can reduce required number of samples
3. Repeat with i ← i + 1 from 2.
• In many cases exact and more efficient approximate inference is
• We compute the marginal probabilities as:
PK
P (Xi = x | Xobs = yobs ) ≈
possible by actually computing/manipulating whole distributions
in the algorithms instead of only samples.
wk [xki = x]
PK
k
k=1 w
k=1
11:26
Variable Elimination
and likewise pair-wise marginals, etc.
Notation: [expr] = 1 if expr is true and zero otherwise
11:27
11:23
Variable Elimination example
X2
Gibbs sampling*
F4 µ µ
3
3
X1
• In Gibbs sampling we also generate a sample set S – but in this
case the samples are not independent from each other. The
next sample “modifies” the previous one:
• First, all observed RVs are clamped to their fixed value xki = yi
for any k.
• To generate the (k + 1)th sample, iterate through the latent vari-
F3
µ1 (X
F5
µ2
µ4
µ5
X3
X5
P (x5 )
P
= x1 ,x2 ,x3 ,x4 ,x6 P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x4 |x2 ) P (x5 |x3 ) P (x6 |x2 ,
P
P
= x1 ,x2 ,x3 ,x6 P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x5 |x3 ) P (x6 |x2 , x5 )
P(
x4 |
F1 (
=
P
=
P
P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x5 |x3 ) P (x6 |x2 , x5 ) µ1 (x2 )
P
P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x5 |x3 ) µ1 (x2 )
(x6 |x2 , x
x6 P
|
{z
x1 ,x2 ,x3 ,x6
x1 ,x2 ,x3
F2 (x2 ,x5 ,x6
ables i 6∈ obs, updating:
=
P
=
P
=
P
=
P
=
P
x ,x ,x P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x5 |x3 ) µ1 (x2 ) µ2 (x2 , x5 )
P
P 1 2 3
= x2 ,x3 P (x5 |x3 ) µ1 (x2 ) µ2 (x2 , x5 )
P (x1 ) P (x2 |x1 ) P (x3 |x1 )
x1 |
{z
}
xk+1
∼ P (Xi | xk1:n\i )
i
F3 (x1 ,x2 ,x3 )
∼ P (Xi | xk1 , xk2 , .., xki-1 , xki+1 , .., xkn )
Y
P (Xj = xkj | Xi , xkParents(j)\i )
∼ P (Xi | xkParents(i) )
P (x5 |x3 ) µ1 (x2 ) µ2 (x2 , x5 ) µ3 (x2 , x3 )
P
P (x5 |x3 )
1 (x2 ) µ2 (x2 , x5 ) µ3 (x2 , x3 )
x2 µ
|
{z
}
x2 ,x3
x3
F4 (x3 ,x5 )
j:i∈Parents(j)
That is, each xk+1
is resampled conditional to the other (neighi
x3
x3
P (x5 |x3 ) µ4 (x3 , x5 )
P (x5 |x3 ) µ4 (x3 , x5 )
|
{z
}
F5 (x3 ,x5 )
boring) current sample values.
= µ5 (x5 )
11:24
11:28
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Variable Elimination example – lessons learnt
• There is a dynamic programming principle behind Variable Elimination:
– For eliminating X5,4,6 we use the solution of eliminating
X4,6
– The “sub-problems” are represented by the F terms, their
solutions by the remaining µ terms
59
Variable Elimination Algorithm
• eliminate single variable(F, i)
6:
Input: list F of factors, variable id i
Output: list F of factors
find relevant subset Fˆ ⊆ F of factors coupled to i: Fˆ =
{k : i ∈ ∂k}
ˆ with neighborhood ∂ k
ˆ = all variables
create new factor k
in Fˆ except i
P Q
compute µkˆ (X∂ kˆ ) = Xi k∈Fˆ fk (X∂k )
remove old factors Fˆ and append new factor µˆ to F
7:
return F
1:
2:
3:
4:
– We’ll continue to discuss this 4 slides later!
5:
• The factorization of the joint
– determines in which order Variable Elimination is efficient
– determines what the terms F (...) and µ(...) depend on
• elimination algorithm(µ, F, M )
• We can automate Variable Elimination. For the automation, all
that matters is the factorization of the joint.
1:
2:
11:29
3:
4:
5:
Factor graphs
6:
• In the previous slides we introduces the box
k
notation to indi-
7:
Input: list F of factors, tuple M of desired output variables
ids
Output: single factor µ over variables XM
define all variables present in F : V = vars(F )
define variables to be eliminated: E = V \ M
for all i ∈ E: eliminate single variable(F, i)
for all remaining factors, compute the product µ =
Q
f ∈F f
return µ
cate terms that depend on some variables. That’s exactly what
11:32
factor graphs represent.
Variable Elimination on trees
• A Factor graph is a
– bipartite graph
Y3
1
– where each circle node represents a random variable Xi
Y8
– each box node represents a factor fk , which is a function
fk (X∂k )
Y1
2
6
X
Y4
F1 (Y1,8 , X)
F3 (Y3,4,5 , X)
Y2
– the joint probability distribution is given as
4
P (X1:n ) =
K
Y
7
3
5
Y5
F2 (Y2,6,7 , X)
Y6
Y7
fk (X∂k )
k=1
The subtrees w.r.t. X can be described as
Notation: ∂k is shorthand for Neighbors(k)
11:30
F1 (Y1,8 , X) = f1 (Y8 , Y1 ) f2 (Y1 , X)
F2 (Y2,6,7 , X) = f3 (X, Y2 ) f4 (Y2 , Y6 ) f5 (Y2 , Y7 )
Bayes Net → factor graph
F3 (Y3,4,5 , X) = f6 (X, Y3 , Y4 ) f7 (Y4 , Y5 )
X4
X2
X1
The joint distribution is:
X6
P (Y1:8 , X) = F1 (Y1,8 , X) F2 (Y2,6,7 , X) F3 (Y3,4,5 , X)
11:33
X3
• Bayesian Network:
X5
P (x1:6 ) = P (x1 ) P (x2 |x1 ) P (x3 |x1 ) P (x4 |x2 ) P (x5 |x3 ) P (x6 |x2 , x5 )
X2
Variable Elimination on trees
X4
Y3
µ2→X
Y1
2
X1
• Factor Graph:
X6
X3
Y9
1
Y8
F1 (Y1,8 , X)
6
X µ6→X
µ3→X
3
X5
8
Y4
7
F3 (Y3,4,5 , X)
Y2
Y5
4
P (x1:6 ) = f1 (x1 , x2 ) f2 (x3 , x1 ) f3 (x2 , x4 ) f4 (x3 , x5 ) f5 (x2 , x5 , x6 )
5
F2 (Y2,6,7 , X)
Y6
Y7
→ each CPT in the Bayes Net is just a factor (we neglect the
We can eliminate each tree independently. The remaining terms
special semantics of a CPT)
11:31
(messages) are:
P
µF1 →X (X) = Y1,8 F1 (Y1,8 , X)
60
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
µF2 →X (X) =
P
F2 (Y2,6,7 , X)
• Message passing exemplifies how to exploit the factorization
µF3 →X (X) =
P
F3 (Y3,4,5 , X)
structure of the joint distribution for the algorithmic implemen-
Y2,6,7
Y3,4,5
tation
The marginal P (X) is the product of subtree messages
P (X) = µF1 →X (X) µF2 →X (X) µF3 →X (X)
11:34
• Note: These are recursive equations. They can be resolved
exactly if and only if the dependency structure (factor graph) is
Variable Elimination on trees – lessons learnt
a tree. If the factor graph had loops, this would be a “loopy
recursive equation system”...
• The “remaining terms” µ’s are called messages
11:37
Intuitively, messages subsume information from a subtree
• Marginal = product of messages, P (X) =
Q
Message passing variants
µFk →X , is very
k
intuitive:
– Fusion of independent information from the different subtrees
– Fusing independent information ↔ multiplying probability
tables
• Message passing has many important applications:
– Many models are actually trees: In particular chains esp.
Hidden Markov Models
– Message passing can also be applied on non-trees (↔
loopy graphs) → approximate inference (Loopy Belief Propagation)
• Along a (sub-) tree, messages can be computed recursively
11:35
– Bayesian Networks can be “squeezed” to become trees →
exact inference in Bayes Nets! (Junction Tree Algorithm)
11:38
Message passing
• General equations (belief propagation (BP)) for recursive message computation (writing µk→i (Xi ) instead of µFk →X (X)):
• If the graphical model is not a tree (=has loops):
– The recursive message equations cannot be resolved.
µ
¯ j→k (Xj )
µk→i (Xi ) =
X
fk (X∂k )
X∂k\i
z Y
Y
j∈∂k\i
|
Loopy Belief Propagation
– However, we could try to just iterate them as update equations...
}|
{
µk0 →j (Xj )
k0 ∈∂j\k
{z
F (subtree)
}
• Loopy BP update equations:
Q
j∈∂k\i :
excl. i
Q
k0 ∈∂j\k
(initialize with µk→i = 1)
branching at factor k, prod. over adjacent variables j
: branching at variable j, prod. over adjacent factors k
0
µnew
k→i (Xi ) =
X
fk (X∂k )
X∂k\i
Y
Y
j∈∂k\i
k0 ∈∂j\k
µold
k0 →j (Xj )
excl. k
11:39
µ
¯ j→k (Xj ) are called “variable-to-factor messages”: store them for efficiency
Loopy BP remarks
Y3
µ1→Y1
Y9
1
Y8
µ2→X
Y1
2
F1 (Y1,8 , X)
6
X µ6→X
µ3→X
3
4
8
Y4 µ7→Y47
F3 (Y3,4,5 , X)
Y2
µ4→Y2
µ8→Y4
µ5→Y2
5
Y5
Example messages:
P
µ2→X =
f2 (Y1 , X) µ1→Y1 (Y1 )
PY1
µ6→X =
f6 (Y3 , Y4 , X) µ7→Y4 (Y4 )
PY3 ,Y4
µ3→X =
Y f3 (Y2 , X) µ4→Y2 (Y2 ) µ5→Y2 (Y2 )
2
F2 (Y2,6,7 , X)
Y6
Y7
11:36
Message passing remarks
• Computing these messages recursively on a tree does nothing
else than Variable Elimination
Q
⇒ P (Xi ) = k∈∂i µk→i (Xi ) is the correct posterior marginal
• However, since it stores all “intermediate terms”, we can compute ANY marginal P (Xi ) for any i
• Problem of loops intuitively:
loops ⇒ branches of a node to not represent independent information!
– BP is multiplying (=fusing) messages from dependent sources of information
• No convergence guarantee, but if it converges, then to a state of marginal consistency
X
X
b(X∂k ) =
b(X∂k0 ) = b(Xi )
X∂k\i
X
∂k0 \i
and to the minimum of the Bethe approximation of the free energy (Yedidia, Freeman, & Weiss, 2001)
• We shouldn’t be overly disappointed:
– if BP was exact on loopy graphs we could efficiently solve NP hard problems...
– loopy BP is a very interesting approximation to solving an NP hard problem
– is hence also applied in context of combinatorial optimization (e.g., SAT
problems)
• Ways to tackle the problems with BP convergence:
– Damping (Heskes, 2004: On the uniqueness of loopy belief propagation
fixed points)
– CCCP (Yuille, 2002: CCCP algorithms to minimize the Bethe and Kikuchi
free energies: Convergent alternatives to belief propagation)
– Tree-reweighted MP (Kolmogorov, 2006: Convergent tree-reweighted message passing for energy minimization)
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
61
11:43
11:40
Junction Tree Algorithm
Junction Tree Algorithm Example
• Many models have loops
X2
Instead of applying loopy BP in the hope of getting a good approximation, it is possible to convert every model into a tree by redefinition of
X4
X4
X6
X1
X1
RVs. The Junction Tree Algorithms converts a loopy model into a tree.
X3
X2,5
X2,3
X6
X5
• Loops are resolved by defining larger variable groups (separators) on which messages are defined
• If we eliminate in order 4, 6, 5, 1, 2, 3, we get remaining terms
11:41
(X2 ), (X2 , X5 ), (X2 , X3 ), (X2 , X3 ), (X3 )
Junction Tree Example
• Example:
which translates to the Junction Tree on the right
A
B
A
B
C
D
C
D
11:44
Maximum a-posteriori (MAP) inference
• Often we want to compute the most likely global assignment
• Join variable B and C to a single separator
MAP
X1:n
= argmax P (X1:n )
A
X1:n
B, C
D
This can be viewed as a variable substitution: rename the tuple
of all random variables.
This is called MAP inference and can be solved
P
by replacing all
by max in the message passing equations – the
algorithm is called Max-Product Algorithm and is a generalization of
Dynamic Programming methods like Viterbi or Dijkstra.
(B, C) as a single random variable
• Application: Conditional Random Fields
• A single random variable may be part of multiple separators –
but only along a running intersection
f (y, x) = φ(y, x)>β =
k
X
φj (y∂j , x)βj = log
j=1
11:42
Junction Tree Algorithm
k
hY
eφj (y∂j ,x)βj
i
j=1
with prediction x 7→ y ∗ (x) = argmax f (x, y)
y
Finding the argmax is a MAP inference problem! This is frequently
needed in the innerloop of CRF learning algorithms.
• Standard formulation: Moralization & Triangulation
11:45
A clique is a fully connected subset of nodes in a graph.
1) Generate the factor graph (classically called “moralization”)
Conditional Random Fields
2) Translate each factor to a clique: Generate the undirected
graph
• The following are interchangable:
“Random Field” ↔ “Markov R
where undirected edges connect all RVs of a factor
3) Triangulate the undirected graph
4) Translate each clique back to a factor; identify the separators
between factors
• Formulation in terms of variable elimination:
1) Start with a factor graph
• Therefore, a CRF is a conditional factor graph:
– A CRF defines a mapping from input x to a factor graph
over y
– Each feature φj (y∂j , x) depends only on a subset ∂j of
variables y∂j
– If y∂j are discrete, a feature φj (y∂j , x) is usually an indicator feature (see lecture 03); the corresponding parameter
βj is then one entry of a factor fk (y∂j ) that couples these
variables
2) Choose an order of variable elimination
11:46
3) Keep track of the “remaining µ terms” (slide 14): which RVs
would they depend on? → this identifies the separators
62
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
What we didn’t cover
• A very promising line of research is solving inference problems
using mathematical programming. This unifies research in the
areas of optimization, mathematical programming and probabilistic inference.
Linear Programming relaxations of MAP inference and CCCP methods are great
examples.
11:47
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
14
Dynamic Models
63
• A Hidden Markov Model (HMM) is defined as the joint distribution
P (X0:T , Y0:T ) = P (X0 ) ·
Motivation
T
Y
P (Xt |Xt-1 ) ·
t=1
– Robotics slides
– Speech recognition
T
Y
P (Yt |Xt ) .
t=0
X0
X1
X2
X3
XT
Y0
Y1
Y2
Y3
YT
– Music
12:4
12:1
Inference in an HMM – a tree!
Markov processes (Markov chains)
Construct a Bayes net from these variables: parents?
Ffuture (X2:T , Y3:T )
Fpast (X0:2 , Y0:1 )
Markov assumption: Xt depends on bounded subset of X0:t−1
First-order Markov process: P (Xt | X0:t−1 ) = P (Xt | Xt−1 )
X0
X1
X2
X3
XT
Y0
Y1
Y2
Y3
YT
Second-order Markov process: P (Xt | X0:t−1 ) = P (Xt | Xt−2 , Xt−1 )
Fnow (X2 , Y2 )
• The marginal posterior P (Xt | Y1:T ) is the product of three messages
Sensor Markov assumption: P (Yt | X0:t , Y0:t−1 ) = P (Yt | Xt )
Stationary process: transition model P (Xt | Xt−1 ) and
P (Xt | Y1:T ) ∝ P (Xt , Y1:T ) = µpast (Xt ) µnow (Xt ) µfuture (Xt )
|{z}
| {z }
|{z}
%
α
β
sensor model P (Yt | Xt ) fixed for all t
12:2
Different inference problems in Markov Mod-
• For all a < t and b > t
– Xa conditionally independent from Xb given Xt
– Ya conditionally independent from Yb given Xt
els
“The future is independent of the past given the present”
Markov property
• P (xt | y0:T ) marginal posterior
• P (xt | y0:t ) filtering
• P (xt | y0:a ), t > a prediction
• P (xt | y0:b ), t < b smoothing
• P (y0:T ) likelihood calculation
• Viterbi alignment: Find sequence
x∗0:T
(conditioning on Yt does not yield any conditional independences)
12:5
Inference in HMMs
that maximizes P (x0:T | y0:T )
(This is done using max-product, instead of sum-product message passing.)
Ffuture (X2:T , Y3:T )
Fpast (X0:2 , Y0:1 )
X0
X1
X2
X3
XT
Y0
Y1
Y2
Y3
YT
Fnow (X2 , Y2 )
Applying the general message passing equations:
12:3
forward msg.
backward msg.
• We assume we have
slice
– a discrete latent variable Xt in each time slice
X
P (xt |xt-1 ) αt-1 (xt-1 ) %t-1 (xt-1 )
xt-1
Hidden Markov Models as Graphical Model
– observed (discrete or continuous) variables Yt in each time
µXt-1 →Xt (xt ) =: αt (xt ) =
α0 (x0 ) = P (x0 )
X
P (xt+1 |xt ) βt+1 (xt+1 ) %t+1 (xt+1 )
µXt+1 →Xt (xt ) =: βt (xt ) =
xt+1
βT (x0 ) = 1
observation msg.
posterior marginal
posterior marginal
µYt →Xt (xt ) =: %t (xt ) = P (yt | xt )
q(xt ) ∝ αt (xt ) %t (xt ) βt (xt )
q(xt , xt+1 ) ∝ αt (xt ) %t (xt ) P (xt+1 |xt ) %t+1 (xt+1 ) βt+1
– some observation model P (Yt | Xt ; θ)
– some transition model P (Xt | Xt-1 ; θ)
12:6
64
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Inference in HMMs – implementation notes
Kalman Filter example
• The message passing equations can be implemented by reinterpreting
them as matrix equations: Let αt , β t , %t be the vectors corresponding
to the probability tables αt (xt ), βt (xt ), %t (xt ); and let P be the matrix
with enties P (xt | xt-1 ). Then
• filtering of a position (x, y) ∈ R2 :
1:
2:
3:
4:
5:
α0 = π, β T = 1
fort=1:T -1 : αt = P (αt-1 · %t-1 )
fort=T -1:0 : β t = P> (β t+1 · %t+1 )
fort=0:T : q t = αt · %t · β t
fort=0:T -1 : Qt = P · [(β t+1 · %t+1 ) (αt · %t )>]
where · is the element-wise product! Here, q t is the vector with entries
q(xt ), and Qt the matrix with entries q(xt+1 , xt ). Note that the equation
for Qt describes Qt (x0 , x) = P (x0 |x)[(βt+1 (x0 )%t+1 (x0 ))(αt (x)%t (x))].
12:7
Inference in HMMs: classical derivation
12:10
Given our knowledge of Belief propagation, inference in HMMs is simple. For
reference, here is a more classical derivation:
Kalman Filter example
• smoothing of a position (x, y) ∈ R2 :
P (y0:T | xt ) P (xt )
P (y0:T )
P (y0:t | xt ) P (yt+1:T | xt ) P (xt )
=
P (y0:T )
P (y0:t , xt ) P (yt+1:T | xt )
=
P (y0:T )
αt (xt ) βt (xt )
=
P (y0:T )
P (xt | y0:T ) =
αt (xt ) := P (y0:t , xt ) = P (yt |xt ) P (y0:t-1 , xt )
X
= P (yt |xt )
P (xt | xt-1 ) αt-1 (xt-1 )
xt-1
βt (xt ) := P (yt+1:T | xt ) =
X
P (yt+1:T | xt+1 ) P (xt+1 | xt )
x+1
=
i
Xh
βt+1 (xt+1 ) P (yt+1 |xt+1 ) P (xt+1 | xt )
x+1
12:11
Note: αt here is the same as αt · %t on all other slides!
12:8
HMM remarks
HMM example: Learning Bach
• A machine “listens” (reads notes of) Bach pieces over and over
• The computation of forward and backward messages along the
again
→ It’s supposed to learn how to write Bach pieces itself (or at
Markov chain is also called forward-backward algorithm
• The EM algorithm to learn the HMM parameters is also called
least harmonize them).
Baum-Welch algorithm
• If the latent variable xt is continuous xt ∈ Rd instead of discrete, then such a Markov model is also called state space
• Harmonizing Chorales in the Style of J S Bach Moray Allan &
Chris Williams (NIPS 2004)
model.
• If the continuous transitions and observations are linear Gaus-
– observed sequence Y0:T Soprano melody
sian
P (xt+1 |xt ) = N(xt+1 | Axt +a, Q) ,
• use an HMM
P (yt |xt ) = N(yt | Cxt +c, W )
– latent sequence X0:T chord & and harmony:
then the forward and backward messages αt and βt are also
Gaussian.
→ forward filtering is also called Kalman filtering
→ smoothing is also called Kalman smoothing
• Sometimes, computing forward and backward messages (in disrete or continuous context) is also called Bayesian filtering/smoothing
12:9
12:12
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
HMM example: Learning Bach
• results: http://www.anc.inf.ed.ac.uk/demos/hmmbach/
• See also work by Gerhard Widmer http://www.cp.jku.at/
people/widmer/
12:13
Dynamic Bayesian Networks
– Arbitrary BNs in each time slide
– Special case: MDPs, speech, etc
12:14
65
66
15
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Reinforcement Learning
• Stationary MDP:
– We assume P (s0 | s, a) and P (r|s, a) independent of time
R
– We also define R(s, a) := E{r|s, a} = r P (r|s, a) dr
Long history of RL in AI
13:3
Idea of programming a computer to learn by trial and error (Tur-
State value function
ing, 1954)
SNARCs (Stochastic Neural-Analog Reinforcement Calculators)
(Minsky, 54)
• The value (expected discounted return) of policy π when started
in state s:
Checkers playing program (Samuel, 59)
Lots of RL in the 60s (e.g., Waltz & Fu 65; Mendel 66; Fu 70)
MENACE (Matchbox Educable Naughts and Crosses Engine
V π (s) = Eπ {r0 + γr1 + γ 2 r2 + · · · | s0 = s}
(Mitchie, 63)
discounting factor γ ∈ [0, 1]
RL based Tic Tac Toe learner (GLEE) (Mitchie 68)
Classifier Systems (Holland, 75)
Adaptive Critics (Barto & Sutton, 81)
• Definition of optimality:
behavior π ∗ is optimal iff
Temporal Differences (Sutton, 88)
∗
from Satinder Singh’s Introduction to RL, videolectures.com
∀s : V π (s) = V ∗ (s)
where V ∗ (s) = max V π (s)
π
(simultaneously maximising the value in all states)
• Long history in Psychology
13:1
(In MDPs there always exists (at least one) optimal deterministic policy.)
Outline
13:4
• Markov Decision Processes as formal model
– Definition
– Value/Q-function
– Planning as computing V /Q given a model
• Learning
An example for a
value function...
– Temporal Difference & Q-learning
– Limitations of the model-free view
– Model-based RL
• Exploration
• Briefly
demo:
test/mdp runVI
– Imitation Learning & Inverse RL
– Continuous states and actions (LSPI, Policy Gradients)
13:2
Values provide a gradient towards desirable states
13:5
Markov Decision Process
Value function
a0
a1
a2
s0
s1
s2
• The value function V is a central concept in all of RL!
r0
P (s0:T +1 , a0:T , r0:T ; π) = P (s0 )
r1
QT
t=0
r2
P (at |st ; π) P (rt |st , at ) P (st+1 |st , at )
• In other domains (stochastic optimal control) it is also called
– world’s initial state distribution P (s0 )
– world’s transition probabilities P (st+1 | st , at )
– world’s reward probabilities P (rt | st , at )
– agent’s policy π(at | st ) = P (a0 |s0 ; π)
at = π(st ))
Many algorithms can directly be derived from properties of the value
function.
cost-to-go function (cost = −reward)
13:6
(or deterministic
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Recursive property of the value function
67
• Value Iteration:
(initialize Vk=0 (s) = 0)
h
i
X
∀s : Vk+1 (s) = max R(s, a) + γ
P (s0 |s, a) Vk (s0 )
a
π
s0
2
V (s) = E{r0 + γr1 + γ r2 + · · · | s0 = s; π}
stopping criterion:
= E{r0 | s0 = s; π} + γE{r1 + γr2 + · · · | s0 = s; π}
P
= R(s, π(s)) + γ s0 P (s0 | s, π(s)) E{r1 + γr2 + · · · | s1 = s0 ; π}
P
= R(s, π(s)) + γ s0 P (s0 | s, π(s)) V π (s0 )
maxs |Vk+1 (s) − Vk (s)| ≤ • Note that V ∗ is a fixed point of value iteration!
• Value Iteration converges to the optimal value function V ∗ (proof
below)
demo:
V π = Rπ + γP π V π
• We can write this in vector notation
test/mdp runVI
13:10
with vectors V πs = V π (s), Rπs = R(s, π(s)) and matrix P πs0 s =
P (s0 | s, π(s))
State-action value function (Q-function)
• For stochastic π(a|s):
P
P
V π (s) = a π(a|s)R(s, a) + γ s0 ,a π(a|s)P (s0 | s, a) V π (s0 )
• We repeat the last couple of slides for the Q-function...
13:7
• The state-action value function (or Q-function) is the expected
discounted return when starting in state s and taking first action
Bellman optimality equation
a:
• Recall the recursive property of the value function
π
V (s) = R(s, π(s)) + γ
P
s0
0
Qπ (s, a) = Eπ {r0 + γr1 + γ 2 r2 + · · · | s0 = s, a0 = a}
X
= R(s, a) + γ
P (s0 | s, a) Qπ (s0 , π(s0 ))
0
π
P (s | s, π(s)) V (s )
s0
(Note: V π (s) = Qπ (s, π(s)).)
• Bellman optimality equation
i
h
P
V ∗ (s) = maxa R(s, a) + γ s0 P (s0 | s, a) V ∗ (s0 )
h
i
P
with π ∗ (s) = argmaxa R(s, a) + γ s0 P (s0 | s, a) V ∗ (s0 )
• Bellman optimality equation for the Q-function
P
Q∗ (s, a) = R(s, a) + γ s0 P (s0 | s, a) maxa0 Q∗ (s0 , a0 )
(Sketch of proof: If π would select another action than argmaxa [·], then π 0 which
= π everywhere except π 0 (s) = argmaxa [·] would be better.)
with π ∗ (s) = argmaxa Q∗ (s, a)
13:11
Q-Iteration
• This is the principle of optimality in the stochastic case
13:8
• Recall the Bellman equation:
Richard E. Bellman
(1920—1984)
Bellman’s principle of optimality
Q∗ (s, a) = R(s, a) + γ
• Q-Iteration:
B
P
s0
P (s0 | s, a) maxa0 Q∗ (s0 , a0 )
(initialize Qk=0 (s, a) = 0)
∀s,a : Qk+1 (s, a) = R(s, a) + γ
A
X
P (s0 |s, a) max
Qk (s0 , a0 )
0
a
s0
A opt ⇒ B opt
stopping criterion:
maxs,a |Qk+1 (s, a) − Qk (s, a)| ≤ • Note that Q∗ is a fixed point of Q-Iteration!
h
i
V ∗ (s) = max R(s, a) + γ s0 P (s0 | s, a) V ∗ (s0 )
a
h
i
P
∗
π (s) = argmax R(s, a) + γ s0 P (s0 | s, a) V ∗ (s0 )
P
• Q-Iteration converges to the optimal state-action value function
Q∗
a
13:12
13:9
Proof of convergence
Value Iteration
• Let Dk = ||Q∗ − Qk ||∞ = maxs,a |Q∗ (s, a) − Qk (s, a)|
• How can we use this to compute V ∗ ?
• Recall the Bellman optimality equation:
Qk+1 (s, a) = R(s, a) + γ
X
≤ R(s, a) + γ
X
s0
∗
h
V (s) = maxa R(s, a) + γ
P
s0
0
∗
0
P (s | s, a) V (s )
i
s0
P (s0 |s, a) max
Qk (s0 , a0 )
0
a
h
i
∗ 0
0
P (s0 |s, a) max
Q
(s
,
a
)
+
D
k
0
a
68
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
h
i
X
∗ 0
0
= R(s, a) + γ
P (s0 |s, a) max
Q
(s
,
a
)
+ γDk
0
a
s0
• Learning
– Temporal Difference & Q-learning
– Limitations of the model-free view
– Model-based RL
= Q∗ (s, a) + γDk
similarly: Qk ≥ Q∗ − Dk ⇒ Qk+1 ≥ Q∗ − γDk
• Exploration
• Briefly
• The proof translates directly also to value iteration
13:13
– Imitation Learning & Inverse RL
– Continuous states and actions (LSPI, Policy Gradients)
13:16
For completeness*
Learning in MDPs
• While interacting with the world, the agent collects data of the
• Policy Evaluation computes V π instead of V ∗ : Iterate:
form
π
∀s : Vk+1
(s) = R(s, π(s)) + γ
P
s0
D = {(st , at , rt , st+1 )}Tt=1
P (s0 |s, π(s)) Vkπ (s0 )
(state, action, immediate reward, next state)
Or use matrix inversion V π = (I −γP π )−1 Rπ , which is O(|S|3 ).
What could we learn from that?
• Policy Iteration uses V π to incrementally improve the policy:
• Model-based RL:
learn to predict next state: estimate P (s0 |s, a)
1. Initialise π0 somehow (e.g. randomly)
learn to predict immediate reward: estimate P (r|s, a)
2. Iterate:
– Policy Evaluation: compute V
πk
πk
or Q
– Policy Update: πk+1 (s) ← argmaxa Qπk (s, a)
• Model-free RL:
learn to predict value: estimate V (s) or Q(s, a)
demo:
test/mdp runPI
13:14
• Policy search:
e.g., estimate the “policy gradient”, or directly use black box
Towards Learning
(e.g. evolutionary) search
13:17
• From Sutton & Barto’s Reinforcement Learning book:
The term dynamic programming (DP) refers to a collection of algorithms that can
be used to compute optimal policies given a perfect model of the environment as
a Markov decision process (MDP). Classical DP algorithms are of limited utility
in reinforcement learning both because of their assumption of a perfect model
and because of their great computational expense, but they are still important
theoretically. DP provides an essential foundation for the understanding of the
methods presented in the rest of this book. In fact, all of these methods can
be viewed as attempts to achieve much the same effect as DP, only with less
computation and without assuming a perfect model of the environment.
Let’s introduce basic model-free methods first.
D = {(s, a, r, s0 )t }Tt=0
learn
→
V (s)
→
π(s)
13:18
• So far, we introduced basic notions of an MDP and value func-
Temporal difference (TD) learning with V
tions and methods to compute optimal policies assuming that
• Recall the recursive property of V (s):
we know the world (know P (s0 |s, a) and R(s, a))
Value Iteration and Q-Iteration are instances of Dynamic Programming
V π (s) = R(s, π(s)) + γ
P
s0
P (s0 | s, π(s)) V π (s0 )
• TD learning: Given a new experience (s, a, r, s0 )
Vnew (s) = (1 − α) Vold (s) + α [r + γVold (s0 )]
• Reinforcement Learning?
= Vold (s) + α [r + γVold (s0 ) − Vold (s)] .
13:15
Outline
• Markov Decision Processes as formal model
– Definition
– Value/Q-function
– Planning as computing V /Q given a model
• Reinforcement:
– more reward than expected (r > Vold (s) − γVold (s0 ))
→ increase V (s)
– less reward than expected (r < Vold (s) − γVold (s0 ))
→ decrease V (s)
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
13:19
69
• Reinforcement:
– more reward than expected (r > Qold (s, a)−γ maxa0 Qold (s0 , a0 ))
Temporal difference (TD) learning with Q
→ increase Q(s, a)
– less reward than expected (r < Qold (s, a)−γ maxa0 Qold (s0 , a0 ))
• Recall the recursive property of Q(s, a):
→ decrease Q(s, a)
π
Q (s, a) = R(s, a) + γ
P
s0
0
∗
0
0
P (s |s, a) Q (s , π(s ))
13:22
Q-learning = off-policy TD learning with Q∗
• TD learning: Given a new experience (s, a, r, s0 , a0 = π(s0 ))
Qnew (s, a) = (1 − α) Qold (s, a) + α [r + γQold (s0 , a0 )]
• Off-policy: We estimate Q∗ while executing π
= Qold (s, a) + α [r + γQold (s0 , a0 ) − Qold (s, a)]
• Q-learning:
1:
• Reinforcement:
2:
– more reward than expected (r > Qold (s, a) − γQold (s0 , a0 ))
3:
4:
→ increase Q(s, a)
5:
– less reward than expected (r < Qold (s, a) − γQold (s0 , a0 ))
6:
7:
→ decrease Q(s, a)
8:
13:20
9:
10:
Sarsa = on-policy TD learning with Q
Initialize Q(s, a) = 0
repeat
// for each episode
Initialize start state s
repeat
// for each step of episode
Choose action a ≈ argmaxa Q(s, a)
Take action a, observe r, s0
Q(s, a) ← Q(s, a) + α [r + γ maxa0 Qold (s0 , a0 ) −
Qold (s, a)]
s ← s0 , a ← a0
until end of episode
until happy
13:23
• On-policy: We estimate Qπ while executing π
Q-learning convergence with prob 1
1:
2:
3:
4:
5:
• Sarsa:
6:
7:
8:
9:
10:
11:
Initialize Q(s, a) = 0
repeat
// for each episode
Initialize start state s
Choose action a ≈ argmaxa Q(s, a)
repeat
// for each step of episode
Take action a, observe r, s0
Choose action a0 ≈ argmaxa0 Q(s0 , a0 )
Q(s, a) ← Q(s, a)+α [r+γQold (s0 , a0 )−Qold (s, a)]
s ← s0 , a ← a0
until end of episode
until happy
• Q-learning is a stochastic approximation of Q-Iteration:
Q-learning: Qnew (s, a) = (1 − α)Qold (s, a) + α[r + γ maxa0 Qold (s0 , a0 )]
Q-Iteration: P
∀s,a : Qk+1 (s, a) =
R(s, a) + γ s0 P (s0 |s, a) maxa0 Qk (s0 , a0 )
We’ve shown convergence of Q-Iteration to Q∗
• Convergence of Q-learning:
Q-Iteration is a deterministic update: Qk+1 = T (Qk )
• -greedy action selection:
Q-learning is a stochastic version: Qk+1 = (1−α)Qk +α[T (Qk )+
ηk ]
a ≈ argmax Q(s, a)
⇐⇒
a=
a
random
with prob. argmaxa Q(s, a) else
ηk is zero mean!
13:24
13:21
Q-learning impact
Q-learning
• Q-Learning was the first provably convergent direct adaptive op-
• Recall the Bellman optimality equation for the Q-function:
Q∗ (s, a) = R(s, a) + γ
P
s0
timal control algorithm
P (s0 |s, a) maxa0 Q∗ (s0 , a0 )
0
• Q-learning (Watkins, 1988) Given a new experience (s, a, r, s )
Qnew (s, a) = (1 − α) Qold (s, a) + α [r + γmax
Qold (s0 , a0 )]
0
a
= Qold (s, a) + α [r − Qold (s, a) + γ max
Qold (s0 , a0 )]
0
a
• Great impact on the field of Reinforcement Learning in 80/90ies
– “Smaller representation than models”
– “Automatically focuses attention to where it is needed,”
i.e., no sweeps through state space
– Can be made more efficient with eligibility traces
13:25
70
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Eligibility traces
TD-Gammon notes
• Temporal Difference: based on single experience (s0 , r0 , s1 )
• Choose features as raw position inputs (number of pieces at
each place)
Vnew (s0 ) = Vold (s0 ) + α[r0 + γVold (s1 ) − Vold (s0 )]
→ as good as previous computer programs
• Longer experience sequence, e.g.: (s0 , r0 , r1 , r2 , s3 )
• Using previous computer program’s expert features
Temporal credit assignment, think further backwards: receiv-
→ world-class player
ing r3 also tells us something about V (s0 )
Vnew (s0 ) = Vold (s0 ) + α[r0 + γr1 + γ 2 r2 + γ 3 Vold (s3 ) − Vold (s0 )]
• TD(λ): remember where you’ve been recently (“eligibility trace”)
and update those values as well:
• Kit Woolsey was world-class player back then:
– TD-Gammon particularly good on vague positions
– not so good on calculable/special positions
– just the opposite to (old) chess programs
e(st ) ← e(st ) + 1
∀s : Vnew (s) = Vold (s) + α e(s) [rt + γVold (st+1 ) − Vold (st )]
• See anotated matches: http://www.bkgm.com/matches/
woba.html
∀s : e(s) ← γλe(s)
• Core topic of Sutton & Barto book
• Good example for
– value function approximation
→ great improvement of basic RL algorithms
13:26
– game theory, self-play
TD(λ), Sarsa(λ), Q(λ)
13:29
Detour: Dopamine
• TD(λ):
∀s : V (s) ← V (s) + α e(s) [rt + γVold (st+1 ) − Vold (st )]
• Sarsa(λ)
∀s,a : Q(s, a) ← Q(s, a) + α e(s, a) [r + γQold (s0 , a0 ) − Qold (s, a)]
• Q(λ)
∀s,a : Q(s, a) ← Q(s, a) + α e(s, a) [r + γ maxa0 Qold (s0 , a0 ) −
Montague, Dayan & Sejnowski: A Framework for Mesencephalic
Dopamine Systems based on Predictive Hebbian Learning. Jour-
Qold (s, a)]
13:27
nal of Neuroscience, 16:1936-1947, 1996.
13:30
TD-Gammon, by Gerald Tesauro
So what does that mean?
(See section 11.1 in Sutton & Barto’s book.)
• MLP to represent the value function V (s)
– We derived an algorithm from a general framework
– This algorithm involves a specific variable (reward residual)
– We find a neural correlate of exactly this variable
Great!
Devil’s advocate:
• Only reward given at end of game for win.
• Self-play: use the current policy to sample moves on both sides!
– Does not proof that TD learning is going on
Only that an expected reward is compared with a experienced reward
• random policies → games take up to thousands of steps. Skilled
– Does not discriminate between model-based and modelfree
(Both can induce an expected reward)
players ∼ 50 − 60 steps.
• TD(λ) learning (gradient-based update of NN weights)
13:28
13:31
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Limitations of the model-free view
71
• Learning
– Temporal Difference & Q-learning
– Limitations of the model-free view
– Model-based RL
• Given learnt values, behavior is a fixed SR (or state-action) mapping
• If the “goal” changes: need to re-learn values for every state in
• Exploration
the world! all previous values are obsolete
• Briefly
– Imitation Learning & Inverse RL
– Continuous states and actions (LSPI, Policy Gradients)
• No general “knowledge”, only values
• No anticipation of general outcomes (s0 ), only of value
13:35
• No “planning”
13:32
dynamic prog.
V (s)
policy
π(s)
learn policy
π(s)
Model−free
policy
π(s)
optimize policy
π(s)
learn latent costs
R(s, a)
dynamic prog.
V (s)
Inverse RL
learn value fct.
V (s)
Imitation Learning
learn model
P (s0 |s, a)
R(s, a)
demonstration data
D = {(s0:T , a0:T )d }n
d=1
Policy Search
experience data
D = {(st , at , rt )}Tt=0
Model−based
By definition, goal-directed behavior is performed to obtain a desired
goal. Although all instrumental behavior is instrumental in achieving its
contingent goals, it is not necessarily purposively goal-directed. Dickinson and Balleine [1,11] proposed that behavior is goal-directed if: (i)
it is sensitive to the contingency between action and outcome, and (ii)
the outcome is desired. Based on the second condition, motivational
manipulations have been used to distinguish between two systems of
action control: if an instrumental outcome is no longer a valued goal (for
instance, food for a sated animal) and the behavior persists, it must not
be goaldirected. Indeed, after moderate amounts of training, outcome
revaluation brings about an appropriate change in instrumental actions
(e.g. leverpressing) [43,44], but this is no longer the case for extensively trained responses ([30,31], but see [45]). That extensive training
can render an instrumental action independent of the value of its consequent outcome has been regarded as the experimental parallel of the
folk psychology maxim that wellperformed actions become habitual [9]
(see Figure I).
Five approaches to learning behavior
policy
π(s)
13:36
Niv, Joel & Dayan: A normative perspective on motivation. TICS,
Imitation Learning
10:375-381, 2006.
13:33
D = {(s0:T , a0:T )d }n
d=1
learn/copy
→
π(s)
Model-based RL
D = {(s, a, r, s0 )t }Tt=0
learn
→
P (s0 |s, a)
DP
→
V (s)
→
π(s)
• Model learning: Given data D = {(st , at , rt , st+1 )}Tt=1 estimate
• Use ML to imitate demonstrated state trajectories x0:T
Literature:
0
P (s |s, a) and R(s, a)
Atkeson & Schaal: Robot learning from demonstration (ICML 1997)
Schaal, Ijspeert & Billard: Computational approaches to motor learning
by imitation (Philosophical Transactions of the Royal Society of London.
Series B: Biological Sciences 2003)
For instance:
– discrete state-action: Pˆ (s0 |s, a) =
#(s0 ,s,a)
#(s,a)
– continuous state-action: Pˆ (s0 |s, a) = N(s0 | φ(s, a)>β, Σ)
estimate parameters β (and perhaps Σ) as for regression
(including non-linear features, regularization, cross-validation!)
Grimes, Chalodhorn & Rao: Dynamic Imitation in a Humanoid Robot
through Nonparametric Probabilistic Inference. (RSS 2006)
Rudiger
Dillmann: Teaching and learning of robot tasks via observation
¨
of human performance (Robotics and Autonomous Systems, 2004)
13:37
• Planning, for instance:
– discrete state-action:
model
Value Iteration with the estimated
– continuous state-action: Least Squares Value Iteration
Stochastic Optimal Control (Riccati, Differential Dynamic
Prog.)
13:34
Imitation Learning
• There a many ways to imitate/copy the oberved policy:
Learn a density model P (at | st )P (st ) (e.g., with mixture of Gaussians) from the observed data and use it as policy (Billard et al.)
Outline
• Markov Decision Processes as formal model
– Definition
– Value/Q-function
– Planning as computing V /Q given a model
Or trace observed trajectories by minimizing perturbation costs
(Atkeson & Schaal 1997)
13:38
72
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Imitation Learning
(Abbeel & Ng, ICML 2004)
13:41
Atkeson & Schaal
13:42
13:39
Continuous state/actions in model-free RL
Inverse RL
• All of this is fine in small finite state & action spaces.
D = {(s0:T , a0:T )d }n
d=1
learn
→
R(s, a)
DP
→
V (s)
→
π(s)
Q(s, a) is a |S| × |A|-matrix of numbers.
π(a|s) is a |S| × |A|-matrix of numbers.
• Use ML to “uncover” the latent reward function in observed behavior
• In the following:
– optimize a parameterized π(a|s) (policy search)
Literature:
13:43
Pieter Abbeel & Andrew Ng: Apprenticeship learning via inverse reinforcement learning (ICML 2004)
Andrew Ng & Stuart Russell: Algorithms for Inverse Reinforcement Learning (ICML 2000)
Nikolay Jetchev & Marc Toussaint: Task Space Retrieval Using Inverse
Feedback Control (ICML 2011).
Policy gradients
• In continuous state/action case, represent the policy as linear in
arbitrary state features:
13:40
π(s) =
k
X
φj (s)βj = φ(s)>β
(deterministic)
j=1
Inverse RL (Apprenticeship Learning)
• Given: demonstrations D = {xd0:T }n
d=1
π(a | s) = N(a | φ(s)>β, Σ)
(stochastic)
with k features φj .
• Try to find a reward function that discriminates demonstrations from other policies
• Basically, given an episode ξ = (st , at , rt )H
t=0 , we want to esti-
– Assume the reward function is linear in some features R(x) =
mate
w>φ(x)
∂V (β)
∂β
– Iterate:
1. Given a set of candidate policies {π0 , π1 , ..}
13:44
2. Find weights w that maximize the value margin between
Policy Gradients
teacher and all other candidates
max ξ
w,ξ
s.t. ∀πi :
w>hφiD
| {z }
value of demonstrations
≥ w>hφiπi +ξ
| {z }
value of πi
2
||w|| ≤ 1
3. Compute a new candidate policy πi that optimizes R(x) =
>
w φ(x) and add to candidate list.
• One approach is called REINFORCE:
Z
Z
∂V (β)
∂
∂
=
P (ξ|β) R(ξ) dξ = P (ξ|β)
log P (ξ|β)R(ξ)dξ
∂β
∂β
∂β
= Eξ|β {
H
H
X
∂ log π(at |st ) X t0 −t
∂
log P (ξ|β)R(ξ)} = Eξ|β {
γt
γ
rt0 }
∂β
∂β
t=0
t0 =t
|
{z
}
Qπ (st ,at ,t)
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
∂V (β)
∂β
• Another is PoWER, which requires
β←β+
Eξ|β {
PH
Eξ|β {
Pt=0
H
=0
13:48
t Qπ (st , at , t)}
t=0
73
Basic topics not covered
Qπ (st , at , t)}
• Partial Observability (POMDPs)
See: Peters & Schaal (2008): Reinforcement learning of motor skills with policy
gradients, Neural Networks.
Kober & Peters: Policy Search for Motor Primitives in Robotics, NIPS 2008.
Vlassis, Toussaint (2009): Learning Model-free Robot Control by a Monte Carlo
EM Algorithm. Autonomous Robots 27, 123-130.
13:45
What if the agent does not observe the state st ? → The policy π(at | bt )
needs to build on an internal representation, called belief βt .
• Continuous state & action spaces, function approximation in RL
• Predictive State Representations, etc etc...
13:49
Kober & Peters: Policy Search for Motor Primitives in Robotics, NIPS 2008.
13:46
policy
π(s)
Model−free
policy
π(s)
learn policy
π(s)
learn latent costs
R(s, a)
dynamic prog.
V (s)
Inverse RL
dynamic prog.
V (s)
optimize policy
π(s)
Imitation Learning
learn value fct.
V (s)
Model−based
learn model
P (s0 |s, a)
R(s, a)
demonstration data
D = {(s0:T , a0:T )d }n
d=1
Policy Search
experience data
D = {(st , at , rt )}Tt=0
policy
π(s)
– Policy gradients are one form of policy search.
– There are other, direct policy search methods
(plain stochastic search, e.g. “Covariance Matrix Adaptation”)
13:47
Conclusions
• Markov Decision Processes and RL provide a solid framework
for describing behavioural learning & planning
• Little taxonomy:
policy
π(s)
learn policy
π(s)
learn latent costs
R(s, a)
dynamic prog.
V (s)
Inverse RL
policy
π(s)
optimize policy
π(s)
Imitation Learning
dynamic prog.
V (s)
Model−free
learn value fct.
V (s)
Model−based
learn model
P (s0 |s, a)
R(s, a)
demonstration data
D = {(s0:T , a0:T )d }n
d=1
Policy Search
experience data
D = {(st , at , rt )}Tt=0
policy
π(s)
74
16
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Reinforcement Learning – Exploration
• Don’t forget the difference between learning and planning. Planning (solving an MDP / calculating optimal state and action val-
Exploration is fundamental intelligent behavior
ues) is the problem of adapting the behavior based on a given
model
14:3
• Try to control the data
you collect!
– Make decisions that
lead to interesting
data
-greedy exploration in Q-learning
1:
2:
3:
– Reflect
your
own
knowledge;
know
what you don’t know,
what you could learn
4:
5:
– Go to situations where
you might learn something
• Curiousity, fun, intrinsic
motivation, life-long learning
6:
7:
8:
9:
10:
Initialize Q(s, a) = 0
repeat[for each episode]
Initialize start state s
repeat[for each step of episode]
Choose
action
(
random
with prob. a
argmaxa Q(s, a) else
Take action a, observe r, s0
Qnew (s, a)
←
Qold (s, a)
γ maxa0 Qold (s0 , a0 ) − Qold (s, a)]
s ← s0
until end of episode
until happy
=
+
α
[r
+
14:1
• Estimate Q(s, a) converges to Q∗ (s, a) with infinite number of
Recall Markov decision processes
a0
a1
a2
s0
s1
s2
r0
r1
samples for (s, a) and appropriate α (Watkins and Dayan, 1992)
• Off-policy learning:
– Q-learning estimates π ∗ in form of Q∗ (line 7)
– However, Q-learning does not execute π ∗ (or its current estimate thereof), but -greedy to ensure to explore (line 5)
r2
14:4
P (s0:T , a0:T , r0:T ; π) =
P (s0 )P (a0 |s0 ; π)P (r0 |a0 , s0 )
QT
t=1
P (st |at-1 , st-1 )P (at |st ; π)P (rt |at , st )
“Exploration-exploitation tradeoff”
• Two different types of behavior:
– exploration: act with the goal to learn as much as possible;
perform actions with unknown rewards / outcomes / values
– world’s initial state distribution P (s0 )
– world’s transition probabilities P (st+1 | at , st )
– world’s reward probabilities P (rt | at , st )
– exploitation: act with the goal of getting as much reward as
possible;
– discount parameter γ for future rewards
perform actions which are known to produce large reward / value
– agent’s policy π(at | st ) (or deterministic at = π(st ))
• Exploration-exploitation tradeoff:
not part of the world model!
– two different sources of uncertainty: the world itself (not con-
be sure not to miss states and actions with large rewards;
but do not waste too much time in low-reward states and actions
trolled by the agent) vs. the policy (controlled by the agent)
14:5
14:2
Recall reinforcement learning
P
t
• Agent wants to maximize its future rewards E[ ∞
t=0 γ rt | s0 ; π]
Sample Complexity
• Let A be an RL algorithm which acts in an unknown MDP, resulting in s0 , a0 , r0 , s1 , a1 , r1 , . . .
• Agent starts without a world model
→ no P (st+1 | at , st ), no P (rt | at , st ), no V ∗ (s), no Q∗ (s, a)
• Agent needs to learn from experience s0 , a0 , r0 , s1 , a1 , r1 , . . .
which actions lead to high rewards
– model-based RL: learn world model and then plan
– model-free RL: learn V and Q directly (Q-learning, TDlearning)
• How can we describe and judge the exploration efficiency of A
in formal terms?
• Definition (Kakade, 2003):
P
s
∗
Let VtA = E[ ∞
s=0 γ rt+s | s0 , a0 , r0 . . . st−1 , at−1 , rt−1 , st ]. V
is the value function of the optimal policy.
Let > 0 be a prescribed accuracy.
The sample complexity of A is the number of timesteps t such
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
75
that VtA (st ) < V ∗ (st ) − 14:9
This is the number of timesteps where the policy of A is more
than worse than the optimal policy
14:6
E 3 sketch*
PAC-MDP efficiency
• Let δ > 0 be an allowed probability of failure.
A is called PAC-MDP efficient if with probability 1 − δ its sample
complexity scales polynomially in δ, and quantities describing
the MDP
• PAC: probably (δ) approximately () correct
The PAC framework is fundamental to frequentist learning theory.
For instance, it can be used to derive guarantees on the generalization performance of support vector machines
Input: State s
Output: Action a
1: if s is known then
2:
Plan in MDPknown
// Sufficiently accurate model
estimates
3:
if resulting plan has value above some threshold then
4:
return first action of plan
// Exploitation
5:
else
6:
Plan in MDPunknown
7:
return first action of plan
// Planned exploration
8:
end if
9: else
10:
return action with the least observations in s// Direct
exploration
11: end if
14:10
• Quantities describing the MDP: number of states, number of
actions, discount factor γ, maximal reward Rmax > 0, parame-
E 3 example*
ters in the transition model P (s0 | s, a), . . .
14:7
PAC-MDP efficiency
• -greedy is not PAC-MDP efficient.
Its sample complexity is exponential in the number of states
(Whitehead, 1991)
S. Singh (Tutorial 2005)
• Examples of PAC-MDP efficient approaches:
– model-based: E 3 , R- MAX
14:11
– model-free: Delayed Q-learning
14:8
3
Explicit-Exploit-or-Explore (E ) algorithm*
E 3 example*
Kearns and Singh (2002)
• PAC-MDP efficient model-based RL algorithm
• Based on two previously established key ideas:
– counts c(s, a) for states and actions to quantify model
confidence: s is known if all actions in s sufficiently often
executed
– optimism in the face of uncertainty: unknown states are
assumed to give maximum reward (whose value is known)
• E 3 uses two MDPs:
S. Singh (Tutorial 2005)
– MDPknown : known states with (approximately exact) estimates of P (st+1 | st , at ) and P (rt | st , at )
→ captures what you know and drives exploitation
– MDPunknown : MDPknown without reward + special state s0
where the agent receives maximum reward
→ drives exploration
14:12
E 3 example*
76
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
• Rmax:
(
Rmax
– R (s, a) = ˆ
θrsa
∗
if #s,a < n
, P ∗ (s0 |s, a) =
otherwise
(
ds0 s∗
θˆs0 sa
if #s
other
– Guarantees over-estimation of values, polynomial PAC results!
– Read about “KWIK-Rmax”! (Li, Littman, Walsh, Strehl, 2011)
• Bayesian Exploration Bonus (BEB), Kolter & Ng (ICML 2009)
– Choose P ∗ (s0 |s, a) = P (s0 |s, a, b) integrating over the current belief b(θ) (non-over-confident)
β
– But choose R∗ (s, a) = θˆrsa +
with a hyperparam1+α0 (s,a)
eter α0 (s, a), over-estimating return
• Confidence intervals for V -/Q-function (Kealbling ’93, Dearden
Mˆ : estimated known state MDP
M : true known state MDP
et al. ’99)
14:16
S. Singh (Tutorial 2005)
14:13
More ideas about exploration
R- MAX
• Intrinsic rewards for learning progress
– “fun”, “curiousity”
Brafman and Tennenholtz (2002)
• similar to E 3 ; implicit instead of explicit exploration
– in addition to the external “standard” reward of the MDP
• based on reward function
– “Curious agents are interested in learnable but yet unknown
regularities, and get bored by both predictable and inherently unpredictable things.” (J. Schmidhuber)
RR- MAX (s, a) =
– Use of a meta-learning system which learns to predict the
error that the learning machine makes in its predictions;
meta-predictions measure the potential interestingness of
situations (Oudeyer et al.)
R(s, a) c(s, a) ≥ m (s, a known)
Rmax
c(s, a) < m (s, a unknown)
• Is PAC-MDP efficient
• Optimism in the face of uncertainty
14:14
• Dimensionality reduction for model-based exploration in continuous spaces: low-dimensional representation of the transition
Bayesian RL
function; focus exploration on relevant dimensions (A. Nouri,
• There exists an optimal solution to the exploration-exploitation
M. Littman)
14:17
trade-off: belief planning (see my tutorial “Bandits, Global Optimization, Active Learning, and Bayesian RL – understanding
the common ground”)
V π (b, s) = R(s, π(b, s)) +
Z
P (b0 , s0 | b, s, π(b, s)) V π (b0 , s0 )
b0 ,s0
– Agent maintains a distribution (belief) b(m) over MDP models m
– typically, MDP structure is fixed; belief over the parameters
– belief updated after each observation (s, a, r, s0 ): b → b0
– only tractable for very simple problems
• Bayes-optimal policy π ∗ = argmaxπ V π (b, s)
– no other policy leads to more rewards in expectation w.r.t. prior
distribution over MDPs
More ideas about exploration
• Exploration to reduce uncertainty of a belief p(x)
– In robotics, p(x) might be the belief about the robot position
x
– Entropy: a probabilistic
measure of information
R
H(p(x)) = − p(x) log p(x)dx
Hp (x) is maximal if p is uniform,
and minimal if p is a point mass distribution
– Information gain of action a:
I(a) = H(p(x)) − Ez [H(p(x0 | z, a))]
(z is the potential observation)
expected change of entropy when executing an action
– maximizing information gain = minimizing uncertainty in belief
14:18
– solves the exploration-exploitation tradeoff
14:15
Optimistic heuristics
Digression: Active Learning
Cohn, Ghahramani, Jordan (1996)
• As with UCB, choose estimators for R∗ , P ∗ that are optimistic/over-
• active choice of learning examples in a supervised learning setting:
confident
h
∗
Vt (s) = max R +
a
P
s0
∗
0
0
P (s |s, a) Vt+1 (s )
i
learn mapping X → Y from training examples D = {(xi , yi )m
i=1 }
• active learning protocol:
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
– select a new input x
˜: x
˜ may be a query, experiment, action
...
– observe resulting output y˜
– incorporate new example (˜
x, y˜) into D, relearn, and repeat;
77
• Ideas for driving exploration: random actions, optimism in the
face of uncertainty, maximizing learning progress and information gain
• crucial question: how to choose x
˜?
• Generalization over states and actions is crucial (→ relational
• heuristics:
– where we don’t have data
RL)
– where we perform poorly
– where we have low confidence
• Active learning selects statistically optimal training data for effi-
– where we expect it to change our model
cient supervised learning
– where we previously found data
14:22
• in the following: select x
˜ in a statistically “optimal” manner
14:19
Digression: Active Learning (continued)
• Goal: minimize variance of prediction yˆ for given x
σy2ˆ = ED [(ˆ
y − ED [ˆ
y ])2 ]
changes with new training example (˜
x, y˜)
• Choose x
˜ which minimizes the expected predictive variances
conditioned on having seen x
˜:
˜]
hσy2ˆ i = ED∪(˜x,˜y) [σy2ˆ | x
References
• Brafman, Tennenholtz (2002). R-max - a general polynomial time algorithm for near-optimal RL. JMLR.
• Cohn, Ghahramani, Jordan (1996): Active learning with statistical models. JAIR.
• Kakade (2003): On the sample complexity of RL. PhD thesis.
• Kearns, Singh (2002): Near-optimal reinforcement learning in polynomial time. Machine Learning Journal.
• Li (2009): A unifying framework for computational RL theory. PhD thesis.
• Nouri, Littman (2010): Dimension reduction and its application to modelbased exploration in continuous spaces. Machine Learning Journal.
• Oudeyer, Kaplan, Hafner (2007): Intrinsic motivation systems for autonomous mental development. IEEE Evolutionary Computation.
• Schmidhuber (1991): Curious model-building control systems. In Int. Joint
Conf. on Neural Networks.
14:23
• How can we compute
hσy2ˆ i?
Monte Carlo approximation (sam-
pling): evaluate at a set of reference points drawn from P (x)
14:20
Digression: Active Learning (continued)
• Example: mixture of Gaussians
– analytic solution for calculating expected predictive variances
of the learner
Cohn, Ghahramani, Jordan (1996)
14:21
Conclusions
• Exploration is fundamental intelligent behavior
• RL agents need to solve the exploration-exploitation tradeoff
• Sample complexity is a measure of the exploration efficiency of
an RL algorithm
78
17
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Exercises
17.1
17.1.1
Exercise 1
First Steps
You will hand in your exercises in groups of (up to)
three. If you did not write Johannes your group members, please do so as soon as possible.
(johannes.kulick@ipvs.uni-stuttgart.de)
All exercises will be in Python and handed in via Git.
Make yourself familiar with both Python and Git by reading a few tutorials and examples. You can find links to
some free good tutorials at the course website at https:
around with the data in it.
The last file is run_tests.sh. It runs the tests, so that
you can use the test to check whether you are doing
right. Note that our test suite will be different from the
one we hand to you. So just mocking each function with
the desired output without actually computing it will not
work. You can run the tests by executing:
$ sh run_tests.sh
If you are done implementing the exercise simply commit your implementation and push it to our server.
$ git add e01-graphsearch.py
$ git commit
$ git push
Task: Implement breadth-first search, uniform-cost search,
limited-depth search, iterative deepening search and A14-ArtificialIntelligence/.
star as described in the lecture (A-star will be topic of
the next lecture). All methods get as an input a graph,
Login in our GitLab system at https://sully.informatik.
a start state, and a goal state. Your methods should
uni-stuttgart.de/gitlab/ with the account sent
return two things: the path from start to goal, and the
to you. If you did not receive an account yet, please
fringe at the moment when the goal state is found (that
email Johannes.
latter allows us to check correctness of the implemenCreate a SSH key (if you don’t already have one) and
tation). The first return value should be the found Node
upload it in your profile at “Profile Settings” and “SSH
(which has the path implicitly included through the parKeys”.
ent links) and a Queue (one of the following: Queue,
LifoQueue, PriorityQueue and NodePriorityQueue)
$ ssh-keygen
object holding the fringe. You also have to fill in the pri$ cat ˜/.ssh/id_rsa.pub
ority computation at the put() method of the NodePriorityQue
//ipvs.informatik.uni-stuttgart.de/mlr/marc/teaching/
Clone your repository with:
Iterative Deepening and Depth-limited search are a bit
different in that they do not explicetly have a fringe. You
$ git clone git@sully.informatik.uni-stuttgart.de:ai_lecture/group_[GROUP_NUMBER].git
don’t have to return a fringe in those cases, of course.
Depth-limited search additionally gets a depth limit as
input. A-star gets a heuristic function as input, which
you can call like this:
17.1.2 Tree Search
def a_star_search(graph, start, goal, heuristic
In the repository you will find the directory e01-graphsearch
# ...
with a couple of files. First there is e01-graphsearch.py
h = heuristic(node.state, goal)
with the boilerplate code for the exercise. The com# ...
ments in the code define what each function is supposed to do. Implement each function and you are done
with the exercise.
Tips:
The second file you will find is tests.py. It consists of
tests that check whether your function does what they
should. You don’t have to care about this file, but you
can have a look in it to understand the exercise better.
The next file is data.py. It consists of a very small
graph and the S-Bahn net of Stuttgart as graph structure. It will be used by the test. If you like you can play
– For those used to IDEs like Visual Studio or Eclipse: Install PyCharm (Community Edition). Start it in the git directory. Perhaps set the Keymap to ’Visual Studio’ (which
sets exactly the same keys for running and stepping in
the debugger). That’s helping a lot.
– Use the data structure Node that is provided. It has exactly the attributes mentioned on slide 26.
– Maybe you don’t have to implement the ’Tree-Search’
and ’Expand’ methods separately; you might want to put
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
• Breitensuche, Tiefensuche und Suche mit ein¨ einer Bestenheitlichen Kosten sind Spezialfalle
suche.
them in one little routine.
17.2
79
• Suche mit einheitlichen Kosten ist ein Spezialfall
der A∗ -Suche.
Exercise 2
¨ Prasenz
¨
Dieses Blatt enthalt
ubungen,
die teils am 6.11.
¨
¨
in der Ubungsgruppe besprochen werden und auch zur
Klausurvorbereitung dienen. Sie sind nicht abzugeben.
¨
Studenten werden zufallig
gebeten, sich an den Aufgaben zu versuchen.
¨
• Es gibt Zustandsraume,
in dem iterative Tiefen¨
¨ als Tiefensuche eine hohere
Laufzeit-Komplexitat
2
suche hat (O(n ) vs. O(n)).
17.2.3
¨
Prasenzaufgabe:
Greedy-Bestensuche
und A∗ -Suche
17.2.1
¨
Prasenzaufgabe:
Beispiel fur
¨ Baum-
¨
Betrachten Sie die Rumanien-Karte
auf Folie 4 in 03-search.pd
suche
Betrachten Sie den Zustandsraum, in dem der Startzustand mit der Nummer 1 bezeichnet wird und die Nach¨
folgerfunktion fur
mit den Num¨ Zustand n die Zustande
mern 4n − 2, 4n − 1, 4n und 4n + 1 zuruck
¨ gibt. Nehmen
Sie an, dass die hier gegebene Reihenfolge auch genau
die Reihenfolge ist, in der die Nachbarn in expand durchlaufen werden und in die LIFO fringe eingetragen werden.
• Zeichnen Sie den Teil des Zustandsraums, der
¨
die Zustande
1 bis 21 umfasst.
• Geben Sie die Besuchsreihenfolge (Besuch=[ein
Knoten wird aus der fringe genommen, goal-check,
¨
und expandiert]) fur
Tiefensuche
¨ eine beschrankte
mit Grenze 2 und fur
¨ eine iterative Tiefensuche,
jeweils mit Zielknoten 4, an. Geben Sie nach jedem Besuch eines Knotens den dann aktuellen
Inhalt der fringe an. Die initiale fringe ist [1]. Nutzen
Sie fur
¨ jeden Besuch in etwa die Notation:
besuchter Zustand: [fringe nach dem Besuch]
• Fuhrt
ein endlicher Zustandsraum immer zu einem
¨
endlichen Suchbaum? Begrunden
Sie Ihre Antwort.
¨
17.2.2
¨
¨ der SuchPrasenzaufgabe:
Spezialfalle
• Die Luftlinien-Heuristik hLL bringt Probleme fur
¨
eine Greedy-Bestensuche, wenn wir von Iasi nach
Faragas gehen wollen. In umgekehrter Richtung
jedoch nicht. Finden Sie einen Fall, in dem GreedySuche mit hLL fur
¨ keine Richtung den kurzesten
¨
Weg findet.
• Verfolgen Sie den Weg von Lugoj nach Bukarest
mittels einer A∗ -Suche und verwenden Sie die
Luftlinien-Distanz als Heuristik. Geben Sie alle
Knoten an, die auf dem Weg berucksichtigt
wer¨
den, und ermitteln Sie jeweils die Werte fur
¨ f, g
und h.
• Geben Sie den mittels der A∗ -Suche gefundenen
kurzesten
Weg an.
¨
17.3
17.3.1
Exercise 3
Install Numpy
For this exercise you will need numpy. Please install
a recent version of it. Installation notes you can find
http://www.scipy.org/install.html. Any reasonably recent version will do for this exercise. (So using a version from the Ubuntu repository for instance is
fine.)
strategien
Beweisen Sie die folgenden Aussagen:
• Breitensuche ist ein Spezialfall der Suche mit einheitlichen Kosten.
17.3.2
Constrained Satisfaction Problems
Pull the current exercise from our server to your local
repository:
80
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
$ git pull
Task 1: Implement backtracking for the constrained
satisfaction problem definition you find in csp.py. Make
three different versions of it 1) without any heuristic 2)
with minimal remaining value as heuristic but without
tie-breaker (take the first best solution) 3) with minimal
remaining value and the degree heuristic as tie-breaker.
17.4.1
¨
Prasenzaufgabe:
CSP
Betrachten Sie folgenden Kartenausschnitt:
Optional: Implement AC-3 or any approximate form of
constraint propagation and activate it if the according
parameter is set.
Task 2: Implement a method to convert a Sudoku into
a csp.ConstrainedSatisfactionProblem. The
sudoku is given as a numpy array. Every empty field is
set to 0. The CSP you create should cover all rules of
a Sudoku, which are (from http://en.wikipedia.
org/wiki/Sudoku):
Fill a 9 × 9 grid with digits so that each column, each
row, and each of the nine 3 × 3 sub-grids that compose
the grid (also called ’boxes’, ’blocks’, ’regions’, or ’subsquares’) contains all of the digits from 1 to 9.
Der Kartenausschnitt soll mit insgesamt 4 Farben so
eingef”arbt werden, dass je zwei Nachbarl”ander verschiedene Farben besitzen.
(a) Mit welchem Land w”urde man am ehesten beginnen?
(b) F”arben Sie das erste Land ein und wenden Sie
durchgehend Constraint Propagation an.
In the lecture we mentioned the all different constraint
for columns, rows, and blocks. As the csp.ConstrainedSatisfactionProblem
only allows you to represent pair-wise unequal con¨
17.4.2 Prasenzaufgabe:
Generalized Arc Constraints (to facilitate constraint propagation) you need
sistency
to convert this.
We have n variables xi , each with the (current) domain Di . Constraint propagation by establishing local constraint consistency (“arc consistency”) in general
means the following:
For a variable xi and an adjacent constraint Ck , we
delete all values v from Di for which there exists no
tuple τ ∈ DIk with τi = v that satisfies the constraint.
Consider a simple example
x1 , x2 ∈ {1, 2} ,
x3 , x4 ∈ {2, .., 6} ,
c = AllDiff(x1 , .., x4 )
(a) How does constraint propagation from c to x3 update the domain D3 ?
17.4
Exercise 4
¨ Prasenz
¨
Dieses Blatt enthalt
ubungen,
die am 20.11. in
¨
¨
der Ubungsgruppe besprochen werden und auch zur
Klausurvorbereitung dienen. Sie sind nicht abzugeben.
¨
Studenten werden zufallig
gebeten, sich an den Aufgaben zu versuchen.
(b) On http://norvig.com/sudoku.html Norvig
describes his Sudoku solver, using the following rules
for constraint propagation:
(1) If a square has only one possible value,
then eliminate that value from the square’s
peers.
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
(2) If a unit (block, row or column) has only
one possible place for a value, then put the
value there.
Is this a general implementation of constraint propagation for the allDiff constraint?
17.5.2
81
Modelle enumerieren (Aussagenlogik)
Betrachten Sie die Aussagenlogik mit Symbolen A, B,
C und D. Insgesamt existieren also 16 Modelle. In
wievielen Modellen sind die folgenden S”atze erf”ullt?
1. (A ∧ B) ∨ (B ∧ C)
2. A ∨ B
Note: The generalized arc consistency is equivalent
so-called message passing (or belief propagation) in
probabilistic networks, except that the messages are
domain sets instead of belief vectors.
3. A ⇔ (B ⇔ C)
17.5.3
¨
Unifikation (Pradikatenlogik)
See also www.lirmm.fr/˜bessiere/stock/TR06020.
pdf
Geben Sie f”ur jedes Paar von atomaren S”atzen den
allgemeinsten Unifikator an, sofern er existiert. Standardisieren Sie nicht weiter. Geben Sie None zuruck,
¨
wenn kein Unifikator existiert. Ansonsten ein Dictioary,
dass als Key die Variable und als Value die Konstante
17.5 Exercise 5
¨
enthalt.
¨
Abgabetermin: 3. Dez, 24:00h. Die Losungen
bitte
als python-Datei (siehe Vorlage in der Email) mit dem
Namen e05/e05_sol.py (in Verzeichnis e05) in Euer
git account einloggen. Bei Unklarheiten bitte melden.
Fur
¨ P (A), P (x):
sol3z = {’x’: ’A’}
1. P (A, B, B), P (x, y, z).
2. Q(y, G(A, B)), Q(G(x, x), y).
3. Older(F ather(y), y), Older(F ather(x), John).
17.5.1
Erfullbarkeit
¨
und allgemeine Gultigkeit
¨
4. Knows(F ather(y), y), Knows(x, x).
(Aussagenlogik)
Entscheiden Sie, ob die folgenden S”atze erf”ullbar (satisfiable), allgemein g”ultig (valid) oder keins von beidem (none) sind.
(a) Smoke ⇒ Smoke
(b) Smoke ⇒ F ire
(c) (Smoke ⇒ F ire) ⇒ (¬Smoke ⇒ ¬F ire)
(d) Smoke ∨ F ire ∨ ¬F ire
(e) ((Smoke∧Heat) ⇒ F ire) ⇔ ((Smoke ⇒ F ire)∨
(Heat ⇒ F ire))
(f) (Smoke ⇒ F ire) ⇒ ((Smoke ∧ Heat) ⇒ F ire)
(g) Big ∨ Dumb ∨ (Big ⇒ Dumb)
(h) (Big ∧ Dumb) ∨ ¬Dumb
17.5.4
¨
Prasenzaufgabe:
Matching as Constraint
Satisfaction Problem
Consider the Generalized Modus Ponens (slide 09:15)
for inference (forward and backward chaining) in first
order logic. Applying this inference rule requires to find
a substitution θ such that p0i θ = pi θ for all i.
Show constructively that the problem of finding a substitution θ (also called matching problem) is equivalent
to a Constraint Satisfaction Problem. “Constructively”
means, explicitly construct/define a CSP that is equivalent to the matching problem.
Note: The PDDL language to describe agent planning
problems (slide 08:24) is similar to a knowledge in Horn
form. Checking whether the action preconditions hold
in a given situation is exactly the matching problem; applying the Generalized Modus Ponens corresponds to
the application of the action rule on the current situation.
82
17.5.5
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
¨
Prasenzaufgabe
def inform_move(self, move):
# after each move (also your own) this f
# the player of the move played (which c
# chose, if you chose a illegal one.
pass
In the lecture we discussed the case
“A first cousin is a child of a parent’s sibling”
def get_next_move(self, board, secs):
∀x, y F irstCousin(x, y) ⇐⇒ ∃p, z P arent(p, x)∧Sibling(z, p)∧P arent(z, y)
# return a move you want to play on the
# seconds
pass
A question was whether this is equivalent to
¨
Siearent(z,
konnen
die mitgelieferte python-chess Bibliothek nutzen.
∀x, y, p, z F irstCousin(x, y) ⇐⇒ P arent(p, x)∧Sibling(z, p)∧P
y)
Let’s simplify: Show that the following two
∀x A(x) ⇐⇒ ∃y B(y, x)
(2)
∀x, y A(x) ⇐⇒ B(y, x)
(3)
are different. For this, bring both sentences in CNF
as described on slides 09:21 and 09:22 of lecture 09FOLinference.
Dieses mal gibt es keine Unittests, sondern Ihr ChessPlayer sollte in der Lage sein gegen einen anderen
¨
Spieler zu spielen und sollte – wenn moglich
– gegen
¨
¨
einen zufallig
spielenden Spieler gewinnen. Sie konnen
Ihre implementierung testen mit
$ python2 interface.py --human
um als Mensch gegen Ihren Spieler zu spielen. Oder
mit
$ python2 interface.py --random
17.6
Exercise 6
¨
um einen zufallig
spielenden Spieler gegen ihr Programm
antreten zu lassen.
Abgabetermin: 7. Jan 2015, 24:00h.
17.6.1
Schach
Implementieren Sie ein Schach spielendes Programm.
Der grundlegende Python code ist dafur
¨ in Ihren Repositories. Wir haben auch bereits die Grundstruktur fur
¨
den UCT Algorithmus implementiert, so dass Sie nur
die einzelnen Funktionen implementieren mussen.
Sie
¨
¨
konnen dafur
und z.B. die
¨ auch die Suchtiefe verkurzen
¨
mitgelieferte sehr einfache Evaluationsfunktion – oder
eine eigene – nutzen. Es ist aber Ihnen uberlassen
¨
¨
auch einen vollig
anderen Algorithmus zu implementieren (z.B. Minimax), solange das folgende Interface
eingehalten wird:
17.7
Exercise 7
¨ Prasenz
¨
Dieses Blatt enthalt
ubungen,
die am 12.01. in
¨
¨
der Ubungsgruppe besprochen werden und auch zur
Klausurvorbereitung dienen. Sie sind nicht abzugeben.
¨
Studenten werden zufallig
gebeten, sich an den Aufgaben zu versuchen.
17.7.1
¨
Prasenzaufgabe:
Bedingte Wahrscheinlichkeit
1. Die Wahrscheinlichkeit, an der bestimmten tropischen Krankheit zu erkranken, betr”agt 0,02%. Ein
Test, der bestimmt, ob man erkrankt ist, ist in
99,995% der F”alle korrekt. Wie hoch ist die Wahrscheinclass ChessPlayer(object):
lichkeit, tats”achlich an der Krankheit zu leiden,
def __init__(self, game_board, player):
wenn der Test positiv ausf”allt?
# The game board is the board at the beginning, the optimization is
2. Eine andere
seltene
Krankheit
# either chess.WHITE or chess.BLACK, depending
on the
player
youbetrifft
are.0,005% aller
Menschen. Ein entsprechender Test ist in 99,99%
pass
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
der F”alle korrekt. Mit welcher Wahrscheinlichkeit
ist man bei positivem Testergebnis von der Krankheit
betroffen?
3. Es gibt einen neuen Test f”ur die Krankheit aus
b), der in 99,995% der F”alle korrekt ist. Wie
hoch ist hier die Wahrscheinlichkeit, erkrankt zu
sein, wenn der Test positiv ausf”allt?
17.7.2
p(x, c) = p(c)
• From bandit 1: 8 7 12 13 11 9
D
Y
p(xi |c)
(4)
i=1
Nun kann man fur
¨ eine neue eintreffende Email die
¨
vorkommenden Worter
x∗ analysieren und mit Hilfe von
Bayes Formel die Wahrscheinlichkeit berechnen, ob diese
Email Spam oder Ham ist.
p(c|x∗ ) =
¨
Prasenzaufgabe:
Bandits
Assume you have 3 bandits. You have already tested
them a few times and received returns
83
p(x∗ |c)p(c)
p(x∗ |c)p(c)
=P
∗
∗
p(x )
c p(x |c)p(c)
(5)
Aufgabe: Implementieren Sie einen Naive Bayes Klassifikator fur
¨ die Spam Emails. Sie finden Trainingsdaten und Python-Code, der mit dieser umgehen kann,
in Ihrem Repository.
Ihre Implementierung sollte zwei Funktionen enthalten:
• From bandit 2: 8 12
• From bandit 3: 5 13
For the returns of each bandit separately, compute a)
the mean return, the b) standard deviation of returns,
and c) standard deviation of the mean estimator.
class NaiveBayes(object):
def train(self, database):
’’’ Train the classificator with the giv
pass
def spam_prob(self, email):
’’’ Compute the probability for the give
return 0.
Which bandid would you choose next? (Distinguish
cases: a) if you know this is the last chance to pull a
bandit; b) if you will have many more trials thereafter.)
17.8
Exercise 8
Tip: David Barber gibt ein seinem Buch “Bayesian Reasoning and Machine Learning” eine sehr gute Einfuhrung
¨
in den Naive Bayes Klassifikator (Seite 243 ff., bzw.
Seite 233 ff. in der kostenlosen Online Version des
Buches, die man unter http://www.cs.ucl.ac.uk/
staff/d.barber/brml/ herunterladen kann).
Abgabetermin: Mi, 28.01.2015, 23:59 h
17.9
17.8.1
Exercise 9
Spamfilter mit Naive Bayes
¨ Prasenz
¨
Dieses Blatt enthalt
ubungen,
die am 26.01. in
¨
¨
Sie haben in der Vorlesung grafische Modelle und Inder Ubungsgruppe
besprochen werden und auch zur
ferenz in ihnen kennengelernt. Auf dieser Grundlage
Klausurvorbereitung dienen. Sie sind nicht abzugeben.
basiert der viel verwendete Naive Bayes Klassifikator.
¨
Studenten werden zufallig
gebeten, sich an den AufDer Bayes Klassifikator wird zum Beispiel dafur
¨ vergaben zu versuchen.
wandet, Spam Emails automatisch zu erkennen. Dafur
¨
¨
werden Trainings-Emails untersucht und die Worthaufigkeiten
¨
gezahlt.
Daraus werden dann D Wahrscheinlichkeiten
¨
17.9.1 Prasenzaufgabe:
Hidden Markov Modp(xi |c) fur
¨ das Auftreten eines bestimmten Wortes, gegeben
elle
¨
das eine Email Spam/Ham ist, geschatzt.
Nun wird die
Annahme getroffen, dass all diese Wahrscheinlichkeiten
¨
unabhangig
sind, so dass die Joint Verteilung wie folgt
Sie stehen bei Nacht auf einer Br”ucke ”uber der B14
berechnet werden kann:
in Stuttgart und m”ochten z”ahlen, wieviele LKW, Busse
84
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
und Kleintransporter in Richtung Bad Canstatt fahren.
Da Sie mehrere Spuren gleichzeitig beobachten und es
dunkel ist machen Sie folgende Fehler bei der Beobachtung des Verkehrs:
17.10.1
¨
Prasenzaufgabe:
Value Iteration
7
6
1
5
2
• Einen LKW erkennen Sie in 30% der F”alle als
Bus, in 10% der F”alle als Kleintransporter.
• Einen Bus erkennen Sie in 40% der F”alle als
LKW, in 10% der F”alle als Kleintransporter.
• Einen Kleintransporter erkennen Sie in je 10%
der F”alle als Bus bzw. LKW.
Zudem nehmen Sie folgendes an:
• Auf einen Bus folgt zu 10% ein Bus und zu 30%
ein LKW, ansonsten ein Kleintransporter.
• Auf einen LKW folgt zu 60% ein Kleintransporter
und zu 30% ein Bus, ansonsten ein weiterer LKW.
• Auf einen Kleintransporter folgt zu 80% ein Kleintransporter und zu je 10% ein Bus bzw. ein LKW.
Sie wissen sicher, dass das erste beobachtete Fahrzeug
¨
tatsachlich
ein Kleintransporter ist.
a) Formulieren Sie das HMM dieses Szenarios. D.h.,
geben Sie explizit P (X1 ), P (Xt+1 |Xt ) und P (Yt |Xt ) an.
8
4
3
Consider the circle of states above, which depicts the
8 states of an MDP. The green state (#1) receives a
reward of r = 4096 and is a terminal state, the red state
(#2) is punished with r = −512. Consider a discounting
of γ = 1/2.
Description of P (s0 |s, a):
• The agent can choose between two actions: going one step clock-wise or one step counter-clockwise.
• With probability 3/4 the agent will transition to the
desired state, with probability 1/4 to the state in
opposite direction.
• Exception: the green state (#1) is a terminal state:
The MDP terminates after the agent reached this
state and collected the reward.
Description of P (r|s, a):
¨
b) Pradiktion:
Was ist die Marginal-Verteilung P (X3 )
uber
das 3. Fahrzeug.
¨
• The agent will receive reward of r = 4096 upon
reaching the green state (#1).
c) Filtern: Sie machten die Beobachtungen Y1:3 = (K, B, B).
Was ist die Wahrscheinlichkeit P (X3 |Y1:3 ) des 3. Fahrzeugs
gegeben diese Beobachtungen?
• The agent receives reward of r = −512 upon
reaching the red state (#2).
¨
d) Glatten:
Was ist die Wahrscheinlichkeit P (X2 |Y1:3 )
des 2. Fahrzeugs, gegeben die 3 Beobachtungen?
e) Viterbi (wahrscheinlichste Folge): Was ist die wahrscheinlichste Folge argmaxX1:3 P (X1:3 |Y1:3 ) an Fahrzeugen,
gegeben die 3 Beobachtungen?
17.10
Exercise 10
¨ Prasenz
¨
Dieses Blatt enthalt
ubungen,
die am 05.02. in
¨
¨
der Ubungsgruppe besprochen werden und auch zur
Klausurvorbereitung dienen. Sie sind nicht abzugeben.
¨
Studenten werden zufallig
gebeten, sich an den Aufgaben zu versuchen.
1. Perform three steps of Value Iteration: Initialize
Vk=0 (s) = 0, what is Vk=1 (s), Vk=2 (s), Vk=3 (s)?
2. How could you compute the optimal value function V π (s) for a GIVEN policy (e.g., always walk
clock-wise) in closed form? Provide an explicit
matrix equation.
3. Assume you are given V ∗ (s). How can you compute the optimal Q∗ (s, a) form this? And assume
Q∗ (s, a) is given, how can you compute the optimal V ∗ (s) from this? Provide general equations.
4. What is Qk=3 (s, a) for the example above? What
is the “optimal” policy given Qk=3 ?
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
17.10.2
¨
Prasenzaufgabe:
TD-learning
Consider TD-learning. The initial value function V (s) =
0. Consider the following setup: The agent starts in
state 4, then permanently chooses clock-wise action.
As soon as it reaches the green terminal state (one way
or another), it will be beamed back to the start state 4
and everything repeats over and over again.
1. Describe at what events plain TD-learning will
update the value function, how it will update it.
Guess roughly how many steps the agent will
have taken when for the first time V (s4 ) becomes
non-zero. How would this be different for eligibility traces?
85
Index
Existential quantification (6:8),
Explicit-Exploit-or-Explore* (14:9),
Exploration, Exploitation (9:6),
n-queens as ILP (4:19),
A∗ search (2:15),
A∗ : Proof 1 of Optimality (2:22),
A∗ : Proof 2 of Optimality (2:28),
Factor graph (11:30),
Filtering, Smoothing, Prediction (12:3),
FOL: Syntax (6:5),
Forward Chaining (7:15),
Forward chaining (5:41),
Forward checking (3:21),
Frame problem (6:22),
Frequentist vs Bayesian (8:4),
Admissible heuristics (2:30),
Alpha-Beta Pruning (10:6),
Backtracking (3:10),
Backward Chaining (5:52),
Backward Chaining (7:17),
Bayes’ Theorem (8:11),
Bayesian Network (11:3),
Bayesian RL (14:15),
Belief propagation (11:36),
Bellman optimality equation (13:8),
Bernoulli and Binomial (8:14),
Best-first Search (2:3),
Beta (8:15),
Breadth-first search (BFS) (1:29),
Gaussian (8:27),
Generalized Modus Ponens (7:14),
Genetic Algorithms (4:14),
Gibbs sampling (11:24),
Graph search and repeated states (1:65),
Greedy Search (2:5),
Hidden Markov Model (12:4),
HMM inference (12:6),
HMM: Inference (12:5),
Horn Form (5:40),
Completeness of Forward Chaining (5:51),
Complexity of BFS (1:37),
Complexity of DFS (1:52),
Complexity of Greedy Search (2:14),
Complexity of Iterative Deepening Search (1:63),
Complexity of A∗ (2:27),
Conditional distribution (8:9),
Conditional independence in a Bayes Net (11:7),
Conditional random field* (11:46),
Conjugate priors (8:23),
Conjunctive Normal Form (5:64),
Constraint propagation (3:25),
Constraint satisfaction problems (CSPs): Definition (3:2),
Imitation Learning (13:37),
Importance sampling (11:22),
Inference (5:28),
Inference in graphical models: overview (11:17),
Inference: general meaning (11:12),
Inverse RL (13:40),
Iterated Local Search (4:9),
Iterative deepening search (1:54),
Joint distribution (8:9),
Junction tree algorithm (11:41),
Conversion to CNF (5:65),
Conversion to CNF (7:20),
CSP as ILP (4:21),
Kalman filter (12:9),
Knowledge base: Definition (5:2),
Kullback-Leibler divergence (8:34),
Definitions based on sets (8:6),
Depth-first search (DFS) (1:39),
Dirac (8:26),
Dirichlet (8:19),
Local optima, plateaus (4:8),
Local Search (4:5),
Logical equivalence (5:37),
Logics: Definition, Syntax, Semantics (5:20),
Loopy belief propagation (11:39),
LP, QP, ILP, NLP (4:17),
Eligibility traces (13:26),
Entailment (5:21),
Entropy (8:33),
Epsilon-greedy exploration in Q-learning (14:4),
Evaluation functions (10:11),
Example: Romania (1:2),
Example: The 8-Puzzle (1:15),
Example: Vacuum World (1:5),
Map-Coloring Problem (3:3),
Marginal (8:9),
Markov Decision Process (MDP) (13:3),
Markov Process (12:2),
Maximum a-posteriori (MAP) inference (11:45),
86
Introduction to Artificial Intelligence, Marc Toussaint—April 7, 2015
Memory-bounded A∗ (2:34),
Message passing (11:36),
Minimax (10:3),
Model (5:22),
Model-based RL (13:34),
Modus Ponens (5:40),
Monte Carlo (11:19),
Monte Carlo Tree Search (MCTS) (9:14),
Multi-armed Bandits (9:1),
Multinomial (8:18),
Multiple RVs, conditional independence (8:12),
Optimistic heuristics (14:16),
Optimization problem: Definition (4:2),
PAC-MDP efficiency (14:7),
Particle approximation of a distribution (8:29),
Planning Domain Definition Language (PDDL) (6:24),
Policy gradients (13:44),
Probabilities as (subjective) information calculus (8:2),
Probability distribution (8:8),
Problem Definition: Deterministic, fully observable (1:9),
Proof of convergence of Q-Iteration (13:13),
Proof of convergence of Q-learning (13:24),
Propositional logic: Semantics (5:31),
Propositional logic: Syntax (5:29),
Q-Function (13:11),
Q-Iteration (13:12),
Q-learning (13:22),
R-Max (14:14),
Random variables (8:7),
Reduction to propositional inference (7:6),
Resolution (5:64),
Resolution (7:19),
Sample Complexity (14:6),
Sarsa (13:21),
Satisfiability (5:38),
Simulated Annealing (4:11),
Situation Calculus (6:21),
Slack Variables (4:19),
Temporal difference (TD) (13:19),
Travelling Salesman Problem (TSP) (4:6),
Tree search implementation: states vs nodes (1:25),
Tree Search: General Algorithm (1:26),
Tree-structured CSPs (3:33),
TSP as ILP (4:20),
UCT for games (10:12),
Unification (7:9),
Uniform-cost search (1:38),
Universal quantification (6:7),
Upper Confidence Bound (UCB) (9:8),
Upper Confidence Tree (UCT) (9:19),
Utilities and Decision Theory (8:32),
Validity (5:38),
Value Function (13:4),
Value Iteration (13:10),
Value order: Least constraining value (3:20),
Variable elimination (11:27),
Variable order: Degree heuristic (3:19),
Variable order: Minimum remaining values (3:18),
Wumpus World example (5:4),
87