CS 415 – A.I.
Download
Report
Transcript CS 415 – A.I.
CS 415 – A.I.
Slide Set 6
Chapter 4 – Heuristic Search
Heuristic – the study of the methods and rules
of discovery and invention
State Space Heuristics –
Formalized as rules for choosing those branches
in a state space that are most likely to lead to an
acceptable problem solution
Apply Heuristics When:
1.
2.
A problem is ambiguous and may not have an EXACT solution
The computational cost of finding an exact solution is prohibitive
Simplifying Tic-Tac-Toe
Brute Force – 9! total states
First use symmetry to reduce the number of
states (see next slide)
7x12 states
Simple Heuristic
Put X where it has the most winning possibilities
See Figure 4.2 and Figure 4.3
This “prunes” the search space
In the first level, pick one of three, ignore the subtrees for
the other two
Approx. 25 total states to consider
Fig 4.1 First three levels of the tic-tac-toe state space reduced by symmetry
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
2
Fig 4.2 The “most wins” heuristic applied to the first children in tic-tac-toe.
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
3
Fig 4.3 Heuristically reduced state space for tic-tac-toe.
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
4
Hill-Climbing and Dynamic Programming
Hill-Climbing
Expand the current state and evaluate its children
Pick the best child
Mountain climbing
Go as steep as you can for as long as you can.
Problem:
Keeps no backtracking info
Becomes stuck at “local maxima”
Example:
8-square problem
Dynamic Programming
Dynamic Programming
Don’t solve subproblems multiple times
Instead, keep track of the solutions to these
subproblems
Memoizing – subproblem solution caching
Two Examples
Finding an optimal global alignment
2. Finding the minimum edit distance between two
strings
1.
Optimal Global Alignment
Small Example
String #1
BAADDCABDDA
String #2
BBADCBA
Rules
Cannot change order of respective elements
Can have spaces between elements
Possible solutions
How do we figure out optimal solution?
Fig 4.5 The initialization stage and first step in completing the
array for character alignment using dynamic programming.
Let’s create a matrix
•The value of each element reflects
the global alignment success to
that point in the matching process
•Our “cost” scheme
•1 – if an element has to be shifted
along the shorter string for better
alignment
•Cost recorded in col
•1 – if a new character is inserted
•Cost recorded in row
•2 – different characters, shift and
insert cost 2
•0 – if elements are identical
•
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
6
The forward stage
Fill the array from the upper left corner
The value of (x,y) is a function (min cost) of either
(x-1,y), (x-1,y-1), or (x, y-1)
If there is a match
Add 0 to (x-1,y-1)
If there is no match
Add 2 to (x-1,y-1)
If we shift
Add 1 to the previous column
If we insert a character
Add 1 to the previous row
Fig 4.6 The completed array reflecting the maximum alignment information
for the strings.
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
7
The backward stage
Once the matrix is filled
From the best alignment count, we produce a
specific alignment of characters
Begin at the lower right-hand corner
Move back through the matrix
Each step, select one of the immediate state’s predecessors
(previous diagonal, row, or column)
Choose the minimum
Fig 4.7 A completed backward component of the dynamic programming
example giving one (of several possible) string alignments.
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
8
Example #2 – Min Edit Distance
Spell Checker
What words from our dictionary best
approximate a word we do not recognize
(misspelled word)
We need to know the “distance” between two
words
Minimum edit distance
The number of insertions, deletions and
replacements to turn the source word into the
target word
intention – source word
execution – target word
Our “cost”
1 for a character insertion or deletion
2 for a replacement (deletion + insertion)
Fig 4.8 Initialization of minimum edit difference matrix between intention
and execution (adapted from Jurafsky and Martin, 2000).
•
Beginning state
• a sequence of insertions is needed
beginning at null to make either
word look like the other
• (2,2) is cost 2 because a
replacement is required to make an i
be an e
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
9
Complete array of minimum edit difference between intention and execution (adapted
from Jurafsky and Martin, 2000) (of several possible) string alignments.
The value at each (x,y) is the cost of minimum
editing to that point, plus the minimum cost of
either an insertion, deletion, or replacement
•
•
In other words, cost of (x,y) is the minimum of
•Cost of (x-1,y) + insertion
•Cost of (x-1,y-1) + replacement
•Cost of (x, y-1) + deletion
Finally, the backward part will select a list of
optimal changes
•Bold text near the diagonal
•Not strictly required for spell-check case
•
Intention
ntention delete I, cost 1
etention replace n with e, cost 2
exention replace t with x, cost 2
exenution insert u, cost 1
execution replace n with c, cost 2
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
11
Why Dynamic Programming?
What’s the cost of DP?
n2 where n is the size of the longest string
What is the cost of exhaustive search?
n3 in the worst case if we need to consider other
row/col values to determine the current state
Between 2n and 3n
Useful heuristics for DP
Usually the solution lies near the horizontal
Prune the considerations if the cost passes a
predetermined threshold
Best-First Search Algorithm
Need to have a good evaluation function
Avoid
Local maxima
Dead-ends
Anomalies in search space
Return to general form of state space search algorithm
Lists
open – states we haven’t explored
closed – states we have explored
Now, order states in open according to some heuristic
Thus, each loop considers the most “promising” state first
Keeps track of ancestor
information to ensure
that we can check to see
if state already reached
and so we can return the
chosen path at the end
Can make use of a
“priority queue”
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
12
Fig 4.10 Heuristic search of a hypothetical state space.
Notice how states are
selected for next
examination.
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
13
A trace of the execution of best_first_search for Figure 4.4
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
14
Implementing Heuristic Evaluation
Functions
Evaluate the performance of heuristics for
solving 8-puzzle.
Ideas?
Count number of tiles out of place
1.
Doesn’t consider how far out of place they are
Get a total distance out of place
2.
But what if tiles are right next to each other but out of
order
Very difficult to switch tiles
Examining these Heuristics
Fig 4.12 The start state, first moves, and goal state for an example-8 puzzle.
Which seems closest?
What the Heuristics Give Us
Fig 4.14 Three heuristics applied to states in the 8-puzzle.
What if two states have (nearly) the same
heuristic evaluation?
The heuristic
f applied to
states in the
8-puzzle.
How Good is a Heuristic?
Evaluated along several dimensions
Goals?
Guaranteed Solution?
Shortest Path?
Better heuristics
Shortest path heuristics are said to be admissible
Concept of informedness
When a state is found is there a guarantee that a
better state won’t be found later in the search?
Concept of monotonicity
Admissibility Measures
Admissible – guaranteed to find a minimal
path to a solution if it exists
Example: BFS
Use the function f(n) = g(n) + h(n)
f(n) = evaluation function
g(n) = actual length from any state n to the start
state
h(n) = heuristic estimate from any state n to the
goal
Using f(n) to discuss admissibility
f(n) estimates the total cost of the path from the
start state through n to the goal state
Define f*(n) = g*(n) + h*(n)
All the same, but now only dealing with the
shortest path from start to n and from n to goal
f*(n) is often called an oracle
Often do not exist for most real problems
Still we want f to be a close estimate to f*
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
5
Examples
BFS is an A* algorithm in which
f(n) = g(n) + 0
The decision for considering a state is based solely on
the distance from the start state
Several Heuristics from 8-Puzzle are A*
Can’t always compute value of h*(n), but we can
bound a heuristic cost above by the actual
shortest-path cost
A* Examples for 8-puzzle
Counting the number of tiles out of place is always less
than or equal to the number of moves to move them to
their goal
Thus: heuristic is admissible
The sum of the direct distances of tiles out of
place is also less than or equal to the
minimum actual path
Thus: heuristic is admissible
Monotonicity
The definition of A* does not require that g(n)
= g*(n)
So, A* algorithms may initially reach non-goal
states along sub-optimal paths before eventually
finding an optimal path
Monotonicity – property that guarantees that
the heuristic is “locally optimal”
Consistently follows only the optimal path
Luger: Artificial Intelligence, 5th edition. © Pearson Education Limited, 2005
6
Monotonicity is possible when:
Search space is everywhere locally consistent
with the heuristic employed
The difference between a heuristic measure of a
state and any of its successors is bound by the
actual cost of moving from predecessor to
successor states
As the path is followed when using a
monotone heuristic
value of f is monotonically nondecreasing (hence
the name)
Monotonicity and Admissibility
All monotone heuristics are admissible
In fact, monotonicity is a refinement of
admissibility
Not all admissible heuristics are monotone
Relatively Better Heuristics
Informedness
Example
BFS is equivalent to A* with heuristic h1 such that
h1(x)=0 for all states x
This is always less than h*(x)
Lets call the number of tiles out of place, h2
This is also less than h*
But, we have h1<=h2<=h*
Thus, h2 is “more informed” than h1
Additionally, we can argue that calculation of direct
distance of out of place tiles is more informed than
h2