Improved Fast Replanning for Robot Navigation in Unknown Terrain

Size: px
Start display at page:

Download "Improved Fast Replanning for Robot Navigation in Unknown Terrain"

Transcription

1 Improved Fst Replnning for Robot Nvigtion in Unknown Terrin ollege of omputing Georgi Institute of Technology tlnt, G 0-00 GIT-OGSI-00/ Sven Koenig ollege of omputing Georgi Institute of Technology tlnt, G skoenig@cc.gtech.edu Mxim Likhchev School of omputer Science rnegie Mellon University Pittsburgh, P mxim+@cs.cmu.edu

2 bstrct Mobile robots often operte in domins tht re only incompletely known, for exmple, when they hve to move from given strt coordintes to given gol coordintes in unknown terrin. In this cse, they need to be ble to repln quickly s their knowledge of the terrin chnges. Stentz Focussed ynmic * is heuristic serch method tht repetedly determines shortest pth from the current robot coordintes to the gol coordintes while the robot moves long the pth. It is ble to repln one to two orders of mgnitudes fster thn plnning from scrtch since it modifies previous serch results loclly. onsequently, it hs been extensively used in mobile robotics. In this rticle, we introduce n lterntive to Focussed ynmic * tht implements the sme nvigtion strtegy but is lgorithmiclly different. Focussed ynmic * Lite is simple, esy to understnd, esy to nlyze nd esy to extend, yet is more efficient thn Focussed ynmic *. We believe tht our results will mke *-like replnning methods even more populr nd enble robotics reserchers to dpt them to dditionl pplictions.

3 1 Introduction Mobile robots often operte in domins tht re only incompletely known. In this rticle, we study gol-directed nvigtion problem in unknown terrin where mobile robot hs to move from its current coordintes to given gol coordintes. Robotics reserchers hve investigted vrious nvigtion strtegies to solve it, including the well-known bug lgorithms [LS]. In this pper, we study the following nvigtion strtegy: The robot lwys plns shortest pth from its current coordintes to the gol coordintes under the ssumption tht unknown terrin is trversble. (It cn utilize initil knowledge of the terrin in cse it is vilble.) If it observes obstcles s it follows this pth, it enters them into its mp nd then repets the procedure, until it eventully reches the gol coordintes or ll pths to them re untrversble. This nvigtion strtegy is n exmple of sensor-bsed motion plnning [9, 9]. If we model the nvigtion problem s nvigtion problem on n eight-connected grid with edges tht re either trversble (with cost one) or untrversble, it must terminte becuse the robot either follows the plnned pth to the gol vertex or increses its knowledge bout the true edge costs, which cn hppen only once for ech edge. To implement the nvigtion strtegy, the robot needs to repln shortest pth from its current vertex to the gol vertex whenever it detects tht its current pth is untrversble. The robot could use conventionl grph-serch methods. However, the resulting serch times cn be on the order of minutes for the lrge grphs tht re often used, which dds up to substntil idle times [Ste9]. Focussed ynmic * (*) [Ste9] is probbly the most populr solution to this problem t the moment since it combines the efficiency of heuristic nd incrementl serches, yet still finds shortest pths. It chieves speedup of one to two orders of mgnitudes(!) over repeted * [Pe] serches by modifying previous serch results loclly. * hs been extensively used on rel robots. This includes indoor Nomd robots [KTH01] s well s outdoor HMMWVs nd the UGV emo II vehicles s prt of the RP Unmnned Ground Vehicle progrm [SH9]. It is currently lso being integrted into Mrs Rover prototypes nd tcticl mobile robot prototypes for urbn reconnissnce [HM99, MXH 00, T 00]. * is lso used s prt of other softwre, including the GRMMPS mission plnner for multiple robots [S9]. However, * is very complex nd thus hrd to understnd, nlyze, nd extend. For exmple, while * hs been widely used s blck-box method, it hs not been extended by other reserchers. uilding on our Lifelong Plnning * method [KL01], we therefore present * Lite, novel replnning method tht implements the sme nvigtion strtegy s * but is lgorithmiclly different. Lifelong Plnning * is n incrementl version of * nd thus very similr to *. It is efficient nd hs well-understood properties (for exmple, we cn prove theorems bout its similrity to * nd its efficiency). This lso llows us to extend it esily, for exmple, to use indmissible heuristics nd different tie-breking criteri to gin efficiency. Since * Lite is bsed on LP*, it is simple, esy to understnd, esy to nlyze nd esy to extend. It lso inherits ll of the properties of LP* nd cn be extended in the sme wy s LP*. It hs more thn thirty percent fewer lines of code thn * (without ny coding tricks), uses only 1

4 one tie-breking criterion when compring priorities which simplifies the mintennce of the priorities, nd does not need nested if-sttements with complex conditions tht occupy up to three lines ech which simplifies the nlysis of the progrm flow. Yet, our experiments show tht * Lite is more efficient thn *. The simplicity of * Lite is importnt for optimizing it, integrting it into complete robot rchitectures, nd using it to solve nvigtion tsks other thn gol-directed nvigtion in unknown terrin. We lso provide mthemticlly rigorous nlysis of * Lite, probbly the most rigorous nlysis of ny incrementl heuristic serch method tht hs been pplied to robot nvigtion in unknown terrin. In Section, we motivte the ides behind * Lite. In Section, we then introduce LP* nd describe how it works. In Section, we use LP* to develop two versions of * Lite, the bsic version nd the finl version, nd describe how they cn be optimized. In Section, we illustrte the opertion of the two versions of * Lite with n exmple. In Section finlly, we present experimentl results tht compre * Lite ginst severl other serch methods, both for gol-directed nvigtion in unknown terrin nd for mpping of unknown terrin. The ppendix contins the proofs of the theorems stted in the min text. (s explined in the ppendix, the proofs in the ppendix re for version of LP* tht serches from the gol vertex to the strt vertex.) Motivtion onsider robot-nvigtion tsk in unknown terrin, where the robot lwys observes which of its eight djcent cells re trversble nd then moves with cost one to one of them. The robot strts t the strt cell nd hs to move to the gol cell. It lwys computes shortest pth from its current cell to the gol cell under the ssumption tht cells with unknown trversbility sttus re trversble. It then follows this pth until it reches the gol cell, in which cse it stops successfully, or it observes dditionl untrversble cells, in which cse it recomputes shortest pth from its current cell to the gol cell. Figure 1 illustrtes this nvigtion strtegy. Figure 1 (top) shows the terrin in which the robot hs to move from cell 1 to cell, nd Figure 1 (bottom) shows, before ech movement of the robot, the untrversble cells tht it knows bout together with the pth tht it ttempts to follow. White cells re known to be trversble, blck cells re known to be untrversble, nd gry cells hve unknown trversbility. The robot strts in cell 1. Since ll costs re one, the shortest pth from the current cell 1 to the gol cell seems to be vi cells 1 nd. The robot then moves to cell 1 nd discovers tht cell is untrversble. Now, the shortest pth from the current cell 1 to the gol cell seems to be vi cells 1 nd. The robot then follows this pth to the gol cell. Figure shows the beginning of lrger exmple. It shows the gol distnces (tht is, the length of shortest pth to gol cell) of ll trversble cells nd the shortest pths both before nd fter the robot hs moved long the pth nd discovered the first untrversble cell it did not know bout. ells whose gol distnces hve chnged re shded gry. The gol distnces re

5 Nvigtion Strtegy ctul terrin 1 strt gol Initil Sitution fter the 1st Move fter the nd Move fter the rd Move fter the th Move 1 1 Figure 1: Illustrtion of the Nvigtion Strtegy. importnt becuse one cn esily determine shortest pth from the current cell of the robot to the gol vertex by greedily decresing the gol distnces once the gol distnces hve been computed. Notice tht the gol distnces of only bout 1 percent of the cells hve chnged, nd most of the chnged gol distnces re irrelevnt for reclculting shortest pth from the current cell of the robot to the gol cell. Thus, one cn efficiently reclculte shortest pth from the current cell of the robot to the gol cell by reclculting only those gol distnces tht hve chnged (or hve not been clculted before) nd re relevnt for reclculting the shortest pth. This is wht * Lite does. The chllenge is to identify these cells efficiently. Lifelong Plnning * We first describe Lifelong Plnning * (LP*) [KL01], our incrementl heuristic serch method tht repetedly determines shortest pths between two given vertices s the edge costs of grph chnge. We chose its nme in nlogy to lifelong lerning [Thr9] becuse it reuses informtion from previous serches. We lter use LP* to develop * Lite. LP* is shown in Figure. It is n incrementl serch method tht uses heuristics to focus

6 s strt Knowledge efore the First Move of the Robot s gol Knowledge fter the First Move of the Robot s strt s gol Figure : Simple xmple (Prt 1) the serch. n incrementl serch tends to only reclculte those strt distnces (tht is, distnce from the strt vertex to vertex) tht hve chnged (or hve not been clculted before) [FMSN00] nd heuristic serch tends to only reclculte those strt distnces tht re relevnt for reclculting shortest pth from the strt vertex to the gol vertex [Pe]. LP* thus reclcultes only very few strt distnces. LP* is n incrementl version of * [Pe], probbly the most populr serch method in rtificil intelligence. It pplies to the sme grph serch problems s * nd shres mny similrities with it. For exmple, it uses heuristic knowledge in form of pproximtions of the gol distnces to focus the serch. LP* generlizes * becuse its first serch is the sme s tht of * nd it performs n incrementl * serch fterwrds. LP* lso generlizes version of ynmicswsf-fp [RR9] becuse it reduces to it if the heuristics re uninformed (tht is, zero)..1 Lifelong Plnning *: Nottion Lifelong Plnning * (LP*) pplies to finite grph serch problems on known grphs whose edge costs increse or decrese over time (which cn lso be used to model edges or vertices tht re dded or deleted). Thus, it serches directed grphs, just like *. denotes the finite set of vertices of the grph. denotes the set of successors of vertex in the grph. Similrly, denotes the set of predecessors of vertex in the grph. "!#%$&('*) denotes the cost of moving from vertex to vertex $+,. LP*

7 $ The pseudocode uses the following functions to mnge the priority queue: U.TopKey returns the smllest priority of ll vertices in priority queue. (If is empty, then U.TopKey returns.) U.Pop deletes the vertex with the smllest priority in priority queue nd returns the vertex. U.Insert inserts vertex into priority queue with priority. Finlly, U.Remove removes vertex from priority queue. procedure lcultekey 01 return! " # %$&('!)* + *,!! ; procedure Initilize 0-./ ; 0 for ll 10!.. ; 0! 9,: '!; :" <.= ; 0 U.Insert 9: '!; :( lcultekey 9,: '!; : " ; procedure UpdteVertex *>? 0 if>@.9,: '; :?!!*>?. 9" PredGFIH * %J LK (J ">? ; 0 if>0 1 U.Remove>? ; 0 if *>? 1@.M!>N " U.Insert>O lcultekey>? ; procedure omputeshortestpth 09 while U.TopKey QP R lcultekey $&('!) OR! $%&('!) -@. $%&%') 10S>T. U.Pop ; if+>? UV?!*>? " 1 >?.!! *>? ; 1 for ll W0 Succ *>? UpdteVertex ; 1 else 1 >?. ; 1 for ll W0 Succ *>? #X ># UpdteVertex ; procedure Min 1 Initilize ; 1 forever 19 omputeshortestpth ; 0 Wit for chnges in costs; 1 for ll directed edges> YZ with chnged edge costs Updte the edge cost K *>O"YZ ; UpdteVertexYI ; Figure : (Forwrd Version of) Lifelong Plnning *. ([]\^[ to given gol vertex ^_\^`, knowing both the topology of the grph nd the current edge costs. We use to denote the gol distnce of vertex, tht is, the cost of shortest pth from to ^_\^`. Similrly, we use cb to denote the strt distnce of vertex, tht is, the cost of shortest pth from %[]\[ to. The strt distnces stisfy the following reltionship: lwys determines shortest pth from given strt vertex d boef#gh ikj mon]p J 0Nq1!rst e d b ef gwuwvoef $x f#g!g if fhlf %[]\[ otherwise. (1). Lifelong Plnning *: The Vribles LP* mintins n estimte of the strt distnce 1b of ech vertex. These vlues directly correspond to the g-vlues of n * serch. The initil serch of LP* clcultes the g-vlues of ech vertex in exctly the sme order s *. LP* then crries the g-vlues forwrd

8 i j $ $ x from serch to serch. LP* lso mintins second kind of estimte of the strt distnces. The rhs-vlues re one-step lookhed vlues bsed on the g-vlues nd thus potentilly better informed thn the g-vlues. They lwys stisfy the following reltionship (Invrint 1) ccording to Theorem in the ppendix: fqef#gh mon]p J 0#q1rst e d ef g uwvoef $ x f#g!g if flh f ([]\^[ otherwise. () vertex is clled loclly consistent iff. This concept is similr to stisfying the ellmn eqution for undiscounted deterministic sequentil decision problems [el]. vertex is clled loclly inconsistent iff. If ll vertices re loclly consistent then ll of their g-vlues stisfy d efng h ikj mon]p J 0Nq1!rst e d ef g uwvoef $,x f#g!g if flh f ([]\^[ otherwise. () comprison to qution 1 shows tht ll g-vlues re equl to their respective strt distnces. Thus, the g-vlues of ll vertices equl their strt distnces iff ll vertices re loclly consistent. This concept is importnt becuse one cn then trce bck shortest pth from %[]\[ to ny vertex by lwys moving from the current vertex, strting t, to ny predecessor $ tht $ $!# minimizes until %[]\[ is reched (ties cn be broken rbitrrily). However, LP* does not mke every vertex loclly consistent fter some of the edge costs hve chnged. "!# Insted, it uses heuristics Z_\Z` to focus the serch nd updtes only the g-vlues tht "!#$& re relevnt for computing shortest pth. pproximtes the distnce between vertex nd $. Thus, the heuristics pproximte the gol distnces of the vertices. The heuristics need to be nonnegtive nd (forwrd) consistent [Pe], tht is, obey the tringle inequlity! "!# ' "!#%$ %$!# nd for ll vertices nd $. ^_\^` ^_\^` Z_\Z` LP* mintins priority queue, like *. The priority queue of LP* lwys contins exctly the loclly inconsistent vertices (Invrint ) ccording to Theorem in the ppendix. These re the vertices whose g-vlues LP* potentilly needs to updte to mke them loclly consistent. The keys of the vertices in the priority queue roughly correspond to the f-vlues used by *, nd LP* lwys reclcultes the g-vlue of the vertex ( expnds the vertex ) in the priority queue with the smllest key. This is similr to * tht lwys expnds the vertex in the priority queue with the smllest f-vlue. y expnding vertex, we men executing 10-1 (numbers in brckets refer to line numbers in Figure ). The key of vertex is vector with two components: ^_\^` ef#gh ef#g ef#g ()

9 ' $! "!# ^_\^` where nd 1. This is the vector tht lcultekey() clcultes. The priority of vertex in the priority queue is lwys the sme s its key (Invrint ) ccording to Theorem in the ppendix. Keys re compred ccording to lexicogrphic ordering. For exmple, key is smller thn or equl to key $ $ $ $ ', denoted by, iff either or ( nd ). The first component of the keys corresponds directly to the f-vlues "!# b ^_\^` used by * becuse both the g-vlues nd rhs-vlues of LP* correspond to the g- vlues of * nd the h-vlues of LP* correspond to the h-vlues of *. The second component of the keys corresponds to the g-vlues of *. LP* lwys expnds the vertex in the priority queue with the smllest k -vlue, which corresponds to the f-vlue of n * serch, breking ties in fvor of the vertex with the smllest k -vlue, which corresponds to the g-vlue of n * serch. This is similr to * tht lwys expnds the vertex in the priority queue with the smllest f-vlue, breking ties mong the vertices on the sme brnch of the serch tree in fvor of the vertex with the smllest g-vlue. The resulting behvior of LP* nd * is lso similr. The keys of the vertices expnded by LP* re nondecresing over time ccording to Theorem in the ppendix. This is similr to * since the f-vlues of the vertices expnded by * re lso nondecresing over time (since the heuristics re consistent) nd the g-vlues re lso nondecresing for vertices with the sme f-vlues (since it grows the serch tree).!. Lifelong Plnning *: The Method LP* is shown in Figure. The min function Min() first clls Initilize() to initilize the serch problem 1. Initilize() sets the initil g-vlues of ll vertices to infinity nd sets their rhs-vlues ccording to qution 0-0. Thus, initilly %[]\[ is the only loclly inconsistent vertex nd is inserted into the otherwise empty priority queue with key clculted ccording to qution 0. This initiliztion gurntees tht the first cll to omputeshortestpth() 19 performs exctly n * serch, tht is, expnds exctly the sme vertices s * in exctly the sme order, provided tht * breks ties mong vertices with the sme f-vlues suitbly. Note tht, in n ctul implementtion, Initilize() only needs to initilize vertex when it encounters it during the serch nd thus does not need to initilize ll vertices up front. This is importnt becuse the number of vertices cn be lrge nd only few of them might be reched during the serch. LP* then wits for chnges in edge costs 0. To mintin Invrints 1- if some edge costs hve chnged, it clls UpdteVertex() to updte the rhs-vlues nd keys of the vertices potentilly ffected by the chnged edge costs s well s their membership in the priority queue if they become loclly consistent or inconsistent, nd finlly reclcultes shortest pth 19 by clling omputeshortestpth(), nd itertes. In the following, we give high-level explntion of how omputeshortestpth() works, ppeling to the intuition of the reder. We prove theorems in the ppendix tht mke our explntions more concrete. omputeshortestpth() repetedly expnds loclly inconsistent vertices in the order of their priorities 10. loclly inconsistent vertex is clled loclly overconsis-

10 tent iff. When omputeshortestpth() expnds loclly overconsistent vertex 1-1, then it turns out to hold tht b, which implies tht b. uring the expnsion of vertex, omputeshortestpth() sets the g-vlue of vertex to its rhs-vlue nd thus its strt distnce 1, which is the desired vlue nd lso mkes the vertex loclly consistent. Its g-vlue then no longer chnges until omputeshortestpth() termintes ccording to Theorem 1 in the ppendix. loclly inconsistent vertex is clled loclly underconsistent iff. When omputeshortestpth() expnds loclly underconsistent vertex 1-1, then it simply sets the g-vlue of the vertex to infinity 1. This mkes the vertex either loclly consistent or overconsistent. If the expnded vertex ws loclly overconsistent, then the chnge of its g-vlue cn ffect the locl consistency of its successors 1. Similrly, if the expnded vertex ws loclly underconsistent, then it nd its successors cn be ffected 1. To mintin Invrints 1-, omputeshortestpth() therefore updtes rhs-vlues of these vertices, checks their locl consistency, nd dds them to or removes them from the priority queue ccordingly 0-0. LP* expnds vertices until Z_\Z` is loclly consistent nd the key of the vertex to expnd next is no smller thn the key of ^_\^`. This is similr to * tht expnds vertices until it expnds ^_\^` t which point in time the g-vlue of ^_\^` equls its strt distnce nd the f-vlue of the vertex to expnd next is no smller thn the f-vlue of ^_\Z`. LP* expnds vertex t most twice, nmely t most once when it is loclly underconsistent nd t most once when it is loclly overconsistent, ccording to Theorem 1 in the ppendix. This property implies tht LP* is gurnteed to terminte fter number of vertex expnsions tht is t most twice the number of vertex expnsions of * since * expnds ech vertex t most once. Thus, even though it is known tht there re lwys cses where incrementl serch is not more efficient thn serch from scrtch [NK9], LP* cn never be much worse thn * even in situtions tht re exceptionlly bd for LP*. ) If ^_\^` fter the serch, then there is no finite-cost pth from ([]\^[ to ^_\^`. Otherwise, one cn trce bck shortest pth from ([]\^[ to ^_\^` by lwys moving from the current vertex, strting t ^_\^`, to ny predecessor $ $& $!# tht minimizes until %[]\[ is reched (ties cn be broken rbitrrily) ccording to Theorem 1 in the ppendix. This is similr to wht * cn do if it does not use bckpointers. Thus, LP* does not explicitly mintin serch tree. Insted, it uses the g-vlues to encode it implicitly. more detiled nd forml description of LP* cn be found in [KL01b]. This includes its comprison to * nd proofs of its properties, for exmple tht LP* is efficient becuse it performs incrementl serches nd thus clcultes only those g-vlues tht hve been ffected by cost chnges or hve not been clculted yet in previous serches nd tht LP* is lso efficient becuse it performs heuristic serches nd thus clcultes only the g-vlues of those vertices tht re importnt to determine shortest pth.

11 fter the 1st Move 1 Figure : Known Terrin nd orresponding Grph. * Lite So fr, we hve described our LP*, tht repetedly determines shortest pths between the strt vertex nd the gol vertex s the edge costs of grph chnge. We now use LP* to develop * Lite [KL0], tht repetedly determines shortest pths between the current vertex of the robot nd the gol vertex s the edge costs of grph chnge while the robot moves towrds the gol vertex. * Lite does not mke ny ssumptions bout how the edge costs chnge, whether they go up or down, whether they chnge close to the current vertex of the robot or fr wy from it, or whether they chnge in the world or only becuse the robot revised its initil estimtes. The gol-directed nvigtion problem in unknown terrin then is specil cse of this problem, where the grph is n eight-connected grid whose edge costs re initilly one nd chnge to infinity when the robot discovers tht they cnnot be trversed. Figure, for exmple, shows the untrversble cells tht the robot knows bout fter its first movement for the exmple from Figure 1 together with the corresponding grph. Solid edges hve cost one nd dshed edges hve infinite cost. We now first describe simple version of * Lite nd then more sophisticted version. ecuse both versions of * Lite re bsed on LP*, they shre mny properties with * nd re efficient..1 The sic Version of * Lite We hve lredy rgued tht mny gol distnces remin unchnged s the robot moves to the gol vertex nd observes obstcles in the process. Thus, we cn use version of LP* for the gol-directed nvigtion problem in unknown terrin. We first need to switch the serch direction of LP*. The version presented in Figure serches from the strt vertex to the gol vertex nd thus its g-vlues re estimtes of the strt distnces. The version presented in Figure serches from the gol vertex to the strt vertex nd thus its g-vlues re estimtes of the gol distnces. It ws derived from the originl grph by reversing ll edges of the grph nd "!#$ exchnging the strt nd gol vertex. The heuristics now need to be nonnegtive nd!#!#'!#%$& $!# bckwrd consistent, tht is, obey nd %[]\[ %[]\[ 9 %[]\[ %[]\[

12 The pseudocode uses the following functions to mnge the priority queue: U.TopKey returns the smllest priority of ll vertices in priority queue. (If is empty, then U.TopKey returns.) U.Pop deletes the vertex with the smllest priority in priority queue nd returns the vertex. U.Insert inserts vertex into priority queue with priority. Finlly, U.Remove removes vertex from priority queue. procedure lcultekey 01 return! " # 9,: '!; :, " *,!! ; procedure Initilize 0-./ ; 0 for ll 10!.. ; 0! %$&('!) <.= ; 0 U.Insert $%&('!) lcultekey $%&('!) " ; procedure UpdteVertex *>? 0 if>@.%$%&%')?!!*>? <. 9, SuccGFZH K>O%J* (J " ; 0 if>0 1 U.Remove>? ; 0 if *>? 1@.M!>N " U.Insert>O lcultekey>? ; procedure omputeshortestpth 09 while U.TopKey QP R lcultekey 9,: '!; : OR! 9: '!; : c@. 9,: '; : " 10S>T. U.Pop ; if+>? UV?!*>? " 1 >?.!! *>? ; 1 for ll W0 Pred>N UpdteVertex ; 1 else 1 >?. ; 1 for ll W0 Pred>N?X >N UpdteVertex ; procedure Min 1 Initilize ; 1 forever 19 omputeshortestpth ; 0 Wit for chnges in costs; 1 for ll directed edges> YZ with chnged edge costs Updte the edge cost K *>O"YZ ; UpdteVertex>N ; Figure : ckwrd Version of Lifelong Plnning *. for ll vertices nd $ Pred. More generlly, since the robot moves nd thus chnges %[]\[, the heuristics needs to stisfy this property for ll ) ([]\^[. If ([]\^[ fter the serch, then there is no finite-cost pth from ([]\^[ to ^_\^`. Otherwise, one cn follow shortest pth from %[]\[ to ^_\^` by lwys moving from the current vertex, strting t %[]\[, to ny successor $ tht minimizes! $ $ until ^_\^` is reched (ties cn be broken rbitrrily). To solve the gol-directed nvigtion problem in unknown terrin, the lcultekey, Initilize, UpdteVertex, nd omputeshortestpth functions cn remin unchnged. However, the Min function needs to get extended so tht it moves the robot nd then reclcultes the priorities of the vertices in the priority queue ppropritely. This is necessry becuse the heuristics chnge when the robot moves, since they re computed with respect to the current vertex of the robot. This only chnges the priorities of the vertices in the priority queue but not which vertices re consistent nd thus in the priority queue. Figure shows the resulting method, clled the bsic version of * Lite. The min function Min() first clls Initilize() to initilize the serch problem 1. Initilize() sets the initil g-vlues of ll vertices to infinity nd sets their rhs-vlues ccording to the equivlent of qution 0-0. Thus, initilly Z_\Z` is the only loclly inconsistent vertex 10

13 The pseudocode uses the following functions to mnge the priority queue: U.TopKey returns the smllest priority of ll vertices in priority queue. (If is empty, then U.TopKey returns.) U.Pop deletes the vertex with the smllest priority in priority queue nd returns the vertex. U.Insert!,t inserts vertex into priority queue with priority. U.Updte chnges the priority of vertex in priority queue to. (It does nothing if the current priority of vertex lredy equls.) Finlly, U.Remove removes vertex from priority queue. procedure lcultekey 01 return ++,! " # 9,: '!; :,, "?! " ; procedure Initilize 0 c./ ; 0 for ll 10!. Q. ; 0!! $%&('!) Q.= ; 0 U.Insert $%&%') lcultekey $&('!) ; procedure UpdteVertex *>? 0 if *>@. $&('!)?!>? Q. 9 SuccGFIH K>,%J* %J ; 0 if *>0 1 U.Remove *>? ; 0 if *>? 1@.!!*>? " U.Insert> lcultekey *>? " ; 09 while U.TopKey <P R lcultekey 9,: '!; : OR! 9,: '; : -@. 9,: '!; : 10 >. U.Pop ; if *>N UV!>? 1 *>? Q.!>? ; 1 for ll W0 Pred *>? UpdteVertex ; procedure omputeshortestpth 1 else 1 *>? Q. ; 1 for ll W0 Pred *>? #X procedure Min() 1 Initilize ; 1 omputeshortestpth ; >N UpdteVertex ; 19 while 9,: '!; :.@ $&('!) 0 /* if+ 9,: '!; : <. V then there is no known pth */ 1 9,: '!; :Q. 9, K Succ 9 H %9,: '!; : J + J ; Move to 9,: '!; : ; Scn grph for chnged edge costs; if ny edge costs chnged for ll directed edges>oyz with chnged edge costs K the edge cost >"YZ ; UpdteVertex>? ; for ll W0 9 U.Updte! lcultekey " ; 0 omputeshortestpth ; Figure : * Lite: sic Version. nd is inserted into the otherwise empty priority queue with key clculted ccording to the equivlent of qution 0. Note tht, in n ctul implementtion, Initilize() only needs to initilize vertex when it encounters it during the serch nd thus does not need to initilize ll vertices up front. This is importnt becuse the number of vertices cn be lrge nd only few of them might be reched during the serch. The bsic version of * Lite then computes shortest pth from the current vertex of the robot %[]\[ to the gol vertex 1. If the robot hs not reched the gol vertex yet 19, it mkes one trnsition long the shortest pth nd updtes %[]\[ to reflect the current vertex of the robot 1 -. (In the pseudocode, we hve included comment on how the robot cn detect tht there is no pth but do not prescribe wht it should do in this cse. For the gol-directed nvigtion problem in unknown terrin, for exmple, it should stop nd nnounce tht there is no pth since obstcles do not dispper.) It then scns

14 b for chnges in edge costs. To mintin Invrints 1- if some edge costs hve chnged, it clls UpdteVertex() to updte the rhs-vlues nd keys of the vertices potentilly ffected by the chnged edge costs s well s their membership in the priority queue if they become loclly consistent or inconsistent. Finlly, it updtes the priorities of ll vertices in the priority queue -9, reclcultes shortest pth 0, nd itertes. In the ppendix, we prove the correctness of the bsic version of * Lite: Theorem 1 (= Theorem 1 in the ppendix) omputeshortestpth of the bsic version of * Lite expnds vertex t most twice, nmely t most once when it is loclly underconsistent nd t most once when it is loclly overconsistent, nd thus termintes. One cn then follow shortest pth from %[]\[ to ^_\^` by lwys moving from the current vertex, strting t %[]\[, to ny successor $ tht minimizes "!# $ %$ until Z_\Z` is reched (ties cn be broken rbitrrily).. The Finl Version of * Lite The bsic version of * Lite hs the disdvntge tht the repeted reordering of the priority queue -9 cn be expensive since the priority queue often contins lrge number of vertices. The finl version of * Lite, shown in Figure, uses method derived from * [Ste9] to void hving to reorder the priority queue. ifferences to the bsic version of * Lite "!# $ re shown in bold. The heuristics now need to be nonnegtive nd forwrd-bckwrd "!#$ $& ' "!#%$ %$! $ $ consistent, tht is, obey for ll vertices "!# $!#%$ $. They lso "!#$ ' "!#%$& need to be dmissible no mtter wht the gol vertex is, tht is, obey for ll vertices "!#%$, where "!#%$ %$ b denotes the cost of shortest pth from vertex to vertex. Theorem in the ppendix proves tht heuristics with these properties lso hve the property tht heuristics for the bsic version of * Lite need to stisfy. Yet, these properties re not overly restrictive since Theorem in the ppendix proves tht they re gurnteed to hold if the heuristics were derived by relxing the serch problem, which will lmost lwys be the cse nd holds for ll heuristics used in this rticle. The finl version of * Lite uses priorities tht re lower bounds on the priorities tht the bsic version of * Lite uses for the corresponding vertices. They re initilized in the sme wy s the bsic version of * Lite initilizes them. fter the robot hs moved from vertex to some vertex $ where it detects chnges in edge costs, the first element of the priorities cn hve "!# $ decresed by t most. (The second component does not depend on the heuristics nd thus remins unchnged.) Thus, in order to mintin lower bounds, * Lite needs to subtrct "!#%$& from the first element of the priorities of ll vertices in the priority queue. However,! $ since is the sme for ll vertices in the priority queue, the order of the vertices in the priority queue does not chnge if the subtrction is not performed. Then, when new priorities "!#$& re computed, their first components re by too smll reltive to the priorities in the 1

15 The pseudocode uses the following functions to mnge the priority queue: U.TopKey returns the smllest priority of ll vertices in priority queue. (If is empty, then U.TopKey returns.) U.Pop deletes the vertex with the smllest priority in priority queue nd returns the vertex. U.Insert inserts vertex into priority queue with priority. Finlly, U.Remove removes vertex from priority queue. procedure lcultekey 01 return + *,,! " # +9,: '!; : + *,,!! ; procedure Initilize 0 -./ ; 0.# 0 for ll 0!! <. <. ; 0! $%&%') <.= ; 0 U.Insert $%&('!) lcultekey $%&('!) " ; procedure UpdteVertex *>? 0 if>@. $%&%')?!!*>?. 9 K SuccGFZH *>O,%J* (J " ; 0 if>0 1 U.Remove>? ; 09 if *>? c@.!>? U.Insert *>O lcultekey>? ; 10 while U.TopKey RP lcultekey 9,: '!; : OR!! 9,: '!; : 1@. 9,: '!; : ". U.TopKey 1 >. U.Pop ; procedure omputeshortestpth 1 R if lcultekeyo 1 U.InsertQ lcultekeyo " 1 else if *>? U!>? 1 >? Q.!! *>? ; 1 for ll 10 Pred>? UpdteVertex ; 1 else 19 >? Q. ; 0 for ll 10 Pred>? #X procedure Min 1. Initilize ; omputeshortestpth ; >N UpdteVertex ; while +9,: '!; :c@. $%&('!) /* if * 9,: '!; : Q.V then there is no known pth */ +9,: '!; :<. < 9" Succ 9 K H 9,: '; : J J " ; Move to +9,: '!; : ; Scn grph for chnged edge costs; 9 if ny edge costs chnged 0., 1. for ll directed edges>oyz with chnged edge costs Updte the edge cost K *>O YI ; UpdteVertex>N ; omputeshortestpth ; "!#$& Figure : * Lite: Finl Version. priority queue. Thus, hs to be dded to their first components every time some edge costs chnge. If the robot moves gin nd then detects cost chnges gin, then the constnts need to get dded up. We do this in the vrible! 0. Thus, whenever new priorities re computed, the vrible "! hs to be dded to their first components, s done in 01. Then, the order of the vertices in the priority queue does not chnge fter the robot moves nd the priority queue does not need to get reordered. The priorities, on the other hnd, re lwys lower bounds on the corresponding priorities of the bsic version of * Lite fter the first component of the priorities of the bsic version of * Lite hs been incresed by the current vlue of!, tht 1

16 is, lower bounds on the vlues clculted by lcultekey() 01. We exploit this property by chnging omputeshortestpth s follows. fter omputeshortestpth hs removed vertex with the smllest priority _`s U.TopKey from the priority queue 1, it now uses lcultekey to compute the priority tht it should hve hd. If _` s lcultekey then it reinserts the removed vertex with the priority clculted by lcultekey into the priority queue 1-1. Thus, it remins true tht the priorities of ll vertices in the priority queue re lower bounds on the corresponding priorities of the bsic version of * Lite fter the first components of the priorities of the bsic version of * Lite hve been incresed by the current vlue of "!. If _` s lcultekey, then it holds tht _` s lcultekey since _` s ws lower bound on the vlue returned by lcultekey(). In this cse, omputeshortestpth performs the sme opertions for vertex s omputeshortestpth of the bsic version of * Lite 1-0. omputeshortestpth performs these opertions for vertices in the exct sme order s omputeshortestpth of the bsic version of * Lite, which implies tht the finl version of * Lite shres mny properties with the bsic version of * Lite, including its correctness: Theorem (= Theorem 1 in the ppendix) omputeshortestpth of the finl version of * Lite expnds vertex t most twice, nmely t most once when it is loclly underconsistent nd t most once when it is loclly overconsistent, nd thus termintes. One cn then follow shortest pth from ([]\^[ to ^_\^` by lwys moving from the current vertex, strting t %[]\[, to ny successor $ "!# $ $ tht minimizes until ^_\^` is reched (ties cn be broken rbitrrily). n xmple We illustrte * Lite using the two eight-connected grids from Figure. To mke the serch methods comprble, their serch lwys strts t ^_\^` nd proceeds towrds the current cell of the robot. Furthermore, we consider the current cell of the robot to be expnded by ll serch methods. We use the mximum of the bsolute differences of the x nd y coordintes of two cells s n pproximtion of their distnce. ells expnded by the methods re shded gry in Figure. s the figure shows, the heuristic serch outperforms the uninformed serches, nd the incrementl serch outperforms the complete (tht is, nonincrementl) ones fter the first move of the robot (where previous serch results re vilble). The figures lso illustrte tht the combintion of heuristic nd incrementl serch performed by both versions of * Lite decreses the number of expnded cells even more thn either heuristic serch or n incrementl serch individully. In prticulr, the initil serch of both versions of * Lite expnds exctly the sme cells s n * serch if * breks ties between vertices with the sme f-vlues suitbly. In our exmple, we broke ties in the most dvntgeous wy for * nd thus both versions of * Lite nd * expnd not exctly the sme cells. The second serch of both 1

17 efore the First Move of the Robot uninformed serch heuristic serch bredth-first serch * incrementl serch complete serch s gol s strt ynmicswsf-fp (with erly termintion) s gol s strt * Lite s gol s gol s strt s strt fter the First Move of the Robot uninformed serch heuristic serch bredth-first serch * incrementl serch complete serch s gol s strt ynmicswsf-fp (with erly termintion) s gol s strt s strt s strt * Lite s gol s gol Figure : Simple xmple (Prt ). versions of * Lite expnds only subset of those cells whose gol distnces chnged (or hd not been clculted before). Thus, both versions of * Lite result in substntil svings over n * serch tht replictes most of its previous serch. We now step through the exmple from Figure 1 to show the opertion of both versions of * Lite. Figure 9 (top) shows the untrversble cells tht the robot knows bout initilly. It lso shows the heuristics of the trversble cells, tht is, the pproximtion of the distnce from the strt cell to the trversble cell given by the mximum of the bsolute differences of the x nd y coordintes of both cells. Figure 9 (bottom) shows the g-vlues nd rhs-vlues of the trversble cells nd, for loclly inconsistent cells, lso their priorities. t every point in time exctly the loclly inconsistent cells re in the priority queue ccording to Invrint. The loclly inconsistent cell with the smllest key hs bold border to indicte tht it will be expnded next. The 1

18 sic nd Finl Version of * Lite First ll to omputeshortestpth heuristics 1 h= 1 h= 1 h= strt/robot h= 0 h= h= 1 h= h= h= h= h= h= h= gol Initiliztion Step 1 Step rhs= 0 k= [;0] rhs= 1 rhs= 1 k= [;1]k= [;1] g= 0 rhs= 1 rhs= 0 k= [;1] rhs= k= [;] rhs= k= [;] g= 1 rhs= rhs= 1 rhs= 1 k= [;] k= [;1] g= 0 rhs= rhs= 1 rhs= 0 k= [;] k= [;1] Step Step Step rhs= k= [;] rhs= k= [;] g= 1 g= 1 rhs= rhs= 1 rhs= 1 k= [;] g= 0 rhs= rhs= 1 rhs= 0 k= [;] k= [;1] rhs= k= [;] g= rhs= rhs= k= [;] g= 1 g= 1 rhs= rhs= 1 rhs= 1 k= [;] g= 0 rhs= rhs= 1 rhs= 0 k= [;] k= [;1] rhs= k= [;] g= rhs= rhs= k= [;] g= rhs= rhs= k= [;] g= 1 g= 1 rhs= rhs= 1 rhs= 1 k= [;] g= 0 rhs= rhs= 1 rhs= 0 k= [;] k= [;1] Figure 9: Illustrtion of the Opertion of the sic nd Finl Versions of * Lite. grid lbelled Initiliztion shows the vlues directly before omputeshortestpth() is clled for the first time. The next grids show the vlues fter ech itertion of the first cll to omputeshortestpth(). If the g-vlue of n expnded cell is lrger thn its rhs-vlue, omputeshortestpth() sets the g-vlue of the cell to its rhs-vlue. Otherwise, omputeshortestpth() sets the g-vlue to infinity. To mintin Invrints 1-, omputeshortestpth() then reclcultes the rhs-vlues of the cells potentilly ffected by this ssignment, checks whether the cells become loclly consistent or inconsistent, nd (if necessry) removes them from or dds them to the priority queue. It then repets this process until it is sure tht it hs found shortest pth, which requires it to reclculte some gol distnces but not ll of them. The lst grid shows the vlues fter omputeshortestpth() returns. Note tht n * serch cn expnd exctly the sme cells in exctly the sme order. One cn then follow shortest pth from the current cell of the robot to the gol cell by strting t the current cell nd lwys greedily decresing the gol distnce. ny wy of doing this results in shortest pth from the current cell to the gol cell. Since ll costs re one, this mens tht the shortest pth from the current cell 1 to gol cell is vi cells 1 nd. The robot then moves to cell 1 nd discovers tht cell is untrversble. Figure 10 shows how the bsic version of * Lite continues nd Figure shows how the finl version of * Lite continues. Figure 10 (top) shows the grid s it is now perceived by the robot. 1

19 sic Version of * Lite Second ll to omputeshortestpth() heuristics 1 h= h= h= strt h= 1 h= robot h= 0 h= h= 1 h= 1 h= h= h= h= gol dge ost hnges Step 1 Step rhs= rhs= k= [;]k= [;] g= rhs= g= rhs= k= [;] rhs= k= [;] g= 1 rhs= rhs= 1 k= [;] k= g= 0 rhs= 1 rhs= 0 k= [;1] rhs= rhs= k= [;]k= [;] g= k=[;] rhs= k= [;] rhs= k= [;] g= 1 rhs= 1 k= g= 0 rhs= 1 rhs= 0 k= [;1] rhs= rhs= k= [;]k= [;] g= k= [;] rhs= k= [;] rhs= k= [;] k= g= 1 rhs= rhs= 1 k= [;] rhs= k= [;] g= 1 rhs= 1 g= 0 rhs= 0 Step Step 1 1 rhs= rhs= k= [;]k= [;] g= k= [;] rhs= k= [;] g= rhs= rhs= k= [;] g= 1 rhs= 1 k= g= 1 g= 0 rhs= rhs= 1 rhs= 0 k= [;] rhs= rhs= k= [;]k= [;] g= rhs= k= [;] g= rhs= rhs= k= [;] g= g= 1 rhs= rhs= 1 k= g= 1 g= 0 rhs= rhs= 1 rhs= 0 k= [;] Figure 10: Illustrtion of the Opertion of the sic Version of * Lite, ontinuing Figure 9. The figure lso shows the new heuristics of the trversble cells. To mintin Invrints 1-, the bsic version of * Lite first updtes the rhs-vlues nd keys of the cells djcent to s well s their membership in the priority queue if they become loclly consistent or inconsistent. It lso updtes the priorities of ll cells in the priority queue to reflect the new heuristics. The grid lbelled dge ost hnges shows the vlues directly before omputeshortestpth() is clled for the second time. The next grids show the vlues fter ech itertion of the second cll to omputeshortestpth(). Finlly, the lst grid shows the vlues fter omputeshortestpth() returns. The shortest pth from the current cell 1 to gol cell is vi cells 1 nd. The robot then follows this pth from its current cell to the gol cell without observing dditionl untrversble cells nd thus without further clls to omputeshortestpth()..1 Optimiztions We implemented both the bsic nd finl version of * Lite, using stndrd binry heps s priority queues. There re severl wys of optimizing both versions of * Lite without chnging their overll opertion, which we discuss in the following in the context of the finl version of 1

20 Finl Version of * Lite Second ll to omputeshortestpth() heuristics 1 h= h= h= strt h= 1 h= robot h= 0 h= key modifier (k m ) = 1 h= 1 h= 1 h= h= h= h= gol dge ost hnges Step 1 Step rhs= rhs= k= [;]k= [;] g= rhs= g= rhs= k= [;] rhs= k= [;] g= 1 rhs= rhs= 1 k= [;] k= g= 0 rhs= 1 rhs= 0 k= [;1] rhs= rhs= k= [;]k= [;] g= k= [;] rhs= k= [;] rhs= k= [;] g= 1 rhs= 1 k= g= 0 rhs= 1 rhs= 0 k= [;1] rhs= rhs= k= [;]k= [;] g= k= [;] rhs= k= [;] rhs= k= [;] k= g= 1 rhs= rhs= 1 k= [;] rhs= k= [;] g= 1 rhs= 1 g= 0 rhs= 0 Step Step 1 1 rhs= rhs= k= [;]k= [;] g= k= [;] rhs= k= [;] g= rhs= rhs= k= [;] g= 1 rhs= 1 k= g= 1 g= 0 rhs= rhs= 1 rhs= 0 k= [;] rhs= rhs= k= [;]k= [;] g= rhs= k= [;] g= rhs= rhs= k= [;] g= g= 1 rhs= rhs= 1 k= g= 1 g= 0 rhs= rhs= 1 rhs= 0 k= [;] Figure : Illustrtion of the Opertion of the Finl Version of * Lite, ontinuing Figure 9. * Lite, the optimized version of which is shown in Figure 1. First, the termintion condition of omputeshortestpth() cn be chnged to mke omputeshortestpth() more efficient. s stted, omputeshortestpth() termintes when the strt vertex is loclly consistent nd its key is less thn or equl to U.TopKey() 10. However, omputeshortestpth() cn lso terminte when the strt vertex is loclly overconsistent nd its key is less thn or equl to U.TopKey(). To understnd why this is so, ssume tht the strt vertex is indeed loclly overconsistent nd its key is less thn or equl to U.TopKey(). Then, its key must be equl to U.TopKey() since U.TopKey() is the smllest key of ny loclly inconsistent vertex. Thus, omputeshortestpth() could expnd the strt vertex next, in which cse it would set its g-vlue to its rhs-vlue. The strt vertex then becomes loclly consistent ccording to Theorem 1 in the ppendix, its key is less thn or equl to U.TopKey(), nd omputeshortestpth() thus termintes. t this point in time, the g-vlue of the strt vertex equls its gol distnce. Thus, omputeshortestpth() cn lredy terminte when the strt vertex is not loclly underconsistent nd its key is less thn or equl to U.TopKey() 10. In this cse, the strt vertex cn remin loclly inconsistent fter omputeshortestpth() termintes nd its g-vlue thus my not be equl to its gol distnce (its rhs-vlue continues to be equl to its gol distnce). This is not problem since the g-vlue is not used to determine how the robot should 1

21 The pseudocode uses the following functions to mnge the priority queue: U.Top returns vertex with the smllest priority of ll vertices in priority queue. U.TopKey returns the smllest priority of ll vertices in priority queue. (If is empty, then U.TopKey returns.) U.Insert inserts vertex into priority queue with priority. U.Updte!t chnges the priority of vertex in priority queue to. (It does nothing if the current priority of vertex lredy equls.) Finlly, U.Remove removes vertex from priority queue. procedure lcultekey 01 return?+,! " # +9: '!; :( "?+,! " ; procedure Initilize 0 c./ ; 0.=I 0 for ll 10! <. Q. ; 0?! $&('!) Q.= ; 0 U.Insert $%&%')"O 9: '!; :,,($&('!)* = ; procedure UpdteVertex *>? 0 if (+>? 1@.?!*>? N > 0 1 U.Updte>O \Z` K >?` \[]r r +>N " ; 0 else if *>? 1@.M!>N N > 0 1 U.Insert *>O \Z` K >`\[]r r>? ; 09 else if *>?.M!>N N >0 1 U.Remove>? ; 10 while U.TopKey WP R lcultekey 9,: '!; : OR! 9,: '; : U 9,: '!; : >. U.Top ; 1 #&). U.TopKey ; 1 V. lcultekey>n " ; 1 if * &%) R P 1 U.Updte>O, 1 else if+>? U?!*>? " 1 *>? <.!>? ; 1 U.Remove *>? ; 19 for ll 0 Pred *>? 0 *?! K!">N *>? " ; procedure omputeshortestpth 1 UpdteVertex ; else &%).*>? ; *>? <. ; for ll 0 Pred *>??X >N if! <. K ">? &%) $&('!)?!. 9," Succ 9 K H %J* %J* ; UpdteVertex ; procedure Min 9 - ) ' 9,:. 9,: '; : 0 Initilize ; 1 omputeshortestpth ; while +9: '!; :1@. $%&%') /* if! 9,: '!; : <. M then there is no known pth */ +9: '!; :<. < 9,] Succ 9 K H %9,: '!; :, J + J " ; Move to +9,: '!; : ; Scn grph for chnged edge costs; if ny edge costs chnged. O ) ' 9,:,9: '!; :" 9 +) ' 9:.%9,: '!; : 0 for ll directed edges *>O YZ with chnged edge costs 1 K &%). K>O YZ ; K Updte the edge cost >"YZ ; K if ( &) U K>OYZ ) if>@. $%&%')?!!*>? <.?!>? K *>O YZ *YZ " ; else *!!*>? <. K &%) +YZ if>@. $%&%')?!!*>? <. 9, SuccGFZH K>O(J (J " ; UpdteVertex *>? ; omputeshortestpth ; Figure 1: * Lite: Finl Version (optimized version). 19

22 move. The only difference is tht now the rhs-vlue of the strt vertex (insted of its g-vlue) being infinity indictes tht there is no pth from the strt vertex to the gol vertex. Second, vertex sometimes gets removed from the priority queue on line 0 nd then immeditely reinserted on line 09. In this cse, it is often more efficient to leve the vertex in the priority queue nd only updte its priority ( 0 ). Third, when UpdteVertex on line 1 computes the rhs-vlue for predecessor of n overconsistent vertex (tht is, vertex whose g-vlue is lrger thn its rhs-vlue) it is unnecessry to tke the minimum over ll of its respective successors since only the g-vlue of the overconsistent vertex hs chnged. Since it decresed, it cnnot increse the rhs-vlues of the predecessors. Thus, it is sufficient to compute the rhs-vlue s the minimum of its old rhs-vlue nd the sum of the cost of moving from the predecessor to the overconsistent vertex nd the new g-vlue of the overconsistent vertex ( 0 ). similr optimiztion cn be mde for the computtion of the rhs-vlue of vertex fter the cost of one of its outgoing edges hs chnged ( ). Fourth, when UpdteVertex on line 0 computes the rhs-vlue for predecessor of n underconsistent vertex (tht is, vertex whose g-vlue is smller thn its rhs-vlue), the only g-vlue tht hs chnged is the g-vlue of the underconsistent vertex. Since it incresed, the rhs-vlue of the predecessor cn only get ffected if its old rhs-vlue ws bsed on the old g- vlue of the underconsistent vertex. This cn be used to decide whether the predecessor needs to get updted nd its rhs-vlue needs to get recomputed ( - ). similr optimiztion cn be mde for the computtion of the rhs-vlue of vertex fter the cost of one of its outgoing edges hs chnged ( - ). Fifth, there re severl smll optimiztions one cn perform. For exmple, the priority on line 0 cn be clculted directly ( 0 ), lcultekey on lines 1-1 needs to clculte the priority of vertex only once ( 1 ), nd the vertex with the highest priority needs to get removed on line 1 only if line 1 does not reinsert it gin immeditely fterwrds ( 1, 1, 1 ). xperimentl Results We now compre (focussed) * nd vrious versions of the optimized finl version of * Lite. We implemented ll methods using stndrd binry heps s priority queues (lthough using more complex dt structures, such s Fiboncci heps, s priority queues could possibly mke U.Updte() more efficient). Since they move the robot in the sme wy nd * hs lredy been demonstrted with gret success on rel robots, we only need to perform simultion study. We need to compre the totl plnning time of the methods. Since the ctul plnning times re implementtion nd mchine dependent, they mke it difficult for others to reproduce the results of our performnce comprison. We therefore use three mesures tht ll correspond to common opertions performed by the methods nd thus hevily influence their plnning 0

23 0 percent of extr vertex expnsions 0 Overhed of Focussed * Reltive to the Finl Optimized Version of * Lite (in percent) x10 0x0 0x0 0x0 mze size percent of extr vertex ccesses 10 percent of extr hep percoltes x10 0x0 0x0 0x0 mze size 0 10x10 0x0 0x0 0x0 mze size Figure 1: Gol-irected Nvigtion in Unknown Terrin (1). times, yet re implementtion nd mchine independent: the totl number of vertex expnsions, the totl number of hep percoltes (exchnges of prent nd child in the hep), nd the totl number of vertex ccesses (for exmple, to red or chnge their vlues). We run the experiments on the MissionLb robot simultion system [M9]. The terrin resembles office environments. The robot lwys observes which of its eight djcent cells is trversble nd cn then move to one of them. We use gin the mximum of the bsolute differences of the x nd y coordintes of ny two cells s pproximtions of their distnce. ll figures grph the three performnce mesures of the other methods s percent difference reltive to * Lite. Thus, * Lite lwys scores zero. The figures lso show the corresponding 9 percent confidence intervls to demonstrte tht our conclusions re sttisticlly significnt..1 Gol-irected Nvigtion in Unknown Terrin We first perform experiments for gol-directed nvigtion in unknown terrin. 1

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

CSEP 573 Artificial Intelligence Winter 2016

CSEP 573 Artificial Intelligence Winter 2016 CSEP 573 Artificil Intelligence Winter 2016 Luke Zettlemoyer Problem Spces nd Serch slides from Dn Klein, Sturt Russell, Andrew Moore, Dn Weld, Pieter Abbeel, Ali Frhdi Outline Agents tht Pln Ahed Serch

More information

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl

More information

MATH 25 CLASS 5 NOTES, SEP

MATH 25 CLASS 5 NOTES, SEP MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid

More information

CSCI 446: Artificial Intelligence

CSCI 446: Artificial Intelligence CSCI 446: Artificil Intelligence Serch Instructor: Michele Vn Dyne [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.]

More information

Today. Search Problems. Uninformed Search Methods. Depth-First Search Breadth-First Search Uniform-Cost Search

Today. Search Problems. Uninformed Search Methods. Depth-First Search Breadth-First Search Uniform-Cost Search Uninformed Serch [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.] Tody Serch Problems Uninformed Serch Methods

More information

CS 221: Artificial Intelligence Fall 2011

CS 221: Artificial Intelligence Fall 2011 CS 221: Artificil Intelligence Fll 2011 Lecture 2: Serch (Slides from Dn Klein, with help from Sturt Russell, Andrew Moore, Teg Grenger, Peter Norvig) Problem types! Fully observble, deterministic! single-belief-stte

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

INTRODUCTION TO SIMPLICIAL COMPLEXES

INTRODUCTION TO SIMPLICIAL COMPLEXES INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min

More information

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search. CS 88: Artificil Intelligence Fll 00 Lecture : A* Serch 9//00 A* Serch rph Serch Tody Heuristic Design Dn Klein UC Berkeley Multiple slides from Sturt Russell or Andrew Moore Recp: Serch Exmple: Pncke

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,

More information

Section 3.1: Sequences and Series

Section 3.1: Sequences and Series Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one

More information

Incremental A. S. Koenig and M. Likhachev Georgia Institute of Technology College of Computing Atlanta, GA skoenig,

Incremental A. S. Koenig and M. Likhachev Georgia Institute of Technology College of Computing Atlanta, GA skoenig, Incremental A S. Koenig and M. Likhachev Georgia Institute of Technology College of Computing Atlanta, GA 30312-0280 skoenig, mlikhach @cc.gatech.edu Abstract Incremental search techniques find optimal

More information

such that the S i cover S, or equivalently S

such that the S i cover S, or equivalently S MATH 55 Triple Integrls Fll 16 1. Definition Given solid in spce, prtition of consists of finite set of solis = { 1,, n } such tht the i cover, or equivlently n i. Furthermore, for ech i, intersects i

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two

More information

Section 10.4 Hyperbolas

Section 10.4 Hyperbolas 66 Section 10.4 Hyperbols Objective : Definition of hyperbol & hyperbols centered t (0, 0). The third type of conic we will study is the hyperbol. It is defined in the sme mnner tht we defined the prbol

More information

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016 Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence Winter 2016 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

An Efficient Divide and Conquer Algorithm for Exact Hazard Free Logic Minimization

An Efficient Divide and Conquer Algorithm for Exact Hazard Free Logic Minimization An Efficient Divide nd Conquer Algorithm for Exct Hzrd Free Logic Minimiztion J.W.J.M. Rutten, M.R.C.M. Berkelr, C.A.J. vn Eijk, M.A.J. Kolsteren Eindhoven University of Technology Informtion nd Communiction

More information

2014 Haskell January Test Regular Expressions and Finite Automata

2014 Haskell January Test Regular Expressions and Finite Automata 0 Hskell Jnury Test Regulr Expressions nd Finite Automt This test comprises four prts nd the mximum mrk is 5. Prts I, II nd III re worth 3 of the 5 mrks vilble. The 0 Hskell Progrmming Prize will be wrded

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

12-B FRACTIONS AND DECIMALS

12-B FRACTIONS AND DECIMALS -B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn

More information

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007 CS 88: Artificil Intelligence Fll 2007 Lecture : A* Serch 9/4/2007 Dn Klein UC Berkeley Mny slides over the course dpted from either Sturt Russell or Andrew Moore Announcements Sections: New section 06:

More information

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers Mth Modeling Lecture 4: Lgrnge Multipliers Pge 4452 Mthemticl Modeling Lecture 4: Lgrnge Multipliers Lgrnge multipliers re high powered mthemticl technique to find the mximum nd minimum of multidimensionl

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Misrepresentation of Preferences

Misrepresentation of Preferences Misrepresenttion of Preferences Gicomo Bonnno Deprtment of Economics, University of Cliforni, Dvis, USA gfbonnno@ucdvis.edu Socil choice functions Arrow s theorem sys tht it is not possible to extrct from

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

9 Graph Cutting Procedures

9 Graph Cutting Procedures 9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric

More information

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association 9. CISC - Curriculum & Instruction Steering Committee The Winning EQUATION A HIGH QUALITY MATHEMATICS PROFESSIONAL DEVELOPMENT PROGRAM FOR TEACHERS IN GRADES THROUGH ALGEBRA II STRAND: NUMBER SENSE: Rtionl

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl component

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

AI Adjacent Fields. This slide deck courtesy of Dan Klein at UC Berkeley

AI Adjacent Fields. This slide deck courtesy of Dan Klein at UC Berkeley AI Adjcent Fields Philosophy: Logic, methods of resoning Mind s physicl system Foundtions of lerning, lnguge, rtionlity Mthemtics Forml representtion nd proof Algorithms, computtion, (un)decidility, (in)trctility

More information

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1 Mth 33 Volume Stewrt 5.2 Geometry of integrls. In this section, we will lern how to compute volumes using integrls defined by slice nlysis. First, we recll from Clculus I how to compute res. Given the

More information

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs. Lecture 5 Wlks, Trils, Pths nd Connectedness Reding: Some of the mteril in this lecture comes from Section 1.2 of Dieter Jungnickel (2008), Grphs, Networks nd Algorithms, 3rd edition, which is ville online

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Ma/CS 6b Class 1: Graph Recap

Ma/CS 6b Class 1: Graph Recap M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Adm Sheffer. Office hour: Tuesdys 4pm. dmsh@cltech.edu TA: Victor Kstkin. Office hour: Tuesdys 7pm. 1:00 Mondy, Wednesdy, nd Fridy. http://www.mth.cltech.edu/~2014-15/2term/m006/

More information

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment File Mnger Quick Reference Guide June 2018 Prepred for the Myo Clinic Enterprise Khu Deployment NVIGTION IN FILE MNGER To nvigte in File Mnger, users will mke use of the left pne to nvigte nd further pnes

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants A Heuristic Approch for Discovering Reference Models by Mining Process Model Vrints Chen Li 1, Mnfred Reichert 2, nd Andres Wombcher 3 1 Informtion System Group, University of Twente, The Netherlnds lic@cs.utwente.nl

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

The Greedy Method. The Greedy Method

The Greedy Method. The Greedy Method Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm

More information

CS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig

CS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig CS311H: Discrete Mthemtics Grph Theory IV Instructor: Işıl Dillig Instructor: Işıl Dillig, CS311H: Discrete Mthemtics Grph Theory IV 1/25 A Non-plnr Grph Regions of Plnr Grph The plnr representtion of

More information

Pointwise convergence need not behave well with respect to standard properties such as continuity.

Pointwise convergence need not behave well with respect to standard properties such as continuity. Chpter 3 Uniform Convergence Lecture 9 Sequences of functions re of gret importnce in mny res of pure nd pplied mthemtics, nd their properties cn often be studied in the context of metric spces, s in Exmples

More information

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications.

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications. 15-112 Fll 2018 Midterm 1 October 11, 2018 Nme: Andrew ID: Recittion Section: ˆ You my not use ny books, notes, extr pper, or electronic devices during this exm. There should be nothing on your desk or

More information

Improper Integrals. October 4, 2017

Improper Integrals. October 4, 2017 Improper Integrls October 4, 7 Introduction We hve seen how to clculte definite integrl when the it is rel number. However, there re times when we re interested to compute the integrl sy for emple 3. Here

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem Announcements Project : erch It s live! Due 9/. trt erly nd sk questions. It s longer thn most! Need prtner? Come up fter clss or try Pizz ections: cn go to ny, ut hve priority in your own C 88: Artificil

More information

Solutions to Math 41 Final Exam December 12, 2011

Solutions to Math 41 Final Exam December 12, 2011 Solutions to Mth Finl Em December,. ( points) Find ech of the following its, with justifiction. If there is n infinite it, then eplin whether it is or. ( ) / ln() () (5 points) First we compute the it:

More information

Ma/CS 6b Class 1: Graph Recap

Ma/CS 6b Class 1: Graph Recap M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Instructor: Adm Sheffer. TA: Cosmin Pohot. 1pm Mondys, Wednesdys, nd Fridys. http://mth.cltech.edu/~2015-16/2term/m006/ Min ook: Introduction to Grph

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Slides for Data Mining by I. H. Witten and E. Frank

Slides for Data Mining by I. H. Witten and E. Frank Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully

More information

Control-Flow Analysis and Loop Detection

Control-Flow Analysis and Loop Detection ! Control-Flow Anlysis nd Loop Detection!Lst time! PRE!Tody! Control-flow nlysis! Loops! Identifying loops using domintors! Reducibility! Using loop identifiction to identify induction vribles CS553 Lecture

More information

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

MATH 2530: WORKSHEET 7. x 2 y dz dy dx =

MATH 2530: WORKSHEET 7. x 2 y dz dy dx = MATH 253: WORKSHT 7 () Wrm-up: () Review: polr coordintes, integrls involving polr coordintes, triple Riemnn sums, triple integrls, the pplictions of triple integrls (especilly to volume), nd cylindricl

More information

A REINFORCEMENT LEARNING APPROACH TO SCHEDULING DUAL-ARMED CLUSTER TOOLS WITH TIME VARIATIONS

A REINFORCEMENT LEARNING APPROACH TO SCHEDULING DUAL-ARMED CLUSTER TOOLS WITH TIME VARIATIONS A REINFORCEMENT LEARNING APPROACH TO SCHEDULING DUAL-ARMED CLUSTER TOOLS WITH TIME VARIATIONS Ji-Eun Roh (), Te-Eog Lee (b) (),(b) Deprtment of Industril nd Systems Engineering, Kore Advnced Institute

More information

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1.

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1. Answer on Question #5692, Physics, Optics Stte slient fetures of single slit Frunhofer diffrction pttern. The slit is verticl nd illuminted by point source. Also, obtin n expression for intensity distribution

More information

MIPS I/O and Interrupt

MIPS I/O and Interrupt MIPS I/O nd Interrupt Review Floting point instructions re crried out on seprte chip clled coprocessor 1 You hve to move dt to/from coprocessor 1 to do most common opertions such s printing, clling functions,

More information

Introduction to Integration

Introduction to Integration Introduction to Integrtion Definite integrls of piecewise constnt functions A constnt function is function of the form Integrtion is two things t the sme time: A form of summtion. The opposite of differentition.

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

Digital Design. Chapter 6: Optimizations and Tradeoffs

Digital Design. Chapter 6: Optimizations and Tradeoffs Digitl Design Chpter 6: Optimiztions nd Trdeoffs Slides to ccompny the tetbook Digitl Design, with RTL Design, VHDL, nd Verilog, 2nd Edition, by Frnk Vhid, John Wiley nd Sons Publishers, 2. http://www.ddvhid.com

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012 Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.

More information

3.5.1 Single slit diffraction

3.5.1 Single slit diffraction 3..1 Single slit diffrction ves pssing through single slit will lso diffrct nd produce n interference pttern. The reson for this is to do with the finite width of the slit. e will consider this lter. Tke

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

pdfapilot Server 2 Manual

pdfapilot Server 2 Manual pdfpilot Server 2 Mnul 2011 by clls softwre gmbh Schönhuser Allee 6/7 D 10119 Berlin Germny info@cllssoftwre.com www.cllssoftwre.com Mnul clls pdfpilot Server 2 Pge 2 clls pdfpilot Server 2 Mnul Lst modified:

More information

EasyMP Multi PC Projection Operation Guide

EasyMP Multi PC Projection Operation Guide EsyMP Multi PC Projection Opertion Guide Contents 2 Introduction to EsyMP Multi PC Projection 5 EsyMP Multi PC Projection Fetures... 6 Connection to Vrious Devices... 6 Four-Pnel Disply... 6 Chnge Presenters

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

COMMON HALF YEARLY EXAMINATION DECEMBER 2018

COMMON HALF YEARLY EXAMINATION DECEMBER 2018 li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net.pds.pds COMMON HALF YEARLY EXAMINATION DECEMBER 2018 STD : XI SUBJECT: COMPUTER SCIENCE

More information

Introduction to Computer Engineering EECS 203 dickrp/eecs203/ CMOS transmission gate (TG) TG example

Introduction to Computer Engineering EECS 203  dickrp/eecs203/ CMOS transmission gate (TG) TG example Introduction to Computer Engineering EECS 23 http://ziyng.eecs.northwestern.edu/ dickrp/eecs23/ CMOS trnsmission gte TG Instructor: Robert Dick Office: L477 Tech Emil: dickrp@northwestern.edu Phone: 847

More information

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation Alloctor Bsics Dynmic Memory Alloction in the Hep (mlloc nd free) Pges too corse-grined for llocting individul objects. Insted: flexible-sized, word-ligned blocks. Allocted block (4 words) Free block (3

More information

Functor (1A) Young Won Lim 10/5/17

Functor (1A) Young Won Lim 10/5/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

Unit 5 Vocabulary. A function is a special relationship where each input has a single output.

Unit 5 Vocabulary. A function is a special relationship where each input has a single output. MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE 3.1 Scheimpflug Configurtion nd Perspective Distortion Scheimpflug criterion were found out to be the best lyout configurtion for Stereoscopic PIV, becuse

More information

PNC NC code PROGRAMMER'S MANUAL

PNC NC code PROGRAMMER'S MANUAL PNC-3200 NC code PROGRAMMER'S MANUAL Thnk you very much for purchsing the PNC-3200. To ensure correct nd sfe usge with full understnding of this product's performnce, plese be sure to red through this

More information

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers?

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers? Questions About Numbers Number Systems nd Arithmetic or Computers go to elementry school How do you represent negtive numbers? frctions? relly lrge numbers? relly smll numbers? How do you do rithmetic?

More information

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

Network Layer: Routing Classifications; Shortest Path Routing

Network Layer: Routing Classifications; Shortest Path Routing igitl ommuniction in the Modern World : Routing lssifictions; Shortest Pth Routing s min prolem: To get efficiently from one point to the other in dynmic environment http://.cs.huji.c.il/~com com@cs.huji.c.il

More information

1 Quad-Edge Construction Operators

1 Quad-Edge Construction Operators CS48: Computer Grphics Hndout # Geometric Modeling Originl Hndout #5 Stnford University Tuesdy, 8 December 99 Originl Lecture #5: 9 November 99 Topics: Mnipultions with Qud-Edge Dt Structures Scribe: Mike

More information

6.2 Volumes of Revolution: The Disk Method

6.2 Volumes of Revolution: The Disk Method mth ppliction: volumes by disks: volume prt ii 6 6 Volumes of Revolution: The Disk Method One of the simplest pplictions of integrtion (Theorem 6) nd the ccumultion process is to determine so-clled volumes

More information

ZZ - Advanced Math Review 2017

ZZ - Advanced Math Review 2017 ZZ - Advnced Mth Review Mtrix Multipliction Given! nd! find the sum of the elements of the product BA First, rewrite the mtrices in the correct order to multiply The product is BA hs order x since B is

More information

EasyMP Network Projection Operation Guide

EasyMP Network Projection Operation Guide EsyMP Network Projection Opertion Guide Contents 2 Introduction to EsyMP Network Projection EsyMP Network Projection Fetures... 5 Disply Options... 6 Multi-Screen Disply Function... 6 Movie Sending Mode...

More information

3.5.1 Single slit diffraction

3.5.1 Single slit diffraction 3.5.1 Single slit diffrction Wves pssing through single slit will lso diffrct nd produce n interference pttern. The reson for this is to do with the finite width of the slit. We will consider this lter.

More information

DQL: A New Updating Strategy for Reinforcement Learning Based on Q-Learning

DQL: A New Updating Strategy for Reinforcement Learning Based on Q-Learning DQL: A New Updting Strtegy for Reinforcement Lerning Bsed on Q-Lerning Crlos E. Mrino 1 nd Edurdo F. Morles 2 1 Instituto Mexicno de Tecnologí del Agu, Pseo Cuhunáhuc 8532, Jiutepec, Morelos, 6255, MEXICO

More information