Informed Search - courses.cs.washington.edu

Post on 09-Jun-2022

3 views 0 download

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

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