CSE473:Ar+ficialIntelligence
InformedSearch
Instructor:LukeZe@lemoyer
UniversityofWashington[TheseslideswereadaptedfromDanKleinandPieterAbbeelforCS188IntrotoAIatUCBerkeley.AllCS188materialsareavailableath@p://ai.berkeley.edu.]
Today
§ InformedSearch§ Heuris+cs§ GreedySearch§ A*Search
§ GraphSearch
Recap:Search
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
Example:PancakeProblem
Cost:Numberofpancakesflipped
Example:PancakeProblem
Example:PancakeProblem
3
2
4
3
3
2
2
2
4
Statespacegraphwithcostsasweights
34
3
4
2
GeneralTreeSearch
Ac+on:fliptoptwoCost:2
Ac+on:flipallfourCost:4Pathtoreachgoal:Flipfour,flipthree
Totalcost:7
TheOneQueue
§ Allthesesearchalgorithmsarethesameexceptforfringestrategies§ Conceptually,allfringesarepriorityqueues(i.e.collec+onsofnodeswitha@achedpriori+es)
§ Prac+cally,forDFSandBFS,youcanavoidthelog(n)overheadfromanactualpriorityqueue,byusingstacksandqueues
§ Canevencodeoneimplementa+onthattakesavariablequeuingobject
UninformedSearch
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)]
VideoofDemoContoursUCSEmpty
VideoofDemoContoursUCSPacmanSmallMaze
InformedSearch
SearchHeuris+cs§ Aheuris+cis:
§ Afunc+onthates#mateshowcloseastateistoagoal§ Designedforapar+cularsearchproblem§ Examples:Manha@an,Euclideandistanceforpathing
10
5
11.2
Example:Heuris+cFunc+on
h(x)
Example:Heuris+cFunc+onHeuris+c:thenumberofthelargestpancakethatiss+lloutofplace
43
0
2
3
3
3
4
4
3
4
4
4
h(x)
GreedySearch
Example:Heuris+cFunc+on
h(x)
GreedySearch
§ Expandthenodethatseemsclosest…
§ Whatcangowrong?
GreedySearch
§ Strategy:expandanodethatyouthinkisclosesttoagoalstate§ Heuris+c:es+mateofdistancetonearestgoalforeachstate
§ Acommoncase:
§ Best-firsttakesyoustraighttothe(wrong)goal
§ Worst-case:likeabadly-guidedDFS
…b
…b
[Demo:contoursgreedyempty(L3D1)][Demo:contoursgreedypacmansmallmaze(L3D4)]
VideoofDemoContoursGreedy(Empty)
VideoofDemoContoursGreedy(PacmanSmallMaze)
A*Search
A*Search
UCS Greedy
A*
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
WhenshouldA*terminate?
§ Shouldwestopwhenweenqueueagoal?
§ No:onlystopwhenwedequeueagoal
S
B
A
G
2
3
2
2h=1
h=2
h=0h=3
IsA*Op+mal?
§ Whatwentwrong?§ Actualbadgoalcost<es+matedgoodgoalcost§ Weneedes+matestobelessthanactualcosts!
A
GS
1 3h=6
h=0
5
h=7
AdmissibleHeuris+cs
Idea:Admissibility
Inadmissible(pessimis+c)heuris+csbreakop+malityby
trappinggoodplansonthefringe
Admissible(op+mis+c)heuris+csslowdownbadplansbutnever
outweightruecosts
AdmissibleHeuris+cs
§ Aheuris+chisadmissible(op+mis+c)if:
whereisthetruecosttoanearestgoal
§ Examples:
§ Comingupwithadmissibleheuris+csismostofwhat’sinvolvedinusingA*inprac+ce.
415
Op+malityofA*TreeSearch
Op+malityofA*TreeSearch
Assume:§ Aisanop+malgoalnode§ Bisasubop+malgoalnode§ hisadmissible
Claim:§ AwillexitthefringebeforeB
…
Op+malityofA*TreeSearch:Blocking
Defini+onoff-costAdmissibilityofh
…
h=0atagoal
Proof:§ ImagineBisonthefringe§ SomeancestornofAisonthefringe,too(maybeA!)
§ Claim:nwillbeexpandedbeforeB1. f(n)islessorequaltof(A)
Op+malityofA*TreeSearch:Blocking
Bissubop+malh=0atagoal
…
Proof:§ ImagineBisonthefringe§ SomeancestornofAisonthefringe,too(maybeA!)
§ Claim:nwillbeexpandedbeforeB1. f(n)islessorequaltof(A)2. f(A)islessthanf(B)
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
…
Proper+esofA*
Proper+esofA*
…b
…b
Uniform-Cost A*
UCSvsA*Contours
§ Uniform-costexpandsequallyinall“direc+ons”
§ A*expandsmainlytowardthegoal,butdoeshedgeitsbetstoensureop+mality
Start Goal
Start Goal
[Demo:contoursUCS/greedy/A*empty(L3D1)][Demo:contoursA*pacmansmallmaze(L3D5)]
VideoofDemoContours(Empty)--UCS
VideoofDemoContours(Empty)--Greedy
VideoofDemoContours(Empty)–A*
VideoofDemoContours(PacmanSmallMaze)–A*
Comparison
Greedy UniformCost A*
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)]
VideoofDemoPacman(TinyMaze)–UCS/A*
VideoofDemoEmptyWaterShallow/Deep–GuessAlgorithm
Crea+ngHeuris+cs
Crea+ngAdmissibleHeuris+cs
§ Mostoftheworkinsolvinghardsearchproblemsop+mallyisincomingupwithadmissibleheuris+cs
§ Oten,admissibleheuris+csaresolu+onstorelaxedproblems,wherenewac+onsareavailable
§ Inadmissibleheuris+csareotenusefultoo
15366
Example:8Puzzle
§ Whatarethestates?§ Howmanystates?§ Whataretheac+ons?§ Howmanysuccessorsfromthestartstate?§ Whatshouldthecostsbe?
StartState GoalStateAc+ons
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
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
8PuzzleIII
§ Howaboutusingtheactualcostasaheuris+c?§ Woulditbeadmissible?§ Wouldwesaveonnodesexpanded?§ What’swrongwithit?
§ WithA*:atrade-offbetweenqualityofes+mateandworkpernode§ Asheuris+csgetclosertothetruecost,youwillexpandfewernodesbutusuallydomoreworkpernodetocomputetheheuris+citself
Semi-LawceofHeuris+cs
TrivialHeuris+cs,Dominance
§ Dominance:ha≥hcif§ Heuris+csformasemi-lawce:
§ Maxofadmissibleheuris+csisadmissible
§ Trivialheuris+cs§ Bo@omoflawceisthezeroheuris+c(whatdoesthisgiveus?)
§ Topoflawceistheexactheuris+c
GraphSearch
§ Failuretodetectrepeatedstatescancauseexponen+allymorework.
SearchTreeStateGraph
TreeSearch:ExtraWork!
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
GraphSearch
§ Idea:neverexpandastatetwice§ Howtoimplement:
§ Treesearch+setofexpandedstates(“closedset”)§ Expandthesearchtreenode-by-node,but…§ Beforeexpandinganode,checktomakesureitsstatehasneverbeenexpandedbefore
§ Ifnotnew,skipit,ifnewaddtoclosedset§ Important:storetheclosedsetasaset,notalist§ Cangraphsearchwreckcompleteness?Why/whynot?§ Howaboutop+mality?
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
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
Op+malityofA*GraphSearch
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
Op+mality
§ Treesearch:§ A*isop+malifheuris+cisadmissible§ UCSisaspecialcase(h=0)
§ Graphsearch:§ A*op+malifheuris+cisconsistent§ UCSop+mal(h=0isconsistent)
§ Consistencyimpliesadmissibility
§ Ingeneral,mostnaturaladmissibleheuris+cstendtobeconsistent,especiallyiffromrelaxedproblems
A*:Summary
A*:Summary
§ A*usesbothbackwardcostsand(es+matesof)forwardcosts
§ A*isop+malwithadmissible/consistentheuris+cs
§ Heuris+cdesigniskey:otenuserelaxedproblems
TreeSearchPseudo-Code
GraphSearchPseudo-Code