Control Dependence. Stanford University CS243 Winter 2006 Wei Li 1
|
|
- Piers Greene
- 6 years ago
- Views:
Transcription
1 Control Dependence Wei Li 1
2 Control Dependence Introduction Formal Definition Optimal Control Dependence Computation 2
3 xample START a b c d CFG ND b is control dependent on a c is control dependent on a a and d are control dependent on START 3
4 Applications of CD Dead code elimination Scheduling (hyper-block formation) Predication 4
5 Simple Dead Code limination Mark inherently live statement live Store to memory, print, For each variable in these live statements, mark its definition statement live. For each live statement, mark it live the node that it is control dependent on. Remove everything that is not marked. 5
6 xample if (x > 0) { printf( greater than zero ); } The printf statement is inherently live. You also need to mark the if (x>0) live because the print statement is control dependent on the if. 6
7 Control Dependence Introduction Formal Definition Optimal Control Dependence Computation 7
8 Post-dominator Relation If X appears on every path from START to Y, then X dominates Y. If X appears on every path from Y to ND, then X postdominates Y. Postdominator Tree ND is the root Any node Y other than ND has ipdom(y) ) as its parent Parent, child, ancestor, descendant 8
9 Control Dependence Relation There are two possible definitions. Node w is control dependent on edge (u v)) if w postdominates v If w u, w does not postdominate u Node w is control dependent on node u if there exists an edge u v w postdominates v If w u, w does not postdominate u 9
10 xample S CFG?? a Pdom Tree b a b c d e c e S a d b c Control Dep Relation 10
11 xample c d S a b e CFG e S b Pdom Tree d a c a b c d e S a b c Control Dep Relation 11
12 xample c d S a b e CFG e S b Pdom Tree d a c a b c d e S a b c Control Dep Relation 12
13 Control Dependence Queries CD(e): set of nodes control dependent on edge e CONDS(v): set of edges that node v is control dependent on 13
14 Dominance Frontier Reverse control flow graph (RCFG) Let X and Y be nodes in CFG. X in DF(Y) in CFG iff Y is control dependent on X in RCFG. DF(Y) in CFG = conds(y) ) in RCFG, where conds(y) ) is the set of nodes that Y is control dependent on. 14
15 Worst-case Size of CDR S CFG a b c d a S a b c d d a c b Control Dependence Relation 15
16 Worst-case Size of CDR S CFG a b c d a S a b c d d a c b Control Dependence Relation Size = O(n 2 ) 16
17 Control Dependence Introduction Formal Definition Optimal Linear Control Dependence Computation 17
18 APT APT: Augmented Postdominator Tree which can be built in O( ) space and time which can be used to answer CD and CONDS queries in time proportional to output size Optimal control dependence computation Solution: reduced control computation to a graph problem called Roman Chariots Problem 18
19 Key Idea (I): xploit Structure How to avoid building the entire control dependence relation (O(n 2 ))? Nodes that are control dependent on an edge e form a simple path in the postdominator tree In a tree, a simple path is uniquely specified by its endpoints. Pdom tree + endpoints of each control dependence path can be built in O( ) space and time 19
20 xample CFG S a b c d e e S b d a c Pdom Tree S a b c a S a b c path?? Path Array b d e Control Dep Relation c 20
21 xample CFG S a b c d e e S b d a c Pdom Tree S a b c a S a b c path [a,e] [c,b] Path Array b d e Control Dep Relation c 21
22 CD Queries How can we use the compact representation of the CDR (Control Dependence Relation) to answer queries for CD and CONDS sets in time proportional to output size? 22
23 Roman Chariots Problem Roma Milano Bologna Napoli Verona Pompeii Venezia Corleone Route # I II III path [Milano,Roma] [Pompeii,Bologna] [Venezia,Roma] CD(n): which cities are served by chariot n? CONDS(w): which chariots serve city w? 23
24 CD(n): which cities are served by chariot n? Look up entry for chariot n in Route Array (say [x,y[ x,y]) Traverse nodes in tree T, starting at x and ending at y Output all nodes encountered in traversal Query time is proportional to output size 24
25 CONDS(w): which chariots serve city w? For each chariot c in Route Array do Let route of c be [x,y[ x,y]; If w is an ancestor of x and w is a descendant of y then Output c; Can we avoid examining all routes? 25
26 Key Idea (II): Caching At each node in the tree, keep a list of chariot # s# s whose bottom node is n. d c e S b a {?} {?} Chariot # I II route [a,e] [c,b] 26
27 Key Idea (II): Caching At each node in the tree, keep a list of chariot # s# s whose bottom node is n. d c e S b a {I} {II} Chariot # I II route [a,e] [c,b] 27
28 CONDS(w): which chariots serve city w? For each descendant d of w do For each route c = [x,y[ x,y] ] in list at d do If w is a descendant of y then Output c; Query time is proportional to # of descendants + size of all lists at d 28
29 Sorting Lists Sort each list by decreasing length c d a b S Chariot # I II III IV route [e,d] [e,c] [e,b] [e,a] e {IV,III,II,I} 29
30 CONDS(w): which chariots serve city w? For each descendant d of w do For each route c = [x,y[ x,y] ] in list at d do If w is a descendant of y then Output c; else break Query time is proportional to size of output + # of descendants 30
31 Caching at All Nodes on Route Sort each list by decreasing length e a b c d {IV,III,II,I} e a {IV} b {IV,III} c {IV,III,II} d {IV,III,II,I} {IV,III,II,I} 31
32 Space Time Tradeoff Chariot # stored only at bottom node of the route Space: O( V + A ) Query Time: O( V + Output ) Chariot # stored at all nodes on route Space: O( V * A ) Query Time: O( Output ) ) V is the set of tree nodes, and A is the Route Array. 32
33 Key idea (III): Caching Zones Divide tree into ZONS Nodes in Zone: Boundary nodes: lowest nodes in zone Interior nodes: all other nodes Query procedure: Visit only nodes below query node and in the same zone as query node 33
34 Caching Rule Boundary node: store all chariots serving node Interior node: store all chariots whose bottom node is that node Algorithm: bottom-up, greedy zone construction Query time: A v + Z v (α + 1) A v Space requirements A + V / α 34
35 Constructing Zones (I) Invariant: for any node v, Z v α A v + 1, where α is a design parameter. Query time for CONDS(v) = O( A v + Z v ) = O((α + 1) A v + 1) = O( A v ) 35
36 Constructing Zones (II) Build zones bottom-up, making them as large as possible without violating invariant V is a leaf node, then make v a boundary node V is an interior node then If (1 + u є children(v) Z u ) > α A v + 1 then make v a boundary node else make v an interior node 36
37 α = 1 (some caching) S 3 α Av f 6 e d 5 c b a g h {e d} {f c} {g b} {S a, h a} {} {} {S a, h a, g a, f c} {} Zones: {a,b,c,d,e}, {f,g,h{ f,g,h}, {}, {S} Boundary nodes: a, f,, S 37
38 α = >>(no caching) α Av + 1 d c b a S e f g {} {} h {e d} {f c} {g b} {} {S a, h a} {} Zones: {a,b,c,d,e,f,g,h}, {}, {S} Boundary nodes: a,, S 38
39 α = << (full caching) 1 d 1 c b a h S 1 {S a, h a} α Av g {S a, h a, g a} 1 f {S a, h a, g a, f c} 1 e {S a, h a, g b, f c, e d} 1 1 {S a, h a, g b, f c, e d} {S a, h a, g b, f c} {S a, h a, g b} {S a, h a} Zones: every node Boundary nodes: every node 39
40 APT (I) Postdominator tree with bidirectional edges dfs-number[v number[v]: integer Used for ancestorship determination in CONDS query Boundary?[v]: boolean True if v is a boundary node, false otherwise Used in CONDS query 40
41 APT (II) L[v]: list pf chariots # s/control# dependences Boundary node: all chariots serving v (all control dependences of v) Interior node: all chariots whose bottom node is v (all immediate control dependences of v) Used in CONDS query 41
42 Computational Complexity Query time: (α( + 1) * output-size Space: + V /α 42
43 Reference Optimal Control Dependence Computation and the Roman Chariots Problem, Keshav Pingali, Gianfranco Bilardi,, ACM Transactions on Programming Languages and Systems (TOPLAS), May pers/toplas1997.pdf 43
What is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed
Another Form of Data-Flow Analysis Propagation of values for a variable reference, where is the value produced? for a variable definition, where is the value consumed? Possible answers reaching definitions,
More informationCOSE312: Compilers. Lecture 17 Intermediate Representation (2)
COSE312: Compilers Lecture 17 Intermediate Representation (2) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 17 May 31, 2017 1 / 19 Common Intermediate Representations Three-address code
More informationUndirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11
Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E
More informationData Mining and Analysis: Fundamental Concepts and Algorithms
Data Mining and Analysis: Fundamental Concepts and Algorithms dataminingbook.info Mohammed J. Zaki 1 Wagner Meira Jr. 2 1 Department of Computer Science Rensselaer Polytechnic Institute, Troy, NY, USA
More informationClasses of data dependence. Dependence analysis. Flow dependence (True dependence)
Dependence analysis Classes of data dependence Pattern matching and replacement is all that is needed to apply many source-to-source transformations. For example, pattern matching can be used to determine
More informationDependence analysis. However, it is often necessary to gather additional information to determine the correctness of a particular transformation.
Dependence analysis Pattern matching and replacement is all that is needed to apply many source-to-source transformations. For example, pattern matching can be used to determine that the recursion removal
More information: Advanced Compiler Design Compu=ng DF(X) 3.4 Algorithm for inser=on of φ func=ons 3.5 Algorithm for variable renaming
263-2810: Advanced Compiler Design 3.3.2 Compu=ng DF(X) 3.4 Algorithm for inser=on of φ func=ons 3.5 Algorithm for variable renaming Thomas R. Gross Computer Science Department ETH Zurich, Switzerland
More informationSuppose h maps number and variables to ɛ, and opening parenthesis to 0 and closing parenthesis
1 Introduction Parenthesis Matching Problem Describe the set of arithmetic expressions with correctly matched parenthesis. Arithmetic expressions with correctly matched parenthesis cannot be described
More informationEven More on Dynamic Programming
Algorithms & Models of Computation CS/ECE 374, Fall 2017 Even More on Dynamic Programming Lecture 15 Thursday, October 19, 2017 Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 26 Part I Longest Common Subsequence
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016
University of Toronto Department of Electrical and Computer Engineering Final Examination ECE 345 Algorithms and Data Structures Fall 2016 Print your first name, last name, UTORid, and student number neatly
More informationComputing Static Single Assignment (SSA) Form
Computing Static Single Assignment (SSA) Form Overview What is SSA? Advantages of SSA over use-def chains Flavors of SSA Dominance frontiers revisited Inserting φ-nodes Renaming the variables Translating
More informationα-acyclic Joins Jef Wijsen May 4, 2017
α-acyclic Joins Jef Wijsen May 4, 2017 1 Motivation Joins in a Distributed Environment Assume the following relations. 1 M[NN, Field of Study, Year] stores data about students of UMONS. For example, (19950423158,
More informationOptimal Tree-decomposition Balancing and Reachability on Low Treewidth Graphs
Optimal Tree-decomposition Balancing and Reachability on Low Treewidth Graphs Krishnendu Chatterjee Rasmus Ibsen-Jensen Andreas Pavlogiannis IST Austria Abstract. We consider graphs with n nodes together
More informationCSE 202 Homework 4 Matthias Springer, A
CSE 202 Homework 4 Matthias Springer, A99500782 1 Problem 2 Basic Idea PERFECT ASSEMBLY N P: a permutation P of s i S is a certificate that can be checked in polynomial time by ensuring that P = S, and
More informationAlpha-Beta Pruning: Algorithm and Analysis
Alpha-Beta Pruning: Algorithm and Analysis Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Introduction Alpha-beta pruning is the standard searching procedure used for 2-person
More informationAdvanced Implementations of Tables: Balanced Search Trees and Hashing
Advanced Implementations of Tables: Balanced Search Trees and Hashing Balanced Search Trees Binary search tree operations such as insert, delete, retrieve, etc. depend on the length of the path to the
More information4.8 Huffman Codes. These lecture slides are supplied by Mathijs de Weerd
4.8 Huffman Codes These lecture slides are supplied by Mathijs de Weerd Data Compression Q. Given a text that uses 32 symbols (26 different letters, space, and some punctuation characters), how can we
More informationLecture 18 April 26, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 18 April 26, 2012 1 Overview In the last lecture we introduced the concept of implicit, succinct, and compact data structures, and
More informationAlpha-Beta Pruning: Algorithm and Analysis
Alpha-Beta Pruning: Algorithm and Analysis Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Introduction Alpha-beta pruning is the standard searching procedure used for solving
More informationINF2220: algorithms and data structures Series 1
Universitetet i Oslo Institutt for Informatikk I. Yu, D. Karabeg INF2220: algorithms and data structures Series 1 Topic Function growth & estimation of running time, trees (Exercises with hints for solution)
More informationCHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1
CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve
More informationMatroids. Start with a set of objects, for example: E={ 1, 2, 3, 4, 5 }
Start with a set of objects, for example: E={ 1, 2, 3, 4, 5 } Start with a set of objects, for example: E={ 1, 2, 3, 4, 5 } The power set of E is the set of all possible subsets of E: {}, {1}, {2}, {3},
More informationAlpha-Beta Pruning: Algorithm and Analysis
Alpha-Beta Pruning: Algorithm and Analysis Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Introduction Alpha-beta pruning is the standard searching procedure used for 2-person
More informationCS/COE
CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct
More informationSolutions. Prelim 2[Solutions]
Prelim [Solutions]. Short Answer [ pts] (a) [ pts] A traversal of an expression tree produces the string + + 3. i. What kind of traversal is it? Preorder; the operator is printed before the operands. ii.
More informationBinary Search Trees. Motivation
Binary Search Trees Motivation Searching for a particular record in an unordered list takes O(n), too slow for large lists (databases) If the list is ordered, can use an array implementation and use binary
More informationOptimal Color Range Reporting in One Dimension
Optimal Color Range Reporting in One Dimension Yakov Nekrich 1 and Jeffrey Scott Vitter 1 The University of Kansas. yakov.nekrich@googlemail.com, jsv@ku.edu Abstract. Color (or categorical) range reporting
More information6.1 The Pumping Lemma for CFLs 6.2 Intersections and Complements of CFLs
CSC4510/6510 AUTOMATA 6.1 The Pumping Lemma for CFLs 6.2 Intersections and Complements of CFLs The Pumping Lemma for Context Free Languages One way to prove AnBn is not regular is to use the pumping lemma
More informationMore Dynamic Programming
CS 374: Algorithms & Models of Computation, Spring 2017 More Dynamic Programming Lecture 14 March 9, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 What is the running time of the following? Consider
More informationMore Dynamic Programming
Algorithms & Models of Computation CS/ECE 374, Fall 2017 More Dynamic Programming Lecture 14 Tuesday, October 17, 2017 Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 48 What is the running time of the following?
More informationData Structures and Algorithms " Search Trees!!
Data Structures and Algorithms " Search Trees!! Outline" Binary Search Trees! AVL Trees! (2,4) Trees! 2 Binary Search Trees! "! < 6 2 > 1 4 = 8 9 Ordered Dictionaries" Keys are assumed to come from a total
More informationAVL Trees. Manolis Koubarakis. Data Structures and Programming Techniques
AVL Trees Manolis Koubarakis 1 AVL Trees We will now introduce AVL trees that have the property that they are kept almost balanced but not completely balanced. In this way we have O(log n) search time
More informationNearest Neighbor Search with Keywords
Nearest Neighbor Search with Keywords Yufei Tao KAIST June 3, 2013 In recent years, many search engines have started to support queries that combine keyword search with geography-related predicates (e.g.,
More informationarxiv: v2 [cs.ds] 3 Oct 2017
Orthogonal Vectors Indexing Isaac Goldstein 1, Moshe Lewenstein 1, and Ely Porat 1 1 Bar-Ilan University, Ramat Gan, Israel {goldshi,moshe,porately}@cs.biu.ac.il arxiv:1710.00586v2 [cs.ds] 3 Oct 2017 Abstract
More informationAlgorithms for Computing the Static Single Assignment Form
Algorithms for Computing the Static Single Assignment Form GIANFRANCO BILARDI Università di Padova, Padova, Italy AND KESHAV PINGALI Cornell University, Ithaca, New York Abstract. The Static Single Assignment
More informationDataflow analysis. Theory and Applications. cs6463 1
Dataflow analysis Theory and Applications cs6463 1 Control-flow graph Graphical representation of runtime control-flow paths Nodes of graph: basic blocks (straight-line computations) Edges of graph: flows
More informationAlgorithms Design & Analysis. Approximation Algorithm
Algorithms Design & Analysis Approximation Algorithm Recap External memory model Merge sort Distribution sort 2 Today s Topics Hard problem Approximation algorithms Metric traveling salesman problem A
More informationCS781 Lecture 3 January 27, 2011
CS781 Lecture 3 January 7, 011 Greedy Algorithms Topics: Interval Scheduling and Partitioning Dijkstra s Shortest Path Algorithm Minimum Spanning Trees Single-Link k-clustering Interval Scheduling Interval
More informationNP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]
NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the
More informationFlow Algorithms for Parallel Query Optimization
Flow Algorithms for Parallel Query Optimization Amol Deshpande amol@cs.umd.edu University of Maryland Lisa Hellerstein hstein@cis.poly.edu Polytechnic University August 22, 2007 Abstract In this paper
More informationBinary Decision Diagrams. Graphs. Boolean Functions
Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant
More informationData Structures for Disjoint Sets
Data Structures for Disjoint Sets Advanced Data Structures and Algorithms (CLRS, Chapter 2) James Worrell Oxford University Computing Laboratory, UK HT 200 Disjoint-set data structures Also known as union
More informationCS 580: Algorithm Design and Analysis
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Reminder: Homework 1 due tonight at 11:59PM! Recap: Greedy Algorithms Interval Scheduling Goal: Maximize number of meeting
More informationDynamic Programming. Data Structures and Algorithms Andrei Bulatov
Dynamic Programming Data Structures and Algorithms Andrei Bulatov Algorithms Dynamic Programming 18-2 Weighted Interval Scheduling Weighted interval scheduling problem. Instance A set of n jobs. Job j
More informationWolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig
Multimedia Databases Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 13 Indexes for Multimedia Data 13 Indexes for Multimedia
More informationEvolutionary Tree Analysis. Overview
CSI/BINF 5330 Evolutionary Tree Analysis Young-Rae Cho Associate Professor Department of Computer Science Baylor University Overview Backgrounds Distance-Based Evolutionary Tree Reconstruction Character-Based
More information8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm
8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements
More informationFundamental Algorithms
Fundamental Algorithms Chapter 5: Searching Michael Bader Winter 2014/15 Chapter 5: Searching, Winter 2014/15 1 Searching Definition (Search Problem) Input: a sequence or set A of n elements (objects)
More informationOn the Study of Tree Pattern Matching Algorithms and Applications
On the Study of Tree Pattern Matching Algorithms and Applications by Fei Ma B.Sc., Simon Fraser University, 2004 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of
More informationAlgorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University
Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case
More informationShared on QualifyGate.com
CS-GATE-05 GATE 05 A Brief Analysis (Based on student test experiences in the stream of CS on 8th February, 05 (Morning Session) Section wise analysis of the paper Section Classification Mark Marks Total
More information3/11/18. Final Code Generation and Code Optimization
Final Code Generation and Code Optimization 1 2 3 for ( i=0; i < N; i++) { base = &a[0]; crt = *(base + i); } original code base = &a[0]; for ( i=0; i < N; i++) { crt = *(base + i); } optimized code e1
More informationPath Testing and Test Coverage. Chapter 9
Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test
More informationPath Testing and Test Coverage. Chapter 9
Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test
More informationOrganization. Control Dependence, Program Analyses and The Roman Chariots Problem. Part 1: What is an Optimal Representation of Control Dependence?
Orgniztion. Optiml Rprsnttion o Control pnn - Dinition - Is th ontrol pnn grph (O( E * V ) sp/tim) optiml? 2. Our pproh: - Ru prolm to ROMAN CHARIOTS PROBLEM - Buil APT t strutur in O( E + V ) sp/tim =>
More informationPrelim 2[Solutions] Solutions. 1. Short Answer [18 pts]
Prelim [Solutions]. Short Answer [8 pts] (a) [3 pts] In a model/view/controller, Swing is likely to be part of (there may be more than one): i. the model ii. the view iii. the controller The view and the
More informationSearch Trees. Chapter 10. CSE 2011 Prof. J. Elder Last Updated: :52 AM
Search Trees Chapter 1 < 6 2 > 1 4 = 8 9-1 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 2 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 3 - Binary Search Trees Ø A binary search
More informationMultimedia Databases 1/29/ Indexes for Multimedia Data Indexes for Multimedia Data Indexes for Multimedia Data
1/29/2010 13 Indexes for Multimedia Data 13 Indexes for Multimedia Data 13.1 R-Trees Multimedia Databases Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig
More informationSearch Trees. EECS 2011 Prof. J. Elder Last Updated: 24 March 2015
Search Trees < 6 2 > 1 4 = 8 9-1 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 2 - Learning Outcomes Ø From this lecture, you should be able to: q Define the properties of a binary search
More informationENS Lyon Camp. Day 2. Basic group. Cartesian Tree. 26 October
ENS Lyon Camp. Day 2. Basic group. Cartesian Tree. 26 October Contents 1 Cartesian Tree. Definition. 1 2 Cartesian Tree. Construction 1 3 Cartesian Tree. Operations. 2 3.1 Split............................................
More informationCMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis
CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between
More informationPriority queues implemented via heaps
Priority queues implemented via heaps Comp Sci 1575 Data s Outline 1 2 3 Outline 1 2 3 Priority queue: most important first Recall: queue is FIFO A normal queue data structure will not implement a priority
More informationCSE 202: Design and Analysis of Algorithms Lecture 3
CSE 202: Design and Analysis of Algorithms Lecture 3 Instructor: Kamalika Chaudhuri Announcement Homework 1 out Due on Tue Jan 24 in class No late homeworks will be accepted Greedy Algorithms Direct argument
More informationLower Bounds for Dynamic Connectivity (2004; Pǎtraşcu, Demaine)
Lower Bounds for Dynamic Connectivity (2004; Pǎtraşcu, Demaine) Mihai Pǎtraşcu, MIT, web.mit.edu/ mip/www/ Index terms: partial-sums problem, prefix sums, dynamic lower bounds Synonyms: dynamic trees 1
More informationModels of Computation. by Costas Busch, LSU
Models of Computation by Costas Busch, LSU 1 Computation CPU memory 2 temporary memory input memory CPU output memory Program memory 3 Example: f ( x) x 3 temporary memory input memory Program memory compute
More informationDiversified Top k Graph Pattern Matching
Diversified Top k Graph Pattern Matching Wenfei Fan 1,2 Xin Wang 1 Yinghui Wu 3 1 University of Edinburgh 2 RCBD and SKLSDE Lab, Beihang University 3 UC Santa Barbara {wenfei@inf, x.wang 36@sms, y.wu 18@sms}.ed.ac.uk
More informationBinary Decision Diagrams
Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.
More informationTree Signatures and Unordered XML Pattern Matching
Tree Signatures and Unordered XML Pattern Matching Pavel Zezula Masaryk University of Brno, Czech Republic and Federica Mandreoli, Riccardo Martoglia University of Modena and Reggio Emilia, Italy Overview
More informationJeffrey D. Ullman Stanford University
Jeffrey D. Ullman Stanford University 3 We are given a set of training examples, consisting of input-output pairs (x,y), where: 1. x is an item of the type we want to evaluate. 2. y is the value of some
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 5 Greedy Algorithms Interval Scheduling Interval Partitioning Guest lecturer: Martin Furer Review In a DFS tree of an undirected graph, can there be an edge (u,v)
More informationPart III: Traveling salesman problems
Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282 Motivation Motivation Why
More informationLecture 6 January 15, 2014
Advanced Graph Algorithms Jan-Apr 2014 Lecture 6 January 15, 2014 Lecturer: Saket Sourah Scrie: Prafullkumar P Tale 1 Overview In the last lecture we defined simple tree decomposition and stated that for
More informationNP-complete Problems
NP-complete Problems HP, TSP, 3COL, 0/1IP Dimitris Diamantis µπλ November 6, 2014 Dimitris Diamantis (µπλ ) NP-complete Problems November 6, 2014 1 / 34 HAMILTON PATH is NP-Complete Definition Given an
More information0 1 d 010. h 0111 i g 01100
CMSC 5:Fall 07 Dave Mount Solutions to Homework : Greedy Algorithms Solution : The code tree is shown in Fig.. a 0000 c 0000 b 00 f 000 d 00 g 000 h 0 i 00 e Prob / / /8 /6 / Depth 5 Figure : Solution
More informationCompact Representation for Answer Sets of n-ary Regular Queries
Compact Representation for Answer Sets of n-ary Regular Queries by Kazuhiro Inaba (National Institute of Informatics, Japan) and Hauro Hosoya (The University of Tokyo) CIAA 2009, Sydney BACKGROUND N-ary
More informationCS 410/584, Algorithm Design & Analysis: Lecture Notes 3
CS 410/584, : Lecture Notes 3 Amortized Cost Not an algorithm design mechanism per se For analyzing cost of algorithms - - Example: Exercise 17.3-6 Implement a queue with two stacks Why? 1 enqueue(x, Q)
More informationTopics on Compilers
Assignment 2 4541.775 Topics on Compilers Sample Solution 1. Test for dependences on S. Write down the subscripts. Which positions are separable, which are coupled? Which dependence test would you apply
More informationsearching algorithms
searching algorithms learning objectives algorithms your software system software hardware learn what the searching problem is about learn two algorithms for solving this problem learn the importance of
More informationCS 161: Design and Analysis of Algorithms
CS 161: Design and Analysis of Algorithms Greedy Algorithms 3: Minimum Spanning Trees/Scheduling Disjoint Sets, continued Analysis of Kruskal s Algorithm Interval Scheduling Disjoint Sets, Continued Each
More informationBinary Decision Diagrams
Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its
More informationMultiple-Site Distributed Spatial Query Optimization using Spatial Semijoins
11 Multiple-Site Distributed Spatial Query Optimization using Spatial Semijoins Wendy OSBORN a, 1 and Saad ZAAMOUT a a Department of Mathematics and Computer Science, University of Lethbridge, Lethbridge,
More informationSHORTEST PATHS READINGS? CHAPTER 28. Lecture 20 Fall 2016 CS2110 Fall 2016
1 SHORTEST PATHS READINGS? CHAPTER 28 Lecture 20 Fall 2016 CS2110 Fall 2016 About A6 2 We attempt to make this a good learning experience with not much time spent by you. 8 methods, averaging 7 lines each.
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 4
CS 0/58,, Biconnectivity Let G = (N,E) be a connected A node a N is an articulation point if there are v and w different from a such that every path from 0 9 8 3 5 7 6 David Maier Biconnected Component
More informationspaghetti fish pie cake Ann X X Tom X X X Paul X X X
CmSc175 Discrete Mathematics Lesson 14: Set Relations 1. Introduction A college cafeteria line has two stations: main courses and desserts. The main course station offers spaghetti or fish; the dessert
More informationLearning Semi-Markovian Causal Models using Experiments
Learning Semi-Markovian Causal Models using Experiments Stijn Meganck 1, Sam Maes 2, Philippe Leray 2 and Bernard Manderick 1 1 CoMo Vrije Universiteit Brussel Brussels, Belgium 2 LITIS INSA Rouen St.
More informationCS5371 Theory of Computation. Lecture 18: Complexity III (Two Classes: P and NP)
CS5371 Theory of Computation Lecture 18: Complexity III (Two Classes: P and NP) Objectives Define what is the class P Examples of languages in P Define what is the class NP Examples of languages in NP
More informationSHORTEST PATHS READINGS? CHAPTER 28. Lecture 20 CS2110 Spring 2016
1 SHORTEST PATHS READINGS? CHAPTER 28 Lecture 20 CS2110 Spring 2016 About A6 2 We give you class ArrayHeaps for a reason: It shows the simplest way to write methods like bubble-up and bubble-down. It gives
More informationEE263 Review Session 1
EE263 Review Session 1 October 5, 2018 0.1 Importing Variables from a MALAB.m file If you are importing variables given in file vars.m, use the following code at the beginning of your script. close a l
More informationIs the equal branch length model a parsimony model?
Table 1: n approximation of the probability of data patterns on the tree shown in figure?? made by dropping terms that do not have the minimal exponent for p. Terms that were dropped are shown in red;
More information1. Problem I calculated these out by hand. It was tedious, but kind of fun, in a a computer should really be doing this sort of way.
. Problem 5.2-. I calculated these out by hand. It was tedious, but kind of fun, in a a computer should really be doing this sort of way. 2 655 95 45 243 77 33 33 93 86 5 36 8 3 5 2 4 2 2 2 4 2 2 4 4 2
More informationAssignment 5: Solutions
Comp 21: Algorithms and Data Structures Assignment : Solutions 1. Heaps. (a) First we remove the minimum key 1 (which we know is located at the root of the heap). We then replace it by the key in the position
More informationThe core of solving constraint problems using Constraint Programming (CP), with emphasis on:
What is it about? l Theory The core of solving constraint problems using Constraint Programming (CP), with emphasis on: l Modeling l Solving: Local consistency and propagation; Backtracking search + heuristics.
More informationNP and Computational Intractability
NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.
More informationChapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn
Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Priority Queue / Heap Stores (key,data) pairs (like dictionary) But, different set of operations: Initialize-Heap: creates new empty heap
More informationFormal Languages, Automata and Compilers
Formal Languages, Automata and Compilers Lecure 4 2017-18 LFAC (2017-18) Lecture 4 1 / 31 Curs 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions
More informationCS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems
CS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems Antoine Vigneron King Abdullah University of Science and Technology September 20, 2012 Antoine Vigneron (KAUST)
More informationCOMP3702/7702 Artificial Intelligence Week 5: Search in Continuous Space with an Application in Motion Planning " Hanna Kurniawati"
COMP3702/7702 Artificial Intelligence Week 5: Search in Continuous Space with an Application in Motion Planning " Hanna Kurniawati" Last week" Main components of PRM" Collision check for a configuration"
More informationComplexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes
Complexity Theory 1 Complexity Theory 2 Complexity Theory Lecture 3 Complexity For any function f : IN IN, we say that a language L is in TIME(f(n)) if there is a machine M = (Q, Σ, s, δ), such that: L
More informationAutomata-Theoretic Model Checking of Reactive Systems
Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,
More informationVariable Elimination (VE) Barak Sternberg
Variable Elimination (VE) Barak Sternberg Basic Ideas in VE Example 1: Let G be a Chain Bayesian Graph: X 1 X 2 X n 1 X n How would one compute P X n = k? Using the CPDs: P X 2 = x = x Val X1 P X 1 = x
More information