0% found this document useful (0 votes)
31 views

Informed Search and Exploration: Chapter 4 (4.1-4.3)

This document provides an overview of informed search techniques including heuristic search, best-first search, greedy best-first search, A* search, and local search algorithms. It discusses how heuristic functions can provide domain knowledge to guide search algorithms toward more optimal solutions. Specific algorithms covered include greedy search, A* search, hill climbing, simulated annealing, and local beam search. Examples provided include route finding and the 8-puzzle problem.

Uploaded by

talhaaftab728
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Informed Search and Exploration: Chapter 4 (4.1-4.3)

This document provides an overview of informed search techniques including heuristic search, best-first search, greedy best-first search, A* search, and local search algorithms. It discusses how heuristic functions can provide domain knowledge to guide search algorithms toward more optimal solutions. Specific algorithms covered include greedy search, A* search, hill climbing, simulated annealing, and local beam search. Examples provided include route finding and the 8-puzzle problem.

Uploaded by

talhaaftab728
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 55

Informed Search and

Exploration
Chapter 4 (4.1-4.3)

CS 2710

Introduction
Ch.3 searches good
building blocks for
learning about search
But vastly inefficient eg:
Can we
Time
do better?
Space

Breadth
First
B^D
B^D
Optimal?
Y
Complete?
Y

CS 2710 Informed Search

Depth
First
B^M
BM
N
N

Uniform
Cost
>B^D (?)
>B^D (?)
Y
Y

(Quick Partial)

Previous algorithms differed in how to


select next node for expansion eg:

Breadth First

Fringe nodes sorted old -> new

Depth First

Fringe nodes sorted new -> old

Uniform cost

Review

Fringe nodes sorted by path cost: small -> big

Used little (no) external domain


knowledge
CS 2710 Informed Search

Overview

Heuristic Search

Best-First Search Approach

Greedy

A*

Heuristic Functions

Local Search and Optimization

Hill-climbing
Simulated Annealing
Local Beam
Genetic Algorithms
CS 2710 Informed Search

Informed Searching

An informed search strategy uses


knowledge beyond the definition of the
problem
The knowledge is embodied in an
evaluation function f(n)

CS 2710 Informed Search

Best-First Search

An algorithm in which a node is selected


for expansion based on an evaluation
function f(n)

Fringe nodes ordered by f(n)


Traditionally the node with the lowest
evaluation function is selected
Not an accurate nameexpanding the best
node first would be a straight march to the
goal.
Choose the node that appears to be the best
CS 2710 Informed Search

Best-First Search

Remember: Uniform cost search

Best-first search:

F(n) = g(n)
F(n) = h(n)

Later, a-star search:

F(n) = g(n) + h(n)

CS 2710 Informed Search

Best-First Search (cont.)

Some BFS algorithms also include the notion


of a heuristic function h(n)
h(n) = estimated cost of the cheapest path
from node n to a goal node
Best way to include informed knowledge into
a search
Examples:

How far is it from point A to point B


How much time will it take to complete the rest of
the task at current node to finish
CS 2710 Informed Search

Greedy Best-First Search

Expands node estimated to be closest


to the goal

f(n) = h(n)

Consider the route finding problem.

Can we use additional information to avoid


costly paths that lead nowhere?
Consider using the straight line distance
(SLD)

CS 2710 Informed Search

Route Finding
374

366

253

329

CS 2710 Informed Search

10

Route Finding: Greedy Best


First
Arad

f(n) = 366

CS 2710 Informed Search

11

Route Finding: Greedy Best


First
Arad

Sibiu

253

f(n) = 366

Timisoara

329

CS 2710 Informed Search

Zerind

374

12

Route Finding: Greedy Best


First
Arad

Sibiu

Arad

366

253

f(n) = 366

Timisoara

Fagaras

176

329

Oradea

CS 2710 Informed Search

Zerind

380

374

Rimnicu Vilcea 193

13

Route Finding: Greedy Best


First
Arad

Sibiu

Arad

366

Timisoara

253

Fagaras

Bucharest

f(n) = 366

176

329

Oradea

Sibiu

Zerind

380

374

Rimnicu Vilcea 193

253

CS 2710 Informed Search

14

Exercise

So is Arad->Sibiu->Fagaras->Bucharest optimal?
CS 2710 Informed Search

15

Greedy Best-First Search

Not optimal.
Not complete.

Space Complexity

Could go down a path and never return to try


another.
e.g., Iasi Neamt Iasi Neamt
O(bm) keeps all nodes in memory

Time Complexity

O(bm) (but a good heuristic can give a dramatic improvement)


CS 2710 Informed Search

16

Heuristic Functions
Example: 8-Puzzle
Average solution cost for a random
puzzle is 22 moves
Branching factor is about 3
Empty tile in the middle -> four moves
Empty tile on the edge -> three moves
Empty tile in corner -> two moves

322 is approx 3.1e10


Get rid of repeated states
181,440 distinct states
CS 2710 Informed Search

17

Heuristic Functions

h1 = number of misplaced tiles


h2 = sum of distances of tiles to goal position.

CS 2710 Informed Search

18

Heuristic Functions

h1 = 7
h2 = 4+0+3+3+1+0+2+1 = 14

CS 2710 Informed Search

19

Admissible Heuristics

A heuristic function h(n) is admissible if it


never overestimates the cost to reach the
goal from n
Another property of heuristic functions is
consistency

h(n) c(n,a,n) + h(n) where:

c(n,a,n) is the cost to get to n from n using action a.

Consistent h(n) the values of f(n) along any


path are non-decreasing

Graph search is optimal if h(n) is consistent


CS 2710 Informed Search

20

Heuristic Functions

Is h1

admissible?
consistent?

Is h2

(#of displaced tiles)

(Manhattan distance)

admissible?
consistent?

CS 2710 Informed Search

21

Dominance

If h2(n) h1(n) for all n (both admissible)

then h2 dominates h1
h2 is better for search

Typical search costs (average number of nodes


expanded):

d=12 IDS = 3,644,035 nodes


A*(h1) = 227 nodes
A*(h2) = 73 nodes
d=24 IDS = too many nodes
A*(h1) = 39,135 nodes
A*(h2) = 1,641 nodes

CS 2710 Informed Search

22

Heuristic Functions

Heuristics are often obtained from


relaxed problem

Simplify the original problem by removing


constraints
The cost of an optimal solution to a relaxed
problem is an admissible heuristic.

CS 2710 Informed Search

23

8-Puzzle

Original

A tile can move from A to B if A is horizontally


or vertically adjacent to B and B is blank.

Relaxations

Move from A to B if A is adjacent to B(remove


blank)

h2 by moving each tile in turn to destination

Move from A to B

(remove adjacent and blank)

h1 by simply moving each tile directly to


destination
CS 2710 Informed Search

24

How to Obtain Heuristics?

Ask the domain expert (if there is one)


Solve example problems and generalize your experience on which
operators are helpful in which situation (particularly important for
state space search)
Try to develop sophisticated evaluation functions that measure
the closeness of a state to a goal state (particularly important for
state space search)
Run your search algorithm with different parameter settings trying
to determine which parameter settings of the chosen search
algorithm are good to solve a particular class of problems.
Write a program that selects good parameter settings based on
problem characteristics (frequently very difficult) relying on
machine learning
CS 2710 Informed Search

25

A* Search

The greedy best-first search does not


consider how costly it was to get to a
node.

f(n) = h(n)

Idea: avoid expanding paths that are


already expensive
Combine g(n), the cost to reach node n,
with h(n)

f(n) = g(n) + h(n)


estimated cost of cheapest solution through n
CS 2710 Informed Search

26

A* Search

When h(n) = actual cost to goal

When h(n) < actual cost to goal

Only nodes in the correct path are expanded


Optimal solution is found
Additional nodes are expanded
Optimal solution is found

When h(n) > actual cost to goal

Optimal solution can be overlooked


CS 2710 Informed Search

27

A* Search

Complete

Yes, unless there are infinitely many nodes with f <= f(G)

Time

Exponential in [relative error of h x length of soln]


The better the heuristic, the better the time

Space

Best case h is perfect, O(d)


Worst case h = 0, O(bd) same as BFS

Keeps all nodes in memory and save in case of repetition


This is O(bd) or worse
A* usually runs out of space before it runs out of time

Optimal

Yes, cannot expand fi+1 unless fi is finished


CS 2710 Informed Search

28

Route Finding

CS 2710 Informed Search

29

A* Example

CS 2710 Informed Search

30

A* Search
Arad

Sibiu

Arad

646

393

f(n) = 0 + 366

Timisoara

=140+253

Fagaras

415

447

Oradea

CS 2710 Informed Search

Zerind

671

449

Rimnicu Vilcea 413

Things are
different
now!

31

A* Search Continued

Arad

646

Fagaras

415

Oradea

671

Rimnicu Vilcea 413

Bucharest

Sibiu

Craiova

Pitesti

Sibiu

450

591

526

417

553

Bucharest

Craiova

Rimnicu Vilcea

418

615

607

CS 2710 Informed Search

32

A* Search; complete
A* is complete.
A* builds search bands of increasing f(n)
At all points f(n) < C*
Eventually we reach the goal contour
Optimally efficient
Most times exponential growth occurs
CS 2710 Informed Search

33

Memory Bounded Heuristic


WaysSearch
of getting around memory issues of A*:
IDA* (iterative deepening algorithm)

Cutoff = f(n) instead of depth

Recursive Best First Search

Mimic standard BFS, but use linear space!


Keeps track of best f(n) from alternate paths
Disads: excessive node regeneration from recursion
Too little memory! use memory-bounded
approaches

Cutoff when memory bound is reached and other constraints

CS 2710 Informed Search

34

Local Search /
Optimization
Idea
is to find the best state.

We dont really care how to get to the


best state, just that we get there.
The best state is defined according to
an objective function

Measures the fitness of a state.

Problem: Find the optimal state

The one that maximizes (or minimizes) the


objective function.
CS 2710 Informed Search

35

State Space Landscapes


Objective Function

global
max
local
max

shoulder

State Space
CS 2710 Informed Search

36

Problem Formulation

Complete-state formulation

Start with an approximate solution and


perturb

n-queens problem

Place n queens on a board so that no


queen is attacking another queen.

CS 2710 Informed Search

37

Problem Formulation

Initial State: n queens placed randomly


on the board, one per column.
Successor function: States that
obtained by moving one queen to a
new location in its column.
Heuristic/objective function: The
number of pairs of attacking queens.

CS 2710 Informed Search

38

n-Queens

4
3

5 2

3 3

5
3

CS 2710 Informed Search

4
2
3

39

Local Search Algorithms

Hill climbing
Simulated annealing
Local beam search
Genetic Algorithms

CS 2710 Informed Search

40

Hill Climbing (or Descent)


Objective Function

State Space
CS 2710 Informed Search

41

Hill Climbing Pseudo-code


"Like climbing Everest in thick fog with amnesia"

CS 2710 Informed Search

42

Hill Climbing Problems


Objective Function

State Space
CS 2710 Informed Search

43

n-Queens

4
3

5 2

3 3

5
3

4
2
3

What happens if we move 3rd queen?

CS 2710 Informed Search

44

Possible Improvements

Stochastic hill climbing


Choose at random from uphill moves
Probability of move could be influenced by steepness

First-choice hill climbing


Generate successors at random until one is better
than current.

Random-restart
Execute hill climbing several times, choose best
result.
If p is probability of a search succeeding, then
expected number of restarts is 1/p.
CS 2710 Informed Search

45

Simulated Annealing

Similar to stochastic hill climbing

Moves are selected at random


If a move is an improvement, accept
Otherwise, accept with probability less
than 1.

Probability gets smaller as time passes


and by the amount of badness of the
move.
CS 2710 Informed Search

46

Simulated Annealing
Algorithm

Success

CS 2710 Informed Search

47

Traveling Salesperson
Problem

Tour of cities
Visit each one exactly once
Minimize distance/cost/etc.

CS 2710 Informed Search

48

Local Beam Search

Keep k states in memory instead of just


one
Generate successors of all k states
If one is a goal, return the goal
Otherwise, take k best successors and
repeat.

CS 2710 Informed Search

49

CS 2710 Informed Search

50

Local Beam Search

Concentrates on
promising paths

CS 2710 Informed Search

51

Local Beam Search

Initial k states may not be diverse


enough

Could have clustered around a local max.

Improvement is stochastic beam


search

Choose k states at random, with


probability of choice an increasing function
of its value.

CS 2710 Informed Search

52

Genetic Algorithms

Variant of stochastic beam search


Successor states are generated by
combining two parent states

Hopefully improves diversity

Start with k states, the population


Each state, or individual, represented as a
string over a finite alphabet (e.g. DNA)
Each state is rated by a fitness function
Select parents for reproduction using the
fitness function
CS 2710 Informed Search

53

Genetic Algorithms

Taken from http://www.cs.qub.ac.uk/~M.Sullivan/ga/ga_index.html


CS 2710 Informed Search

54

A Genetic Algorithm

CS 2710 Informed Search

55

You might also like