Page 1
CSE473:Ar+ficialIntelligence
InformedSearch
Instructor:LukeZe@lemoyer
UniversityofWashington[TheseslideswereadaptedfromDanKleinandPieterAbbeelforCS188IntrotoAIatUCBerkeley.AllCS188materialsareavailableath@p://ai.berkeley.edu.]
Page 2
Today
§ InformedSearch§ Heuris+cs§ GreedySearch§ A*Search
§ GraphSearch
Page 4
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
Example:PancakeProblem
Cost:Numberofpancakesflipped
Page 6
Example:PancakeProblem
Page 7
Example:PancakeProblem
3
2
4
3
3
2
2
2
4
Statespacegraphwithcostsasweights
34
3
4
2
Page 8
GeneralTreeSearch
Ac+on:fliptoptwoCost:2
Ac+on:flipallfourCost:4Pathtoreachgoal:Flipfour,flipthree
Totalcost:7
Page 9
TheOneQueue
§ Allthesesearchalgorithmsarethesameexceptforfringestrategies§ Conceptually,allfringesarepriorityqueues(i.e.collec+onsofnodeswitha@achedpriori+es)
§ Prac+cally,forDFSandBFS,youcanavoidthelog(n)overheadfromanactualpriorityqueue,byusingstacksandqueues
§ Canevencodeoneimplementa+onthattakesavariablequeuingobject
Page 11
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
VideoofDemoContoursUCSEmpty
Page 13
VideoofDemoContoursUCSPacmanSmallMaze
Page 15
SearchHeuris+cs§ Aheuris+cis:
§ Afunc+onthates#mateshowcloseastateistoagoal§ Designedforapar+cularsearchproblem§ Examples:Manha@an,Euclideandistanceforpathing
10
5
11.2
Page 16
Example:Heuris+cFunc+on
h(x)
Page 17
Example:Heuris+cFunc+onHeuris+c:thenumberofthelargestpancakethatiss+lloutofplace
43
0
2
3
3
3
4
4
3
4
4
4
h(x)
Page 19
Example:Heuris+cFunc+on
h(x)
Page 20
GreedySearch
§ Expandthenodethatseemsclosest…
§ Whatcangowrong?
Page 21
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
VideoofDemoContoursGreedy(Empty)
Page 23
VideoofDemoContoursGreedy(PacmanSmallMaze)
Page 25
A*Search
UCS Greedy
A*
Page 26
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
WhenshouldA*terminate?
§ Shouldwestopwhenweenqueueagoal?
§ No:onlystopwhenwedequeueagoal
S
B
A
G
2
3
2
2h=1
h=2
h=0h=3
Page 28
IsA*Op+mal?
§ Whatwentwrong?§ Actualbadgoalcost<es+matedgoodgoalcost§ Weneedes+matestobelessthanactualcosts!
A
GS
1 3h=6
h=0
5
h=7
Page 29
AdmissibleHeuris+cs
Page 30
Idea:Admissibility
Inadmissible(pessimis+c)heuris+csbreakop+malityby
trappinggoodplansonthefringe
Admissible(op+mis+c)heuris+csslowdownbadplansbutnever
outweightruecosts
Page 31
AdmissibleHeuris+cs
§ Aheuris+chisadmissible(op+mis+c)if:
whereisthetruecosttoanearestgoal
§ Examples:
§ Comingupwithadmissibleheuris+csismostofwhat’sinvolvedinusingA*inprac+ce.
415
Page 32
Op+malityofA*TreeSearch
Page 33
Op+malityofA*TreeSearch
Assume:§ Aisanop+malgoalnode§ Bisasubop+malgoalnode§ hisadmissible
Claim:§ AwillexitthefringebeforeB
…
Page 34
Op+malityofA*TreeSearch:Blocking
Defini+onoff-costAdmissibilityofh
…
h=0atagoal
Proof:§ ImagineBisonthefringe§ SomeancestornofAisonthefringe,too(maybeA!)
§ Claim:nwillbeexpandedbeforeB1. f(n)islessorequaltof(A)
Page 35
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
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 38
Proper+esofA*
…b
…b
Uniform-Cost A*
Page 39
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
VideoofDemoContours(Empty)--UCS
Page 41
VideoofDemoContours(Empty)--Greedy
Page 42
VideoofDemoContours(Empty)–A*
Page 43
VideoofDemoContours(PacmanSmallMaze)–A*
Page 44
Comparison
Greedy UniformCost A*
Page 45
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
VideoofDemoPacman(TinyMaze)–UCS/A*
Page 47
VideoofDemoEmptyWaterShallow/Deep–GuessAlgorithm
Page 49
Crea+ngAdmissibleHeuris+cs
§ Mostoftheworkinsolvinghardsearchproblemsop+mallyisincomingupwithadmissibleheuris+cs
§ Oten,admissibleheuris+csaresolu+onstorelaxedproblems,wherenewac+onsareavailable
§ Inadmissibleheuris+csareotenusefultoo
15366
Page 50
Example:8Puzzle
§ Whatarethestates?§ Howmanystates?§ Whataretheac+ons?§ Howmanysuccessorsfromthestartstate?§ Whatshouldthecostsbe?
StartState GoalStateAc+ons
Page 51
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
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
8PuzzleIII
§ Howaboutusingtheactualcostasaheuris+c?§ Woulditbeadmissible?§ Wouldwesaveonnodesexpanded?§ What’swrongwithit?
§ WithA*:atrade-offbetweenqualityofes+mateandworkpernode§ Asheuris+csgetclosertothetruecost,youwillexpandfewernodesbutusuallydomoreworkpernodetocomputetheheuris+citself
Page 54
Semi-LawceofHeuris+cs
Page 55
TrivialHeuris+cs,Dominance
§ Dominance:ha≥hcif§ Heuris+csformasemi-lawce:
§ Maxofadmissibleheuris+csisadmissible
§ Trivialheuris+cs§ Bo@omoflawceisthezeroheuris+c(whatdoesthisgiveus?)
§ Topoflawceistheexactheuris+c
Page 57
§ Failuretodetectrepeatedstatescancauseexponen+allymorework.
SearchTreeStateGraph
TreeSearch:ExtraWork!
Page 58
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
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
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
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
Op+malityofA*GraphSearch
Page 63
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
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 66
A*:Summary
§ A*usesbothbackwardcostsand(es+matesof)forwardcosts
§ A*isop+malwithadmissible/consistentheuris+cs
§ Heuris+cdesigniskey:otenuserelaxedproblems
Page 67
TreeSearchPseudo-Code
Page 68
GraphSearchPseudo-Code