A Comparison of High-Level Approaches for Speeding Up Pathfinding

Size: px
Start display at page:

Download "A Comparison of High-Level Approaches for Speeding Up Pathfinding"

Transcription

1 A Comprison of High-Level Approches for Speeding Up Pthfinding Nthn R. Sturtevnt Deprtment of Computing Science University of Alert Edmonton, Alert, Cnd Roert Geiserger Fculty of Informtics Krlsruhe Institute of Technology Krlsruhe, Germny Astrct Most gmes eing shipped tody use some form of high-level strction such s nvmesh or wypoint grph for pth plnning. These structures cn generlly e represented in form which is compct enough to meet the tight memory constrints in gme. But, when such grph grows too lrge, finding pths cn still e complex tsk. This chllenge ws fced in Drgon Age: Origins nd solved y dding n dditionl level of strction. In the lst few yers vriety of novel pproches hve een developed for finding optiml pths through grphs with specific design pplictions for rod networks. Currently these techniques cnnot e fesily pplied to the lowest detil of movement possile in gme mp, ut cn e pplied to the high-level strctions which re commonly found in gmes. In this pper we descrie the pthfinding chllenge fced efore shipping the title Drgon Age: Origins nd perform postmortem nlysis on the extended strction tht ws used in comprison to uilding more dvnced heuristics or the use of contrction hierrchies. We show tht contrction hierrchies nd strctions hve similr overhed nd performnce nd re oth useful pproches for high-level plnning in gmes. Introduction nd Bckground The prolem of finding pths in gmes is, on one level, well understood. In prticulr, while plyers in the gme my trverse terrin with fine-grined or even rel-vlue representtion, plnning for movement occurs t higher level of strction, generlly represented y grph. Such representtions include nvmeshes (Tozour 00) or wypoint grphs (Lidén nd Vlve-Softwre 00), ut hve lso een descried lgorithmiclly, such s HPA* (Bote, Müller, nd Scheffer 00). These representtions my not necessrily solve underlying issues such s turning constrints (Pinter 00; Sturtevnt 009), n issue we will not ddress here. These representtions work well, ut there re two possile shortcomings. First, they cn either ecome so lrge tht pthfinding within the strct representtion my still tke longer thn per-frme constrints. Second, if the strct representtion is too corse, it my result in poor pthfinding ehvior, s low-level ostcles my not e dequtely represented in the strction. These two issues re linked, Copyright c 00, Assocition for the Advncement of Artificil Intelligence ( All rights reserved. s creting finer grined strction will result in lrger strct grph. This issue ws fced in the pthfinding system for the gme Drgon Age: Origins (DAO) nd ws solved y dding second level of strction on top of the existing strction previously descried (Sturtevnt 007). But, no scientific nlysis ws performed to mesure the effect of this pproch, or to compre it with other possile pproches. The gol of this pper is to do oth. In ddition to nlyzing the prmeters tht could hve een used to tune the second level of strction, we look t lternte pproches to ddress this prolem, specil strction clled contrction hierrchy, nd etter heuristics. In the lst few yers vriety of novel pproches hve een designed for finding optiml pths through grphs with specific pplictions to rod networks; see (Delling et l. 009) for n overview. Currently these techniques cnnot e fesily pplied to the lowest detil of movement possile in gme mp, ut cn e pplied to the high-level strctions which re commonly found in gmes. These pproches include contrction hierrchies nd ALT (A*, lndmrks nd tringle inequlity) (Golderg nd Hrrelson 005), lso clled differentil heuristics (Sturtevnt et l. 009). Our contriutions re s follows. We pulish for the first time the two-level pproch used for pthfinding in Drgon Age: Origins nd descrie in detil why this pproch ws necessry. We dpt pproches from rod networks to gme constrints, nd provide importnt comprisons for prcticlly pplying these pproches, showing the strength nd wekness of ech. We show tht strction nd contrction hierrchies cn oth e implemented efficiently nd hve similr performnce, however the cses tht re hrd for ech pproch differ considerly. The heuristic pproch we compre hs resonle performnce, however the memory overhed nd lck of incrementl computtion mke it less desirle in prctice. Prolem Definition Assume n input grph G which represents, t some level of strction, the possile pths which cn e followed in the Supported y Alert icore. Current ddress: Deprtment of Computer Science, University of Denver, sturtevnt@cs.du.edu

2 Evluted Approches 0 Level : Vrious Fixed prolem input nd strction Contrctions Better Heuristics Level : Astrct grph (8x8 sector strction) Level 0: Low-level grph Figure : Overview of pproches. world. G cn e creted from nvmesh, wypoint grph, HPA*, or other pproches. The tsk is to find pths etween ritrry nodes in G s quickly s possile while minimizing the memory overhed, minimizing work overhed, nd mximizing the pth qulity. Memory nd work overhed cn e mesured directly. The pth qulity cn e mesured y su-optimlity, however su-optimlity is not gurnteed to e useful mesure of the visul qulity of pth. There re numer of wys y which pth p in the strct grph G cn e turned into n followle pth in the world. However, given identicl pths, the process will e the sme regrdless of wht mechnism ws used to crete the pth. Therefore, we ignore the finl refinement step s it will e the sme cross ll pproches. Approches This pper is uilt round the comprison etween numer of existing technologies tht hve een developed within differing communities. We ttempt to provide unified understnding of these methods nd how they cn e pplied to rel-time video gmes. An overview of these pproches is given in Figure. We ssume the existence of low-level grph nd n strct grph which represents tht. We experiment with pproches which cn e plced on top of the level grph to improve the performnce of finding pths in the level strct grph. In the next three sections we detil the three pproches. Astrction Hierrchies The Drgon Age: Origins (DAO) pthfinding strction ws designed to use s little memory s possile so s to ugment the low-level memory structures which used most of the memory llocted to pthfinding. In the originl schem mp is divided with 6 6 grid tht overlys the mps creting series of sectors which cn e implicitly indexed using low-level x/y coordinte. Ech sector is then sudivided into regions where two low-level loctions re in the sme region if they re in the sme sector nd there is pth etween them tht does not leve the sector. An exmple is shown in Figure. There re four sectors which re divided into grph with 9 regions nd 0 edges. This c Figure : Astrct grph creted with 6 6 overly for Drgon Age: Origins. strction is one-lyer version of the sector strction descried in (Sturtevnt nd Jnsen 007). Ech region is represented y single point which cn e locted nywhere within the region, or moved round to improve the qulity of pths. These points form nodes in n strct grph, while edges re found y compring which orders cn e crossed into neighoring regions. In order to find pth etween n ritrry strt nd gol loction, the sector nd region of the strt nd gol re first computed. The region center is either found through smll redth-first serch or implicitly when there is only one region in sector. Given sector nd region, serch cn tke plce in the strct grph, nd the resulting strct pth cn e refined into low-level pth. In the gme, these plnning steps re interleved with smoothing, resulting in responsiveness even with mny gents nd degrdle pth qulity s less time is ville. The sector strction is memory efficient, generlly using less thn 00k of storge for mp. Full detils nd experimentl results cn e found in (Sturtevnt 007). Edge costs in the gme re dynmiclly weighted oth in the lowlevel grid nd in the strction s result of occupncy informtion nd high-level events like re effects. An Additionl Level of Astrction Before DAO shipped, it ws determined tht the sector strction used for the originl gme needed to e enhnced to hndle numer of situtions. On the lrgest mps pthfinding requests could run out of time when plnning in the strction while on smller indoor mps the lrge strction ws cusing issues ecuse it did not dequtely represent the underlying terrin. If the strction were to e uilt t higher grnulrity to fix these issues, the mp would gin ecome too lrge to solve hrd prolems. As result, nother lyer of strction ws uilt on top of the existing strction. We demonstrte this in Figure. Sector 0 in this figure is the sme s Figure. However, tht entire figure is now contined into single high-level sector. This extr lyer ws uilt using sector size twice the size tht in the originl sector strction. In the finl gme the originl strction ws sed on sectors of size 8 8 to 6 6, depending on the originl size of the mp. The high-level strction ws then uilt sed on sector sizes of 6 6 to. Extr spce in the regulr strction ws used to mp nodes in the regulr strction into nodes

3 0 Figure : Representing n dditionl level of strction. level strction levels of strction Figure : Compring mp representtion with nd levels of strction. in the high-level strction. Astrctions for smple mps efore nd fter the second level ws dded re shown in Figure. With the new strction, pth plnning occurs s follows. Given strt nd gol loction, the corresponding nodes in the high-level strction re locted, nd high-level pth is found. The high level pth is used for two purposes. First, plnning in the regulr strction is restricted to tke plce in the sectors tht the strct pth psses through. This gretly restricts the numer of nodes expnded when plnning in the regulr strction. Furthermore, if the highlevel pth is long enough it is roken into pieces, nd the refinement for ech piece occurs independently. In this wy much of the plnning does not hve to e immeditely computed, ut cn e delyed until needed. Enhnced Heuristics The stndrd pproch in the heuristic serch community to improved heuristics hs een pttern dtses (PDB) (Culerson nd Scheffer 998). PDBs hve very successfully reduced the serch overhed in comintoril puzzles, ut re indequte for domins which grow polynomilly. Effective heuristics for these domins re sed on exct distnces in the serch spce, s opposed to the strct distnces used for comintoril puzzles. There is rod clss of True-Distnce Heuristics (Sturtevnt et l. 009) tht work in vriety of domins. The lgorithm engineering community developed num () () (c) Figure 5: Contrcting node in grph. Dshed edges represent shortcuts. er of true-distnce heuristics for ppliction to rod networks. The simplest of these ws ALT (Golderg nd Hrrelson 005), lso clled differentil heuristic. A precomputed single-source shortest pth (SSSP) solution from ny single point in mp, clled lndmrk, cn e used to provide heuristic for ny two other points in the mp using the tringle inequlity. Specificlly, given distnce function d(, C) where C is stte where the SSSP informtion is ville, h(, ) = d(, C) d(, C). Using the mx of multiple lndmrks increses oth ccurcy nd memory usge; ech lndmrk hs memory cost O(N) where N is the numer of nodes in the grph. Contrction Hierrchies Contrction hierrchies (CH) (Geiserger et l. 008) tke different pproch to strction. Insted of strcting groups of nodes together in single step, single nodes re strcted one t time through processes clled contrction. Ech node in the grph is ssigned n importnce level, i.e. I(v) =..N nd contrcted in order from lowest importnce to highest. Contrcting node v mens removing v from the grph without chnging shortest pth distnces etween the remining (more importnt) nodes. A trivil wy to contrct node v is to introduce shortcut edge (u, w) with cost c(u, v) + c(v, w) for every pth u v w with I(v) < I(u), I(w). But in order to keep the grph sprse, we cn try to void shortcut (u, w) y finding witness nother pth p from u to w fulfilling c(p) c(u, v) + c(v, w). Such witness proves tht the shortcut is never needed. This is demonstrted in Figure 5. In prt () of this figure we show the originl grph, where the intent is to contrct node. The nive contrction is in prt (), where dshed edge is dded for ech possile pth through node in the originl grph. In prt (c) we show the sprse contrction where only single edge is dded. It cn e esily shown tht there re witnesses for ll other dotted edges in prt (). To compute shortest pth etween source s nd trget t, we perform idirectionl Dijkstr serch in the CH. The specil restriction on this CH serch is tht it only goes upwrd, i.e. we only expnd node if tht node is more importnt thn the current node eing expnded. Both serch scopes eventully meet t the most importnt node of shortest pth. The serch is hlted when the minimum distnce in the priority queue is not smller thn the tenttive shortest pth length. The serch cn lso enefit from using A* nd heuristics which we cnnot descrie in detil here. In prctice this tkes plce on fully contrcted grph,

4 d node order node order () input grph () CH: no shortcuts needed (c) CH: smll serch spce Figure 6: Two possile CHs from the input grph. The nodes re leled with their importnce nd ccordingly verticlly ligned. ut for simplicity we demonstrte this process in the contrcted grph in Figure 5(c), where we find the shortest pth etween nodes nd 5. Node 5 hs no neighors tht re more importnt, so no neighors will e expnded in the idirectionl serch. Node hs two neighors, ut only node is more importnt, so only tht node will e expnded. Node s only unexplored neighor is node 5, so the shortest pth from node to node 5 psses through node. The shortest pth from node to node 5 uses the shortcut edge. Along with this edge is informtion which llows it to e unpcked into full pth etween nodes,, nd 5. This mens tht it only tkes single expnsion to find the length of the shortest pth (), ut generting the ctul pth tkes longer, s shortcut edges must e unpcked. Node ordering The node ordering is importnt for the efficiency of the CH nd llows different trdeoffs etween time nd spce. Shortcuts increse the required spce ut cn reduce the serch spce. In Figure 6, we show n exmple of the contrction of line grph. Contrcting the nodes in the order of the line, Figure 6(), requires no shortcuts, ut does not reduce the serch spce. Consider the query etween the leftmost nd rightmost node. The CH query will visit nodes {,..., 7} in the forwrd serch nd node 7 in the ckwrd serch. So ll nodes of the grph re visited. Figure 6(c), on the other hnd, requires shortcuts. But the sme query will only visit nodes {, 5, 7} in the forwrd serch nd {, 6, 7} in the ckwrd serch. For generl line grphs, itertively contrcting every other node requires O(n) shortcuts, resulting in serch spce of size O(log n). A heuristic ordering is used to compute the importnce of ech node, ecuse the computtion of n optiml ordering (i.e. shortcut miniml or serch spce miniml) is NP-hrd. We use priority queue whose minimum element contins the est node to contrct next, nd then successively contrct nodes ccording to the priority of the remining nodes. Before defining the heuristic terms, we introduce the edge property r(u, w) s the numer of originl edges contrcted elow n edge in the grph. It is initilized with for ech edge. If new shortcut (u, w) is dded from the edges (u, v) nd (v, w), we set r(u, w) := r(u, v) + r(v, w). Additionlly, let φ(v), e the set of shortcuts tht would e dded if node v would e contrcted next. The priority is the liner comintion of four terms: The first importnce term for contrction is δ(v) or the edge difference. This is the net difference in edges dded to the grph y contrcting v next. Formlly, let δ(v) := φ(v) {(u, v) v uncontrcted} {(v, w) v uncontrcted}. This term works to keep the contrcted grph sprse nd to improve the distriution of node contrctions. The next term is σ(v), which mesures the numer of originl edges contrcted into new shortcut edges introduced when contrcting v. We define σ(v) := (u,w) φ(v) r(u, w). This term works to keep the contrcted grph sprse. The third term is γ(v), n upper ound on the length of n upwrd pth. It is initilized with 0 for ech node. After the contrction of node v, we updte γ(u) := mx(γ(u), γ(v) + ) for ech uncontrcted neighor u of v. This term is used to improve query performnce, ut does not hve lrge impct. The finl term is λ(v), the numer of lredy contrcted neighors u of v. This term improves query performnce y improving the distriution of node contrctions. We ssign ech node v priority ρ(v) sed on how ttrctive it is to contrct it next. Initilly, this term is computed for every node in the grph nd the nodes re plced into priority queue. For the ske of efficiency, fter ech new node is contrcted, these vlues re re-computed only for the neighors of the contrcted node, ut not for the entire grph. As result of this lzy updting, the heuristics re then recomputed for node efore contrcting it, nd if the vlue increses then the node is re-inserted into the priority queue insted of eing contrcted. Given weighted coefficient vector ζ, we define the priority ρ(v) := ζ (δ(v), σ(v), γ(v), λ(v)) T. The choice of ζ is n importnt tuning prmeter which we look t during the experimentl results. For our fst version (Lrge Mem) we use ζ = (5, 60, 0, ) nd for the spce-efficient version (Low Mem) we use ζ = (0,, 0, 0). This version only contrcts sed on the σ(v) term. Reducing Contrction Hierrchy Overhed There re numer of oservtions which reduce the memory required for contrction hierrchies. The first importnt oservtion is tht we need to store n edge only with its less importnt endpoint, s the serch only progresses upwrds in importnce. Becuse shortcuts cn spn long pths, we need to store them explicitly nd cnnot use the dt structure used for DAO. Insted, we use lock representtion

5 lock ID locks lock 5 djcent locks nodes edges externl edge trget weight Tle : Memory Usge Avg Min Mx Bseline (uncompressed) 8k 6k 5k Differentil 55k k 6k CH Full Lrge Mem k k 6k CH Full Low Mem 95k k 87k CH Moile Lrge Mem 9k 8k 6k CH Moile Low Mem 5k 7k 6k Sector As (6 6) 5k 0k 66k Sector As ( ) k 8k 57k Sector As ( ) 0k 7k 55k internl edge 0 trget weight Figure 7: Grph dt structure. Ech edges stores flg indicting whether it is n externl edge leding to node in different lock. developed for moile systems (Snders, Schultes, nd Vetter 008) to compress the CH. Ech lock contins suset of nodes nd ll incident edges. The min ide is to distinguish etween internl edges within lock nd externl ones; this is illustrted in Figure 7. For n internl edge, we only need to store the offset to the trget node within the lock. This sves spce s we cn rrnge nodes so tht most edges re internl. Spce is further reduced y using the minimum necessry it encoding length per lock. This compresses dt y 70% ut slows down the query y out 50%. Experimentl Results We experimented with implementtions of the three min pproches nd compre the results here. Experiments were performed on dul core GHz Opteron with 8GB RAM nd MB cche per core, however only one core ws used for ech of the experiments, nd only smll frction of the ville RAM ws used. This hrdwre is fster thn low-end trget system for most gmes. As the code used to compre these techniques comes from severl different code ses, ech with different levels of optimiztion, we will mesure oth time nd work, with work mesured in nodes expnded (lso clled nodes settled in the lgorithmics community). The costs mesured here re cheper thn in prctice, ecuse in prctice we re-weight edges sed on underlying properties of the mp. The mps we used re tken from Bldur s Gte nd re scled to 5 5. The mps in DAO cn e to 6 times lrger. We prtilly ccount for this y generting grphs only sed on 8 8 underlying sectors, while the underlying sectors in DAO re up to 6 6. As result, memory nd speed estimtes my e slightly underestimted cross the experiments reported here. We experimented on 0 mps. The verge mp hs 5 nodes, with totl sizes rnging etween 6 nd 787 nodes. On ech mp we construct set of 0,000 prolems chosen t rndom. It is possile tht no pth will exist e- tween the points, in which cse the cost of discovering this is included in the results. The verge length of pth is 8 with edge weights etween nd 6. Memory Usge We egin y mesuring the totl memory usge of ech pproch in Tle. The first line is the memory required to store the (8 8 sector strction) grph. Without compression this tkes 8k on verge. Compressing similr sectors cn reduce this to round 0k (Sturtevnt 007). Adding 0 differentil heuristics pproximtely doules the totl memory usge to 55k on verge. A full-memory contrction hierrchy tkes round 00k of memory on verge, depending on the heuristic ordering scheme used. The moile implementtion uses pproximtely the sme mount of memory s the uncompressed seline grph on verge, ut in the worst cse, uses more. Adding n dditionl level of the sector strction only increses the memory usge slightly. Plnning Costs We next evlute the cost of plnning with ech pproch. For ese of comprison, we hve put ll results in Tle, ut we will cover ech result in detil. Results plnning on the initil grph using A* cn e found t the top of Tle. The verge prolem requires 8 nodes nd tkes 8µs to solve. This result includes unsolvle prolems from the test set. Removing these does not significntly ffect the verge work. We then report the verge of the 0% longest prolems on ech mp, which requires significntly more node expnsions (8.6) nd time (595µs). The longest % of ll prolems require lmost one thousnd node expnsions nd.ms. Finlly, the hrdest % (mesured y nodes expnded) requires.ms on verge nd lmost 00 nodes. The next result in Tle is for A* nd differentil heuristics. These results re with 0 lndmrks (ech storing the single-source shortest pth to single point). With the improved heuristics A* expnds three times fewer nodes, ut is only twice s fst on verge. On the longest 0% from ech mp it expnds times fewer nodes nd is lmost times fster. On the longest % of ll prolems it expnds 6 times fewer nodes nd is just over times fster. But, on the hrdest prolems, lmost 850 nodes re expnded on verge nd the time increses to.7ms. The improved heuristics provide significnt reduction

6 Tle : Results for pth plnning. All 0% long % hrd % nodes [µs] nodes [µs] nodes [µs] nodes [µs] A* A* + 0 heuristics Sector As (6 6) Sector As ( ) Sector As ( ) CH Lrge Mem CH Low Mem in nodes expnded with lower reduction in speed except on the hrdest prolems, where performnce is still poor. The worst-cse results would improve with the use of more heuristics, however this would increse the memory nd node expnsion overhed s well. This pproch returns optiml pths through the strct grph, ut the pths re not usle until the entire pth is completed, disdvntge when compred to the other pproches. The next three lines of Tle evlute the performnce of the second level of strction s the sector size chnges. For oth the sector strction nd CH, we evlute the cost of finding the initil pth here, nd then mesure the refinement cost seprtely. The A* performnce is sed on 8 8 strction, so using high-level 6 6 strction would, in the est cse, provide times reduction in nodes expnded, while we see times reduction cross ech set of prolems. The strction results in pproximtely 5 times reduction in node expnsions, nd the strction results in pproximtely n 8 times reduction in node expnsions, even on the hrdest prolems. Thus, the strction cn effectively reduce node expnsions. Additionl work is required to incrementlly refine this result into followle pth. Finlly, we look t contrction hierrchies t the ottom of Tle. We compre only the moile implementtion, s the other implementtion uses too much memory. We compre one contrction ordering which tkes more memory nd results in more efficient plnning to nother ordering tht uses less memory ut hs less efficient plnning. As with strction, the contrction hierrchies return pths tht must e refined in order to use them. We report just the time to find the pth nd not to refine it, s this cn e done incrementlly. The low-memory pproch is out times slower thn the higher memory pproch. The performnce of the CH is worse thn or strction on verge, nd for the 0% hrdest prolems. But, peculir things hppens when we look t the longest % of ll prolems. Contrction hierrchies here re ctully fster thn on the 0% longest from ech mp. This shows the strength of contrction hierrchies nd why they hve een so successful in rod networks. Longer pths re likely to hve more shortcuts resulting in very short pths. For these pths the refinement process will e more expensive, ut optiml distnces cn e computed very quickly. If we insted look t the hrdest % of prolems, we see tht there re mny prolems tht re hrd for contrction hierrchies, with n () Figure 8: Mp () is esy for strction ut hrd for CHs. Mp () is hrd for strction ut esier for CHs. verge solution time of µs, out % fster thn the sector strction. We illustrte these differences in Figure 8. We rnked mps y difficulty for strction nd CHs nd looked for the mps with the lrgest difference in rnking etween the two pproches. Mp () hs difference in rnking of 6 (out of 0) nd is esier for strction s ll pths re short. Mp () hs difference in rnking of 65 nd is hrd for strction ecuse pths re long, where CHs cn reduce the strct plnning cost with mny shortcut edges. Refining Astrct Pths We report the totl cost of refinement for the sector strction in node expnsions nd totl suoptimlity in Tle. This refinement is done vi n A* serch which is constrined to sty within the sme sectors s the strct pth. As the cost of refinement is length-dependent, we report the verge numer of node expnsions required for ech highlevel pth node tht is refined. The est nd worst columns give generl rnge of vlues tht the refinement cost might fll in etween, lthough these re not solute worst nd est cses for ll mps. The verge cost of refinement is smller for smller sector sizes. We mesured severl refinement lengths, s we hve choice of how mny edges to refine t ech step. Shorter refinement lengths decrese the verge work ut increse suoptimlity. In generl, this dt serves to show tht refining the strct pths is much esier thn finding pths in the first plce. We report the cost of pth refinement for CHs in Tle. Refinement in CHs is just mtter of unpcking edges. We report the numer of edges which must e refined to generte complete pth, lthough fewer edges must e refined in prctice to ctully strt moving. None of these numers is prticulrly lrge, mening tht refinement in CHs will e cheper thn in sector strctions. It is interesting to note ()

7 Tle : Node expnsions per ech refined node. Sector size Refine Best Actul Worst Suopt tht on the hrdest % of prolems refinement is esy, while on the longest % of prolems it is hrd. This is the opposite of the CHs plnning results, nd mkes sense, s on the long prolems there will e more shortcuts to refine. Discussion nd Conclusions We summrize our results in Tle 5. The results show tht stte strction nd contrction hierrchies re competitive pproches to finding pths in gme mps when the strct representtion grows too lrge to quickly support the necessry pthfinding opertions. Improved heuristics hve worse performnce thn oth of these pproches. Returning to one of our originl motivtions, we cn now sk whether we would mke different decisions in the design of the high-level strction for Drgon Age: Origins. DAO used second level of strction with sector size twice the underlying sector size. For the results here, this corresponds to 6 6 sectors. The results of this pper suggest tht lrger high-level strction, either or, would hve improved performnce. The comprison etween strction nd contrction hierrchies is difficult. Astrction is ttrctive s it is esy to use nd understnd, nd the high-level plnning tsks re recursively similr to the low-level plnning tsks. Astrctions cn lso e computed quickly nd cn e dynmiclly chnged with the mp. The downside of strction is tht it returns suoptiml pths. Contrction hierrchies offer the potentil of higher performnce for long tsks nd re gurnteed to return optiml results. Contrction hierrchies cn lso nswer distnce queries out mp quickly, something tht is often needed for other AI tsks in gme. They lso represent different performnce profile with longer pths eing esier to compute tht shorter pths. Contrction hierrchies rely on heuristic which rnks the order of contrction, ut simple heuristics hve suitle performnce. Finlly, lthough we hve not discussed it in detil here, they re more difficult to dpt when edge costs chnge drsticlly, lthough smll chnges do not present lrge chllenge (Schultes nd Snders 007). Thus, it is difficult to sy tht one pproch ets the Tle : Averge edges unpcked to refine CH pth. All 0% long % hrd % Lrge Mem (nodes) Low Mem (nodes) Tle 5: Advntges nd disdvntges of pproches. Approch Memory Optiml Dynmic CPU Bseline smll yes yes high Heuristics lrger yes no medium Astrction smll no yes low Contrction smll yes some low other. Insted, they ech hve their own strengths nd weknesses. Any prticulr individul would need to lnce these to mke the finl decision of wht pproch to use. Regrdless, these re ll techniques tht should e understood y experts in the industry, s they re n integrl prt of the toolox needed for uilding high-qulity motion plnner, which is n importnt piece of ny high-qulity AI system. References Bote, A.; Müller, M.; nd Scheffer, J. 00. Ner optiml hierrchicl pth-finding. J. of Gme Develop. ():7 8. Culerson, J. C., nd Scheffer, J Pttern dtses. Computtionl Intelligence ():8. Delling, D.; Snders, P.; Schultes, D.; nd Wgner, D Engineering Route Plnning Algorithms. In Lerner, J.; Wgner, D.; nd Zweig, K. A., eds., Algorithmics of Lrge nd Complex Networks, volume 555 of Lecture Notes in Computer Science. Springer Geiserger, R.; Snders, P.; Schultes, D.; nd Delling, D Contrction Hierrchies: Fster nd Simpler Hierrchicl Routing in Rod Networks. In McGeoch, C. C., ed., Proceedings of the 7th Workshop on Experimentl Algorithms (WEA 08), volume 508 of Lecture Notes in Computer Science, 9. Springer. Golderg, A. V., nd Hrrelson, C Computing the Shortest Pth: A* Serch Meets Grph Theory. In Proceedings of the 6th Annul ACM SIAM Symposium on Discrete Algorithms (SODA 05), Lidén, L., nd Vlve-Softwre. 00. Strtegic nd tcticl resoning with wypoints. AI Gme Progrmming Wisdom, Chrles River Medi 0. Pinter, M. 00. Towrd more relistic pthfinding. In gmsutr.com. Snders, P.; Schultes, D.; nd Vetter, C Moile Route Plnning. In Proceedings of the 6th Annul Europen Symposium on Algorithms (ESA 08), volume 59 of Lecture Notes in Computer Science, 7 7. Springer. Schultes, D., nd Snders, P Dynmic Highwy-Node Routing. In Demetrescu, C., ed., Proceedings of the 6th Workshop on Experimentl Algorithms (WEA 07), volume 55 of Lecture Notes in Computer Science, Springer. Sturtevnt, N. R., nd Jnsen, M. R An nlysis of mpsed strction nd refinement. In SARA, 58. Sturtevnt, N. R.; Felner, A.; Brrer, M.; Scheffer, J.; nd Burch, N Memory-sed heuristics for explicit stte spces. In IJCAI, Sturtevnt, N. R Memory-efficient strctions for pthfinding. In AIIDE, 6. Sturtevnt, N. R Optimizing motion-constrined pthfinding. In AIIDE. Tozour, P. 00. Building ner-optiml nvigtion mesh. In AI Gme Progrmming Wisdom. (S. Rin, ed.), 7 85.

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, 80208 sturtevnt@cs.du.edu Astrct Grid representtions offer

More information

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

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

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

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

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

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

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

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

Minimal Memory Abstractions

Minimal Memory Abstractions Miniml Memory Astrtions (As implemented for BioWre Corp ) Nthn Sturtevnt University of Alert GAMES Group Ferury, 7 Tlk Overview Prt I: Building Astrtions Minimizing memory requirements Performnes mesures

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

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

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

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

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

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

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

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

UT1553B BCRT True Dual-port Memory Interface

UT1553B BCRT True Dual-port Memory Interface UTMC APPICATION NOTE UT553B BCRT True Dul-port Memory Interfce INTRODUCTION The UTMC UT553B BCRT is monolithic CMOS integrted circuit tht provides comprehensive MI-STD- 553B Bus Controller nd Remote Terminl

More information

Position Heaps: A Simple and Dynamic Text Indexing Data Structure

Position Heaps: A Simple and Dynamic Text Indexing Data Structure Position Heps: A Simple nd Dynmic Text Indexing Dt Structure Andrzej Ehrenfeucht, Ross M. McConnell, Niss Osheim, Sung-Whn Woo Dept. of Computer Science, 40 UCB, University of Colordo t Boulder, Boulder,

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

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

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

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011 CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the

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

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis CS143 Hndout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexicl Anlysis In this first written ssignment, you'll get the chnce to ply round with the vrious constructions tht come up when doing lexicl

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

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

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

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

Agilent Mass Hunter Software

Agilent Mass Hunter Software Agilent Mss Hunter Softwre Quick Strt Guide Use this guide to get strted with the Mss Hunter softwre. Wht is Mss Hunter Softwre? Mss Hunter is n integrl prt of Agilent TOF softwre (version A.02.00). Mss

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

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

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

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

Qubit allocation for quantum circuit compilers

Qubit allocation for quantum circuit compilers Quit lloction for quntum circuit compilers Nov. 10, 2017 JIQ 2017 Mrcos Yukio Sirichi Sylvin Collnge Vinícius Fernndes dos Sntos Fernndo Mgno Quintão Pereir Compilers for quntum computing The first genertion

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

OUTPUT DELIVERY SYSTEM

OUTPUT DELIVERY SYSTEM Differences in ODS formtting for HTML with Proc Print nd Proc Report Lur L. M. Thornton, USDA-ARS, Animl Improvement Progrms Lortory, Beltsville, MD ABSTRACT While Proc Print is terrific tool for dt checking

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

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

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

CS481: Bioinformatics Algorithms

CS481: Bioinformatics Algorithms CS481: Bioinformtics Algorithms Cn Alkn EA509 clkn@cs.ilkent.edu.tr http://www.cs.ilkent.edu.tr/~clkn/teching/cs481/ EXACT STRING MATCHING Fingerprint ide Assume: We cn compute fingerprint f(p) of P in

More information

Graphs with at most two trees in a forest building process

Graphs with at most two trees in a forest building process Grphs with t most two trees in forest uilding process rxiv:802.0533v [mth.co] 4 Fe 208 Steve Butler Mis Hmnk Mrie Hrdt Astrct Given grph, we cn form spnning forest y first sorting the edges in some order,

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

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism Efficient K-NN Serch in Polyphonic Music Dtses Using Lower Bounding Mechnism Ning-Hn Liu Deprtment of Computer Science Ntionl Tsing Hu University Hsinchu,Tiwn 300, R.O.C 886-3-575679 nhliou@yhoo.com.tw

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

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

Intermediate Information Structures

Intermediate Information Structures CPSC 335 Intermedite Informtion Structures LECTURE 13 Suffix Trees Jon Rokne Computer Science University of Clgry Cnd Modified from CMSC 423 - Todd Trengen UMD upd Preprocessing Strings We will look t

More information

A dual of the rectangle-segmentation problem for binary matrices

A dual of the rectangle-segmentation problem for binary matrices A dul of the rectngle-segmenttion prolem for inry mtrices Thoms Klinowski Astrct We consider the prolem to decompose inry mtrix into smll numer of inry mtrices whose -entries form rectngle. We show tht

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

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 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

Mobile IP route optimization method for a carrier-scale IP network

Mobile IP route optimization method for a carrier-scale IP network Moile IP route optimiztion method for crrier-scle IP network Tkeshi Ihr, Hiroyuki Ohnishi, nd Ysushi Tkgi NTT Network Service Systems Lortories 3-9-11 Midori-cho, Musshino-shi, Tokyo 180-8585, Jpn Phone:

More information

PPS: User Manual. Krishnendu Chatterjee, Martin Chmelik, Raghav Gupta, and Ayush Kanodia

PPS: User Manual. Krishnendu Chatterjee, Martin Chmelik, Raghav Gupta, and Ayush Kanodia PPS: User Mnul Krishnendu Chtterjee, Mrtin Chmelik, Rghv Gupt, nd Ayush Knodi IST Austri (Institute of Science nd Technology Austri), Klosterneuurg, Austri In this section we descrie the tool fetures,

More information

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays COMPSCI 5 SS Principles of Computer Science Arrys & Multidimensionl Arrys Agend & Reding Agend Arrys Creting & Using Primitive & Reference Types Assignments & Equlity Pss y Vlue & Pss y Reference Copying

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

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

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

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

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv Compression Outline 15-853:Algorithms in the Rel World Dt Compression III Introduction: Lossy vs. Lossless, Benchmrks, Informtion Theory: Entropy, etc. Proility Coding: Huffmn + Arithmetic Coding Applictions

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

Alignment of Long Sequences. BMI/CS Spring 2012 Colin Dewey

Alignment of Long Sequences. BMI/CS Spring 2012 Colin Dewey Alignment of Long Sequences BMI/CS 776 www.biostt.wisc.edu/bmi776/ Spring 2012 Colin Dewey cdewey@biostt.wisc.edu Gols for Lecture the key concepts to understnd re the following how lrge-scle lignment

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

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

The dictionary model allows several consecutive symbols, called phrases

The dictionary model allows several consecutive symbols, called phrases A dptive Huffmn nd rithmetic methods re universl in the sense tht the encoder cn dpt to the sttistics of the source. But, dpttion is computtionlly expensive, prticulrly when k-th order Mrkov pproximtion

More information

FastRoute: A Step to Integrate Global Routing into Placement

FastRoute: A Step to Integrate Global Routing into Placement FstRoute: A Step to Integrte Glol Routing into Plcement Min Pn nd Chris Chu Deprtment of Electricl nd Computer Engineering Iow Stte University, Ames, IA 00 Emil: {pnmin, cnchu}@istte.edu ABSTRACT Becuse

More information

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST Suffi Trees Outline Introduction Suffi Trees (ST) Building STs in liner time: Ukkonen s lgorithm Applictions of ST 2 3 Introduction Sustrings String is ny sequence of chrcters. Sustring of string S is

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

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona CSc 453 Compilers nd Systems Softwre 4 : Lexicl Anlysis II Deprtment of Computer Science University of Arizon collerg@gmil.com Copyright c 2009 Christin Collerg Implementing Automt NFAs nd DFAs cn e hrd-coded

More information

Applied Databases. Sebastian Maneth. Lecture 13 Online Pattern Matching on Strings. University of Edinburgh - February 29th, 2016

Applied Databases. Sebastian Maneth. Lecture 13 Online Pattern Matching on Strings. University of Edinburgh - February 29th, 2016 Applied Dtses Lecture 13 Online Pttern Mtching on Strings Sestin Mneth University of Edinurgh - Ferury 29th, 2016 2 Outline 1. Nive Method 2. Automton Method 3. Knuth-Morris-Prtt Algorithm 4. Boyer-Moore

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

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona Implementing utomt Sc 5 ompilers nd Systems Softwre : Lexicl nlysis II Deprtment of omputer Science University of rizon collerg@gmil.com opyright c 009 hristin ollerg NFs nd DFs cn e hrd-coded using this

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

Improved Fast Replanning for Robot Navigation in Unknown Terrain

Improved Fast Replanning for Robot Navigation in Unknown Terrain 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,

More information

Lily Yen and Mogens Hansen

Lily Yen and Mogens Hansen SKOLID / SKOLID No. 8 Lily Yen nd Mogens Hnsen Skolid hs joined Mthemticl Myhem which is eing reformtted s stnd-lone mthemtics journl for high school students. Solutions to prolems tht ppered in the lst

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Information Retrieval and Organisation

Information Retrieval and Organisation Informtion Retrievl nd Orgnistion Suffix Trees dpted from http://www.mth.tu.c.il/~himk/seminr02/suffixtrees.ppt Dell Zhng Birkeck, University of London Trie A tree representing set of strings { } eef d

More information

Meaningful Change Detection in Structured Data.

Meaningful Change Detection in Structured Data. Meningful Chnge Detection in Structured Dt Sudrshn S. Chwthe Hector Grci-Molin Computer Science Deprtment, Stnford University, Stnford, Cliforni 94305 fchw,hectorg@cs.stnford.edu Astrct Detecting chnges

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

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

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

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

COMBINATORIAL PATTERN MATCHING

COMBINATORIAL PATTERN MATCHING COMBINATORIAL PATTERN MATCHING Genomic Repets Exmple of repets: ATGGTCTAGGTCCTAGTGGTC Motivtion to find them: Genomic rerrngements re often ssocited with repets Trce evolutionry secrets Mny tumors re chrcterized

More information

Digital Signal Processing: A Hardware-Based Approach

Digital Signal Processing: A Hardware-Based Approach Digitl Signl Processing: A Hrdwre-Bsed Approch Roert Esposito Electricl nd Computer Engineering Temple University troduction Teching Digitl Signl Processing (DSP) hs included the utilition of simultion

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

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

Simrad ES80. Software Release Note Introduction

Simrad ES80. Software Release Note Introduction Simrd ES80 Softwre Relese 1.3.0 Introduction This document descries the chnges introduced with the new softwre version. Product: ES80 Softwre version: 1.3.0 This softwre controls ll functionlity in the

More information

Planning with Reachable Distances: Fast Enforcement of Closure Constraints

Planning with Reachable Distances: Fast Enforcement of Closure Constraints Plnning with Rechle Distnces: Fst Enforcement of Closure Constrints Xinyu Tng, Shwn Thoms, nd Nncy M. Amto Astrct Motion plnning for closed-chin systems is prticulrly difficult due to dditionl closure

More information

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin

More information

Inference of node replacement graph grammars

Inference of node replacement graph grammars Glley Proof 22/6/27; :6 File: id293.tex; BOKCTP/Hin p. Intelligent Dt Anlysis (27) 24 IOS Press Inference of node replcement grph grmmrs Jcek P. Kukluk, Lwrence B. Holder nd Dine J. Cook Deprtment of Computer

More information

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved Network Interconnection: Bridging CS 57 Fll 6 6 Kenneth L. Clvert All rights reserved The Prolem We know how to uild (rodcst) LANs Wnt to connect severl LANs together to overcome scling limits Recll: speed

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

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

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

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES GENEATING OTHOIMAGES FO CLOSE-ANGE OBJECTS BY AUTOMATICALLY DETECTING BEAKLINES Efstrtios Stylinidis 1, Lzros Sechidis 1, Petros Ptis 1, Spiros Sptls 2 Aristotle University of Thessloniki 1 Deprtment of

More information

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay Lexicl Anlysis Amith Snyl (www.cse.iit.c.in/ s) Deprtment of Computer Science nd Engineering, Indin Institute of Technology, Bomy Septemer 27 College of Engineering, Pune Lexicl Anlysis: 2/6 Recp The input

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