Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence...

97
Artificial Intelligence Robot Programming with Lisp 6. Search Algorithms Gayane Kazhoyan (Stuart Russell, Peter Norvig) Institute for Artificial Intelligence University of Bremen November 22 nd , 2018

Transcript of Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence...

Page 1: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Robot Programming with Lisp6. Search Algorithms

Gayane Kazhoyan(Stuart Russell, Peter Norvig)

Institute for Artificial IntelligenceUniversity of Bremen

November 22nd, 2018

Page 2: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

ContentsProblem DefinitionUninformed search strategies

BFSUniform-CostDFSDepth-LimitedIterative Deepening

Informed SearchGreedyA*HeuristicsHill-climbing aka gradient ascent/descentSimulated annealing

OrganizationalProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp2

Page 3: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Problem types

Deterministic, fully observable =⇒ single-state problemAgent knows exactly which state it will be in.Solution is a sequence of actions

Deterministic, non-observable =⇒ conformant problemAgent may have no idea where it is.Solution (if any) is a sequence of actions

Nondeterministic, partially observable =⇒ contingency problemmust perceive the world during executionsolution is a contingent plan or a policyoften replan during execution

Unknown state space =⇒ exploration problem (“online”)

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp3

Page 4: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: vacuum world

Single-state, start in #5.Solution? [Right, Vacuum]

Conformant, start in {1, 2, 3, 4, 5, 6, 7, 8}e.g., Right goes to {2, 4, 6, 8}.Solution? [Right, Vacuum, Left, Vacuum]

Contingency, start in #5Vacuum can dirty a clean carpet.Local sensing only at current location.Solution? [Right, if dirt then Vacuum]

1 2

3 4

5 6

7 8

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp4

Page 5: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Single-state problem formulation

A problem is defined by four items:

• initial state• operators (or successor function S(x))e.g., Vacuum(x) → clean room

• goal test• path cost (additive)e.g., sum of distances, number of operators executed, etc.

A solution is a sequence of operators leading from the initial state to agoal state

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp5

Page 6: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: The 8-puzzle

Start State Goal State

2

45

6

7

8

1 2 3

4

67

81

23

45

6

7

81

23

45

6

7

8

5

states ?operators ?goal test ?path cost ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp6

Page 7: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: The 8-puzzle

Start State Goal State

2

45

6

7

8

1 2 3

4

67

81

23

45

6

7

81

23

45

6

7

8

5

states: integer locations of tiles (ignore intermediate positions)operators: move blank left, right, up, down (ignore unjamming etc.)goal test: current state = goal statepath cost: 1 per move

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp7

Page 8: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: vacuum world state space graphR

L

S S

S S

R

L

R

L

R

L

S

SS

S

L

L

LL R

R

R

R

states ?operators ?goal test ?path cost ?Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp8

Page 9: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: vacuum world state space graphR

L

S S

S S

R

L

R

L

R

L

S

SS

S

L

L

LL R

R

R

R

states: integer dirt and robot locations (ignore dirt amounts)operators: Left, Right, Vacuumgoal test: no dirt in current statepath cost: 1 per operatorProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp9

Page 10: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: robotic assembly

R

RR

P

R R

states ?operators ?goal test ?path cost ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp10

Page 11: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: robotic assembly

R

RR

P

R R

states: real-valued coordinates of robot joint angles and parts of theobject to be assembledoperators: continuous motions of robot jointsgoal test: assembly object is completepath cost: time to execute

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp11

Page 12: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Search algorithms

Basic idea:offline, simulated exploration of state spaceby generating successors of already-explored states(a.k.a. expanding states)

function General-Search( problem, strategy) returns a solution, or failureinitialize the search tree using the initial state of problemloop do

if there are no candidates for expansion then return failurechoose a leaf node for expansion according to strategyif the node contains a goal state then return corresponding solutionelse expand the node and add the resulting nodes to the search tree

end

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp12

Page 13: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

General search example

Giurgiu

Urziceni

Hirsova

Eforie

Neamt

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

Dobreta

Craiova

Sibiu Fagaras

Pitesti

Vaslui

Iasi

Rimnicu Vilcea

Bucharest

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp13

Page 14: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

General search example

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp14

Page 15: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

General search example

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp15

Page 16: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

General search example

Arad OradeaRimnicu VilceaFagaras

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp16

Page 17: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

General search example

Sibiu Bucharest

Arad OradeaRimnicu VilceaFagaras

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp17

Page 18: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Implementation of search algorithms

function General-Search( problem,Queuing-Fn) returns a solution, or failure

nodes←Make-Queue(Make-Node(Initial-State[problem]))loop do

if nodes is empty then return failurenode←Remove-Front(nodes)if Goal-Test[problem] applied to State(node) succeeds then return

nodenodes←Queuing-Fn(nodes, Expand(node,Operators[problem]))

end

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp18

Page 19: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Implementation contd: states vs. nodesA state is a (representation of) a physical configurationA node is a data structure constituting part of a search treeincludes parent, children, depth, path cost g(x)States do not have parents, children, depth, or path cost!

1

23

45

6

7

81

23

45

6

7

8

State Node

parent

depth = 6

g = 6

children

state

The Expand function creates new nodes, filling in the various fields andusing the Operators (or SuccessorFn) of the problem to create thecorresponding states.Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp19

Page 20: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Search strategies

A strategy is defined by picking the order of node expansionStrategies 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?

Time and space complexity are measured in terms of• b — maximum branching factor of the search tree• d — depth of the least-cost solution• m — maximum depth of the state space (may be ∞)

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp20

Page 21: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

ContentsProblem DefinitionUninformed search strategies

BFSUniform-CostDFSDepth-LimitedIterative Deepening

Informed SearchGreedyA*HeuristicsHill-climbing aka gradient ascent/descentSimulated annealing

OrganizationalProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp21

Page 22: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Uninformed search strategies

Uninformed strategies use only the information availablein the problem definitionUninformed search strategies are:

• Breadth-first search• Uniform-cost search• Depth-first search• Depth-limited search• Iterative deepening search

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp22

Page 23: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Breadth-first searchExpand shallowest unexpanded node

Implementation:QueueingFn = put successors at end of queue (FIFO queue)

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp23

Page 24: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Breadth-first search

.

.

.

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp24

Page 25: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Breadth-first search

.

.

.

Arad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp25

Page 26: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Breadth-first search

.

.

.

Arad OradeaRimnicu VilceaFagaras Arad LugojArad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp26

Page 27: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of breadth-first search

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp27

Page 28: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of breadth-first search

Complete: YesTime: 1+ b + b2 + b3 + . . .+ bd = O(bd), i.e., exponential in dSpace: O(bd) (keeps every node in memory)Optimal: Yes (if cost = 1 per step); not optimal in general

Space is the big problem; can easily generate nodes at N MB/sec.

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp28

Page 29: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

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

0

160

242

161

77

151

241

366

193

178

253

329

80

199

244

380

226

234

374

98

Giurgiu

UrziceniHirsova

Eforie

Neamt

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

Dobreta

Craiova

Sibiu Fagaras

Pitesti

Vaslui

Iasi

Rimnicu Vilcea

Bucharest

71

75

118

111

70

75

120

151

140

99

80

97

101

211

138

146 85

90

98

142

92

87

86

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp29

Page 30: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Uniform-cost searchExpand least-cost unexpanded node

Implementation:QueueingFn = insert in order of increasing path cost (FIFO queue)

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp30

Page 31: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Uniform-cost search...

Zerind Sibiu Timisoara

75 140 118

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp31

Page 32: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Uniform-cost search...

Arad Oradea

75 71

Zerind Sibiu Timisoara

75 140 118

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp32

Page 33: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Uniform-cost search...

Arad Lugoj

118 111

Arad Oradea

75 71

Zerind Sibiu Timisoara

75 140 118

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp33

Page 34: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of uniform-cost search

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp34

Page 35: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of uniform-cost search

Complete: Yes, if step cost ≥ εTime: # of nodes with g ≤ cost of optimal solutionSpace: # of nodes with g ≤ cost of optimal solutionOptimal: Yes

g(n) is the cost of the path up to node n.

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp35

Page 36: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Depth-first searchExpand deepest unexpanded node

Implementation:QueueingFn = insert successors at front of queue (LIFO)

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp36

Page 37: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Depth-first search...

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp37

Page 38: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Depth-first search...

Arad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp38

Page 39: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Depth-first search...

Zerind Sibiu Timisoara

Arad Oradea

Zerind Sibiu Timisoara

Arad

I.e., depth-first search can perform infinite cyclic excursions.Need a finite, non-cyclic search space (or repeated-state checking).Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp39

Page 40: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp40

Page 41: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp41

Page 42: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp42

Page 43: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp43

Page 44: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp44

Page 45: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree, contd.

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp45

Page 46: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp46

Page 47: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp47

Page 48: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

DFS on a depth-3 binary tree

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp48

Page 49: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of depth-first search

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp49

Page 50: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of depth-first search

Complete: No: fails in infinite-depth spaces, spaces with loops⇒ modify to avoid repeated states along path.Complete in finite spaces

Time: O(bm): terrible if m is much larger than dbut if solutions are dense, may be much faster than breadth-firstSpace: O(bm), i.e., linear space!Optimal: No

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp50

Page 51: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Depth-limited search

Depth-limited search = depth-first search with depth limit l

Implementation:Nodes at depth l have no successors

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp51

Page 52: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search

function Iterative-Deepening-Search( problem) returns a solution sequenceinputs: problem, a problem

for depth← 0 to ∞ doresult←Depth-Limited-Search( problem, depth)if result 6= cutoff then return result

end

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp52

Page 53: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 0

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp53

Page 54: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 1

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp54

Page 55: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 1

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp55

Page 56: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 2

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp56

Page 57: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 2

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp57

Page 58: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 2

Arad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp58

Page 59: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 2

Arad OradeaRimnicu VilceaFagarasArad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp59

Page 60: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Iterative deepening search l = 2

Arad LugojArad OradeaRimnicu VilceaFagarasArad Oradea

Zerind Sibiu Timisoara

Arad

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp60

Page 61: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of iterative deepening search

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp61

Page 62: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of iterative deepening search

Complete: YesTime: (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.

Iterative deepening search uses only linear spaceand not much more time than other uninformed algorithms

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp62

Page 63: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

ContentsProblem DefinitionUninformed search strategies

BFSUniform-CostDFSDepth-LimitedIterative Deepening

Informed SearchGreedyA*HeuristicsHill-climbing aka gradient ascent/descentSimulated annealing

OrganizationalProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp63

Page 64: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Informed search

Idea: use an evaluation function for each node as an estimate of“desirability”

⇒ Expand most desirable unexpanded node

Implementation:QueueingFn = insert successors in decreasing order of desirability

Informed search algorithms are:

• greedy search• A∗ search

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp64

Page 65: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Romania with straight line distances in km

Bucharest

Giurgiu

Urziceni

Hirsova

Eforie

NeamtOradea

Zerind

Arad

Timisoara

LugojMehadia

DobretaCraiova

Sibiu

Fagaras

PitestiRimnicu Vilcea

Vaslui

Iasi

Straight−line distanceto Bucharest

0

160

242

161

77

151

241

366

193

178

253

329

80

199

244

380

226

234

374

98

Giurgiu

UrziceniHirsova

Eforie

Neamt

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

Dobreta

Craiova

Sibiu Fagaras

Pitesti

Vaslui

Iasi

Rimnicu Vilcea

Bucharest

71

75

118

111

70

75

120

151

140

99

80

97

101

211

138

146 85

90

98

142

92

87

86

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp65

Page 66: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Greedy search

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

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

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

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp66

Page 67: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Greedy search example

Arad

366

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp67

Page 68: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Greedy search example [2]

Arad

366

Zerind Sibiu Timisoara

374 253 329

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp68

Page 69: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Greedy search example [3]

Arad

366

Zerind Sibiu Timisoara

374 253 329

Arad OradeaRimnicu VilceaFagaras

366 380 178 193

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp69

Page 70: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Greedy search example [4]

Arad

366

Zerind Sibiu Timisoara

374 253 329

Arad OradeaRimnicu VilceaFagaras

366 380 178 193

Sibiu Bucharest

253 0

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp70

Page 71: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of greedy search

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp71

Page 72: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of greedy search

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 improvementSpace: O(bm) — keeps all nodes in memoryOptimal: No

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp72

Page 73: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ searchIdea: 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.

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

Theorem: A∗ search is optimalProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp73

Page 74: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example

Arad

366

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp74

Page 75: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example [2]

Zerind Sibiu Timisoara

449 393 447

75 140 118

Arad

366

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp75

Page 76: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example [3]

151

Arad OradeaRimnicu VilceaFagaras

646 526 417 413

140 99 80

Zerind Sibiu Timisoara

449 393 447

75 140 118

Arad

366

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp76

Page 77: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example [4]

151

Arad

366

Zerind Sibiu Timisoara

Arad OradeaRimnicu VilceaFagaras

449 393 447

646 526 417 413

526 415 553

Craiova Pitesti Sibiu

75 140 118

140 99 80

146 97 80

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp77

Page 78: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example [5]

151

Arad

366

Zerind Sibiu Timisoara

Arad OradeaRimnicu VilceaFagaras

449 393 447

646 526 417 413

526 415 553

607 615 418

Craiova Pitesti Sibiu

Rimnicu Vilcea

Craiova Bucharest

75 140 118

140 99 80

146 97 80

97 138 101

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp78

Page 79: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

A∗ search example [6]

151

Arad

366

Zerind Sibiu Timisoara

Arad OradeaRimnicu VilceaFagaras

Sibiu Bucharest

449 393 447

646 526 417 413

591 450 526 415 553

607 615 418

Craiova Pitesti Sibiu

Rimnicu Vilcea

Craiova Bucharest

75 140 118

140 99 80

99 211 146 97 80

97 138 101

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp79

Page 80: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Optimality of A∗ (standard proof)

Suppose some suboptimal goal G2 has been generated and is in the queue.Let n be an unexpanded node on a shortest path to an optimal goal G1.

G

n

G2

Start

f (G2) = g(G2) since h(G2) = 0> g(G1) since G2 is suboptimal≥ f (n) since h is admissible

Since f (G2) > f (n), A∗ will never select G2 for expansionProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp80

Page 81: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Optimality of A∗ (more useful)Lemma: A∗ expands nodes in order of increasing f valueGradually adds “f -contours” of nodes (cf. breadth-first adds layers)Contour i has all nodes with f = fi , where fi < fi+1

O

Z

A

T

L

M

D

C

R

F

P

G

B

U

H

E

V

I

N

380

400

420

S

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp81

Page 82: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of A∗

Complete ?Time ?Space ?Optimal ?

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp82

Page 83: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

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 memoryOptimal: Yes — cannot expand fi+1 until fi is finished

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp83

Page 84: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Admissible heuristicsE.g., for the 8-puzzle:h1(n) = number of misplaced tilesh2(n) = total Manhattan distance(i.e., no. of squares from desired location of each tile)

Start State Goal State

2

45

6

7

8

1 2 3

4

67

81

23

45

6

7

81

23

45

6

7

8

5

h1(S) = ?h2(S) = ?Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp84

Page 85: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Admissible heuristicsE.g., for the 8-puzzle:h1(n) = number of misplaced tilesh2(n) = total Manhattan distance(i.e., no. of squares from desired location of each tile)

Start State Goal State

2

45

6

7

8

1 2 3

4

67

81

23

45

6

7

81

23

45

6

7

8

5

h1(S) = 7h2(S) = 2+3+3+2+4+2+0+2 = 18Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp85

Page 86: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Dominance

If h2(n) ≥ h1(n) for all n (both admissible)then h2 dominates h1 and is better for search

Typical search costs:

d = 14 IDS = 3,473,941 nodesA∗(h1) = 539 nodesA∗(h2) = 113 nodes

d = 14 IDS = too many nodesA∗(h1) = 39,135 nodesA∗(h2) = 1,641 nodes

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp86

Page 87: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Relaxed problems

Admissible heuristics can be derived from the exactsolution 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

Key point: the optimal solution cost of a relaxed problemis no greater than the optimal solution cost of the real problem

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp87

Page 88: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: Travelling Salesperson Problem

Find the shortest tour that visits each city exactly once

Minimum spanning tree heuristic can be computed in O(n2)and is a lower bound on the shortest (open) tour.

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp88

Page 89: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Example: n-queens

Put n queens on an n × n board with no two queens on the samerow, column, or diagonal

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp89

Page 90: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Hill-climbing (or gradient ascent/descent)

“Like climbing Everest in thick fog with amnesia”

function Hill-Climbing( problem) returns a solution stateinputs: problem, a problemlocal variables: current, a node

next, a node

current←Make-Node(Initial-State[problem])loop do

next← a highest-valued successor of currentif Value[next] < Value[current] then return currentcurrent← next

end

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp90

Page 91: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Hill-climbing contd.

Problem: depending on initial state, can get stuck on local maxima

value

states

global maximum

local maximum

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp91

Page 92: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Simulated annealingIdea: escape local maxima by allowing some “bad” movesbut gradually decrease their size and frequency

function Simulated-Annealing( problem, schedule) returns a solution stateinputs: problem, a problem

schedule, a mapping from time to “temperature”local variables: current, a node

next, a nodeT, a “temperature” controlling the probability of downward

steps

current←Make-Node(Initial-State[problem])for t← 1 to ∞ do

T← schedule[t]if T=0 then return currentnext← a randomly selected successor of current∆E←Value[next] – Value[current]if ∆E > 0 then current← nextelse current← next only with probability e∆E/T

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp92

Page 93: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Properties of simulated annealing

At fixed “temperature” T , state occupation probability reachesBoltzman distribution:

p(x) = αeE(x)kT

T decreased slowly enough =⇒ always reach best state.

Is this necessarily an interesting guarantee?

Devised by Metropolis et al., 1953, for physical process modellingWidely used in VLSI layout, airline scheduling, etc.

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp93

Page 94: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

ContentsProblem DefinitionUninformed search strategies

BFSUniform-CostDFSDepth-LimitedIterative Deepening

Informed SearchGreedyA*HeuristicsHill-climbing aka gradient ascent/descentSimulated annealing

OrganizationalProblem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp94

Page 95: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Links

• MIT online course on AI (available for free):https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-spring-2005/

• Original version of these slides used at Berkeley by Russel in his AIcourse, based on the AI book of Norvig and Russel:http://aima.eecs.berkeley.edu/slides-pdf/

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp95

Page 96: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Info Summary

• Assignment code: REPO/assignment_6/src/*.lisp• Assignment points: 7 points• Assignment due: 28.11, Wednesday, 23:59 AM German time• Next class: 29.11, 14:15• Next class topic: introduction to ROS.(Make sure your ROS and roslisp_repl are working.)

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp96

Page 97: Robot Programming with Lisp - 6. Search Algorithms · Artificial Intelligence RobotProgrammingwithLisp 6. Search Algorithms GayaneKazhoyan (StuartRussell,PeterNorvig) InstituteforArtificialIntelligence

Artificial Intelligence

Q & A

Thanks for your attention!

Problem Definition Uninformed search strategies Informed Search Organizational

Gayane Kazhoyan (Stuart Russell, Peter Norvig)

November 22nd, 2018

Robot Programming with Lisp97