I/OEfficient Shortest Path Algorithms for Undirected Graphs with Random or Bounded Edge Lengths


 Fredrik Bonde
 11 dage siden
 Visninger:
Transkript
1 I/OEfficient Shortest Path Algorithms for Undirected Graphs with Random or Bounded Edge Lengths ULRICH MEYER, JohannWolfgangGoetheUniversität Frankfurt NORBERT ZEH, Dalhousie University We present I/Oefficient singlesource shortest path algorithms for undirected graphs. Our main result is an algorithm with I/O complexity O ( (nmlog L)/B + MST(n, m) ) on graphs with n vertices, m edges, and arbitrary edge lengths between 1 and L; MST(n, m) denotes the I/O complexity of computing a minimum spanning tree; B denotes the disk block size. If the edge lengths are drawn uniformly at random from (0, 1], the expected I/O complexity of the algorithm is O ( nm/b + (m/b)logb + MST(n, m) ). A simpler algorithm has expected I/O complexity O ( (nmlog B)/B + MST(n, m) ) for uniformly random edge lengths. Categories and Subject Descriptors: F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems Computations on discrete structures; G.2.2 [Discrete Mathematics]: Graph Theory Graph algorithms General Terms: Algorithms, Theory Additional Key Words and Phrases: Graph algorithms, I/Oefficient algorithms, memory hierarchies, shortest path algorithms ACM Reference Format: Mayer, U. and Zeh, N I/Oefficient shortest path algorithms for undirected graphs with random or bounded edge lengths. ACM Trans. Algor. 8, 3, Article 22 (July 2012), 28 pages. DOI = / INTRODUCTION Given a graph G, asource vertex s of G, and an assignment l : E R of real lengths to the edges of G, thesinglesource shortest path (SSSP) problem is to find the distance dist G (s, x) from s to every vertex x G. This distance is the length of a shortest path π(s, x) from s to x, where the length l(p) ofapathp is the total length of the edges in P and a shortest path from s to x is a path of minimum length; if no path exists from s to x, we define dist G (s, x) =+. The notion of a shortest path is welldefined only if G contains no negative cycles (cycles whose total edge length is negative). This is guaranteed if all edges in G have nonnegative lengths, an assumption that allows the An extended abstract of this article appeared in Proceedings of the 11 th European Symposium on Algorithms (ESA 03). Part of this work was done while N. Zeh was visiting the MaxPlanck Institut in Saarbrücken. U. Meyer was partially supported by DFG grant ME 3250/11 and by the Center for Massive Data Algorithmics (MADALGO) funded by the Danish National Research Foundation. N. Zeh s research was partially supported by the Natural Sciences and Engineering Research Council of Canada and the Canadian Foundation for Innovation. Authors addresses: U. Meyer, Institut für Informatik, JohannWolfgangGoetheUniversität, RobertMayer Strasse 1115, Frankfurt/Main, Germany; N. Zeh (corresponding author), Faculty of Computer Science, Dalhousie University, 6050 University Ave, Halifax, NS B3H 1W5, Canada; Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY USA, fax +1 (212) , or c 2012 ACM /2012/07ART22 $15.00 DOI /
2 22:2 U. Meyer and N. Zeh design of faster shortest path algorithms. We also make this assumption in this article, and we assume G is undirected. The SSSP problem has been studied extensively, leading to a host of algorithms to solve it. Most of these algorithms use the pointer machine or RAM (random access machine) model of computation, both of which assume a constant cost per memory access independent of the accessed memory location. Modern computers, however, have memory hierarchies consisting of several levels of cache, main memory, and disks. In such memory hierarchies, the access time for an individual data item may vary by several orders of magnitude, depending on the level in the hierarchy where it is currently stored. It is thus imperative, especially when dealing with large datasets, to design algorithms that are sensitive to the computer s memory hierarchy and try to minimize the number of accesses to slower memory levels. In this article, we develop I/Oefficient algorithms for the SSSP problem, with the goal of minimizing disk accesses in shortest path computations on graphs beyond the size of the computer s main memory. Assuming a twolevel memory hierarchy consisting of main memory and disk keeps our analysis reasonably simple and still leads to results relevant to largescale computations because main memory and disk are the two memory levels with by far the greatest difference in access times. We start with a review of previous work and a formal definition of the I/O model of computation; see Section 2. This includes a review of the I/Oefficient breadthfirst search (BFS) algorithm by Mehlhorn and Meyer [2002], which pioneered the ideas on which our algorithms are based. Our shortest path algorithms extend the ideas of Mehlhorn and Meyer in two ways. First, we replace the hot pool in the BFS algorithm with a hierarchy of hot pools. In Electronic Appendix A, we show that this idea alone, combined with a more efficient priority queue discussed in Section 3, leads to a shortest path algorithm with good averagecase performance on arbitrary graphs with uniformly random edge lengths. To obtain a worstcase efficient algorithm, we refine the clustering used in the BFS algorithm and combine it with a more sophisticated criterion where to store edges in the hot pool hierarchy. This algorithm is the main result of our article and is discussed in Section 4. In Electronic Appendix B, we analyze the averagecase performance of this algorithm and prove that it essentially matches that of the BFS algorithm by Mehlhorn and Meyer [2002]. We conclude with a discussion of open problems and mention some recent related work in Section PRELIMINARIES 2.1. I/O Model We use the standard I/O model with one (logical) disk [Aggarwal and Vitter 1988] to design and analyze our algorithms. In this model, the computer is equipped with a twolevel memory hierarchy consisting of an internal memory and a (diskbased) external memory. The internal memory is capable of holding M data items (vertices, edges, etc.), while the external memory is of conceptually unlimited size. All computation has to happen on data in internal memory. Data is transferred between internal and external memory in blocks of B consecutive data items. Such a transfer is referred to as an I/O operation or I/O. The cost of an algorithm in the I/O model is the number of I/O operations it performs. The number of I/Os needed to read N contiguous items from disk is scan(n) = N/B. The number of I/Os required to sort N items is sort(n) = ((N/B)log M/B (N/B)) [Aggarwal and Vitter 1988]. For all realistic values of N, M,and B, scan(n) < sort(n) N Previous Work The classical shortest path algorithm for graphs with arbitrary edge lengths but no negative cycles is the BellmanFord algorithm [Ford and Fulkerson 1962; Bellman 1958],
3 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:3 whose running time is O(nm). For graphs with nonnegative edge lengths, Dijkstra s algorithm [Dijkstra 1959], when implemented using a Fibonacci heap [Fredman and Tarjan 1987], has a running time of O(nlog n + m). These remain the best bounds in the absence of further knowledge about the graph. If the edge lengths are integers between 1 and L, integer priority queues by Van Emde Boas et al. [1977] and Ahuja et al. [1990] lead to shortest path algorithms with running times O(mlog log L) ando ( n log L + m ), respectively. For undirected graphs with arbitrary integer or floatingpoint edge lengths, Thorup [1999, 2000] proposed lineartime singlesource shortest path algorithms. Pettie and Ramachandran [2002] extended Thorup s results to graphs with real edge lengths, achieving a running time of O(mα(m, n) + nlog log L) on undirected graphs with edge lengths between 1 and L, where α(, ) is the inverse of Ackermann s function. All these algorithms use the pointer machine or RAM model of computation, both of which assume a constant cost per memory access independent of the accessed memory location. As pointed out in the introduction, this is far from true in modern computers with hierarchical memory architectures. Consequently, much work has focused on developing algorithms that minimize the number of accesses to slower memory levels, particularly to disk [Meyer et al. 2003; Vitter 2008]. Nearly I/Ooptimal algorithms exist for connectivity problems, such as computing connected components or a minimum spanning tree. The best deterministic algorithms for these problems perform O(sort(m)loglog(nB/m)) I/Os [Munagala and Ranade 1999; Arge et al. 2004a]. The best randomized algorithms perform O(sort(m)) I/Os with high probability [Chiang et al. 1995; Abello et al. 2002]. Much less is known about the I/O complexity of graph exploration problems, such as depthfirst search (DFS), breadthfirst search (BFS), and SSSP. The best bound for these problems on directed graphs is O((n + m/b)logn) I/Os [Kumar and Schwabe 1996; Buchsbaum et al. 2000], which is also the best DFS bound for undirected graphs. For a long time, the best bounds for BFS and SSSP in undirected graphs were O(n+ sort(m)) I/Os [Munagala and Ranade 1999] and O(n+(m/B)log(n/B)) I/Os [Kumar and Schwabe 1996], respectively. While these algorithms are efficient on dense graphs, they are only slightly better on sparse graphs than their internalmemory counterparts run in external memory. The challenge is to overcome the one I/O per vertex bottleneck in these algorithms. For undirected BFS, Mehlhorn and Meyer [2002] achieved this goal and developed an algorithm with I/O complexity O ( nm/b + MST(n, m) ), where MST(n, m) denotes the cost of computing a (minimum) spanning tree of the graph. For special graph classes, such as planar graphs and graphs of bounded treewidth, optimal SSSP algorithms with I/O complexity O(sort(n)) are known [Maheshwari and Zeh 2001; Arge et al. 2004a]. Haverkort and Toma [2006] showed how to extend the results for planar graphs to graphs that are nearly planar for different measures of nonplanarity. Recent work by Arge et al. [2004b] and Chowdhury and Ramachandran [2005] shows how to overcome the vertex bottleneck in allpairs shortest paths computations; also see Chowdhury s Ph.D. thesis [2007] The BFS Algorithm by Mehlhorn and Meyer [2002] One of the main challenges with I/Oefficient graph exploration is that the order in which vertices are visited is hard to predict. As a result, naïve graph exploration strategies take at least one random disk access to retrieve the adjacency list of each visited vertex, leading to a cost of O(n + m/b) I/Os for all adjacency list accesses. The undirected BFS algorithm by Munagala and Ranade [1999] incurs this cost for retrieving adjacency lists but performs only O(sort(m)) I/Os to construct the BFS tree
4 22:4 U. Meyer and N. Zeh from the retrieved adjacency lists. Thus, the key to improving on the algorithm s O(n+ sort(m)) I/O bound is to reduce the cost of adjacency list accesses. Mehlhorn and Meyer [2002] proposed the following solution to this problem. Partition the vertices of G into q = O(n/μ) vertex clusters V 1, V 2,...,V q such that any two vertices in the same cluster V k have distance at most μ from each other; μ is a parameter defined shortly. Such a partition can be computed using O(MST(n, m)) I/Os by computing a spanning tree of G, partitioning an Euler tour of this tree into 2n/μ subtours of length μ and placing the vertices visited by each subtour into their own vertex cluster V k ; vertices visited by more than one subtour are included in only one vertex cluster, chosen arbitrarily. Now concatenate the adjacency lists of the vertices in each vertex cluster V k to form a corresponding edge cluster E k and store the edges in each edge cluster consecutively on disk. After this preprocessing, construct the BFS tree level by level, using a hot pool of edges, H, to speed up adjacency list accesses. Initially, H is empty. Let L(i) betheset of vertices at distance i from s. In particular, L(0) ={s}. In the ith iteration, construct level L(i) from the two previous levels L(i 1) and L(i 2). First retrieve the adjacency lists of the vertices in L(i 1) to identify the neighbors of all vertices in L(i 1). L(i) is the subset of neighbors that do not belong to L(i 1) or L(i 2) and can be computed exactly as in Munagala and Ranade s [1999] algorithm. To retrieve the adjacency lists of the vertices in L(i 1), scan the hot pool H and identify all vertices in L(i 1) whose adjacency lists are not in H. Then load the edge clusters containing these adjacency lists into H and scan H a second time to retrieve and remove the adjacency lists of all vertices in L(i 1). The cost of loading edge clusters into the hot pool is O(n/μ + sort(m)) I/Os because it requires a random access to each edge cluster, followed by sorting the edges in the cluster by their tails and merging them into the hot pool. The hot pool is scanned a constant number of times per iteration of the algorithm. Thus, the contribution of an edge to the scanning cost of the hot pool depends on how long the edge remains in the hot pool. Assume the edge belongs to an adjacency list E y, is loaded into H as part of an edge cluster E k in the ith iteration of the algorithm, and is removed from H in the jth iteration. Then y V k, y L( j), and the loading of E k into H was triggered by a vertex x L(i) such that x V k.sincex and y belong to the same vertex cluster, their distance is at most μ, which implies that j i μ. Therefore, every edge contributes at most O(μ/B) to the scanning cost of the hot pool, and the total scanning cost of the hot pool is O(μm/B) I/Os. Since the cost of the BFS algorithm, excluding the retrieval of adjacency lists, is O(sort(m)) I/Os, the preprocessing takes O(MST(n, m)) I/Os, and the cost of loading edge clusters and manipulating the hot pool is O(n/μ+sort(m)+μm/B) I/Os, the total cost of the algorithm is O(n/μ + μm/b+ MST(n, m)) I/Os. The first two terms in this bound are balanced by choosing μ = nb/m, which leads to a bound of O ( nm/b + MST(n, m) ) on the total I/O complexity of the algorithm New Results We extend the ideas from the BFS algorithm sketched in Section 2.3 in several ways, in order to obtain fast undirected singlesource shortest path algorithms. Our first idea is to refine the hot pool structure used by Mehlhorn and Meyer [2002] to consist of several levels. The level where an edge is stored depends on its length. This idea, together with an efficient priority queue discussed in Section 3, leads to a simple SSSP algorithm with expected I/O complexity O ( (nmlog B)/B+ MST(n, m) ) on arbitrary undirected graphs with uniformly random edge lengths. This is discussed in Appendix A of the online version of this article.
5 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:5 By refining the cluster partition and choosing the hot pool where to store each edge more judiciously, we obtain our main result: a worstcase efficient algorithm with I/O complexity O ( (nmlog L)/B+ MST(n, m) ) on undirected graphs with real edge lengths between 1 and L. This algorithm is discussed in Section 4. In Appendix B of the online version, we provide an averagecase analysis of a slight modification of this algorithm, which shows that its expected I/O complexity on arbitrary graphs with uniformly random edge lengths is O ( nm/b + (m/b)logb + MST(n, m) ). For sparse graphs, this matches the I/O bound of the BFS algorithm by Mehlhorn and Meyer [2002] discussed in the previous section. 3. A BATCHED PRIORITY QUEUE Our algorithms are I/Oefficient variants of Dijkstra s algorithm and rely on a priority queue for their implementation. In this section, we discuss the bucket heap, a priority queue inspired by the internalmemory priority queue by Ahuja et al. [1990]. This priority queue is crucial for the efficiency of our algorithms for two reasons. In contrast to other I/Oefficient priority queues [Kumar and Schwabe 1996; Brodal et al. 2004; Chowdhury and Ramachandran 2004], the cost per operation does not depend on the number of elements in the priority queue but on the difference between minimum and maximum priority. In our algorithms, this difference is bounded by the ratio between maximum and minimum edge length. More importantly, the assignment of vertices to buckets in the bucket heap is a predictor of when a vertex will be visited, and this directly influences where its incident edges need to be stored in the hot pool hierarchy. Also, in order to improve their averagecase efficiency, our shortest path algorithms delay edge relaxations, and we use the inspection of buckets to determine how long the relaxation of each edge can be delayed without affecting the correctness of the algorithm. The bucket heap supports UPDATE(x, p), DELETE(x), and DELETEMIN operations. A DELETE(x) operation removes x from the priority queue. An UPDATE(x, p) operation inserts x into the priority queue, with priority p, ifx is currently not in the priority queue; otherwise it replaces x s current priority p(x) with min(p, p(x)). The behavior of the DELETEMIN operation is relaxed to allow it to return more than one element, as long as the returned elements satisfy the following properties. (PQ1) The element with minimum priority p min is among the returned elements. (PQ2) All returned elements have priority less than p min + 1. (PQ3) If an element x is returned by the DELETEMIN operation and another element y is left in the priority queue, then p(x) < p(y). The bucket heap implements these three operations correctly and efficiently if the sequence of UPDATE operations satisfies the following condition. CONDITION 1 (BOUNDED UPDATE CONDITION). Every UPDATE(x, p) operation satisfies p max < p p max + L, where p max is the maximum priority of all elements removed from the priority queue using DELETEMIN operations prior to this UPDATE operation and L is a parameter chosen in advance. If no elements have been removed using DELETEMIN operations before this UPDATE operation, p max = 0. Note that this condition, together with property (PQ3), implies that two elements x and y such that the DELETEMIN operation returning y succeeds the one returning x satisfy p(x) < p(y). In particular, p max never decreases and p(x) > p max, for all elements x in the priority queue at any point in time.
6 22:6 U. Meyer and N. Zeh 3.1. Lazy Priority Queues I/Oefficient priority queues avoid random accesses by performing updates lazily. We can think of such lazy structures as recording, for every element x, the sequence S x of UPDATEand DELETE operations performed on x.elementx is defined to be present in the priority queue if there is at least one UPDATE operation after the last DELETE operation in S x. The priority of element x is the minimum priority of all UPDATE operations after the last DELETE operation in S x.adeletemin operation has to satisfy properties (PQ1) (PQ3) with respect to all elements present in the priority queue. Moreover, for every returned element x,thedeletemin operation has to ensure that x is absent from the priority queue after the operation, which can be achieved by appending a DELETE operation to the end of S x. The priority queue may modify the recorded sequence S x, as long as these modifications do not affect the presence or absence of element x in the priority queue nor its priority. The following rewriting rules have this property. Every internalmemory priority queue can be thought of as recording S x for all x and, after each operation, applying these rewriting rules to the maximum possible extent. (RR1) A DELETE operation at the beginning of S x can be eliminated. (RR2) Any pair of consecutive operations in S x, the second one being a DELETE(x) operation, can be replaced with a single DELETE(x) operation. (RR3) Any pair of consecutive UPDATE operations in S x,update(x, p 1 )andupdate(x, p 2 ), can be replaced with an UPDATE(x, min(p 1, p 2 )) operation The Structure The bucket heap consists of r + 2 = log L +3 buckets Q 0, Q 1,...,Q r+1 storing the operations in sequences S x, for all elements x. The operations in each bucket are sorted by the elements they affect. For each element x, each bucket contains at most one DELETE(x) and one UPDATE(x, p) operation, with the DELETE operation preceding the UPDATE operation. The only exception to this sortedness condition and this restriction on the number of operations per element is bucket Q 0. We maintain the invariant that S x can be obtained by concatenating all operations affecting element x in order of decreasing bucket index and increasing position within each bucket. An UPDATE or DELETE operation simply appends itself to the end of bucket Q 0, thereby maintaining this invariant. Subsequently, the bucket where each operation is stored is determined by splitter priorities q 0 q 1 q r+2 =+. Initially, we set q 0 = 0andq i = 2 i 1, for all 1 i r +1. Each DELETEMIN operation inspects a subset of the buckets to retrieve the elements to be returned. Each UPDATE(x, p) operation with q i p < q i+1 is stored in the highest bucket Q j such that j i and Q j 1 has been inspected by a DELETEMIN operation since the UPDATE(x, p) operation was inserted into Q 0. Similarly, each DELETE(x) operation is stored in the highest bucket Q j such that Q j 1 has been inspected since its insertion into Q DELETEMIN Since UPDATE(x, p) and DELETE(x) operations simply append themselves to the end of bucket Q 0, the real work is done during DELETEMIN operations. Each such operation proceeds in two phases. In the upward phase, we inspect buckets by increasing index and push operations from each bucket to the next. The inspection of a bucket Q i moves every DELETE operation in Q i to Q i+1 but moves an UPDATE(x, p) operation to Q i+1 only if p q i+1. The upward phase ends when we reach a bucket Q i such that at least one UPDATE operation in Q i is not moved to Q i+1.inthedownward phase, we redefine the splitter priorities separating the buckets Q 0, Q 1,...,Q i inspected during the upward phase and then distribute the UPDATE operations in Q i over buckets Q 0, Q 1,...,Q i 1.At
7 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:7 the end of the downward phase, we output all data items corresponding to the UPDATE operations in Q 0. Next we provide the details of these two phases. Upward phase. First we sort the operations in bucket Q 0 by the elements they affect while not altering the order of operations affecting the same element. Thus, the sequence S x is not changed for any x. Next we eliminate, for each x, all operations affecting x and preceding the last DELETE(x) operation in Q 0. This corresponds to repeated applications of rule (RR2). If there are UPDATE(x, p) operations succeeding this DELETE(x) operation (or there is no DELETE(x) operation in Q 0 ), we eliminate all of these UPDATE operations, except the one with minimum priority. This corresponds to repeated applications of rule (RR3). Now we repeat the following for increasing bucket indices i, starting with i = 0. If i = r + 1, we eliminate all DELETE operations from Q i, which corresponds to an application of rule (RR1), and then enter the downward phase. If i r, we scan buckets Q i and Q i+1 to move operations from Q i to Q i+1. For every x, we process the operations in Q i that affect x in their order of appearance. If Q i contains a DELETE(x) operation, we remove all operations affecting x from Q i+1 and move the DELETE(x) operation from Q i to Q i+1. By the ordering of operations in Q i,this corresponds to repeated applications of rule (RR2). Next, if Q i contains an UPDATE(x, p) operation, we do the following. If Q i+1 contains an UPDATE(x, p ) operation, we remove it and replace the UPDATE(x, p) operation in Q i with an UPDATE(x, p ) operation, where p = min(p, p ). This corresponds to an application of rule (RR3). If Q i+1 contains no such operation, let p = p. Now we move the UPDATE(x, p ) operation from Q i to Q i+1 if p q i+1 or leave it in Q i if p < q i+1.in either case, S x is not altered further. Once all operations in bucket Q i have been processed in this manner, Q i contains no DELETE operations but may contain UPDATE operations. If Q i is empty, we iteratively apply this procedure to Q i+1. Otherwise we enter the downward phase. Downward phase. Let Q i be the last bucket inspected in the upward phase. Then Q i contains only UPDATE operations and buckets Q 0, Q 1,...,Q i 1 are empty. The downward phase empties Q i and distributes its contents over Q 0, Q 1,...,Q i 1. First we update the splitters q 0, q 1,...,q i, which determine where each element in Q i is sent. To this end, we scan bucket Q i and identify the UPDATE operation with minimum priority p min.wesetq 0 := p min and q j := min(q i+1, p min + 2 j 1 ), for all 0 < j i. Leth i be the highest index such that q h q i+1.ifi < r + 1, we replace q h with (2q h 1 + q i+1 )/3. Now we trickle UPDATE operations down, by repeating the following procedure for j = i, i 1,...,1: We scan bucket Q j, remove all UPDATE(x, p) operations with p < q j from Q j, and place them into Q j 1 without changing their order. Since q 0 = p min, bucket Q 0 contains at least one operation at the end of this phase unless the priority queue is empty. For each UPDATE(x, p) operation in Q 0,weoutput element x with priority p and then replace the UPDATE(x, p) operation with a DELETE(x) operation. This corresponds to the mandatory addition of a DELETE(x) operation to the end of S x after a DELETEMIN operation returns element x, followed immediately by an application of rule (RR2) Correctness To prove the correctness of the bucket heap, we need to verify that every priority queue operation correctly maintains the sequence S x of the affected element and that a DELETEMIN operation returns only elements that are present in the priority queue and satisfy conditions (PQ1) (PQ3). To do so, we need the following lemma.
8 22:8 U. Meyer and N. Zeh LEMMA 1. After a sequence of priority queue operations such that UPDATE operations satisfy the bounded update condition and DELETEMIN operations satisfy property (PQ3), every UPDATE(x, p) operation in Q i satisfies p q i, for all 0 i r. PROOF. First consider bucket Q 0.Initially,wehaveq 0 = 0 = p max. Subsequently, q 0 is updated only by DELETEMIN operations. Each such operation changes q 0 to the priority of an element returned by the DELETEMIN operation. Hence, we have q 0 p max at all times. On the other hand, we have p p max, for all UPDATE(x, p) operations in the priority queue, by property (PQ3) and the bounded update condition. Thus, p q 0,for all UPDATE(x, p) operations in Q 0. For a bucket Q i with i > 0, the upward phase of a DELETEMIN operation propagates an UPDATE(x, p) operation from Q i 1 to Q i only if p q i. The downward phase redefines some set of splitters q 0, q 1,...,q i and then distributes the operations in Q i over buckets Q 0, Q 1,...,Q i 1 so that every UPDATE(x, p) operation in Q j satisfies q j p < q j+1. The following lemma states invariants of the splitter priorities q 0, q 1,...,q r+2. Its proof if straightforward and therefore omitted. LEMMA 2. The splitter priorities q 0, q 1,...,q r+2 satisfy the following invariants: (i) 0 < q 1 q 0 1. (ii) For 1 i r, either q i+1 = q i or 2 i 1 /3 q i+1 q i 2 i 1. (iii) q r+2 =+. Using Lemmas 1 and 2, we can now prove the correctness of the bucket heap. LEMMA 3. The bucket heap is a correct priority queue, provided the sequence of UPDATE operations satisfies the bounded update condition. PROOF. We have already argued that UPDATE and DELETE operations correctly extend S x by appending themselves to the end of this sequence, and that all modifications of the buckets made by DELETEMIN operations correspond to applications of rules (RR1) (RR3). A DELETEMIN operation correctly eliminates every returned element x from the priority queue by appending a DELETE(x) operation to the end of S x. For every element x returned by a DELETEMIN operation, the UPDATE(x, p) operation in Q 0 is the last operation in S x. Hence, x is present in the priority queue at the time it is returned. Thus, it suffices to prove that p is the correct priority of element x and that the set of returned elements satisfies conditions (PQ1) (PQ3). Assume by induction that the DELETEMIN operations preceding the current DELETEMIN operation satisfy conditions (PQ1) (PQ3). The priority of an element x such that Q 0 contains an UPDATE(x, p) operation cannot be greater than p because this UPDATE(x, p) operation is the last operation in S x.any other UPDATE(x, p ) operation is stored in a bucket Q j with j 1 and, thus, by Lemma 1, has priority p q 1 > p. Hence, the priority of x is exactly p. Every element y that is present in the priority queue and has no UPDATE(y, p ) operation in Q 0 is represented by UPDATE(y, p ) operations in buckets starting with Q 1 and, thus, has priority at least q 1 > p. This proves properties (PQ1) and (PQ3). To prove property (PQ2), observe that all returned elements have priorities between q 0 and q 1, where the comparison with q 1 is strict. Thus, since q 1 q 0 1 (Lemma 2(i)), every returned element has priority less than p min I/O Complexity To analyze the I/O complexity of a sequence of operations on the bucket heap, we need the following observation and its corollary. It implies that every DELETEMIN operation
9 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:9 that scans buckets Q 0, Q 1,...,Q i leaves bucket Q i empty and, thus, forces the next DELETEMIN operation that scans Q i to also scan bucket Q i+1. OBSERVATION 1. If a DELETEMIN operation scans buckets Q 0, Q 1,...,Q i with 0 < i r, then q i = q i+1 after this operation. COROLLARY 1. If a DELETEMIN operation scans buckets Q 0, Q 1,...,Q i, where i > 0, each UPDATE(x, p) operation in Q i is moved to Q i+1 if p q i+1 or to a bucket Q j with j < iifp< q i+1.onceanupdate(x, p) operation moves from Q i to a bucket Q j with j < i, it never moves to a bucket Q h with h > j again. PROOF. If p q i+1, the upward phase of the DELETEMIN operation moves the UPDATE(x, p) operation to Q i+1.ifp < q i+1, the downward phase moves the operation to Q i 1 (and possibly lower) because, as we argue next, p < q i.ifi r, this follows because p < q i+1 and, by Observation 1, q i = q i+1 after updating splitters. If i = r + 1, observe that we set q j = p min + 2 j 1, for all 1 j r + 1, in this case. Hence, q r+1 = p min + 2 r = p min + 2 log L +1 > p min + L. As observed in Section 3, the bounded update condition implies that p min > p max and every UPDATE(x, p) operation in the priority queue satisfies p p max + L. Hence, we have p < q r+1, for every UPDATE(x, p) operation in Q r+1. An UPDATE(x, p) operation that moves to a bucket Q j with j < i satisfies q j p < q j+1. Since the priority of this operation does not change, it can move to bucket Q j+1 only after decreasing q j+1 to a value no greater than p, which requires bucket Q j to become empty first. For Q j to become empty, the UPDATE(x, p) operation has to be removed from Q j, either by moving it to a lower bucket or by deleting it. In either case, the operation does not move to Q j+1 again. It is easy to see that, with B(r + 2) = O(Blog L) main memory, we can afford to keep one block per bucket in main memory. This allows us to scan each bucket without first performing a random I/O to access the first block in the bucket, which is crucial for the proof of the next lemma. Since we always inspect a prefix Q 0, Q 1,...,Q i of the bucket hierarchy, however, we can reduce the main memory requirements to M = O(B) by storing the buckets on a stack and implementing the scanning of buckets using stack operations. LEMMA 4. A sequence of N UPDATE, DELETE, anddeletemin operations on a bucket heap can be processed using O(sort(N) + (N/B)logL) I/Os. PROOF. Every UPDATE or DELETE operation appends itself to bucket Q 0, while a DELETEMIN operation inserts one DELETE operation per returned element. Since every returned element can be charged to the UPDATE operation that inserted it into the priority queue, the total number of insertions of operations into bucket Q 0 is at most 2N. Appending these operations to bucket Q 0 takes O(N/B) I/Os. The total cost of sorting and compacting bucket Q 0 during DELETEMIN operations is O(sort(N)) I/Os. Indeed, the downward phase of a DELETEMIN operation leaves Q 0 empty, except for the DELETE operations affecting the returned elements. Hence, every operation in Q 0 at the beginning of a DELETEMIN operation was inserted into Q 0 as part of or after the downward phase of the previous DELETEMIN operation. Thus, every operation is involved in exactly one sorting and compaction step, and the total amount of data that is sorted and scanned is at most 2N. Moving operations between buckets involves scanning adjacent buckets. We prove that every operation is scanned only O(1) times per level. Thus, since there are O(N) operations and O(log L) levels, the cost of moving elements between buckets is O((N/B)logL) I/Os. There are three types of accesses to an operation: (1) as part of
10 22:10 U. Meyer and N. Zeh Q i when moving operations from Q i to Q i+1 in an upward phase, (2) as part of Q i+1 when moving operations from Q i to Q i+1 in an upward phase, and (3) as part of Q i when moving operations from Q i to Q i 1 in a downward phase. Accesses of type (1) happen at most twice per operation and level. Indeed, by Corollary 1, we can split the lifetime of every UPDATE operation into two stages. As long as it has not reached the highest bucket it will ever be stored in during its lifetime, we say the operation ascends. As soon as it reaches this highest bucket, it starts to descend. DELETE operations only ascend. While an operation ascends, every type (1) access moves it to the next bucket; this accounts for one type (1) access per level. Whenever a type (1) access to the operation is made while it descends, the bucket Q i containing it is the last bucket scanned by the DELETEMIN operation because the operation is not moved to Q i+1 and, hence, Q i is nonempty after this scan. The following downward phase moves the operation to Q i 1 or lower. Thus, there cannot be another type (1) access to this operation in Q i. Type (3) accesses happen only while an operation descends. Let Q i0 be the bucket where the operation starts descending, and let Q i1, Q i2,...,q ih be the buckets containing the operation at the ends of the DELETEMIN operations that make type (3) accesses to it. Then, by Corollary 1, i 0 > i 1 > > i h,andthedeletemin operation moving the operation from bucket Q i j to bucket Q i j+1 scans the operation once in each of the buckets Q i j, Q i j 1,...,Q i j+1. Thus, there are at most two type (3) accesses per operation and level. Finally, observe that the number of type (2) accesses is at most twice the number of type (1) accesses: Consider an operation in bucket Q i+1. If the upward phase of a DELETEMIN operation scans up to a bucket Q j, j > i, then the type (2) access to Q i+1 is followed immediately by a type (1) access. If Q i is the last bucket scanned by the upward phase, then, by Observation 1, the priority interval of Q i becomes empty and remains empty until operations from a higher bucket Q j, j > i, are distributed over buckets Q 0, Q 1,...,Q j 1. Thus, the next time a type (2) access is made to Q i+1, Q i remains empty, and the upward phase of the DELETEMIN operation does continue to Q i+1, resulting in a type (1) access to Q i+1. Lemmas 3 and 4 together prove the following result. THEOREM 1. The bucket heap is a priority queue that processes a sequence of N UPDATE, DELETE, anddeletemin operations using O(sort(N) + (N/B) logl) I/Os, provided the sequence satisfies the bounded update condition with parameter L. The final lemma of this section shows that the frequency of accesses to a bucket Q i decreases exponentially with increasing i, which is crucial for the analysis of the shortest path algorithm in the next section. In this lemma and in the rest of the article, we say a DELETEMIN operation inspects level i if the upward phase of this operation scans buckets Q i and Q i+1 to propagate operations from Q i to Q i+1. LEMMA 5. Consider two DELETEMIN operations o 1 and o 2 that both inspect a level i 1, assume o 1 occurs before o 2, and let p 1 and p 2 be the minimum priorities of the elements returned by o 1 and o 2, respectively. The DELETEMIN operations between o 1 and o 2, inclusive, inspect level i at most 2 + 3(p 2 p 1 )/2 i 1 times. PROOF. Leto 1 = o 1, o 2,...,o k = o 2 be the sequence of DELETEMIN operations between o 1 and o 2 that inspect level i. For each operation o j,letl( j) be the highest level inspected by operation o j, q j the value of q l( j) immediately before operation o j,andp j the minimum priority of all elements returned by operation o j. Then p j q j. Hence,
11 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:11 it suffices to prove that q j p 1 + ( j 2)2 i 1 /3. Moreover, it suffices to prove this claim for j > 1 because there is nothing to prove if k = 1. Consider first the case i r. We prove the claim by induction on j. For j = 2, we have to prove that q 2 p 1. By Observation 1, operation o 1 leaves the priority interval of bucket Q l(1) empty; therefore, l(2) l(1). If l(2) >l(1), we have p 1 = p 1 < q l(1)+1 q l(2) = q 2.Ifl(2) <l(1), then q 2 > p 1 because operation o 1 computes q 1, q 2,...,q l(1) by adding positive values to p 1. Now assume j > 2andq j 1 p 1+( j 3)2 i 1 /3. Again, we have l( j) l( j 1) because operation o j 1 leaves the priority interval of bucket Q l( j 1) empty. If l( j) >l( j 1), we have q j = q l( j) q l( j 1)+1 q l( j 1) + 2 l( j 1) 1 /3 q j 1 + 2i 1 /3 p 1 + ( j 2)2 i 1 /3, by Lemma 2(ii) and because l( j 1) i 1. If l( j) <l( j 1), then operation o j 1 must have assigned nonempty priority intervals to buckets Q 0, Q 1,...,Q l( j), because bucket Q l( j) is nonempty at the time of operation o j. Hence, q j = q l( j) p j 1 + 1/3 + l( j) 1 h=1 2 h 1 /3 q j 1 + 1/3 + l( j) 2 h=0 2 h /3 q j l( j) 1 /3 q j 1 + 2i 1 /3, as in the case l( j) >l( j 1). So the inductive claim holds in this case as well. Finally, if i = r + 1, observe that operations o 1, o 2,...,o k all scan bucket Q r+1. Operation o j sets q r+1 = p j + 2r q j + 2r. Hence, q j+1 q j + 2r, for all 1 j < q, thatis, q j+1 p 1 + j2 r. 4. A WORSTCASE EFFICIENT ALGORITHM FOR BOUNDED EDGE LENGTHS In this section, we prove our main result. THEOREM 2. Let G be an undirected graph with n vertices, m edges, and real edge lengths between 1 and L. The singlesource shortest path problem on G can be solved ( ) using O (nmlog L)/B + MST(n, m) I/Os. To obtain this result, we require the bucket heap from the previous section, a hot pool hierarchy whose manipulation will be closely tied to the manipulation of priority queue buckets, and a cluster partition that takes edge lengths into account. We describe the cluster partition in Section 4.1. In Section 4.2, we define cluster trees and present an algorithm to compute them efficiently. These trees encode the internal structure of the clusters in the cluster partition and provide the information necessary to choose the hot pool where to store each edge. In Section 4.3, we discuss the hot pool hierarchy and the shortest path algorithm A Weighted Cluster Partition Our algorithm uses a similar cluster partition as the lineartime shortest path algorithms for undirected graphs with integer and floatingpoint edge lengths by Thorup [1999, 2000]. For 0 i r = log L +1, let G i be the subgraph of G that contains all vertices of G and all edges in categories 1, 2,...,i, where a categoryi edge e satisfies 2 i 1 l(e) < 2 i. The category of a vertex is the minimum category of its incident edges. We call a connected component of G i an icomponent of G and denote the icomponent containing a vertex x by [x] i. Now fix some parameter 3 μ B.Anicluster is a vertex set V with the following properties. (C1) There exists an icomponent containing all vertices in V. (C2) Any two vertices in (i 1)components that are nondisjoint from V have distance at most μ2 i from each other in G.
12 22:12 U. Meyer and N. Zeh (C3) For every vertex x V and every j < i, the jcomponent [x] j has diameter less than μ2 j. We call i the category of cluster V. We call a partition of G into vertex clusters V 1, V 2,...,V q proper if it satisfies the following three conditions. (PP1) q = O(n/μ). (PP2) Every cluster V k is an icluster, for some i. (PP3) For every icomponent [x] i,either j i, for every jcluster containing a vertex from [x] i, or there exists at most one jcluster that contains vertices from [x] i and such that j i. In this section, we show how to compute a proper cluster partition of G efficiently. THEOREM 3. Given an undirected graph G with n vertices, m edges, and edge lengths between 1 and L, as well as a parameter 3 μ B, a proper cluster partition of G can be computed using O(MST(n, m) + (n/b)logl) I/Os. By the following observation, it suffices to compute a proper cluster partition of a minimum spanning tree T of G. OBSERVATION 2. A proper cluster partition of a minimum spanning tree T of G is also a proper cluster partition of G. To compute a proper cluster partition of T, we iterate over categories i = 1, 2,...,r and, for each i, partition the icomponents of T into iclusters. First we compute an Euler tour E([x] i ) for each icomponent [x] i. E([x] i ) is a list of directed edges yz such that, for every undirected edge yz [x] i, there exists an edge yz and an edge zy in E([x] i ) and, for any two consecutive edges in E([x] i ), the head of the first is the tail of the second. The length of an edge in E([x] i ) equals the length of its corresponding edge in [x] i. Now assume every vertex in T stores whether it has been added to a vertex cluster in a previous iteration. If all vertices in [x] i have been assigned to vertex clusters or E([x] i ) has length less than μ2 i and i < r, we do not partition [x] i into iclusters. Otherwise we split E([x] i ) into subtours E 1, E 2,...,E t, each of which defines an icluster. We inspect the edges in E([x] i ) in order, adding them to E 1 as long as the length of E 1 does not exceed μ2 i 1. As soon as the addition of the next edge would make the length of E 1 exceed μ2 i 1, we make this edge the first edge in a new subtour E 2 and continue adding edges to E 2 until its length is about to exceed μ2 i 1, and so on. For each (i 1)component [y] i 1,lethbe the minimum index such that E h visits a vertex in [y] i 1. We assign every vertex in [y] i 1 that has not been assigned to a vertex cluster yet to the vertex cluster corresponding to subtour E h and mark it as added to a cluster to prevent its addition to any other cluster in a subsequent iteration. Before discussing how to implement this procedure I/Oefficiently, we prove that the resulting cluster partition is proper. LEMMA 6. The preceding procedure computes a proper cluster partition of T (and, hence, of G). PROOF. First we prove that the computed clusters satisfy condition (PP2). More specifically, we prove that every cluster produced in the ith iteration is anicluster. Each such cluster V k is contained in an icomponent [x] i, that is, it satisfies condition (C1). To verify condition (C2), consider two vertices y and z such that [y] i 1 = [y ] i 1 and [z] i 1 = [z ] i 1, for two vertices y and z in V k.sincey, z V k, there exist two vertices y [y] i 1 and z [z] i 1 that are both visited by the subtour E h of E([x] i ) that defines V k. The length of E h is at most μ2 i 1,sodist T (y, z ) μ2 i 1. Since both [y] i 1 and [z] i 1 contain vertices that are unmarked at the beginning of the ith iteration namely
13 I/OEfficient Shortest Path Algorithms for Undirected Graphs 22:13 y and z we did not partition [y] i 1 or [z] i 1 into clusters in the (i 1)st iteration. This implies that E([y] i 1 )ande([z] i 1 ) have length at most μ2 i 1,thatis,[y] i 1 and [z] i 1 have diameter at most μ2 i 2 and dist T (y, y ) μ2 i 2 and dist T (z, z) μ2 i 2.By summing these distances, we obtain dist T (y, z) μ2 i. Finally, to verify condition (C3), observe that every jcomponent [x] j such that E([x] j ) has length at least μ2 j is partitioned into clusters in the jth iteration. Thus, if [x] j contributes vertices to an icluster with i > j, E([x] j ) has length less than μ2 j and, hence, the diameter of [x] j is less than μ2 j. Next we verify condition (PP3). If all vertices in an icomponent [x] i are assigned to clusters by the end of the ith iteration, all clusters containing vertices from [x] i are jclusters with j i. Otherwise we cannot have partitioned [x] i into clusters in the ith iteration, that is, all clusters that contain vertices in [x] i and were formed during the first i iterations are jclusters with j < i. Now consider the minimum j > i such that E([x] j ) has length at least μ2 j or j = r. Then all unassigned vertices in [x] j are assigned to clusters in the jth iteration, and the construction explicitly ensures that the unassigned vertices in [x] j 1 [x] i are placed into the same cluster. Thus, [x] i satisfies condition (PP3). To verify condition (PP1), let m i denote the number of categoryi edges, and q i the number of clusters produced in the ith iteration. The total length of the Euler tours of all icomponents is l i < 2 i j=1 2 j m j.ifi < r, onlyicomponents whose Euler tours have length at least μ2 i are partitioned into clusters; thus, there are c i l i /(μ2 i ) icomponents that are partitioned into clusters. For i = r, wehavec r = 1. Each cluster, except the last one in each component, corresponds to a subtour E h of length at least (μ 2)2 i 1. Indeed, adding another edge e to E h would produce a subtour of length greater than μ2 i 1.Sincee is in a category j i, its length is less than 2 i, which implies that the length of E h is at least (μ 2)2 i 1. This implies that each icomponent whose Euler tour has length l μ2 i is partitioned into l/((μ 2)2 i 1 ) l/((μ 2)2 i 1 ) + 1 clusters. By summing over all such icomponents, we obtain that, for i < r, the total number of iclusters is q i c i + For i = r, the number of rclusters is q r 1 + i=1 l i (μ 2)2 3l i 6 i 1 (μ 2)2 i (μ 2)2 i i 2 j m j. j=1 l r (μ 2)2 r l r (μ 2)2 r (μ 2)2 r j=1 j=1 i=0 r 2 j m j. By summing over all i, we obtain that the total number of clusters is at most ( ) r j r i r 2 j m (μ 2)2 i j 6m j r = i 12m j 1 + μ 2 μ 2 = (n 1) μ 2 = O j=1 ( ) n. μ To prove Theorem 3, it remains to show how to implement the clustering procedure I/Oefficiently. We compute a minimum spanning tree T of G andaneulertoure(t )of T. This takes O(MST(n, m)) and O(sort(n)) I/Os, respectively [Arge et al. 2004a; Chiang et al. 1995]. By sorting and scanning E(T ), we identify the first occurrence of every vertex in E(T ) and label it as unassigned to a cluster. Next we proceed in r iterations. In the ith iteration, we scan E(T ) twice and form iclusters. j=1
14 22:14 U. Meyer and N. Zeh In both scans, we distinguish between forward and backward edges pointing away from and toward the start vertex of E(T )int, respectively. To do so, we maintain a stack E that stores all edges of T we have traversed only once so far. In a forward scan of E(T ), if the edge yx corresponding to the current edge xy is not on the top of stack E, thenxy is a forward edge, and we push it onto E. If edge yx is on the top of stack E, then xy is a backward edge, and we pop edge yx from E. In a backward scan of E(T ), the roles of forward and backward edges are reversed. Our discussion of the two scans of E(T ) that follows does not include the maintenance of stack E, but both scans update E to distinguish between the two types of edges. In the first scan of the ith iteration, we scan E(T ) backward and label the first vertex in each icomponent [x] i visited by E(T ) with the total length of E([x] i ). To this end, we maintain a stack L that stores the current length of E([x] i ), for every partially traversed icomponent [x] i. Initially, L stores a length of 0 to represent the icomponent containing the last vertex of E(T ) (which is also the first vertex of E(T )). As we scan E(T ) backward, we do the following for every edge xy. If the category of edge xy is at most i, we add l(xy) to the top entry of stack L, as edge xy contributes to the length of E([x] i ). If the category of edge xy is greater than i, then[x] i [y] i.ifxy is a forward edge, we are done traversing [y] i and the top entry of stack L stores the length of E([y] i ). We pop this entry from L and store it with edge xy. Ifxy is a backward edge, we are entering a new icomponent [x] i and push a new entry, initially 0, onto L. After all edges of E(T ) have been inspected, L contains one entry, which represents the length of the Euler tour of the icomponent containing the start vertex of E(T ). We store this length with this start vertex. The second scan scans E(T ) forward and partitions the icomponents of T into i clusters. We maintain three stacks: L, R, and C. L stores, for each partially traversed icomponent, the length of the traversed portion of its Euler tour. R stores the ID of the most recently created cluster in each such component. C stores the IDs of the clusters to which the unassigned vertices in partially traversed (i 1)components are to be assigned. Initially, all three stacks are empty. Next we push entries representing the icomponent [x] i containing the start vertex x of E(T ) onto these three stacks. We do this by pretending to traverse a category forward edge with head x and processing it as described shortly. Then we process the edges of E(T ) in order. The actions we take for each edge xy in E(T ) depend on its category. If the category of edge xy is greater than i, then[x] i [y] i.ifxy is a forward edge, y is the first vertex of [y] i we visit and edge xy stores the length of E([y] i ). If E([y] i ) has length at least μ2 i ([y] i is to be partitioned into iclusters), we create a new cluster ID k andpushitontostacksc and R to indicate that all unassigned vertices in [y] i 1 are to be assigned to cluster V k.wealsopusha0ontostackl. If vertex y has not been assigned to a cluster yet, we add a pair (y, k) to a list P to indicate that y V k and mark vertex y as assigned to a cluster. If E([y] i ) has length less than μ2 i, we push NIL onto stack C to indicate that [y] i is not to be partitioned into clusters. Nothing is pushed onto L or R in this case. If xy is a backward edge, we are done traversing [x] i, and we remove the topmost entry from stack C. If this entry is nonnil, we also remove the topmost entries from stacks L and R. If the category of edge xy is i, then[x] i = [y] i but [x] i 1 [y] i 1. If the top of stack C is a cluster ID k NIL ([x] i is to be partitioned into iclusters), we add l(xy) to the top entry of stack L. Ifxy is a backward edge, we pop the top entry from C because we have finished traversing the (i 1)component [x] i 1 corresponding to
Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006  Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16 bit words
Læs mereOn the complexity of drawing trees nicely: corrigendum
Acta Informatica 40, 603 607 (2004) Digital Object Identifier (DOI) 10.1007/s002360040138y On the complexity of drawing trees nicely: corrigendum Thorsten Akkerman, Christoph Buchheim, Michael Jünger,
Læs merePrivat, statslig eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende
Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind
Læs mereResource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.
System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request
Læs mereBlack Jack  Review. Spring 2012
Black Jack  Review Spring 2012 Simulation Simulation can solve realworld problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict
Læs merePortal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration
Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the
Læs mereLinear Programming ١ C H A P T E R 2
Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation
Læs mereVina Nguyen HSSP July 13, 2008
Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between
Læs mereSkriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mereSign variation, the Grassmannian, and total positivity
Sign variation, the Grassmannian, and total positivity arxiv:1503.05622 Slides available at math.berkeley.edu/~skarp Steven N. Karp, UC Berkeley FPSAC 2015 KAIST, Daejeon Steven N. Karp (UC Berkeley) Sign
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc  02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc  02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs mereUser Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Læs mereBasic statistics for experimental medical researchers
Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) Email:
Læs mereAktivering af Survey funktionalitet
Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette
Læs mereGeneralized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US
Generalized Probit Model in Design of Dose Finding Experiments Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Outline Motivation Generalized probit model Utility function Locally optimal designs
Læs mereCHAPTER 8: USING OBJECTS
Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied
Læs mereUnitel EDI MT940 June 2010. Based on: SWIFT Standards  Category 9 MT940 Customer Statement Message (January 2004)
Unitel EDI MT940 June 2010 Based on: SWIFT Standards  Category 9 MT940 Customer Statement Message (January 2004) Contents 1. Introduction...3 2. General...3 3. Description of the MT940 message...3 3.1.
Læs mereSkriftlig Eksamen Diskret matematik med anvendelser (DM72)
Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Institut for Matematik & Datalogi Syddansk Universitet, Odense Onsdag den 18. januar 2006 Alle sædvanlige hjælpemidler (lærebøger, notater etc.),
Læs mereThe X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen
The X Factor Målgruppe 710 klasse & ungdomsuddannelser Engelskundervisningen Læringsmål Eleven kan give sammenhængende fremstillinger på basis af indhentede informationer Eleven har viden om at søge og
Læs merePopular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING. Popular Sorting Algorithms. Selection Sort 4/23/2013
Popular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING Introduction to Computer Science Using Ruby Computers spend a tremendous amount of time sorting The sorting problem: given a list of elements in
Læs mereSkriftlig Eksamen Beregnelighed (DM517)
Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner
Læs mereExercise 6.14 Linearly independent vectors are also affinely independent.
Affine sets Linear Inequality Systems Definition 6.12 The vectors v 1, v 2,..., v k are affinely independent if v 2 v 1,..., v k v 1 is linearly independent; affinely dependent, otherwise. We first check
Læs mereHelp / Hjælp
Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association
Læs mereCurve Modeling BSpline Curves. Dr. S.M. Malaek. Assistant: M. Younesi
Curve Modeling BSpline Curves Dr. S.M. Malaek Assistant: M. Younesi Motivation BSpline Basis: Motivation Consider designing the profile of a vase. The left figure below is a Bézier curve of degree 11;
Læs mereDet er muligt at chekce følgende opg. i CodeJudge: og
Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.
Læs mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereECE 551: Digital System * Design & Synthesis Lecture Set 5
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE
Læs mereVores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.
På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUSregi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og
Læs mereUserguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0
Userguide NN Markedsdata for Microsoft Dynamics CRM 2011 v. 1.0 NN Markedsdata www. Introduction Navne & Numre Web Services for Microsoft Dynamics CRM hereafter termed NNDynCRM enable integration to Microsoft
Læs mereBesvarelser til Lineær Algebra Reeksamen Februar 2017
Besvarelser til Lineær Algebra Reeksamen  7. Februar 207 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende
Læs mereLarge Scale Sequencing By Hybridization. Tel Aviv University
Large Scale Sequencing By Hybridization Ron Shamir Dekel Tsur Tel Aviv University Outline Background: SBH Shotgun SBH Analysis of the errorless case Analysis of errorprone Sequencing By Hybridization
Læs mereATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.
ATEX direktivet Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.dk tlf: 7220 2693 Vedligeholdelse af Certifikater / tekniske dossier / overensstemmelseserklæringen.
Læs mereSatisability of Boolean Formulas
SAT exercises 1 March, 2016 slide 1 Satisability of Boolean Formulas Combinatorics and Algorithms Prof. Emo Welzl Assistant: (CAB G36.1, cannamalai@inf.ethz.ch) URL: http://www.ti.inf.ethz.ch/ew/courses/sat16/
Læs mereSpecial VFR.  ved flyvning til mindre flyveplads uden tårnkontrol som ligger indenfor en kontrolzone
Special VFR  ved flyvning til mindre flyveplads uden tårnkontrol som ligger indenfor en kontrolzone SERA.5005 Visual flight rules (a) Except when operating as a special VFR flight, VFR flights shall be
Læs mereMolio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,
Molio specifications, development and challenges ICIS DA 2019 Portland, Kim Streuli, Molio, 20190604 Introduction The current structure is challenged by different factors. These are for example : Complex
Læs mereLøsning af skylineproblemet
Løsning af skylineproblemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle
Læs mereDen nye Eurocode EC Geotenikerdagen Morten S. Rasmussen
Den nye Eurocode EC19971 Geotenikerdagen Morten S. Rasmussen UDFORDRINGER VED EC 19971 HVAD SKAL VI RUNDE  OPBYGNINGEN AF DE NYE EUROCODES  DE STØRSTE UDFORDRINGER  ER DER NOGET POSITIVT? 2 OPBYGNING
Læs mereDagens program. Incitamenter 4/19/2018 INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER. Incitamentsproblem 1 Understøttes procesforbedringer
INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER Ivar Friis, Institut for produktion og erhvervsøkonomi, CBS 19. april Alumni oplæg Dagens program 2 Incitamentsproblem 1 Understøttes procesforbedringer
Læs mereEngineering of Chemical Register Machines
Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.unijena.de 2. June 2008 Outline 1 Motivation Goal Realization
Læs mereThe complete construction for copying a segment, AB, is shown above. Describe each stage of the process.
A a compass, a straightedge, a ruler, patty paper B C A Stage 1 Stage 2 B C D Stage 3 The complete construction for copying a segment, AB, is shown above. Describe each stage of the process. Use a ruler
Læs mereEngelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.
052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation
Læs mereAggregation based on road topologies for large scale VRPs
Aggregation based on road topologies for large scale VRPs Eivind Nilssen, SINTEF Oslo, June 1214 2008 1 Outline Motivation and background Aggregation Some results Conclusion 2 Motivation Companies with
Læs mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereTrolling Master Bornholm 2016 Nyhedsbrev nr. 3
Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 English version further down Den første dag i Bornholmerlaks konkurrencen Formanden for Bornholms Trollingklub, Anders Schou Jensen (og meddomer i TMB) fik
Læs mereEngelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og
052431_EngelskD 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau D www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation
Læs mereDET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS BIBLIOTEK. Index
DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE
Læs mereSusan Svec of Susan s Soaps. Visit Her At:
Susan Svec of Susan s Soaps Visit Her At: www.susansoaps.com Background Based on AllNatural Soap and Other Products Started Due to Experience with Eczema Common Beginning Transition to Business Started
Læs mereSkriftlig Eksamen Beregnelighed (DM517)
Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 7 Januar 2008, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner
Læs mereBilag. Resume. Side 1 af 12
Bilag Resume I denne opgave, lægges der fokus på unge og ensomhed gennem sociale medier. Vi har i denne opgave valgt at benytte Facebook som det sociale medie vi ligger fokus på, da det er det største
Læs mereStrings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +
Strings and Sets: A string over Σ is any nitelength sequence of elements of Σ The set of all strings over alphabet Σ is denoted as Σ Operators over set: set complement, union, intersection, etc. set concatenation
Læs mereRichter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013
Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013 OVERVIEW I m working with Professor Evans in the Philosophy Department on his own edition of W.E.B.
Læs mereShooting tethered med Canon EOSD i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OSX 10.7.5 & 10.8
Shooting tethered med Canon EOSD i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OSX 10.7.5 & 10.8 For Canon EOSD ejere der fotograferer Shooting tethered med EOSUtility eller
Læs mereProbabilistic properties of modular addition. Victoria Vysotskaya
Probabilistic properties of modular addition Victoria Vysotskaya JSC InfoTeCS, NPK Kryptonite CTCrypt 19 / June 4, 2019 vysotskaya.victory@gmail.com Victoria Vysotskaya (Infotecs, Kryptonite) Probabilistic
Læs mereForslag til implementering af ResearcherID og ORCID på SCIENCE
SCIENCE Forskningsdokumentation Forslag til implementering af ResearcherID og ORCID på SCIENCE SFU 12.03.14 Forslag til implementering af ResearcherID og ORCID på SCIENCE Hvad er WoS s ResearcherID? Hvad
Læs mereFejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request ValidateRequestRegist ration (Rules :1)
Fejlbeskeder i SMDB Validate Business Rules Request ValidateRequestRegist ration (Rules :1) Business Rules Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl
Læs mereCS 4390/5387 SOFTWARE V&V LECTURE 5 BLACKBOX TESTING  2
1 CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACKBOX TESTING  2 Outline 2 HW Solution Exercise (Equivalence Class Testing) Exercise (Decision Table Testing) Pairwise Testing Exercise (Pairwise Testing) 1 Homework
Læs mereBookingmuligheder for professionelle brugere i Dansehallerne 201516
Bookingmuligheder for professionelle brugere i Dansehallerne 201516 Modtager man økonomisk støtte til et danseprojekt, har en premieredato og er professionel bruger af Dansehallerne har man mulighed for
Læs mereApplications. Computational Linguistics: Jordan BoydGraber University of Maryland RL FOR MACHINE TRANSLATION. Slides adapted from Phillip Koehn
Applications Slides adapted from Phillip Koehn Computational Linguistics: Jordan BoydGraber University of Maryland RL FOR MACHINE TRANSLATION Computational Linguistics: Jordan BoydGraber UMD Applications
Læs mereDifferential Evolution (DE) "Biologicallyinspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark
Differential Evolution (DE) Differential Evolution (DE) (Storn and Price, 199) Step 1  Initialize and evaluate Generate a random start population and evaluate the individuals x 2 search space x 1 Differential
Læs mereSortering fra AZ. Henrik Dorf Chefkonsulent SAS Institute
Sortering fra AZ Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra AÅ? Det er for svært Hvorfor ikke sortering fra AÅ? Hvorfor ikke sortering fra AÅ? Hvorfor ikke sortering fra AÅ?
Læs mereTrolling Master Bornholm 2014
Trolling Master Bornholm 2014 (English version further down) Ny præmie Trolling Master Bornholm fylder 10 år næste gang. Det betyder, at vi har fundet på en ny og ganske anderledes præmie. Den fisker,
Læs mereTrolling Master Bornholm 2014
Trolling Master Bornholm 2014 (English version further down) Populært med tidlig færgebooking Booking af færgebilletter til TMB 2014 er populært. Vi har fået en stribe mails fra teams, som har booket,
Læs mereUniversity of Copenhagen Faculty of Science Written Exam  3. April Algebra 3
University of Copenhagen Faculty of Science Written Exam  3. April 2009 Algebra 3 This exam contains 5 exercises which are to be solved in 3 hours. The exercises are posed in an English and in a Danish
Læs mereHeuristics for Improving
Heuristics for Improving Model Learning Based Testing Muhammad Naeem Irfan VASCOLIG LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d Hères France Introduction Component Based Software
Læs mereUnited Nations Secretariat Procurement Division
United Nations Secretariat Procurement Division Vendor Registration Overview Higher Standards, Better Solutions The United Nations Global Marketplace (UNGM) Why Register? Online registration Free of charge
Læs mereObservation Processes:
Observation Processes: Preparing for lesson observations, Observing lessons Providing formative feedback Gerry Davies Faculty of Education Preparing for Observation: Task 1 How can we help studentteachers
Læs mereBusiness Rules Fejlbesked Kommentar
Fejlbeskeder i SMDB Validate Business Request ValidateRequestRegi stration ( :1) Business Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl 1: Anmodning En
Læs mereSouth Baileygate Retail Park Pontefract
Key Details : available June 2016 has a primary shopping catchment of 77,000 (source: PMA), extending to 186,000 within 10km (source: FOCUS) 86,000 sq ft of retail including Aldi, B&M, Poundstretcher,
Læs mereSkidding System. Challenge Us
Skidding System n Malm Orstads cutting edge Engineering department designs and fabricates tailor made skidding systems for all kinds of enviroments. Our skidding systems are amongst the most efficient
Læs mereUNISONIC TECHNOLOGIES CO.,
UNISONIC TECHNOLOGIES CO., 3 TERMINAL 1A NEGATIVE VOLTAGE REGULATOR DESCRIPTION 1 TO263 The UTC series of threeterminal negative regulators are available in TO263 package and with several fixed output
Læs mereFejlbeskeder i Stofmisbrugsdatabasen (SMDB)
Fejlbeskeder i Stofmisbrugsdatabasen (SMDB) Oversigt over fejlbeskeder (efter fejlnummer) ved indberetning til SMDB via webløsning og via webservices (hvor der dog kan være yderligere typer fejlbeskeder).
Læs mereAgenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark
Agenda The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark Colitis and Crohn s association Denmark. Charlotte
Læs mereHandling Sporadic Tasks in Off Line Scheduled Distributed Real Time Systems
Handling Sporadic Tasks in Off Line Scheduled Distributed Real Time Systems Damir Isović & Gerhard Fohler Department of Computer Engineering Mälardalen University, Sweden Presented by : Aseem Lalani Outline
Læs mereSkriftlig Eksamen Automatteori og Beregnelighed (DM17)
Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Campus Lørdag, den 15. Januar 2005 Alle sædvanlige hjælpemidler (lærebøger, notater
Læs mereStatistical information form the Danish EPC database  use for the building stock model in Denmark
Statistical information form the Danish EPC database  use for the building stock model in Denmark Kim B. Wittchen Danish Building Research Institute, SBi AALBORG UNIVERSITY Certification of buildings
Læs mereConstant Terminal Voltage. Industry Workshop 1 st November 2013
Constant Terminal Voltage Industry Workshop 1 st November 2013 Covering; Reactive Power & Voltage Requirements for Synchronous Generators and how the requirements are delivered Other countries  A different
Læs mereEvaluating Germplasm for Resistance to Reniform Nematode. D. B. Weaver and K. S. Lawrence Auburn University
Evaluating Germplasm for Resistance to Reniform Nematode D. B. Weaver and K. S. Lawrence Auburn University Major objectives Evaluate all available accessions of G. hirsutum (TX list) for reaction to reniform
Læs mereRoE timestamp and presentation time in past
RoE timestamp and presentation time in past Jouni Korhonen Broadcom Ltd. 5/26/2016 9 June 2016 IEEE 1904 Access Networks Working Group, Hørsholm, Denmark 1 Background RoE 2:24:6 timestamp was recently
Læs mereHow Long Is an Hour? Family Note HOME LINK 8 2
8 2 How Long Is an Hour? The concept of passing time is difficult for young children. Hours, minutes, and seconds are confusing; children usually do not have a good sense of how long each time interval
Læs mereA multimodel data assimilation framework for hydrology
A multimodel data assimilation framework for hydrology Antoine Thiboult, François Anctil Université Laval June 27 th 2017 What is Data Assimilation? Use observations to improve simulation 2 of 8 What is
Læs mereOptimal Aggregation Algorithms for Middleware
Optimal Aggregation Algorithms for Middleware Ronald Fagin Amnon Lotem y Moni Naor z Abstract: Assume that each object in a database has m grades, or scores, one for each of m attributes. For example,
Læs mereTrolling Master Bornholm 2012
Trolling Master Bornholm 1 (English version further down) Tak for denne gang Det var en fornøjelse især jo også fordi vejret var med os. Så heldig har vi aldrig været før. Vi skal evaluere 1, og I må meget
Læs mereUniversity of Copenhagen Faculty of Science Written Exam April Algebra 3
University of Copenhagen Faculty of Science Written Exam  16. April 2010 Algebra This exam contains 5 exercises which are to be solved in hours. The exercises are posed in an English and in a Danish version.
Læs mereTrolling Master Bornholm 2015
Trolling Master Bornholm 2015 (English version further down) Sæsonen er ved at komme i omdrejninger. Her er det John Eriksen fra Nexø med 95 cm og en kontrolleret vægt på 11,8 kg fanget på østkysten af
Læs mereTitel: Barry s Bespoke Bakery
Titel: Tema: Kærlighed, kager, relationer Fag: Engelsk Målgruppe: 8.10.kl. Data om læremidlet: Tvudsendelse: SVT2, 03082014, 10 min. Denne pædagogiske vejledning indeholder ideer til arbejdet med tema
Læs mereChoosing a Medicare prescription drug plan.
Choosing a Medicare prescription drug plan. Look inside to: Learn about Part D prescription drug coverage Find out what you need to know about Part D drug costs Discover common terms used with Part D prescription
Læs mereNOTIFICATION.  An expression of care
NOTIFICATION  An expression of care Professionals who work with children and young people have a special responsibility to ensure that children who show signs of failure to thrive get the wright help.
Læs mereQUICK START Updated:
QUICK START Updated: 24.08.2018 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get started
Læs mereAngle Ini/al side Terminal side Vertex Standard posi/on Posi/ve angles Nega/ve angles. Quadrantal angle
Mrs. Valentine AFM Objective: I will be able to identify angle types, convert between degrees and radians for angle measures, identify coterminal angles, find the length of an intercepted arc, and find
Læs mereMATHIC, SINGULAR & XMALLOC
MATHIC, SINGULAR & XMALLOC Christian Eder POLSYS Team, UPMC, Paris, France June 11, 2013 1 / 17 1 SINGULAR Signaturebased Gröbner Basis algorithms Restructuring SINGULAR 2 XMALLOC 3 MATHIC Overall structure
Læs merePMDK PCSide Basic Function Reference (Version 1.0)
PMDK PCSide Basic Function Reference (Version 1.0) http://www.icpdas.com PMDK PCSide Basic Function Reference V 1.0 1 Warranty All products manufactured by ICPDAS Inc. are warranted against defective
Læs mereCentral Statistical Agency.
Central Statistical Agency www.csa.gov.et 1 Outline Introduction Characteristics of Construction Aim of the Survey Methodology Result Conclusion 2 Introduction Meaning of Construction Construction may
Læs mereOutline CS 4387/5387 SOFTWARE V&V LECTURE 7 INTEGRATION TESTING. Integration Testing. Integrating OO Applications. Definition Strategies 6/20/2018
1 CS 4387/5387 SOFTWARE V&V LECTURE 7 INTEGRATION TESTING Outline 2 Integration Testing Definition Strategies Big bang Topdown Bottomup Sandwich Integrating OO Applications 1 Integration ing 3 Done between
Læs mereBilag 1 GPS dataudskrifter fra Stena Carisma ved passage af målefelt
Bilag 1 GPS dataudskrifter fra Stena Carisma ved passage af målefelt Passage 1 Passage 2 Passage 3 Passage 4 Passage 5 27 Bilag 2 Engelsk beskrivelse af S4måleren InterOcean S4 Current Meter The S4 Electromagnetic
Læs mereQUICK START Updated: 18. Febr. 2014
QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get
Læs mereOn edge orienting methods for graph coloring
J Comb Optim (007) 13:163 178 DOI 10.1007/s1087800690193 On edge orienting methods for graph coloring Bernard Gendron Alain Hertz Patrick StLouis Published online: 4 November 006 C Science + Business
Læs mereSOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla
SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt
Læs mereNyhedsmail, december 2013 (scroll down for English version)
Nyhedsmail, december 2013 (scroll down for English version) Kære Omdeler Julen venter rundt om hjørnet. Og netop julen er årsagen til, at NORDJYSKE Distributions mange omdelere har ekstra travlt med at
Læs mereDANSK INSTALLATIONSVEJLEDNING VLMT500 ADVARSEL!
DANSK INSTALLATIONSVEJLEDNING VLMT500 Udpakningsinstruktioner Åben indpakningen forsigtigt og læg indholdet på et stykke pap eller en anden beskyttende overflade for at undgå beskadigelse. Kontroller at
Læs mere