Transcript
Page 1: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Artificial Intelligence: Heuristic search

Thomas Trappenberg

September 17, 2009

Based on the slides provided by Russell and Norvig, Chapter 4, Section 1–2,(4)

Page 2: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Romania with step costs in km

Bucharest

Giurgiu

Urziceni

Hirsova

Eforie

NeamtOradea

Zerind

Arad

Timisoara

LugojMehadia

DobretaCraiova

Sibiu

Fagaras

PitestiRimnicu Vilcea

Vaslui

Iasi

Straight−line distanceto Bucharest

0160242161

77151

241

366

193

178

25332980

199

244

380

226

234

374

98

Giurgiu

UrziceniHirsova

Eforie

Neamt

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

DobretaCraiova

Sibiu Fagaras

Pitesti

Vaslui

Iasi

Rimnicu Vilcea

Bucharest

71

75

118

111

70

75120

151

140

99

80

97

101

211

138

146 85

90

98

142

92

87

86

Page 3: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Greedy search

Evaluation function h(n) (heuristic)= estimate of cost from n to the closest goal

E.g., hSLD(n) = straight-line distance from n to Bucharest

Greedy search expands the node that appears to be closest to goal

Page 4: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Greedy search example

Arad366

Page 5: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Greedy search example

Zerind

Arad

Sibiu Timisoara253 329 374

Page 6: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Greedy search example

Rimnicu Vilcea

Zerind

Arad

Sibiu

Arad Fagaras Oradea

Timisoara329 374

366 176 380 193

Page 7: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Greedy search example

Rimnicu Vilcea

Zerind

Arad

Sibiu

Arad Fagaras Oradea

Timisoara

Sibiu Bucharest

329 374

366 380 193

253 0

Page 8: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search

Idea: avoid expanding paths that are already expensive

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

g(n) = cost so far to reach nh(n) = estimated cost to goal from nf (n) = estimated total cost of path through n to goal

A∗ search uses an admissible heuristici.e., h(n) ≤ h∗(n) where h∗(n) is the true cost from n.(Also require h(n) ≥ 0, so h(G) = 0 for any goal G.)

E.g., hSLD(n) never overestimates the actual road distance

Theorem: A∗ search is optimal

Page 9: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Arad366=0+366

Page 10: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Zerind

Arad

Sibiu Timisoara447=118+329 449=75+374393=140+253

Page 11: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Zerind

Arad

Sibiu

Arad

Timisoara

Rimnicu VilceaFagaras Oradea

447=118+329 449=75+374

646=280+366 413=220+193415=239+176 671=291+380

Page 12: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea

447=118+329 449=75+374

646=280+366 415=239+176Rimnicu Vilcea

Craiova Pitesti Sibiu526=366+160 553=300+253417=317+100

671=291+380

Page 13: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Zerind

Arad

Sibiu

Arad

Timisoara

Sibiu Bucharest

Rimnicu VilceaFagaras Oradea

Craiova Pitesti Sibiu

447=118+329 449=75+374

646=280+366

591=338+253 450=450+0 526=366+160 553=300+253417=317+100

671=291+380

Page 14: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

A∗ search example

Zerind

Arad

Sibiu

Arad

Timisoara

Sibiu Bucharest

Rimnicu VilceaFagaras Oradea

Craiova Pitesti Sibiu

Bucharest Craiova Rimnicu Vilcea418=418+0

447=118+329 449=75+374

646=280+366

591=338+253 450=450+0 526=366+160 553=300+253

615=455+160 607=414+193

671=291+380

Page 15: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Local beam searchIdea: keep k states instead of 1; choose top k of all their successors

Not the same as k searches run in parallel!Searches that find good states recruit other searches to join them

Problem: quite often, all k states end up on same local hill

Idea: choose k successors randomly, biased towards good ones

Observe the close analogy to natural selection!

Zerind

Arad

Sibiu

Arad

Timisoara

Rimnicu VilceaFagaras Oradea

447=118+329 449=75+374

646=280+366 413=220+193415=239+176 671=291+380

( ) ( )

Page 16: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Genetic algorithms

= stochastic local beam search + generate successors from pairs ofstates

32252124

Selection Cross−Over Mutation

24748552

32752411

24415124

24

23

20

32543213 11

29%

31%

26%

14%

32752411

24748552

32752411

24415124

32748552

24752411

32752124

24415411

24752411

32748152

24415417

Fitness Pairs

Page 17: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Genetic algorithms contd.

GAs require states encoded as strings (GPs use )

Crossover helps iff substrings are meaningful components

+ =

GAs 6= evolution: e.g., real genes encode replication machinery!

Page 18: Artificial Intelligence: Heuristic search - web.cs.dal.ca · Artificial Intelligence: Heuristic search Thomas Trappenberg September 17, 2009 Based on the slides provided by Russell

Summary

Heuristic functions estimate costs of shortest paths

Good heuristics can dramatically reduce search cost

Greedy best-first search expands lowest h– incomplete and not always optimal

A∗ search expands lowest g + h– complete and optimal– also optimally efficient (up to tie-breaks, for forward search)

Admissible heuristics can be derived from exact solution of relaxedproblems


Top Related