Informed Search - courses.cs.washington.edu

68
CSE 473: Ar+ficial Intelligence Informed Search Instructor: Luke Ze@lemoyer University of Washington [These slides were adapted from Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available at h@p://ai.berkeley.edu.]

Transcript of Informed Search - courses.cs.washington.edu

Page 1: Informed Search - courses.cs.washington.edu

CSE473:Ar+ficialIntelligence

InformedSearch

Instructor:LukeZe@lemoyer

UniversityofWashington[TheseslideswereadaptedfromDanKleinandPieterAbbeelforCS188IntrotoAIatUCBerkeley.AllCS188materialsareavailableath@p://ai.berkeley.edu.]

Page 2: Informed Search - courses.cs.washington.edu

Today

§  InformedSearch§ Heuris+cs§ GreedySearch§ A*Search

§ GraphSearch

Page 3: Informed Search - courses.cs.washington.edu

Recap:Search

Page 4: Informed Search - courses.cs.washington.edu

Recap:Search§  Searchproblem:

§  States(configura+onsoftheworld)§  Ac+onsandcosts§  Successorfunc+on(worlddynamics)§  Startstateandgoaltest

§  Searchtree:§  Nodes:representplansforreachingstates§  Planshavecosts(sumofac+oncosts)

§  Searchalgorithm:§  Systema+callybuildsasearchtree§  Choosesanorderingofthefringe(unexplorednodes)§  Op+mal:findsleast-costplans

Page 5: Informed Search - courses.cs.washington.edu

Example:PancakeProblem

Cost:Numberofpancakesflipped

Page 6: Informed Search - courses.cs.washington.edu

Example:PancakeProblem

Page 7: Informed Search - courses.cs.washington.edu

Example:PancakeProblem

3

2

4

3

3

2

2

2

4

Statespacegraphwithcostsasweights

34

3

4

2

Page 8: Informed Search - courses.cs.washington.edu

GeneralTreeSearch

Ac+on:fliptoptwoCost:2

Ac+on:flipallfourCost:4Pathtoreachgoal:Flipfour,flipthree

Totalcost:7

Page 9: Informed Search - courses.cs.washington.edu

TheOneQueue

§  Allthesesearchalgorithmsarethesameexceptforfringestrategies§  Conceptually,allfringesarepriorityqueues(i.e.collec+onsofnodeswitha@achedpriori+es)

§  Prac+cally,forDFSandBFS,youcanavoidthelog(n)overheadfromanactualpriorityqueue,byusingstacksandqueues

§  Canevencodeoneimplementa+onthattakesavariablequeuingobject

Page 10: Informed Search - courses.cs.washington.edu

UninformedSearch

Page 11: Informed Search - courses.cs.washington.edu

UniformCostSearch

§  Strategy:expandlowestpathcost§  Thegood:UCSiscompleteandop+mal!

§  Thebad:§ Exploresop+onsinevery“direc+on”§ Noinforma+onaboutgoalloca+on Start Goal

c ≤ 3

c ≤ 2 c ≤ 1

[Demo:contoursUCSempty(L3D1)][Demo:contoursUCSpacmansmallmaze(L3D3)]

Page 12: Informed Search - courses.cs.washington.edu

VideoofDemoContoursUCSEmpty

Page 13: Informed Search - courses.cs.washington.edu

VideoofDemoContoursUCSPacmanSmallMaze

Page 14: Informed Search - courses.cs.washington.edu

InformedSearch

Page 15: Informed Search - courses.cs.washington.edu

SearchHeuris+cs§ Aheuris+cis:

§  Afunc+onthates#mateshowcloseastateistoagoal§  Designedforapar+cularsearchproblem§  Examples:Manha@an,Euclideandistanceforpathing

10

5

11.2

Page 16: Informed Search - courses.cs.washington.edu

Example:Heuris+cFunc+on

h(x)

Page 17: Informed Search - courses.cs.washington.edu

Example:Heuris+cFunc+onHeuris+c:thenumberofthelargestpancakethatiss+lloutofplace

43

0

2

3

3

3

4

4

3

4

4

4

h(x)

Page 18: Informed Search - courses.cs.washington.edu

GreedySearch

Page 19: Informed Search - courses.cs.washington.edu

Example:Heuris+cFunc+on

h(x)

Page 20: Informed Search - courses.cs.washington.edu

GreedySearch

§  Expandthenodethatseemsclosest…

§  Whatcangowrong?

Page 21: Informed Search - courses.cs.washington.edu

GreedySearch

§  Strategy:expandanodethatyouthinkisclosesttoagoalstate§  Heuris+c:es+mateofdistancetonearestgoalforeachstate

§  Acommoncase:

§  Best-firsttakesyoustraighttothe(wrong)goal

§ Worst-case:likeabadly-guidedDFS

…b

…b

[Demo:contoursgreedyempty(L3D1)][Demo:contoursgreedypacmansmallmaze(L3D4)]

Page 22: Informed Search - courses.cs.washington.edu

VideoofDemoContoursGreedy(Empty)

Page 23: Informed Search - courses.cs.washington.edu

VideoofDemoContoursGreedy(PacmanSmallMaze)

Page 24: Informed Search - courses.cs.washington.edu

A*Search

Page 25: Informed Search - courses.cs.washington.edu

A*Search

UCS Greedy

A*

Page 26: Informed Search - courses.cs.washington.edu

CombiningUCSandGreedy

§  Uniform-costordersbypathcost,orbackwardcostg(n)§  Greedyordersbygoalproximity,orforwardcosth(n)

§  A*Searchordersbythesum:f(n)=g(n)+h(n)

S a d

b

Gh=5

h=6

h=2

1

8

11

2

h=6 h=0

c

h=7

3

e h=11

Example:TegGrenager

S

a

b

c

ed

dG

G

g=0h=6

g=1h=5

g=2h=6

g=3h=7

g=4h=2

g=6h=0

g=9h=1

g=10h=2

g=12h=0

Page 27: Informed Search - courses.cs.washington.edu

WhenshouldA*terminate?

§  Shouldwestopwhenweenqueueagoal?

§  No:onlystopwhenwedequeueagoal

S

B

A

G

2

3

2

2h=1

h=2

h=0h=3

Page 28: Informed Search - courses.cs.washington.edu

IsA*Op+mal?

§ Whatwentwrong?§  Actualbadgoalcost<es+matedgoodgoalcost§ Weneedes+matestobelessthanactualcosts!

A

GS

1 3h=6

h=0

5

h=7

Page 29: Informed Search - courses.cs.washington.edu

AdmissibleHeuris+cs

Page 30: Informed Search - courses.cs.washington.edu

Idea:Admissibility

Inadmissible(pessimis+c)heuris+csbreakop+malityby

trappinggoodplansonthefringe

Admissible(op+mis+c)heuris+csslowdownbadplansbutnever

outweightruecosts

Page 31: Informed Search - courses.cs.washington.edu

AdmissibleHeuris+cs

§  Aheuris+chisadmissible(op+mis+c)if:

whereisthetruecosttoanearestgoal

§  Examples:

§  Comingupwithadmissibleheuris+csismostofwhat’sinvolvedinusingA*inprac+ce.

415

Page 32: Informed Search - courses.cs.washington.edu

Op+malityofA*TreeSearch

Page 33: Informed Search - courses.cs.washington.edu

Op+malityofA*TreeSearch

Assume:§ Aisanop+malgoalnode§ Bisasubop+malgoalnode§ hisadmissible

Claim:§ AwillexitthefringebeforeB

Page 34: Informed Search - courses.cs.washington.edu

Op+malityofA*TreeSearch:Blocking

Defini+onoff-costAdmissibilityofh

h=0atagoal

Proof:§  ImagineBisonthefringe§  SomeancestornofAisonthefringe,too(maybeA!)

§  Claim:nwillbeexpandedbeforeB1.  f(n)islessorequaltof(A)

Page 35: Informed Search - courses.cs.washington.edu

Op+malityofA*TreeSearch:Blocking

Bissubop+malh=0atagoal

Proof:§  ImagineBisonthefringe§  SomeancestornofAisonthefringe,too(maybeA!)

§  Claim:nwillbeexpandedbeforeB1.  f(n)islessorequaltof(A)2.  f(A)islessthanf(B)

Page 36: Informed Search - courses.cs.washington.edu

Op+malityofA*TreeSearch:BlockingProof:§  ImagineBisonthefringe§  SomeancestornofAisonthefringe,too(maybeA!)

§  Claim:nwillbeexpandedbeforeB1.  f(n)islessorequaltof(A)2.  f(A)islessthanf(B)3.  nexpandsbeforeB

§  AllancestorsofAexpandbeforeB§  AexpandsbeforeB§  A*searchisop+mal

Page 37: Informed Search - courses.cs.washington.edu

Proper+esofA*

Page 38: Informed Search - courses.cs.washington.edu

Proper+esofA*

…b

…b

Uniform-Cost A*

Page 39: Informed Search - courses.cs.washington.edu

UCSvsA*Contours

§  Uniform-costexpandsequallyinall“direc+ons”

§  A*expandsmainlytowardthegoal,butdoeshedgeitsbetstoensureop+mality

Start Goal

Start Goal

[Demo:contoursUCS/greedy/A*empty(L3D1)][Demo:contoursA*pacmansmallmaze(L3D5)]

Page 40: Informed Search - courses.cs.washington.edu

VideoofDemoContours(Empty)--UCS

Page 41: Informed Search - courses.cs.washington.edu

VideoofDemoContours(Empty)--Greedy

Page 42: Informed Search - courses.cs.washington.edu

VideoofDemoContours(Empty)–A*

Page 43: Informed Search - courses.cs.washington.edu

VideoofDemoContours(PacmanSmallMaze)–A*

Page 44: Informed Search - courses.cs.washington.edu

Comparison

Greedy UniformCost A*

Page 45: Informed Search - courses.cs.washington.edu

A*Applica+ons

§  Videogames§  Pathing/rou+ngproblems§  Resourceplanningproblems§  Robotmo+onplanning§  Languageanalysis§ Machinetransla+on§  Speechrecogni+on§  …

[Demo:UCS/A*pacman+nymaze(L3D6,L3D7)][Demo:guessalgorithmEmptyShallow/Deep(L3D8)]

Page 46: Informed Search - courses.cs.washington.edu

VideoofDemoPacman(TinyMaze)–UCS/A*

Page 47: Informed Search - courses.cs.washington.edu

VideoofDemoEmptyWaterShallow/Deep–GuessAlgorithm

Page 48: Informed Search - courses.cs.washington.edu

Crea+ngHeuris+cs

Page 49: Informed Search - courses.cs.washington.edu

Crea+ngAdmissibleHeuris+cs

§ Mostoftheworkinsolvinghardsearchproblemsop+mallyisincomingupwithadmissibleheuris+cs

§ Oten,admissibleheuris+csaresolu+onstorelaxedproblems,wherenewac+onsareavailable

§  Inadmissibleheuris+csareotenusefultoo

15366

Page 50: Informed Search - courses.cs.washington.edu

Example:8Puzzle

§  Whatarethestates?§  Howmanystates?§  Whataretheac+ons?§  Howmanysuccessorsfromthestartstate?§  Whatshouldthecostsbe?

StartState GoalStateAc+ons

Page 51: Informed Search - courses.cs.washington.edu

8PuzzleI

§  Heuris+c:Numberof+lesmisplaced§  Whyisitadmissible?§  h(start)=§  Thisisarelaxed-problemheuris+c

8

Averagenodesexpandedwhentheop+malpathhas……4steps …8steps …12steps

UCS 112 6,300 3.6x106

TILES 13 39 227

StartState GoalState

Sta+s+csfromAndrewMoore

Page 52: Informed Search - courses.cs.washington.edu

8PuzzleII

§  Whatifwehadaneasier8-puzzlewhereany+lecouldslideanydirec+onatany+me,ignoringother+les?

§  TotalManhaDandistance§  Whyisitadmissible?

§  h(start)= 3+1+2+…=18Averagenodesexpandedwhentheop+malpathhas……4steps …8steps …12steps

TILES 13 39 227MANHATTAN 12 25 73

StartState GoalState

Page 53: Informed Search - courses.cs.washington.edu

8PuzzleIII

§  Howaboutusingtheactualcostasaheuris+c?§ Woulditbeadmissible?§ Wouldwesaveonnodesexpanded?§ What’swrongwithit?

§ WithA*:atrade-offbetweenqualityofes+mateandworkpernode§  Asheuris+csgetclosertothetruecost,youwillexpandfewernodesbutusuallydomoreworkpernodetocomputetheheuris+citself

Page 54: Informed Search - courses.cs.washington.edu

Semi-LawceofHeuris+cs

Page 55: Informed Search - courses.cs.washington.edu

TrivialHeuris+cs,Dominance

§  Dominance:ha≥hcif§  Heuris+csformasemi-lawce:

§ Maxofadmissibleheuris+csisadmissible

§  Trivialheuris+cs§  Bo@omoflawceisthezeroheuris+c(whatdoesthisgiveus?)

§  Topoflawceistheexactheuris+c

Page 56: Informed Search - courses.cs.washington.edu

GraphSearch

Page 57: Informed Search - courses.cs.washington.edu

§  Failuretodetectrepeatedstatescancauseexponen+allymorework.

SearchTreeStateGraph

TreeSearch:ExtraWork!

Page 58: Informed Search - courses.cs.washington.edu

GraphSearch

§  InBFS,forexample,weshouldn’tbotherexpandingthecirclednodes(why?)

S

a

b

d p

a

c

e

p

h

f

r

q

q c G

a

qe

p

h

f

r

q

q c G

a

Page 59: Informed Search - courses.cs.washington.edu

GraphSearch

§  Idea:neverexpandastatetwice§  Howtoimplement:

§  Treesearch+setofexpandedstates(“closedset”)§  Expandthesearchtreenode-by-node,but…§  Beforeexpandinganode,checktomakesureitsstatehasneverbeenexpandedbefore

§  Ifnotnew,skipit,ifnewaddtoclosedset§  Important:storetheclosedsetasaset,notalist§  Cangraphsearchwreckcompleteness?Why/whynot?§  Howaboutop+mality?

Page 60: Informed Search - courses.cs.washington.edu

A*GraphSearchGoneWrong?

S

A

B

C

G

1

1

1

23

h=2

h=1

h=4

h=1

h=0

S(0+2)

A(1+4) B(1+1)

C(2+1)

G(5+0)

C(3+1)

G(6+0)

Statespacegraph Searchtree

Page 61: Informed Search - courses.cs.washington.edu

ConsistencyofHeuris+cs

§ Mainidea:heuris+ccosts≤actualcosts§  Admissibility:heuris+ccost≤actualcosttogoal h(A)≤actualcostfromAtoG

§  Consistency:heuris+c“arc”cost≤actualcostforeacharc h(A)–h(C)≤cost(AtoC)

§  Consequencesofconsistency:§  Thefvaluealongapathneverdecreases h(A)≤cost(AtoC)+h(C)

§  A*graphsearchisop+mal

3

A

C

G

h=4 h=11

h=2

Page 62: Informed Search - courses.cs.washington.edu

Op+malityofA*GraphSearch

Page 63: Informed Search - courses.cs.washington.edu

Op+malityofA*GraphSearch

§  Sketch:considerwhatA*doeswithaconsistentheuris+c:§ Fact1:Intreesearch,A*expandsnodesinincreasingtotalfvalue(f-contours)

§ Fact2:Foreverystates,pathsthatreachsop+mallyareexpandedbeforepathsthatreachssubop+mally

§ Result:A*graphsearchisop+mal

f≤3

f≤2

f≤1

Page 64: Informed Search - courses.cs.washington.edu

Op+mality

§  Treesearch:§  A*isop+malifheuris+cisadmissible§  UCSisaspecialcase(h=0)

§  Graphsearch:§  A*op+malifheuris+cisconsistent§  UCSop+mal(h=0isconsistent)

§  Consistencyimpliesadmissibility

§  Ingeneral,mostnaturaladmissibleheuris+cstendtobeconsistent,especiallyiffromrelaxedproblems

Page 65: Informed Search - courses.cs.washington.edu

A*:Summary

Page 66: Informed Search - courses.cs.washington.edu

A*:Summary

§  A*usesbothbackwardcostsand(es+matesof)forwardcosts

§  A*isop+malwithadmissible/consistentheuris+cs

§  Heuris+cdesigniskey:otenuserelaxedproblems

Page 67: Informed Search - courses.cs.washington.edu

TreeSearchPseudo-Code

Page 68: Informed Search - courses.cs.washington.edu

GraphSearchPseudo-Code