A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

Size: px
Start display at page:

Download "A Sparse Grid Representation for Dynamic Three-Dimensional Worlds"

Transcription

1 A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, Astrct Grid representtions offer mny dvntges for pth plnning. Lookups in grids re fst, due to the uniform memory lyout, nd it is esy to modify grids. But, grids often hve significnt memory requirements, they cnnot directly represent more complex surfces, nd pth plnning is slower due to their high grnulrity representtion of the world. The speed of pth plnning on grids hs een ddressed using strct representtions, such s hs een documented in work on Drgon Age: Origins. The strct representtion used in this gme ws compct, preventing permnent chnges to the grid. In this pper we introduce sprse grid representtion, where grid cells re only stored where necessry. From this sprse representtion we incrementlly uild n strct grph which represents possile movement in the world t high-level of grnulrity. This sprse representtion lso llows the representtion of three-dimensionl worlds. This representtion llows the world to e incrementlly chnged in under millisecond, reducing the mximum memory required to store mp nd strction from Drgon Age: Origins y nerly one megyte. Fundmentlly, the representtion llows previously llocted ut unused memory to e used in wys tht result in higher-qulity plnning nd more intelligent gents. Introduction The choice of world representtion is fundmentl decision tht influences the fetures tht cn e put into the pth plnning engine for gme. Most representtions offer trde-offs with some tsks eing extremely esy, while other tsks re more difficult. It is lso importnt to include within the choice of representtion the time required to implement the representtion. While Blizzrd hd yers to uild new pth plnning system for Strcrft 2 1, not every compny hs the time to invest in such system. On his AiGmeDev.com we site, Alex Chmpndrd recommends wypoint grphs 2 since they re simple nd effective pproch to nvigtion, even though nvigtion meshes offer richer feture set. Grids hve lso een populr representtion (eg (Sturtevnt 2007)) ecuse they re esy to uild, only requiring n Copyright c 2011, Assocition for the Advncement of Artificil Intelligence ( All rights reserved. 1 Descried in detil in 2011 GDC AI Summit tlk 2 rry of locked/unlocked vlues. But, ecuse grids uniformly represent ll spce, they re not suitle for mny gmes, prticulrly lrge worlds. This results from comintion of plnning costs, which cn e reduced vi strction, nd storge costs, ecuse grid informtion is llocted for ll cells whether or not they re pssle. In ddition, grids hve usully een restricted to two-dimensionl terrin. A grid (or voxel) representtion of full threedimensionl world would e even more expensive to mintin. This pper introduces n lternte sprse grid representtion. The hypothesis ehind this design ws tht grid representtion could e enhnced to chieve four purposes. First, to void storing res of the mp which re not trversle. Second, to represent three-dimensionl worlds. Third, to esily llow points to e dded to nd removed from the world t runtime. Fourth, nd finlly, to quickly utomticlly uild nd updte n strct world representtion. The representtion descried here chieves ll of these metrics. Post-mortem nlysis of the mps tht shipped with Drgon Age: Origins suggests tht the originl efforts focused on reducing the memory used y the strction lyer were misplced. The underlying grid uses pproximtely 10 times more memory thn the strction lyer, nd thus the grid should hve een the focus of optimiztion efforts. The reminder of the pper is s follows. First, ckground mteril on pth plnning pproches re covered, s well s the tsks tht pth plnning system would e expected to hndle. Then, the new design is descried in detil. Finlly, detiled experimentl results show tht this system is suitle for eing deployed in commercil system. Bckground nd Prolem Definition There re numer of generl tsks relted to pth plnning tht ny representtion must e le to hndle. When plnning tsk rrives, the loction of the relevnt gent within the representtion is known, ut trget loction will often e in ritrry coordintes tht must then e converted into the representtion formt. This process is clled locliztion. It is simple on grid, s rel-vlued x nd y coordintes must only e divided y the grid resolution to find the integer grid coordintes. Most gmes feture dynmic worlds, with cretures or other ojects modifying the underlying representtion. Ide-

2 lly, pth plnning representtion cn e esily chnged to lock or unlock loctions within the world. Agin, this is simple on grid, s grid cells in the representtion cn e quickly loclized nd modified. In ddition to cretures, the cost of moving in the world cn lso e modified y numer of influences. This might include re effects, such s spell eing cst in roleplying gme, or lines of fire which should e voided in first-person shooter. Loctions with such modifictions re still pssle, ut re more expensive to pss thn the regulr terrin. Thus, routes without such effects pplied would e preferred. If plnning occurs over multiple levels of strction, such costs should e tken ccount in ll levels of strction, otherwise high-level plnning will not properly tke into ccount the costs of crossing low-level terrin. Finlly, ny representtion must e menle to fst plnning nd re-plnning. There re three dominnt representtions used in the industry (Tozour 2002). These include: Grids, which re covered in detil in this pper. Locliztion nd modifying grids is simple, ut some sort of strction mechnism is usully needed to speed pth plnning in grids. Pths resulting from plnning in grids usully need n extr smoothing pss. Wypoint grphs, which re grph representtion of the world. Modifying wypoint grphs is reltively strightforwrd, ut there isn t tight coupling etween the grph nd ech individul point in the world, which cn mke resoning out terrin nd the reltionship to the wypoint grph more difficult. Agents on wypoint grphs usully sty on the grph nd its edges, resulting in lower qulity movement. Nvigtion meshes, or nv mesh for short, which cn e represented y tringles (Demyen nd Buro 2006) or y polygons (Tozour 2002). Meshes implicitly form grphs, ut ech point in the grph represents distinct re of terrin in the mesh. Locliztion on meshes cn e mde efficient with n underlying grid (Demyen 2006). Meshes cn e modified t runtime, ut the process cn e difficult to implement. Pths through meshes re smoothed using the funnel lgorithm. Nv meshes nd wypoint grphs re high-level terrin representtions tht gretly reduce plnning costs. But, s result, they my not e le to esily ccount for smll res of terrin with higher cost, such s trp tht hs een discovered nd should e voided. Modifying nv meshes cn lso e difficult s geometric lgorithms tht process nd reson out meshes do not lwys hndle specil cses like prllel lines or congruent points esily 3. It is possile to represent the wlkle surfce of complex terrin using nv meshes nd wypoint grphs, s they re not tied to single plne in ny wy. A high-level representtion cn e uilt from grids (Sturtevnt 2007) resulting in something similr to nv mesh, except tht the underlying regions in the 3 See work nd log entries y Mikko Mononen on the Recst tool grph re not lwys convex. We will descrie this pproch in more detil in the next section, s our pproch is sed on this previous work. Sprse Grid Representtion We egin y descriing previous work done in uilding n strct representtion for Drgon Age: Origins (DAO) nd then show how it must e extended to introduce the properties we desire in our modified representtion. There re mny vritions on the design choices descried here which could e chnged to meet specific gme constrints. Overll, the world is divided into two levels of grnulrity. The underlying grid is fine-grined representtion suitle for locl movement plnning, nd the representtion of smll ostcles. From this grid, high-level grph is uilt which is suitle for longer rnge plnning. The high-level grph is uilt from connected regions in the underlying grid. Even higher levels of strction cn e used; this pper focuses on single level of strction, s dditionl levels of strction cn e uilt with either the sme principles or using other techniques (Sturtevnt nd Geiserger 2010). 0 1 c c 2 3 Figure 1: The strction used in Drgon Age: Origins. Dividing the World into Sectors nd Regions The low-level mp representtion in DAO is grid, ut plnning full pths on the grid ws too expensive, so high-level representtion ws uilt y dividing the world up into sectors nd regions. This is shown in the left portion of Figure 1, which is tken from (Sturtevnt 2007). This mp is divided into four lrge squres, or sectors, which overly the mp. The corner of ech sector is leled with n index. The sectors re then su-divided into regions, where ll points in region re rechle from ech other without leving the sector. Drk res of the mp re uncrossle wlls, so sector 2 hs three regions, while the remining sectors hve two regions piece. The right portion of this figure shows the induced highlevel grph. Edges re dded etween regions if there is n edge in the low-level grid which connects two regions in different sectors. This representtion gurntees tht ny highlevel pth cn e refined into low-level pth, nd tht every low-level pth hs corresponding high-level pth. The focus of the design of this strction for DAO ws to minimize the memory overhed used y the strction. Hence, the strct edges nd lmost ll of the dt for the

3 strction is stored compctly in single vector. This cretes prolems, however, if the grid is chnged. Removing strct edges could e done esily, ut if new edges re needed, there my not e spce to store them directly. This could require re-orgnizing the entire dt structure, n expensive opertion. As result, the DAO grid world is left sttic, except for chnges in trversl costs s result of re effects nd moving NPCs. Sprse Grid Design Thus, we egin y re-designing the dt structures used to implement this sme strction in wy tht the underlying grid nd high-level grph cn oth e esily modified s the world chnges. Points in our spce cn e represented oth y tuples of integers, (x, y, z), nd y internl sector nd region informtion. Loclizing point within sector is simple, so t the highest level there is n rry of sectors, with ech sector contining list of regions in the sector. In the DAO representtion glol mp stored ll the underlying dt for the grid, nd regions oundries were implicit from the ostcles in the grid. We modify this y explicitly storing the grid informtion within ech region. In full, ech region contins: A center loction representing point t the pproximte middle of the region. A se height. The heights of individul grid cells re stored s offsets to this height. A count of free nd prtilly locked cells. This informtion is not strictly necessry, ut cn e used to propgte locl trvel costs into the strct grph. If mny cells re locked in the region, the cost of trversing n edge incident to the region should e more expensive. A list of grph edges incident to the region. Ech edge includes the destintion sector, region, nd the edge support, which is the numer of underlying grid edges tht would hve to e removed for the strct edge to e removed. A pointer to the low-level grid dt for the region. The first four items re pcked into 32 its (8 its ech), while the edges nd grid dt require pointer. Ech edge is stored in 32 its, nd ech grid loction is stored in 16 its. The low-level grid contins: One it for ech of the 8 directions of movement representing whether movement in tht direction is possile. This mens tht grid edges re stored explicitly insted of implicitly. This simplifies the process of checking if there re pssle neighors, prticulrly when the neighors might e in different sector or region. Five its of height informtion, mening tht within region there re 31 possile height vlues, with the lst height vlue representing tht cell is impssle. Three its representing how mny locl re effects re currently pplied to the cell. These counts re ggregted within the full region. A mp from the DAO enchmrk prolem set 4 uilt us- 4 () Figure 2: () An exmple mp showing the strct grph representtion nd underlying mp. () The mp where the sprse grid representtion provides the lrgest gin. ing this representtion is shown in Figure 2(). The white lines represent the strct edges in the grph. The thickness of line represents its underlying support in the grid. Note tht if there re multiple regions in the sme sector, they re stored seprtely, effectively douling the memory required to store the mp. For the mp in this figure, there re 47 sectors which contin no regions. But, ecuse there re multiple regions in other sectors, the finl representtion hs 169 totl sectors nd 164 totl regions. Thus, the svings y not storing the dt in every sector offsets the fct tht regions re stored multiple times. The lrgest svings re found in the mp in Figure 2(), which is mostly empty spce. Full storge results re contined in the experimentl results. The lternte dvntge of using this pproch is tht modifying the mp nd strction ecomes much esier. We will show how this is done fter compring the totl memory usge in our new design to the memory used y the DAO representtion. Memory Usge The DAO strction used 32 its for ech sector, storing n rry index for the region dt nd the numer of regions in ech sector. Our new representtion uses the sme mount of memory per sector on 32-it system, ut the use of pointer requires more memory on 64-it system. The DAO strction stored ech edge in single yte. Ech region contined the center loction nd the numer of edges, requiring 16 its totl. Thus, ech region is 2 ytes plus 1 yte per edge. The new representtion uses 32 its per region plus two pointers, nd edges re stored in four ytes insted of single yte. Edges could e compressed into less storge, ut lignment issues could result, so we ligned dt structures to 32-it oundries. This mens tht regions now require 12 ytes plus 4 ytes for ech edge. We ssume tht the underlying grid requires the sme numer of ytes in oth representtions (2 ytes per cell), lthough more memory my e used if other met-informtion out the world is stored directly in the grid. The DAO representtion nd our new representtion will oth hve the sme numer of regions nd edges, ut the new representtion will not store ny grid informtion for sectors ()

4 Algorithm 1 Greedy Point Addition(p = {x, y, z}) 1: sector getsector(x, y) 2: if sector hs no regions then 3: crete new region in sector nd dd p 4: else 5: for ll regions r in sector do 6: if p cn e dded to r then 7: dd p to r 8: return 9: end if 10: end for 11: crete new region in sector nd dd p 12: end if B C A D Figure 3: The possile edges which must e checked when dding the grid cell mrked A. with no pssle points. The new representtion requires two-step lookup for locliztion, first finding the sector, nd then the region for given point. Adding Points to the Mp Within ech sector, if there re overlpping z coordintes or if the rnge of z vlues is too lrge, points must e prtitioned into seprte regions. This prtitioning could e done offline using n pproch like wtershed segmenttion (Mngn nd Whitker 1999), ut s the mp is expected to chnge t runtime, we use greedy pproch, which could e further optimized if necessry. Mps re uilt incrementlly y dding pssle (x, y, z) coordintes to the representtion. We ssume tht digonl edges cnnot e crossed unless oth of the djoining cells re pssle. This mens the order of dding cells to the mp mtters. The following lgorithm is used to dd pssle grid cells to the representtion. This works in two stges. First, points re dded to the representtion, nd then the edges re dded. As stted previously, ll edges re explicitly stored in the representtion. Adding Points The code in Algorithm 1 descries how points re dded to the world. Given point, (x, y, z), the sector contining this point is found using simple division. If the sector is empty, new region is creted nd the point is dded. Otherwise ech region is tested in turn to see if the point cn e dded. This involves testing to see if the point is djcent to n existing point in the region nd whether the point flls within the limits of the heights representle in ech region. Adding point could enle two djcent regions to e merged. This requires removing the points from one region nd dding them to the other, ut for simplicity we currently do not merge split regions. Adding Edges After point hs een dded to region, the edges must e dded. This is done y finding ll points in the 8 djcent cells to the cell tht ws just dded. These points my e in the sme region, different region, or even different sector. There re then 12 possile edges tht cn e dded to the world, shown in Figure 3. Most of these edges re ovious, s they involve the cell eing dded, A. But, if cells B, C nd D re lredy prt of the world, then dding A llows digonl edge to e dded etween B nd Figure 4: An exmple stircse uilt using multiple regions in the sme sector. D. These extr digonls ccount for n dditionl 4 edges. Ech of these edges re dded to the low-level grid, even if the neighor of cell is in different sector or region. But, when this occurs, n strct edge is either dded to the region itself or, if the strct edge lredy exists, the support of the existing edge is incresed. All edges re stored in oth the origin nd destintion cells, nd if pplicle, in the origin nd destintion regions s well. This llows directed edges, such s the ility to jump down from height tht cn t e climed, however we do not use this representtionl cpility in this implementtion. The ddition of edges etween regions in the sme sector is wht llows three-dimensionl mps to e creted. Suppose mp needs to represent stircse, like the one shown in Figure 4. In such sitution it is possile for the stirs to ll e in the sme sector, nd for every stte in the sector to e rechle without leving the sector. In the DAO representtion this would require putting ll points in the sme region, which isn t possile. With edges etween regions in the sme sector, the points cn e put in different regions with edges in etween them, still representing the spce properly. Removing Points from the Mp Removing mps from the representtion tkes plce using similr process to the wy points were dded. As efore, the

5 points surrounding the cell eing removed re ssemled, nd the 12 edges tht were potentilly dded (Figure 3) re now removed from the low-level grid. Removing these edges lso reduces the support of ny strct edges, nd if the support reches 0, then the strct edge is removed. The key compliction in removing point from the mp is tht it might split previously pssle region into two seprte regions. Thus, fter removing point, the connectivity of region must e tested. If the region is no longer connected, the smllest k 1 of the k resulting regions re removed nd re-dded to the representtion. This is done directly using the point dding procedure descried ove. When dding or removing points from the representtion, the loction of the strct region center must e recomputed. This is done y finding the point in the region which is closest to the center of the region, lthough other optimiztions (Sturtevnt 2007) cn reduce the work required for pth plnning. Generting Successors in Serch During n A* serch, the successors of ny stte must e generted. In our sprse grid representtion the successors of every grid cell re explicitly stored, which elimintes the need to find nd test ll neighors for pssility. But, ecuse neighors cn e in different sectors or regions, the lookup of known neighors cn still e expensive. This is demonstrted in the experimentl results, where severl techniques for speeding up this process re evluted. Generting strct successors of region is strightforwrd, s ll of the edges re explicitly stored within the region. Note tht in the DAO representtion, smll serch is used to identify the current region. Becuse regions re now stored explicitly, this is no longer necessry. This cn lso mke pthfinding esier, ecuse insted of finding the pth to the center of region, pth cn e found to ny grid cell within region, s the region ssocited with cell is lwys known. Experimentl Results On 2-dimensionl mps the representtion descried in this pper will e identicl to the strction used in DAO. The speed-up of the DAO pproch over A* hs lredy een studied in severl contexts (Sturtevnt 2007; Sturtevnt nd Geiserger 2010). So, in our experimentl results we focus on other properties. First, we look t the totl memory used. Then, we look t the cost of generting successors. Finlly, we look t the cost of modifying the mp y dding or removing successors. All experiments were run on 2.66GHz Intel Core i7 with 8GB of RAM. Only single core nd frction of the totl RAM were used in the experiments. The code which implements this representtion hs een relesed s open source for use y other reserchers or those in the gme industry 5. Any comprison to the existing DAO strction ws done using the code tht shipped with AI Wisdom 4 (Rin 2008). The code se ws implemented over few weeks time, 5 See Memory (ytes) Grid Mp Memory Usge Sprse Grid Memory Usge Mp # Figure 5: Distriution of memory used per mp. Tle 1: Averge time time to generte ll successors on ech legl stte of every mp. Sector Regulr Nive Smrt 1-it 8-it µs 0.24 µs 0.19 µs 0.17 µs 0.12 µs µs 0.23 µs 0.17 µs 0.14 µs 0.11 µs µs 0.23 µs 0.17 µs 0.13 µs 0.10 µs most of which ws used for refining the design descried here. Totl Memory Usge To nlyze memory usge we looked t the set of mps tht shipped with Drgon Age: Origins, mesuring the totl memory used y oth the strction nd the underlying grid. We sorted the results ccording to the memory used y the originl representtion, showing the results in Figure 5. Note tht the y-xis is logrithmic scle. This is necessry to clerly distinguish the curves cross the rnge of mp sizes. These lines show the distriution for sectors size 12, ut different sector sizes do not result in significnt difference in the curves. Over ll the mps, the verge memory used y the previous pproch ws 178,390 ytes versus 93,064 ytes for the sprse grids. More importntly the mximum memory required to store ny mp ws reduced from 1,457,090 ytes to 519,292 ytes, lmost 3-fold reduction. We performed the sme nlysis on mps from Drgon Age II. This gme hs smller scope, so the lrgest mp only required 600k of memory with the regulr representtion, which ws reduced to 200k with the sprse representtion. Generting successors Although we could mesure the cost of pthfinding, the cost of serch includes mny other overheds which re independent of representtion. Insted we directly mesure the cost of successor genertion y mesuring the verge cost of generting ll successors over ll legl sttes in ll DAO mps. The results re in Tle 1. A regulr grid implementtion tkes 0.15µs to generte successors, regrdless of the sector size. On the sprse

6 Tle 2: Averge time to remove nd re-dd 99 cells from the middle of mp. Sect. size Avg. cut Mx. cut Avg. dd Mx dd ms ms ms ms ms ms ms ms ms ms ms ms grid, successor genertion isn t completely strightforwrd. A stte is internlly represented y sector, region, nd region offset, while successors re sed on x/y/z coordintes; moving etween these representtions isn t free. A nive implementtion, which switches representtions to generte successors, nd then switches ck, tkes µs on verge to generte successors. A smrter implementtion only switches etween representtions t the orders of sectors nd regions, where successors might e in different sector nd/or region. This implementtion is still slower thn regulr grid, tking µs. If extr memory ville, even etter performnce cn e chieved. Using 1-it to cche whether stte hs neighors in different sector or region results in fster performnce, except on sectors of size 8; smller sectors hve lrger percentge of cells on the order etween sectors nd regions. Using 8-its to mrk every edge s externl or internl to the region is up to 33% fster thn regulr successor genertion. This memory overhed could lso speed the regulr implementtion, ut my not e ffordle without the memory svings mde possile y the sprse grid. Modifying the mp One of the key fetures of our sprse grids is the ility to modify the mp. We demonstrte this y cutting out strip of 99 cells in row in the middle of ech mp nd then dding it ck in gin. We then mesure the verge time needed to remove nd dd the 99 cells seprtely, s well s the mximum time required for ech set of opertions. The mjor cost ssocited with removing points from the mp is checking to see if region hs een split. We ggregte the clls together, so regions re only recomputed once per sector. Checking for region splits t ech step pproximtely doules the verge nd mximum time required to cut 99 cells from the mp. The overll results re in Tle 2. The verge cut nd dd time depends on the sector size. This is ecuse it tkes more time to check if regions hve een split when there re lrger sectors. But, even the mximum cut time is under 1ms, which is sufficiently fst, s this is not common opertion. Note tht temporry chnges to mp re performed y weighting the relevnt cells. Adding cells to the mp is much cheper, tking t most 0.207ms even on the lrgest sector sizes. Conclusions In this pper we hve offered n lternte representtion for grid-sed mps nd grid-sed mp strctions. This representtion elimintes the need to store grid dt for portions of mp which cn never e trversed. Experiments with the set of mps tht shipped with Drgon Age: Origins, shows tht this pproch cn reduce the mximum memory required to store mp from pproximtely 1.5MB to 500k. In ddition to reducing the memory overhed, the representtion is lso le to represent three-dimensionl mps, nd it is esy to modify the mp t runtime. The cost of this pproch is tht successor genertion is slightly slower thn efore, unless memory is used to offset the speed penlty. There re numer items of future work. We hve only completed few itertions of optimiztion on the code, nd so dditionl optimiztions re still possile. For instnce, we currently store seprte grid for ech region. Shring grids etween regions would further reduce memory, ut could increse the time for dding nd repiring cells. Also, while sprse grids cn represent mny clsses of threedimensionl mps, it is ssumed tht ll cretures in the mp re ffected y grvity nd wlk on flt surfces. It is n open question whether this work could e dpted for verticl surfces. One possile pproch would e to llow verticl connections etween cells. These could either model wlkle wlls, or ldders tht cn e climed. Finlly, cching schemes could e used to void or reduce the lloction of memory t runtime. Although some hve questioned the usefulness of grids in modern gmes, this work shows tht they re still vlid representtion to e considered. We understnd tht they re not suitle for every gme, ut, given the enhncements descried here, they re still suitle for use in mny gmes. Acknowledgements We pprecite the feedck on this work from the reviewers, s well s coopertion with Gvin Burt nd BioWre. References Demyen, D., nd Buro, M Efficient tringultionsed pthfinding. In Proceedings of the 21st Ntionl Conference on Artificil Intelligence, AAAI Press. Demyen, D Efficient tringultion-sed pthfinding. Mster s thesis, University of Alert. Mngn, A. P., nd Whitker, R. T Prtitioning 3d surfce meshes using wtershed segmenttion. IEEE Trnsctions on Visuliztion nd Computer Grphics 5: Rin, S., ed AI Gme Progrmming Wisdom 4. Chrles River Medi. Sturtevnt, N. R., nd Geiserger, R A comprison of high-level pproches for speeding up pthfinding. In AIIDE. Sturtevnt, N. R Memory-efficient strctions for pthfinding. In AIIDE, Tozour, P Building ner-optiml nvigtion mesh. In AI Gme Progrmming Wisdom. (S. Rin, ed.), Tozour, P Serch spce representtions. In AI Gme Progrmming Wisdom 2. (S. Rin, ed.).

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

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

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

A Comparison of High-Level Approaches for Speeding Up Pathfinding

A Comparison of High-Level Approaches for Speeding Up Pathfinding A Comprison of High-Level Approches for Speeding Up Pthfinding Nthn R. Sturtevnt Deprtment of Computing Science University of Alert Edmonton, Alert, Cnd nthnst@cs.ulert.c Roert Geiserger Fculty of Informtics

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

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

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

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

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

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

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

6.3 Volumes. Just as area is always positive, so is volume and our attitudes towards finding it.

6.3 Volumes. Just as area is always positive, so is volume and our attitudes towards finding it. 6.3 Volumes Just s re is lwys positive, so is volume nd our ttitudes towrds finding it. Let s review how to find the volume of regulr geometric prism, tht is, 3-dimensionl oject with two regulr fces seprted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Orthogonal line segment intersection

Orthogonal line segment intersection Computtionl Geometry [csci 3250] Line segment intersection The prolem (wht) Computtionl Geometry [csci 3250] Orthogonl line segment intersection Applictions (why) Algorithms (how) A specil cse: Orthogonl

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Video-rate Image Segmentation by means of Region Splitting and Merging

Video-rate Image Segmentation by means of Region Splitting and Merging Video-rte Imge Segmenttion y mens of Region Splitting nd Merging Knur Anej, Florence Lguzet, Lionel Lcssgne, Alin Merigot Institute for Fundmentl Electronics, University of Pris South Orsy, Frnce knur.nej@gmil.com,

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

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

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

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

PARALLEL AND DISTRIBUTED COMPUTING

PARALLEL AND DISTRIBUTED COMPUTING PARALLEL AND DISTRIBUTED COMPUTING 2009/2010 1 st Semester Teste Jnury 9, 2010 Durtion: 2h00 - No extr mteril llowed. This includes notes, scrtch pper, clcultor, etc. - Give your nswers in the ville spce

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

Registering as a HPE Reseller. Quick Reference Guide for new Partners in Asia Pacific

Registering as a HPE Reseller. Quick Reference Guide for new Partners in Asia Pacific Registering s HPE Reseller Quick Reference Guide for new Prtners in Asi Pcific Registering s new Reseller prtner There re five min steps to e new Reseller prtner. Crete your Appliction Copyright 2017 Hewlett

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

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

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

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

Registering as an HPE Reseller

Registering as an HPE Reseller Registering s n HPE Reseller Quick Reference Guide for new Prtners Mrch 2019 Registering s new Reseller prtner There re four min steps to register on the Prtner Redy Portl s new Reseller prtner: Appliction

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

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter Computer Arithmetic Logicl, Integer Addition & Sutrction Chpter 3.-3.3 3.3 EEC7 FQ 25 MIPS Integer Representtion -it signed integers,, e.g., for numeric opertions 2 s s complement: one representtion for

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

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

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

Symbol Table management

Symbol Table management TDDD Compilers nd interpreters TDDB44 Compiler Construction Symol Tles Symol Tles in the Compiler Symol Tle mngement source progrm Leicl nlysis Syntctic nlysis Semntic nlysis nd Intermedite code gen Code

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

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

Approximation of Two-Dimensional Rectangle Packing

Approximation of Two-Dimensional Rectangle Packing pproximtion of Two-imensionl Rectngle Pcking Pinhong hen, Yn hen, Mudit Goel, Freddy Mng S70 Project Report, Spring 1999. My 18, 1999 1 Introduction 1-d in pcking nd -d in pcking re clssic NP-complete

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

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

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

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

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

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

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

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

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

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

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

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

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

Categorical Skylines for Streaming Data

Categorical Skylines for Streaming Data Ctegoricl Skylines for Streming Dt ABSTRACT Nikos Srks University of Toronto nsrks@cs.toronto.edu Nick Kouds University of Toronto kouds@cs.toronto.edu The prolem of skyline computtion hs ttrcted considerle

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

2-3 search trees red-black BSTs B-trees

2-3 search trees red-black BSTs B-trees 2-3 serch trees red-lck BTs B-trees 3 2-3 tree llow 1 or 2 keys per node. 2-node: one key, two children. 3-node: two keys, three children. ymmetric order. Inorder trversl yields keys in scending order.

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

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

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

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

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

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

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

Approximation by NURBS with free knots

Approximation by NURBS with free knots pproximtion by NURBS with free knots M Rndrinrivony G Brunnett echnicl University of Chemnitz Fculty of Computer Science Computer Grphics nd Visuliztion Strße der Ntionen 6 97 Chemnitz Germny Emil: mhrvo@informtiktu-chemnitzde

More information