Download - Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Transcript
Page 1: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Search (continued)

CPSC 386 Artificial IntelligenceEllen WalkerHiram College

Page 2: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Evaluating Search Strategies

• Completeness– Will a solution always be found if one exists?

• Optimality– Will the optimal (least cost) solution be found?

• Time Complexity– How long does it take to find the solution?– Often represented by # nodes expanded

• Space Complexity– How much memory is needed to perform the search? – Represented by max # nodes stored at once

Page 3: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Comparison of Strategies

Breadth First

Uniform Cost

Depth First

Depth Limited

Iterative Deepening

Bidirec-tional

Complete?

Yes(finite)

Yes No No Yes Yes

Time O(bd+1) O(bC*/e) O(bm) O(bl) O(bd) O(bd/2)

Space O(bd+1) O(bC*/e) O(bm) O(bl) O(bl) O(bd/2)

Optimal?

Yes(all =)

Yes No No Yes(all =)

Yes(all =, bfs)

(Adapted from Figure 3.17, p. 81)

Page 4: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Avoiding Repeated States

• All visited nodes must be saved to avoid looping– Closed list: all expanded nodes– Open list: fringe of unexpanded nodes

• If the current node matches a node on the closed list, it is discarded– In some algorithms, the new node might be better, and the old one discarded

Page 5: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Partial Information

• Sensorless problems– Multiple initial states, multiple next states

– Consider all for a solution, e.g. table tipping

• Contingency problems– New information after each action – E.g. adversarial (multiplayer games)

Page 6: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Informed Search Strategies

• Also called heuristic search• All are variations of best-first search– The next node to expand is the one “most likely” to lead to a solution

– Priority queue, like uniform cost search, but priority is based on additional knowledge of the problem

– The priority function for the priority queue is usually called f(n)

Page 7: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Heuristic Function

• Heuristic, from Greek for “good”• Heuristic function, h(n) = estimated cost from the current state to the goal

• Therefore, our best estimate of total path cost is g(n) + h(n)– Recall, g(n) is cost from initial state to current state

– If we treat uniform cost search as a heuristic search, f(n) = g(n) and h(n) = 0

Page 8: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Algorithms

• Greedy best-first search– Always expand the node closest to the goal – f(n) = h(n)

• A* Search– Expand the node with the best estimated total cost

– f(n) = g(n) + h(n)– The fun part is dealing with loops when a node being expanded matches a node on the open or closed list.

Page 9: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Greedy Best-First Search

• Like depth-first search, it tends to want to stay on a path, once chosen

• Doesn’t like solutions that require you to move away from the goal to get there – Example: 8 puzzle

• Non-optimal• Worst-case exponential, but good heuristic function helps!

• Also called “hill climbing” (but traditional hill climbing doesn’t backtrack)

Page 10: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

A* Search Algorithm

– put initial state (only) on OPEN

– Until a goal node is found:

• If OPEN is empty, fail

• BESTNODE := best node on OPEN (lowest (g+h) value)

• if BESTNODE is a goal node, succeed

• move BESTNODE from OPEN to CLOSED

• generate successors of BESTNODE

Page 11: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

A* (cont)

– For each SUCCESSOR in successor list

set SUCCESSOR's parent to BESTNODE (back link for finding path later)

compute g(SUCCESSOR) = g(BESTNODE) + cost of link from BESTNODE to SUCCESSOR

if SUCCESSOR is the same as a node on OPEN

OLD := node on OPEN that is same as SUCCESSOR

add OLD to list of BESTNODE's successors

if g(SUCCESSOR) < g(OLD) (newly found path is cheaper)

reset OLD’s parent to BESTNODE

g(OLD) = g(SUCCESSOR)

Page 12: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

A* (cont)

else if SUCCESSOR is the same as a node on CLOSED

OLD := node on CLOSED that is same as SUCCESSOR

add OLD to list of BESTNODE's successors

if g(SUCCESSOR) < g(OLD) (newly found path is cheaper)

reset OLD's parent to BESTNODE

g(OLD) = g(SUCCESSOR)

Update g() of all successors of OLD

else add SUCCESSOR to list of BESTNODE's successors

Page 13: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Updating successors of a closed node

if NODE is empty, return

For each successor of NODE

if the parent of the successor is NODE then

g(successor) = g(NODE) + path cost

update_successors(successor)

else if g(NODE) + path cost < g(successor) then

g(successor) = g(NODE) + path cost update_successors(successor)

Page 14: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

A* Example(h = true cost)

12

11

3

254

11 8

2

7

1

0

8

12

1 2

44

4

B C

A

D

E

FG

H

I

Page 15: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

A* Search Example(h underestimates true

cost)10

11

3

252

5 8

2

7

1

0

8

12

1 2

44

4

B C

A

D

E

FG

H

I

Page 16: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Better h means better search

• When h = cost to the goal, – Only nodes on correct path are expanded

– Optimal solution is found

• When h < cost to the goal,– Additional nodes are expanded– Optimal solution is found

• When h > cost to the goal– Optimal solution can be overlooked

Page 17: Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.

Comments on A* search

• A* is optimal if h(n) is admissable, -- if it never overestimates distance to goal

• We don’t need all the bookkeeping if h(n) is consistent -- if the distance of a successor node is never more than the distance of the predecessor – the cost of the action.

• If g(n) = 0, A* = greedy best-first search• If g(n) = k, h(n)=0, A* = breadth-first search