2 Computing all Intersections of a Set of Segments Line Segment Intersection
|
|
- Elaine Bryan
- 5 years ago
- Views:
Transcription
1 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, Preliminries The sweep-line prdigm is very powerful lgorithmic design technique. It s prticulrly useful for solving geometric prolems, ut it hs other pplictions s well. We ll illustrte this y presenting lgorithms for two prolems involving intersecting collections of line segments in 2-D. Generlly speking sweepline mens tht you re processing the dt in some order (e.g. left to right order). A dt structure is mintined tht keeps the informtion gleened from the prt of the dt currently to the left of the sweepline. The sweepline moves cross soring new pieces of the input nd incorporting them into its dt structure. Oviously this is very vgue. So let s get concrete nd solve some prolems. 2 Computing ll Intersections of Set of Segments Line Segment Intersection The input is set S of line segments in the plne (ech defined y pir of points). The output is list of ll the plces where these line segments intersect. As usul, we re going to mke our lives esier y mking some geometric ssumptions. We re going to ssume tht none of the segments is verticl. We ll lso ssume tht no three segments intersect t the sme point. We ll lso ssume tht no segment hs n endpoint tht is prt of nother segment. (These ssumptions cn e voided y dding some extr cses to the lgorithm tht do not chnge the running time ounds.) There s trivil O(n 2 ) lgorithm: Just pply segment intersection to ll pirs of segments. The solution we give here will e O((n + k) log n), where k is the numer of segment intersections found y the lgorithm. To get some intuition for wht s going to hppen, consider the following figure. 1
2 Events Here we hve six segments, clled,, c, d, e, f. There re lso two segment intersections. The interesting x-coordintes re the ones where something hppens: either segment egins, or segment ends, or two segments cross. The following figure shows verticl dshed line efore ech interesting x-coordinte. Aove the dshed line is list of the segments in the sme order they pper in the digrm, long tht dshed line. Sweep Line Intersections Between ny two neighoring events, the segments (in tht rnge of x) re in some order y y from ottom to top. This order (nd which segments re there) does not chnge etween pir of neighoring interesting x coordintes. We re going to mintin dt structure tht represents the list shown t the top of the digrm. Let s cll this segment list. Look t how this list chnges s we move cross the interesting x vlues. Only one of three things cn hppen. (1) A new segment is inserted into the list. (2) A segment is removed from the list. (3) Two neighoring segments in the list cross. 2
3 Our gol is to compute the intersections mong these segments. The key oservtion tht leds to good lgorithm is tht right efore two segments cross, they must e neighors in the segment list. So the key ide of the lgorithm is tht s our segment list evolves (s we process the interesting x coordintes from left to right), we only need to consider the possile intersections etween segments tht re neighors, t some point in time, in the segment list. So our lgorithm is going to mintin two dt structures. A segment list (SL) nd n event queue (EQ). Ech event in the EQ will e leled with its type ( segment strt, segment end, segments cross ), s well s the x vlue where this hppens. The EQ is initilized with ll the segment strts nd segment ends. The EQ dt structure must support insert, findmin, nd deletemin. It s just stndrd priority queue. Although segment is defined y its two endpoints, it s going to e useful to lso use slopeintercept representtion for the line contining the segment. So segment i will hve left nd right endpoint s well s pir (m i, i ) where m i is the slope of the line nd i is the y-intercept. Consider wht we need for the SL dt structure. The items eing stored re set of segments. The ordering used is the vlue of m i x+ i, where x is the current x vlue in the ongoing sweep-line lgorithm. Requirements for the SL dt structure: Insert new segment into the dt structure. Delete segment from the dt structure. Find the successor of segment in the dt structure. Find the predecessor of segment in the dt structure. All of these opertions cn e done in O(log n) time using ny stndrd serch tree dt structure (e.g. sply trees, or AVL trees). Note in SL, the keys of the nodes store (m i, i ) not the y vlue t the time of insertion. This is so tht when we insert new segment, we insert it in the right order. An exmple where this is importnt is inserting d in the following sitution: c d c d c In the ove exmple, we wnt to insert d ove even though it is elow the y coordinte of when ws inserted. Since we store (m i, i ), we cn compute the y-coordinte of ll the segments t the current point (here, the strt of d). Since the ordering only chnges t the interesting points, SL mintins the correct tree ordering. Now we cn write the complete lgorithm. Whenever the lgorithm sys CheckForIntersection (EQ,, ), this mens tht the pir of segments nd re tested for intersection. This function will lwys 3
4 e clled when nd re neighors in the SL. If they do intersect, CheckForIntersection dds the intersection event to the EQ. def FindSegmentIntersections(S): crete n empty priority queue EQ for ech segment S, insert its strt nd end events into EQ crete n empty lnced tree SL while (EQ is not empty) E := deletemin(eq) if E is strt of segment s then insert s into SL CheckForIntersect(EQ, s, successor of s) CheckForIntersect(EQ, s, predecessor of s) else if E is the end of segment s then CheckForIntersection (EQ, pred of s, succ of s) delete s from SL else if E is cross event for segments s 1 nd s 2 then println s 1 nd s 2 intersect remove s 1 nd s 2 from SL re insert s 1 nd s 2 into SL in the opposite order CheckForIntersection (EQ, s 1, new neighor of s 1 ) CheckForIntersection (EQ, s 2, new neighor of s 2 ) It s esy to see tht the running time of the lgorithm is O((n + k) log n) using the dt structures descried. Becuse there re O(n+k) events, nd ech one involves constnt numer of opertions on the SL nd EQ dt structures. 3 Counting Intersections of Circles As n exercise, how would you solve the prolem of computing ll the intersections of set of n circles in the plne? We cn gin imgine using plne sweep, wlking verticl line left-to-right cross the plne. We hve the following events: Circle Strt. The leftmost point on circle is reched. We need to strt trcking the circle. 4
5 Circle End. The rightmost point on circle hs een reched. We should stop trcking the circle. Circle Intersect. Output the intersection, nd modify our dt structure to ccount for the intersection. As with the line segment intersection prolem, two intersecting circles will e djcent on the sweep line just efore n intersection. 1 2 A compliction, however, is tht unlike in the line segment cse, we don t hve well-defined ordering of the circles long the sweep line. Prts of circle A cn e ove prts of circle B nd t the sme time prts of circle A cn e elow prts of circle B. But notice tht t ny point in time, the sweep line hits ech circle in t most two plces: the top semicircle nd the ottom semicircle. So, we cn represent ech circle y 2 semicircles. The sketch of the lgorithm is: 1. A priority queue EQ strts with leftmost nd rightmost points of the circles sorted y their x coordinte. As in the point sweep lgorithm, intersection points will e dded to the queue s we go. 2. When we encounter the strt event of circle c, we insert T ophlf(c) nd BottomHlf(c) into our lnced tree SL, keyed y the y coordinte of the strt event point. When we encounter the end event of circle c, we remove these two semicircles. 3. Otherwise, the lgorithm is the sme s for segments: whenever we dd, remove, or swp semicircle, we test its new neighors for intersection. The intersection test is it more complex ecuse we hve to test the intersection of two semicircles (ut you cn work this out on your own). 4 Blloon Pop Prolem: Suppose you re given n non-intersecting circles (lloons) in the plne, where circle i hs rdius r i nd center point q i. Find the line tht will intersect s mny circles s possile. 5
6 q i r i A first try. Note tht we cn lwys find solution tht is tngent some one of the circles: tke solution line nd trnslte it until it ecomes tngent. In fct, we cn lwys find solution tht is tngent to two circles: tke solution line tht is tngent to one circle, nd rotte it until it ecomes tngent to nother circle. Tht leds to n O(n 3 ) lgorithm: for every pir of circles, compute the four tngent lines tht go etween them, nd for ech of those lines, compute (y iterting through the circles) the numer of circles they intersect. Keep nd return the line with the most lloon hits. (This is n exmple of generl strtegy we hve seen efore: reduce prolem with seemingly infinite possile solutions to one with finite numer.) A etter lgorithm. We cn do etter, chieving running time of O(n 2 log n). This lgorithm uses severl plne sweeps of rotting line. We first use the fct tht some optiml line must e tngent to some circle. We guess tht it will e circle C (we ll try ll circles for this role). Every tngent line to C is cndidte, nd ech tngent line is specified y some ngle α. So the ide is to do sweep line, ut insted of moving the line long the x xis, we rotte it round s tngents to the circle C. See figure (): C β 1 α 1 () () As we re sweeping this line, wht re the interesting events? They re when the sweep line first intersects nd then leves (exits) nother circle. For circle i, these occur t ngles (α i,1, β i,1 ) nd (α i,2, β i,2 ), where the first element in ech pir is the entering ngle nd the second element is the corresponding leving ngle. We cn compute ll of these ngles in O(n) time y enumerting through the circles. 6
7 These ngles define intervls on the order of C (corresponding to the rnge of sweep lines tht will hit ech circle): β 1 α 1 C The ngle of gretest depth of coverge y intervls is the tngent line tht hit the lrgest numer of circles. To find this most highly covered ngle, we cn sort the ngles, nd visit them in incresing order. This corresponds to wlking round C. We keep counter depth, which we increment whenever we encounter n entering event, nd we decrement whenever we encounter leving event. We lso trck the mx vlue of the counter (nd corresponding tngent). One lst techniclity: when we strt wlking round the circle C, it my e tht some intervls cross the 0 ngle. To hndle this, we count those explicitly y mking first pss through the intervls (in O(n) time). We strt our depth counter t the numer of intervls tht cross the 0 ngle. To summrize: def MostBlloonPoppingLine(S): for C in S: for every Q in S \ C: compute α Q,1, β Q,1, α Q,2, β Q,2 depth = mx depth = numer of (α, β) intervls crossing ngle 0 L = sorted list of the α, β ngles for ech ngle γ in L: if γ is entering ngle: depth++ if γ is leving ngle: depth if depth > mx depth end mx depth = depth est line for C = γ end if mx depth > glol mx depth: est line = (C, est line for C ) The running time for ech C is O(n) to compute the ngles + O(n log n) to sort the ngles + O(n) to wlk through the ngles to find the mx. We hve to do this ll O(n) times, leding to finl run time of O(n 2 log n). 7
8 4.1 Computing α nd β ngles There re few different cses, ut they cn ll e solved with elementry trigonometry using the fct tht tngent line nd the line connecting the centers of the circles form prt of similr right tringles. Consider the cse t right: the tringle CRA is similr to the tringle QT A. We know the lengths of QT nd CR segments (they re the circle rdii, r Q nd r C ) nd we know the distnce d etween the circle centers. We cn therefore solve for d Q : d Q = r Q = d Q = r Qd d + d Q r C r C r Q when r C r Q (when the rdii re equl, the ngle of the tngent line is just the ngle etween their centers). The ngle QCR cn e computed s: cos 1 r c d + d Q which cn e sutrcted from the ngle 0CQ to otin α 1. The cse where the tngent crosses the CQ line is similr. A d Q Q d T C R α 1 0 8
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 information6.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 information9.1 apply the distance and midpoint formulas
9.1 pply the distnce nd midpoint formuls DISTANCE FORMULA MIDPOINT FORMULA To find the midpoint between two points x, y nd x y 1 1,, we Exmple 1: Find the distnce between the two points. Then, find the
More informationMTH 146 Conics Supplement
105- Review of Conics MTH 146 Conics Supplement In this section we review conics If ou ne more detils thn re present in the notes, r through section 105 of the ook Definition: A prol is the set of points
More informationFig.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 informationCOMP 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 informationCSCI 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 informationIf 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 informationWhat 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 information6.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 informationToday. 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 informationThe 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 informationP(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 informationa < 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 informationINTRODUCTION TO SIMPLICIAL COMPLEXES
INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min
More informationUnit #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 information1.5 Extrema and the Mean Value Theorem
.5 Extrem nd the Men Vlue Theorem.5. Mximum nd Minimum Vlues Definition.5. (Glol Mximum). Let f : D! R e function with domin D. Then f hs n glol mximum vlue t point c, iff(c) f(x) for ll x D. The vlue
More informationOrthogonal 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 informationsuch 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 information50 AMC LECTURES Lecture 2 Analytic Geometry Distance and Lines. can be calculated by the following formula:
5 AMC LECTURES Lecture Anlytic Geometry Distnce nd Lines BASIC KNOWLEDGE. Distnce formul The distnce (d) between two points P ( x, y) nd P ( x, y) cn be clculted by the following formul: d ( x y () x )
More informationCS311H: 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 informationRay surface intersections
Ry surfce intersections Some primitives Finite primitives: polygons spheres, cylinders, cones prts of generl qudrics Infinite primitives: plnes infinite cylinders nd cones generl qudrics A finite primitive
More information1 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 informationMATH 2530: WORKSHEET 7. x 2 y dz dy dx =
MATH 253: WORKSHT 7 () Wrm-up: () Review: polr coordintes, integrls involving polr coordintes, triple Riemnn sums, triple integrls, the pplictions of triple integrls (especilly to volume), nd cylindricl
More informationHyperbolas. Definition of Hyperbola
CHAT Pre-Clculus Hyperols The third type of conic is clled hyperol. For n ellipse, the sum of the distnces from the foci nd point on the ellipse is fixed numer. For hyperol, the difference of the distnces
More informationSection 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 informationSlides 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 information8.2 Areas in the Plane
39 Chpter 8 Applictions of Definite Integrls 8. Ares in the Plne Wht ou will lern out... Are Between Curves Are Enclosed Intersecting Curves Boundries with Chnging Functions Integrting with Respect to
More informationCSCI 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 informationPresentation 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 informationLecture 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 informationEXPONENTIAL & POWER GRAPHS
Eponentil & Power Grphs EXPONENTIAL & POWER GRAPHS www.mthletics.com.u Eponentil EXPONENTIAL & Power & Grphs POWER GRAPHS These re grphs which result from equtions tht re not liner or qudrtic. The eponentil
More informationStained Glass Design. Teaching Goals:
Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to
More informationBefore 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 informationcisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example:
cisc1110 fll 2010 lecture VI.2 cll y vlue function prmeters more on functions more on cll y vlue nd cll y reference pssing strings to functions returning strings from functions vrile scope glol vriles
More informationF. R. K. Chung y. University ofpennsylvania. Philadelphia, Pennsylvania R. L. Graham. AT&T Labs - Research. March 2,1997.
Forced convex n-gons in the plne F. R. K. Chung y University ofpennsylvni Phildelphi, Pennsylvni 19104 R. L. Grhm AT&T Ls - Reserch Murry Hill, New Jersey 07974 Mrch 2,1997 Astrct In seminl pper from 1935,
More informationDefinition 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 informationDr. 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 information4-1 NAME DATE PERIOD. Study Guide. Parallel Lines and Planes P Q, O Q. Sample answers: A J, A F, and D E
4-1 NAME DATE PERIOD Pges 142 147 Prllel Lines nd Plnes When plnes do not intersect, they re sid to e prllel. Also, when lines in the sme plne do not intersect, they re prllel. But when lines re not in
More informationcalled the vertex. The line through the focus perpendicular to the directrix is called the axis of the parabola.
Review of conic sections Conic sections re grphs of the form REVIEW OF CONIC SECTIONS prols ellipses hperols P(, ) F(, p) O p =_p REVIEW OF CONIC SECTIONS In this section we give geometric definitions
More informationLily 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 information1.1. Interval Notation and Set Notation Essential Question When is it convenient to use set-builder notation to represent a set of numbers?
1.1 TEXAS ESSENTIAL KNOWLEDGE AND SKILLS Prepring for 2A.6.K, 2A.7.I Intervl Nottion nd Set Nottion Essentil Question When is it convenient to use set-uilder nottion to represent set of numers? A collection
More informationMATH 25 CLASS 5 NOTES, SEP
MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid
More informationLanguages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *
Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte
More informationCS321 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 informationGraphs 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 informationFig.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 informationthis grammar generates the following language: Because this symbol will also be used in a later step, it receives the
LR() nlysis Drwcks of LR(). Look-hed symols s eplined efore, concerning LR(), it is possile to consult the net set to determine, in the reduction sttes, for which symols it would e possile to perform reductions.
More informationTopics in Analytic Geometry
Nme Chpter 10 Topics in Anltic Geometr Section 10.1 Lines Objective: In this lesson ou lerned how to find the inclintion of line, the ngle between two lines, nd the distnce between point nd line. Importnt
More informationZZ - 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 informationIn 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 informationAnnouncements. 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 information4452 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 informationGrade 7/8 Math Circles Geometric Arithmetic October 31, 2012
Fculty of Mthemtics Wterloo, Ontrio N2L 3G1 Grde 7/8 Mth Circles Geometric Arithmetic Octoer 31, 2012 Centre for Eduction in Mthemtics nd Computing Ancient Greece hs given irth to some of the most importnt
More informationCS 241 Week 4 Tutorial Solutions
CS 4 Week 4 Tutoril Solutions Writing n Assemler, Prt & Regulr Lnguges Prt Winter 8 Assemling instrutions utomtilly. slt $d, $s, $t. Solution: $d, $s, nd $t ll fit in -it signed integers sine they re 5-it
More informationGeometric transformations
Geometric trnsformtions Computer Grphics Some slides re bsed on Shy Shlom slides from TAU mn n n m m T A,,,,,, 2 1 2 22 12 1 21 11 Rows become columns nd columns become rows nm n n m m A,,,,,, 1 1 2 22
More informationUnit 5 Vocabulary. A function is a special relationship where each input has a single output.
MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with
More informationDistributed 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 informationTyping with Weird Keyboards Notes
Typing with Weird Keyords Notes Ykov Berchenko-Kogn August 25, 2012 Astrct Consider lnguge with n lphet consisting of just four letters,,,, nd. There is spelling rule tht sys tht whenever you see n next
More informationMA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork
MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html
More informationCSEP 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 information1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)
Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric
More informationCS201 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 informationArea & Volume. Chapter 6.1 & 6.2 September 25, y = 1! x 2. Back to Area:
Bck to Are: Are & Volume Chpter 6. & 6. Septemer 5, 6 We cn clculte the re etween the x-xis nd continuous function f on the intervl [,] using the definite integrl:! f x = lim$ f x * i )%x n i= Where fx
More informationToday. 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ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών
ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop
More informationIntermediate 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 informationInformation 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 informationCS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7.
CS 241 Fll 2017 Midterm Review Solutions Octoer 24, 2017 Contents 1 Bits nd Bytes 1 2 MIPS Assemly Lnguge Progrmming 2 3 MIPS Assemler 6 4 Regulr Lnguges 7 5 Scnning 9 1 Bits nd Bytes 1. Give two s complement
More informationCOMPUTER SCIENCE 123. Foundations of Computer Science. 6. Tuples
COMPUTER SCIENCE 123 Foundtions of Computer Science 6. Tuples Summry: This lecture introduces tuples in Hskell. Reference: Thompson Sections 5.1 2 R.L. While, 2000 3 Tuples Most dt comes with structure
More informationB. Definition: The volume of a solid of known integrable cross-section area A(x) from x = a
Mth 176 Clculus Sec. 6.: Volume I. Volume By Slicing A. Introduction We will e trying to find the volume of solid shped using the sum of cross section res times width. We will e driving towrd developing
More informationCSCI 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 informationTries. 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 informationSystems 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 informationCompression 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 informationMidterm 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 informationLecture 7: Integration Techniques
Lecture 7: Integrtion Techniques Antiderivtives nd Indefinite Integrls. In differentil clculus, we were interested in the derivtive of given rel-vlued function, whether it ws lgeric, eponentil or logrithmic.
More informationEECS150 - 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 informationMa/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 informationClass-XI Mathematics Conic Sections Chapter-11 Chapter Notes Key Concepts
Clss-XI Mthemtics Conic Sections Chpter-11 Chpter Notes Key Concepts 1. Let be fixed verticl line nd m be nother line intersecting it t fixed point V nd inclined to it t nd ngle On rotting the line m round
More informationSolutions to Math 41 Final Exam December 12, 2011
Solutions to Mth Finl Em December,. ( points) Find ech of the following its, with justifiction. If there is n infinite it, then eplin whether it is or. ( ) / ln() () (5 points) First we compute the it:
More informationA 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 informationPosition 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 informationDoubts about how to use azimuth values from a Coordinate Object. Juan Antonio Breña Moral
Douts out how to use zimuth vlues from Coordinte Ojet Jun Antonio Breñ Morl # Definition An Azimuth is the ngle from referene vetor in referene plne to seond vetor in the sme plne, pointing towrd, (ut
More informationGraphing Conic Sections
Grphing Conic Sections Definition of Circle Set of ll points in plne tht re n equl distnce, clled the rdius, from fixed point in tht plne, clled the center. Grphing Circle (x h) 2 + (y k) 2 = r 2 where
More informationUNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFORMATICS 1 COMPUTATION & LOGIC INSTRUCTIONS TO CANDIDATES
UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFORMATICS COMPUTATION & LOGIC Sturdy st April 7 : to : INSTRUCTIONS TO CANDIDATES This is tke-home exercise. It will not
More informationAgilent 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 informationSuffix trees, suffix arrays, BWT
ALGORITHMES POUR LA BIO-INFORMATIQUE ET LA VISUALISATION COURS 3 Rluc Uricru Suffix trees, suffix rrys, BWT Bsed on: Suffix trees nd suffix rrys presenttion y Him Kpln Suffix trees course y Pco Gomez Liner-Time
More informationIntroduction to Integration
Introduction to Integrtion Definite integrls of piecewise constnt functions A constnt function is function of the form Integrtion is two things t the sme time: A form of summtion. The opposite of differentition.
More informationSimplifying Algebra. Simplifying Algebra. Curriculum Ready.
Simplifying Alger Curriculum Redy www.mthletics.com This ooklet is ll out turning complex prolems into something simple. You will e le to do something like this! ( 9- # + 4 ' ) ' ( 9- + 7-) ' ' Give this
More informationProduct of polynomials. Introduction to Programming (in C++) Numerical algorithms. Product of polynomials. Product of polynomials
Product of polynomils Introduction to Progrmming (in C++) Numericl lgorithms Jordi Cortdell, Ricrd Gvldà, Fernndo Orejs Dept. of Computer Science, UPC Given two polynomils on one vrile nd rel coefficients,
More information12-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 informationCS143 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 informationSolving 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 informationThe Fundamental Theorem of Calculus
MATH 6 The Fundmentl Theorem of Clculus The Fundmentl Theorem of Clculus (FTC) gives method of finding the signed re etween the grph of f nd the x-xis on the intervl [, ]. The theorem is: FTC: If f is
More informationLesson 11 MA Nick Egbert
Lesson MA 62 Nick Eert Overview In this lesson we return to stndrd Clculus II mteril with res etween curves. Recll rom irst semester clculus tht the deinite interl hd eometric menin, nmel the re under
More informationSection 3.1: Sequences and Series
Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one
More informationPythagoras theorem and trigonometry (2)
HPTR 10 Pythgors theorem nd trigonometry (2) 31 HPTR Liner equtions In hpter 19, Pythgors theorem nd trigonometry were used to find the lengths of sides nd the sizes of ngles in right-ngled tringles. These
More informationMa/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 informationAnnouncements. 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