Incremental Query Optimization

Size: px
Start display at page:

Download "Incremental Query Optimization"

Transcription

1 Incremental Query Optimization Vipul Venkataraman Dr. S. Sudarshan Computer Science and Engineering Indian Institute of Technology Bombay

2 Outline Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization 2 / 46

3 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization Introduction 3 / 46

4 Query Optimization - Overview Active area of research - spanning more then four decades [1] Determine the most efficient way to execute a given query by considering the space of all possible query plans The optimization process should not be costly in itself - typical issue in web related applications that handle huge data More data = bigger search space Can we find a good enough plan without exploring the whole search space? Incremental Query Optimization Introduction 4 / 46

5 Logical Query DAG Logical Query DAG for the query A B C Incremental Query Optimization Introduction 5 / 46 Image source: Prasan Roy s thesis

6 Physical Query DAG Physical Query DAG for the query A B Incremental Query Optimization Introduction 6 / 46 Image source: Prasan Roy s thesis

7 Steps in Optimization Incremental Query Optimization Introduction 7 / 46 Image source: Prasan Roy s thesis

8 Volcano Volcano, Graefe [2] Top-down optimizer, uses dynamic programming and memoization Expands whole Logical Query DAG initially to create all possible logical expressions Enumerates physical search space in depth-first order Uses branch and bound pruning to prune the search space Cost upper bound is propagated down the DAG, if upper bound < lower bound, plan is pruned Incremental Query Optimization Introduction 8 / 46

9 Cascades Cascades, Graefe et al [3] Adheres to the Object Oriented Paradigm Optimization algorithm broken into task objects which are collected in a data structure A task is scheduled by popping it from the stack and invoking the perform function Only explores a group on demand, while Volcano exhaustively generates all logically equivalent expressions before the actual optimization begins Ordering of transformations to be applied is based on a promise value assigned to each task Incremental Query Optimization Introduction 9 / 46

10 Columbia Columbia, Xu et al [4] Based on the Cascades optimizer generator Lower bound group pruning A group lower bound associated with a group of logically equivalent expressions, represents the minimal cost of the group Based on the logical properties of the group Global epsilon pruning A plan is considered optimal plan for an equivalence node if its cost is close enough (within epsilon) to the cost of optimal plan If the cost of a plan is found less than epsilon, it is good enough Epsilon values affect pruning greatly Incremental Query Optimization Introduction 10 / 46

11 Columbia Columbia, Xu et al [4] Based on the Cascades optimizer generator Lower bound group pruning A group lower bound associated with a group of logically equivalent expressions, represents the minimal cost of the group Based on the logical properties of the group Global epsilon pruning A plan is considered optimal plan for an equivalence node if its cost is close enough (within epsilon) to the cost of optimal plan If the cost of a plan is found less than epsilon, it is good enough Epsilon values affect pruning greatly Incremental Query Optimization Introduction 10 / 46

12 Columbia Columbia, Xu et al [4] Based on the Cascades optimizer generator Lower bound group pruning A group lower bound associated with a group of logically equivalent expressions, represents the minimal cost of the group Based on the logical properties of the group Global epsilon pruning A plan is considered optimal plan for an equivalence node if its cost is close enough (within epsilon) to the cost of optimal plan If the cost of a plan is found less than epsilon, it is good enough Epsilon values affect pruning greatly Incremental Query Optimization Introduction 10 / 46

13 Limitations of The Cascades Framework Data model representation is tightly coupled with optimizer Requires database implementer to define logical & physical operators and logical & physical properties Difficult to integrate a new query optimizer to an existing database, as it requires a database implementer to write new class definitions [5] Depth-first search algorithm Implements depth-first search algorithm; no plan generated unless whole optimization process finishes Huge search space of query optimizer leads to inefficiency Incremental Query Optimization Introduction 11 / 46

14 Limitations of The Cascades Framework Data model representation is tightly coupled with optimizer Requires database implementer to define logical & physical operators and logical & physical properties Difficult to integrate a new query optimizer to an existing database, as it requires a database implementer to write new class definitions [5] Depth-first search algorithm Implements depth-first search algorithm; no plan generated unless whole optimization process finishes Huge search space of query optimizer leads to inefficiency Incremental Query Optimization Introduction 11 / 46

15 Limitations of The Cascades Framework Ideas for improvements The current best plan can be used in the search algorithm to enable efficient exploration This will enable incremental view maintenance Depth first search can be replaced with a more efficient Best first search strategy Tasks can be operated depending on their promise Pruning can be done more aggressively, at the risk of a near optimal plan Incremental Query Optimization Introduction 12 / 46

16 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization Incremental Optimization 13 / 46

17 Incremental Optimization Maintaining current best plan The optimal plan for a query is converged upon by incrementally improving a current best plan through application of logical and physical transformations At each step of the optimization, a current best plan is available, which is the plan with the best cost among all plans that have been explored The order of exploring alternative plans becomes important as it controls the time required to reach the optimal plan, and the amount of search space that can be pruned Benefits Pruning can be done aggressively, at the risk of returning a near-optimal plan Optimization can be aborted if the current best plan cost reaches a certain threshold, allowing for quickly returning near-optimal plans Incremental Query Optimization Incremental Optimization 14 / 46

18 Incremental Optimization Maintaining current best plan The optimal plan for a query is converged upon by incrementally improving a current best plan through application of logical and physical transformations At each step of the optimization, a current best plan is available, which is the plan with the best cost among all plans that have been explored The order of exploring alternative plans becomes important as it controls the time required to reach the optimal plan, and the amount of search space that can be pruned Benefits Pruning can be done aggressively, at the risk of returning a near-optimal plan Optimization can be aborted if the current best plan cost reaches a certain threshold, allowing for quickly returning near-optimal plans Incremental Query Optimization Incremental Optimization 14 / 46

19 Incremental Optimization: Issues Prioritization of Transformations The performance of the incremental optimizer is greatly affected by the order in which the search space is explored Enumeration of search space is done by applying transformations at each operator in the logical plan At each step, multiple valid transformations may exist If promising plans are expanded first, the less promising ones will be pruned and not expanded at all Difficult to ascertain which plans are promising, before expanding them Optimal selection depends on various factors, e.g. the type of operator being substituted, the transformation rule, logical and physical properties of the required context, database statistics, etc Incremental Query Optimization Incremental Optimization 15 / 46

20 Incremental Optimization: Issues Heuristic Ordering of Nodes The order in which nodes are selected for optimization determines the performance of the incremental optimizer But the best order depends on the query as well as dataset characteristics Developing a set of heuristics for choosing the order of exploration of nodes, that take into account the operator, child nodes, logical and physical properties of the query, should improve the performance of the optimizer Converging on a set of good heuristics would require an analysis of the performance of the optimizer under various heuristics Incremental Query Optimization Incremental Optimization 16 / 46

21 Priority Metrics Priority Metrics Depth from the root of the DAG Input Blocks Cost upper bound Incremental Query Optimization Incremental Optimization 17 / 46

22 Priority Metrics Depth from the root of the DAG Length of the path from the root of the DAG to that particular node Depth assigned to explore the DAG in depth-first-search fashion Priority assigned during exploration : root.priority = 0 child.priority = root.priority + 1; Incremental Query Optimization Incremental Optimization 18 / 46

23 Priority Metrics Input Blocks Size For an equivalence node, it is equal to the number of blocks in which it will reside in memory inputblocks(equivalence node) = (number of tuples)/(number of tuples per block)* For an operator node, it is equal to the number of blocks that need to be read to perform that operation inputblocks(operator node) = inputblocks(children equivalence node of that operator node) * this approximation does not hold in the case of nested loop joins. We plan to reformulate the cost model soon Incremental Query Optimization Incremental Optimization 19 / 46

24 Priority Metrics Cost Maintenance Cost of a node is equal to the best plan cost to evaluate that node Any new plan obtained at a node results in propagating it up DAG to modify the best plan costs of the parent nodes Cost computations is done as: Operator Node: The cost of an operator node is the sum of costs of all its children equivalence nodes in addition to its local cost Equivalence Node: The cost of an equivalence node is the minimum of the costs of its children operator nodes Incremental Query Optimization Incremental Optimization 20 / 46

25 Priority Metrics Upper Bound Cost Maintenance After updating the best plan cost for the required nodes, upper bound is updated for all the children recursively in top down fashion Upper Bound Cost computations is done as: Operator Node: The upper bound of an operator node is the upper bound of its parent equivalence node Equivalence Node: = Consider a hierarchy of nodes like e1-p1-e2. Upper bound of e2 is calculated as: U e2 = U e1 L i Local p1 iϵsiblings(e2) where U x is the upper bound cost of x, L x is the lower bound cost of x Incremental Query Optimization Incremental Optimization 21 / 46

26 Deferred Cost Propagation Deferred cost propagation Whenever cost changes at a node, it results in updating best plan cost at all parents and upper bounds at all children Updates can be ignored if change in best plan cost is negligible at the node Following things are expected if revisiting large portions of the graph due to small changes in local cost is avoided Faster optimization: Faster computation of the plan is expected since graph exploration is avoided when not necessary Sub-optimal plans: Sub-optimal plan is expected since all changes in the cost are not updated Incremental Query Optimization Incremental Optimization 22 / 46

27 Deferred Cost Propagation Fudge factor Change is propagated only when the cost at a node differs atleast by a factor α - fudge factor The fudge factor will essentially balance the trade-off between faster optimization and obtaining near-optimal plans Fudge factor needs to be tuned to ensure: The time taken for optimization is faster A near-optimal plan is generated Incremental Query Optimization Incremental Optimization 23 / 46

28 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization Experiments 24 / 46

29 Implementation PyroJ optimizer [6] Evaluate quality of various search strategies Heuristics 1 Depth first search 2 Maximum cost upper bound 3 Maximum input blocks 4 Minimum cost upper bound 5 Minimum input blocks Incremental Query Optimization Experiments 25 / 46

30 Implementation PyroJ optimizer [6] Evaluate quality of various search strategies Heuristics 1 Depth first search 2 Maximum cost upper bound 3 Maximum input blocks 4 Minimum cost upper bound 5 Minimum input blocks Incremental Query Optimization Experiments 25 / 46

31 Current Best Cost Plots Tracking improvements in current best cost We present a series of experiments measuring the changes in the current best cost plan as the query optimization process progresses The 5 implemented heuristics are evaluated on a fixed set of 10 queries on the TPC-DS dataset Current best cost plot x axis shows the time in milliseconds y axis shows the cost of the current best plan, which improves until it reaches the optimal cost Each plot shows the results for a fixed query, under different heuristics There is a curve for each heuristic under consideration Incremental Query Optimization Experiments 26 / 46

32 Current Best Cost Plots Tracking improvements in current best cost We present a series of experiments measuring the changes in the current best cost plan as the query optimization process progresses The 5 implemented heuristics are evaluated on a fixed set of 10 queries on the TPC-DS dataset Current best cost plot x axis shows the time in milliseconds y axis shows the cost of the current best plan, which improves until it reaches the optimal cost Each plot shows the results for a fixed query, under different heuristics There is a curve for each heuristic under consideration Incremental Query Optimization Experiments 26 / 46

33 Current Best Cost Plots Incremental Query Optimization Experiments 27 / 46

34 Current Best Cost Plots Incremental Query Optimization Experiments 28 / 46

35 Current Best Cost Plots Incremental Query Optimization Experiments 29 / 46

36 Area Under Curve Plot Selecting the best heuristic The heuristic has a reasonable effect on the performance of the optimizer We would prefer a heuristics that provides optimal (or near-optimal) plans in as few iterations as possible Next slide shows a plot of the area-under-curve of each heuristic under consideration Area under curve plot There is a curve for each heuristic in the plot A heuristic with a low AOC value for a particular query, relative to other heuristic, implies that that heuristic is a better choice for that query We are interested in heuristics that perform consistently well on all queries Incremental Query Optimization Experiments 30 / 46

37 Area Under Curve Plot Selecting the best heuristic The heuristic has a reasonable effect on the performance of the optimizer We would prefer a heuristics that provides optimal (or near-optimal) plans in as few iterations as possible Next slide shows a plot of the area-under-curve of each heuristic under consideration Area under curve plot There is a curve for each heuristic in the plot A heuristic with a low AOC value for a particular query, relative to other heuristic, implies that that heuristic is a better choice for that query We are interested in heuristics that perform consistently well on all queries Incremental Query Optimization Experiments 30 / 46

38 Area Under Curve Plot Incremental Query Optimization Experiments 31 / 46

39 Initial plan Importance We have a plan to work with Incremental view maintenance Algorithm Operator Node: add all children equivalence nodes to the initial plan Equivalence Node: add any one child (operator node) to the initial plan Incremental Query Optimization Experiments 32 / 46

40 Initial plan Importance We have a plan to work with Incremental view maintenance Algorithm Operator Node: add all children equivalence nodes to the initial plan Equivalence Node: add any one child (operator node) to the initial plan Incremental Query Optimization Experiments 32 / 46

41 Area Under Curve Plot Incremental Query Optimization Experiments 33 / 46

42 Area Under Curve Plot Incremental Query Optimization Experiments 34 / 46

43 Effect of using an initial plan Observable difference among different heuristics Using initial plan improved performance Minimum cost upper bound heuristic + initial plan is the winner Incremental Query Optimization Experiments 35 / 46

44 Deferred Cost Propagation Fudge factors used returns best plan! We hope that increasing fudge factor reduces optimization time we obtain good sub-optimal plans This indeed happens Incremental Query Optimization Experiments 36 / 46

45 Deferred Cost Propagation Incremental Query Optimization Experiments 37 / 46

46 Deferred Cost Propagation Incremental Query Optimization Experiments 38 / 46

47 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization Conclusion 39 / 46

48 Conclusion We presented a literature survey in the area of traditional database optimization techniques We explained the incremental optimization technique in the context of query optimization The overhead of storing the current best plan in incremental optimization can be offset by intelligently exploring the plan space We achieved this using various heuristics that lead to faster discovery of optimal or near-optimal plans, as well as greater pruning of the plan space We have implemented deferred cost propagation coupled with heuristic search Our experimental results show the significant benefits of our techniques. Incremental Query Optimization Conclusion 40 / 46

49 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization Future Work 41 / 46

50 Future Work Effective initial plan computation methods Theoretical guarantees for heuristic performance Adaptive heuristic optimization Global epsilon pruning Evaluating on different dataset/queries Incremental Query Optimization Future Work 42 / 46

51 Introduction Volcano Cascades Incremental Optimization Priority Metrics Deferred Cost Propagation Experiments Current Best Cost Plots Area Under Curve Plot Initial Plan Conclusion Future Work References Incremental Query Optimization References 43 / 46

52 References I [1] Surajit Chaudhuri. An Overview of Query Optimization. [2] G. Graefe and W.J. McKenna. The Volcano optimizer generator: extensibility and efficient search. Proceedings of IEEE 9th International Conference on Data Engineering, pages , [3] Goetz Graefe. The cascades framework for query optimization. Data Engineering Bulletin, pages 19 28, [4] Yongwen Xu. Efficiency in the columbia database query optimizer. Master s thesis, Portland State University, Portland, [5] Sapna Jain. Query optimization for massively parallel data processing. Master s thesis, IIT Bombay, Mumbai, Incremental Query Optimization References 44 / 46

53 References II [6] Prasan Roy. Multiquery optimization and applications. Technical report, Department of Computer Science, Indian Institute of Technology Bombay, Incremental Query Optimization References 45 / 46

54 Thank you Incremental Query Optimization References 46 / 46

CS448/648 Database Systems Implementation. Volcano: A top-down optimizer generator

CS448/648 Database Systems Implementation. Volcano: A top-down optimizer generator CS448/648 Database Systems Implementation Volcano: A top-down optimizer generator 1 Outline Definitions Physical and Logical expressions Equivalency of expressions Transformation rules Top-down query optimization

More information

Backtracking. Chapter 5

Backtracking. Chapter 5 1 Backtracking Chapter 5 2 Objectives Describe the backtrack programming technique Determine when the backtracking technique is an appropriate approach to solving a problem Define a state space tree for

More information

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 161 CHAPTER 5 Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 1 Introduction We saw in the previous chapter that real-life classifiers exhibit structure and

More information

The Volcano Optimizer Generator: Extensibility and Efficient Search

The Volcano Optimizer Generator: Extensibility and Efficient Search The Volcano Optimizer Generator: Extensibility and Efficient Search Presenter: Zicun Cong School of Computing Science Simon Fraser University CMPT843, February 6, 2016 1 / 18 Outline Introduction Method

More information

Chapter 11 Search Algorithms for Discrete Optimization Problems

Chapter 11 Search Algorithms for Discrete Optimization Problems Chapter Search Algorithms for Discrete Optimization Problems (Selected slides) A. Grama, A. Gupta, G. Karypis, and V. Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 2003.

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Basic Search Algorithms

Basic Search Algorithms Basic Search Algorithms Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract The complexities of various search algorithms are considered in terms of time, space, and cost

More information

HEURISTIC SEARCH. 4.3 Using Heuristics in Games 4.4 Complexity Issues 4.5 Epilogue and References 4.6 Exercises

HEURISTIC SEARCH. 4.3 Using Heuristics in Games 4.4 Complexity Issues 4.5 Epilogue and References 4.6 Exercises 4 HEURISTIC SEARCH Slide 4.1 4.0 Introduction 4.1 An Algorithm for Heuristic Search 4.2 Admissibility, Monotonicity, and Informedness 4.3 Using Heuristics in Games 4.4 Complexity Issues 4.5 Epilogue and

More information

Process a program in execution; process execution must progress in sequential fashion. Operating Systems

Process a program in execution; process execution must progress in sequential fashion. Operating Systems Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks 1 Textbook uses the terms job and process almost interchangeably Process

More information

Parallel Programming. Parallel algorithms Combinatorial Search

Parallel Programming. Parallel algorithms Combinatorial Search Parallel Programming Parallel algorithms Combinatorial Search Some Combinatorial Search Methods Divide and conquer Backtrack search Branch and bound Game tree search (minimax, alpha-beta) 2010@FEUP Parallel

More information

Efficient and Extensible Algorithms for Multi Query Optimization

Efficient and Extensible Algorithms for Multi Query Optimization Efficient and Extensible Algorithms for Multi Query Optimization Prasan Roy S. Seshadri S. Sudarshan Siddhesh Bhobe I.I.T. Bombay Bell Labs. I.I.T. Bombay PSPL Ltd. Pune Abstract Complex queries are becoming

More information

Arnab Bhattacharya, Shrikant Awate. Dept. of Computer Science and Engineering, Indian Institute of Technology, Kanpur

Arnab Bhattacharya, Shrikant Awate. Dept. of Computer Science and Engineering, Indian Institute of Technology, Kanpur Arnab Bhattacharya, Shrikant Awate Dept. of Computer Science and Engineering, Indian Institute of Technology, Kanpur Motivation Flight from Kolkata to Los Angeles No direct flight Through Singapore or

More information

Multithreaded Algorithms Part 1. Dept. of Computer Science & Eng University of Moratuwa

Multithreaded Algorithms Part 1. Dept. of Computer Science & Eng University of Moratuwa CS4460 Advanced d Algorithms Batch 08, L4S2 Lecture 11 Multithreaded Algorithms Part 1 N. H. N. D. de Silva Dept. of Computer Science & Eng University of Moratuwa Announcements Last topic discussed is

More information

Geometric data structures:

Geometric data structures: Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other

More information

MINING FREQUENT MAX AND CLOSED SEQUENTIAL PATTERNS

MINING FREQUENT MAX AND CLOSED SEQUENTIAL PATTERNS MINING FREQUENT MAX AND CLOSED SEQUENTIAL PATTERNS by Ramin Afshar B.Sc., University of Alberta, Alberta, 2000 THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE

More information

Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms

Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms Department of Informatics, University of Zürich Vertiefungsarbeit Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms Mirko Richter Matrikelnummer: 12-917-175 Email: mirko.richter@uzh.ch

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

Tail Recursion. ;; a recursive program for factorial (define fact (lambda (m) ;; m is non-negative (if (= m 0) 1 (* m (fact (- m 1))))))

Tail Recursion. ;; a recursive program for factorial (define fact (lambda (m) ;; m is non-negative (if (= m 0) 1 (* m (fact (- m 1)))))) Tail Recursion 1 Tail Recursion In place of loops, in a functional language one employs recursive definitions of functions. It is often easy to write such definitions, given a problem statement. Unfortunately,

More information

Lecture #14 Optimizer Implementation (Part I)

Lecture #14 Optimizer Implementation (Part I) 15-721 ADVANCED DATABASE SYSTEMS Lecture #14 Optimizer Implementation (Part I) Andy Pavlo / Carnegie Mellon University / Spring 2016 @Andy_Pavlo // Carnegie Mellon University // Spring 2017 2 TODAY S AGENDA

More information

Optimizing Join Enumeration in Transformation- based Query Optimizers

Optimizing Join Enumeration in Transformation- based Query Optimizers Optimizing Join Enumeration in Transformation- based Query Optimizers ANIL SHANBHAG, S. SUDARSHAN IIT BOMBAY anils@mit.edu, sudarsha@cse.iitb.ac.in VLDB 2014 Query Optimization: Quick Background System

More information

Efficient memory-bounded search methods

Efficient memory-bounded search methods Efficient memory-bounded search methods Mikhail Simin Arjang Fahim CSCE 580: Artificial Intelligence Fall 2011 Dr. Marco Voltorta Outline of The Presentation Motivations and Objectives Background - BFS

More information

Traditional Query Optimization

Traditional Query Optimization Chapter 2 Traditional Query Optimization This chapter sets the stage for the work covered in the rest of the thesis. Section 2.1 gives a brief overview of the important concerns and prior work in traditional

More information

Stochastic propositionalization of relational data using aggregates

Stochastic propositionalization of relational data using aggregates Stochastic propositionalization of relational data using aggregates Valentin Gjorgjioski and Sašo Dzeroski Jožef Stefan Institute Abstract. The fact that data is already stored in relational databases

More information

Clustering Algorithm (DBSCAN) VISHAL BHARTI Computer Science Dept. GC, CUNY

Clustering Algorithm (DBSCAN) VISHAL BHARTI Computer Science Dept. GC, CUNY Clustering Algorithm (DBSCAN) VISHAL BHARTI Computer Science Dept. GC, CUNY Clustering Algorithm Clustering is an unsupervised machine learning algorithm that divides a data into meaningful sub-groups,

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. Topic

More information

Checking: Trading Space for Time. Divesh Srivastava. AT&T Research. 10]). Given a materialized view dened using database

Checking: Trading Space for Time. Divesh Srivastava. AT&T Research. 10]). Given a materialized view dened using database Materialized View Maintenance and Integrity Constraint Checking: Trading Space for Time Kenneth A. Ross Columbia University kar@cs.columbia.edu Divesh Srivastava AT&T Research divesh@research.att.com S.

More information

Search and Optimization

Search and Optimization Search and Optimization Search, Optimization and Game-Playing The goal is to find one or more optimal or sub-optimal solutions in a given search space. We can either be interested in finding any one solution

More information

Select (SumSal > Budget) Join (DName) E4: Aggregate (SUM Salary by DName) Emp. Select (SumSal > Budget) Aggregate (SUM Salary by DName, Budget)

Select (SumSal > Budget) Join (DName) E4: Aggregate (SUM Salary by DName) Emp. Select (SumSal > Budget) Aggregate (SUM Salary by DName, Budget) ACM SIGMOD Conference, June 1996, pp.447{458 Materialized View Maintenance and Integrity Constraint Checking: Trading Space for Time Kenneth A. Ross Columbia University kar@cs.columbia.edu Divesh Srivastava

More information

Evaluating XPath Queries

Evaluating XPath Queries Chapter 8 Evaluating XPath Queries Peter Wood (BBK) XML Data Management 201 / 353 Introduction When XML documents are small and can fit in memory, evaluating XPath expressions can be done efficiently But

More information

Alpha-Beta Pruning in Mini-Max Algorithm An Optimized Approach for a Connect-4 Game

Alpha-Beta Pruning in Mini-Max Algorithm An Optimized Approach for a Connect-4 Game Alpha-Beta Pruning in Mini-Max Algorithm An Optimized Approach for a Connect-4 Game Rijul Nasa 1, Rishabh Didwania 2, Shubhranil Maji 3, Vipul Kumar 4 1,2,3,4 Dept. of Computer Science & Engineering, The

More information

Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior

Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior PART III: Search Outline Depth-first Search Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior Best-First Search

More information

Software Speculative Multithreading for Java

Software Speculative Multithreading for Java Software Speculative Multithreading for Java Christopher J.F. Pickett and Clark Verbrugge School of Computer Science, McGill University {cpicke,clump}@sable.mcgill.ca Allan Kielstra IBM Toronto Lab kielstra@ca.ibm.com

More information

Stream Joins and Dynamic Query Evaluation. WANG, Qichen HUANG, Ziyue

Stream Joins and Dynamic Query Evaluation. WANG, Qichen HUANG, Ziyue Stream Joins and Dynamic Query Evaluation WANG, Qichen HUANG, Ziyue Contents 1. Introduction 2. Dynamic Yannakakis Algorithm 3. Higher Order Incremental View Maintenance Problem Definition Input: Some

More information

Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.

Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree. The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. 1 Topic

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods 5.8J Integer Programming and Combinatorial Optimization Fall 9 A knapsack problem Enumerative Methods Let s focus on maximization integer linear programs with only binary variables For example: a knapsack

More information

XML Data Stream Processing: Extensions to YFilter

XML Data Stream Processing: Extensions to YFilter XML Data Stream Processing: Extensions to YFilter Shaolei Feng and Giridhar Kumaran January 31, 2007 Abstract Running XPath queries on XML data steams is a challenge. Current approaches that store the

More information

arxiv: v1 [cs.db] 22 Sep 2014

arxiv: v1 [cs.db] 22 Sep 2014 Enabling Incremental Query Re-Optimization Mengmeng Liu University of Pennsylvania 333 Walnut Street Philadelphia, PA 1914 mengmeng@cis.upenn.edu Zachary G. Ives University of Pennsylvania 333 Walnut Street

More information

Chapter 3: Processes. Operating System Concepts 8th Edition,

Chapter 3: Processes. Operating System Concepts 8th Edition, Chapter 3: Processes, Administrivia Friday: lab day. For Monday: Read Chapter 4. Written assignment due Wednesday, Feb. 25 see web site. 3.2 Outline What is a process? How is a process represented? Process

More information

Distributed Tree Searc and its Application to Alpha-Beta Pruning*

Distributed Tree Searc and its Application to Alpha-Beta Pruning* From: AAAI-88 Proceedings. Copyright 1988, AAAI (www.aaai.org). All rights reserved. Distributed Tree Searc and its Application to Alpha-Beta Pruning* Chris Ferguson and Richard E. Korf Computer Science

More information

Efficient AND/OR Search Algorithms for Exact MAP Inference Task over Graphical Models

Efficient AND/OR Search Algorithms for Exact MAP Inference Task over Graphical Models Efficient AND/OR Search Algorithms for Exact MAP Inference Task over Graphical Models Akihiro Kishimoto IBM Research, Ireland Joint work with Radu Marinescu and Adi Botea Outline 1 Background 2 RBFAOO

More information

CMPSCI 250: Introduction to Computation. Lecture #14: Induction and Recursion (Still More Induction) David Mix Barrington 14 March 2013

CMPSCI 250: Introduction to Computation. Lecture #14: Induction and Recursion (Still More Induction) David Mix Barrington 14 March 2013 CMPSCI 250: Introduction to Computation Lecture #14: Induction and Recursion (Still More Induction) David Mix Barrington 14 March 2013 Induction and Recursion Three Rules for Recursive Algorithms Proving

More information

Exploiting Upper and Lower Bounds in Top-Down Query Optimization

Exploiting Upper and Lower Bounds in Top-Down Query Optimization Exploiting Upper and Lower Bounds in Top-Down Query Optimization Leonard Shapiro * Portland State University len@cs.pdx.edu Yubo Fan ABC Technologies, Inc yubof@abctech.com Yu Zhang IBM jennyz@us.ibm.com

More information

Stackless BVH Collision Detection for Physical Simulation

Stackless BVH Collision Detection for Physical Simulation Stackless BVH Collision Detection for Physical Simulation Jesper Damkjær Department of Computer Science, University of Copenhagen Universitetsparken 1, DK-2100, Copenhagen Ø, Denmark damkjaer@diku.dk February

More information

CSE 214 Computer Science II Introduction to Tree

CSE 214 Computer Science II Introduction to Tree CSE 214 Computer Science II Introduction to Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Tree Tree is a non-linear

More information

Query Processing. Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016

Query Processing. Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016 Query Processing Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016 Slides re-used with some modification from www.db-book.com Reference: Database System Concepts, 6 th Ed. By Silberschatz,

More information

Artificial Intelligence (part 4c) Strategies for State Space Search. (Informed..Heuristic search)

Artificial Intelligence (part 4c) Strategies for State Space Search. (Informed..Heuristic search) Artificial Intelligence (part 4c) Strategies for State Space Search (Informed..Heuristic search) Search Strategies (The Order..) Uninformed Search breadth-first depth-first iterative deepening uniform-cost

More information

Efficient in-network evaluation of multiple queries

Efficient in-network evaluation of multiple queries Efficient in-network evaluation of multiple queries Vinayaka Pandit 1 and Hui-bo Ji 2 1 IBM India Research Laboratory, email:pvinayak@in.ibm.com 2 Australian National University, email: hui-bo.ji@anu.edu.au

More information

Lecture 5: Search Algorithms for Discrete Optimization Problems

Lecture 5: Search Algorithms for Discrete Optimization Problems Lecture 5: Search Algorithms for Discrete Optimization Problems Definitions Discrete optimization problem (DOP): tuple (S, f), S finite set of feasible solutions, f : S R, cost function. Objective: find

More information

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 5: Processors Our goal: understand basics of processors and CPU understand the architecture of MARIE, a model computer a close look at the instruction

More information

. The problem: ynamic ata Warehouse esign Ws are dynamic entities that evolve continuously over time. As time passes, new queries need to be answered

. The problem: ynamic ata Warehouse esign Ws are dynamic entities that evolve continuously over time. As time passes, new queries need to be answered ynamic ata Warehouse esign? imitri Theodoratos Timos Sellis epartment of Electrical and Computer Engineering Computer Science ivision National Technical University of Athens Zographou 57 73, Athens, Greece

More information

A Framework for Space and Time Efficient Scheduling of Parallelism

A Framework for Space and Time Efficient Scheduling of Parallelism A Framework for Space and Time Efficient Scheduling of Parallelism Girija J. Narlikar Guy E. Blelloch December 996 CMU-CS-96-97 School of Computer Science Carnegie Mellon University Pittsburgh, PA 523

More information

kd-trees Idea: Each level of the tree compares against 1 dimension. Let s us have only two children at each node (instead of 2 d )

kd-trees Idea: Each level of the tree compares against 1 dimension. Let s us have only two children at each node (instead of 2 d ) kd-trees Invented in 1970s by Jon Bentley Name originally meant 3d-trees, 4d-trees, etc where k was the # of dimensions Now, people say kd-tree of dimension d Idea: Each level of the tree compares against

More information

Spatial Queries. Nearest Neighbor Queries

Spatial Queries. Nearest Neighbor Queries Spatial Queries Nearest Neighbor Queries Spatial Queries Given a collection of geometric objects (points, lines, polygons,...) organize them on disk, to answer efficiently point queries range queries k-nn

More information

Outline. Other Use of Triangle Inequality Algorithms for Nearest Neighbor Search: Lecture 2. Orchard s Algorithm. Chapter VI

Outline. Other Use of Triangle Inequality Algorithms for Nearest Neighbor Search: Lecture 2. Orchard s Algorithm. Chapter VI Other Use of Triangle Ineuality Algorithms for Nearest Neighbor Search: Lecture 2 Yury Lifshits http://yury.name Steklov Institute of Mathematics at St.Petersburg California Institute of Technology Outline

More information

Accelerated Raytracing

Accelerated Raytracing Accelerated Raytracing Why is Acceleration Important? Vanilla ray tracing is really slow! mxm pixels, kxk supersampling, n primitives, average ray path length of d, l lights, 2 recursive ray casts per

More information

Appropriate Item Partition for Improving the Mining Performance

Appropriate Item Partition for Improving the Mining Performance Appropriate Item Partition for Improving the Mining Performance Tzung-Pei Hong 1,2, Jheng-Nan Huang 1, Kawuu W. Lin 3 and Wen-Yang Lin 1 1 Department of Computer Science and Information Engineering National

More information

APHID: Asynchronous Parallel Game-Tree Search

APHID: Asynchronous Parallel Game-Tree Search APHID: Asynchronous Parallel Game-Tree Search Mark G. Brockington and Jonathan Schaeffer Department of Computing Science University of Alberta Edmonton, Alberta T6G 2H1 Canada February 12, 1999 1 Running

More information

: Principles of Automated Reasoning and Decision Making Midterm

: Principles of Automated Reasoning and Decision Making Midterm 16.410-13: Principles of Automated Reasoning and Decision Making Midterm October 20 th, 2003 Name E-mail Note: Budget your time wisely. Some parts of this quiz could take you much longer than others. Move

More information

Optimization of Queries with User-Defined Predicates

Optimization of Queries with User-Defined Predicates Optimization of Queries with User-Defined Predicates SURAJIT CHAUDHURI Microsoft Research and KYUSEOK SHIM Bell Laboratories Relational databases provide the ability to store user-defined functions and

More information

Course Review. Cpt S 223 Fall 2009

Course Review. Cpt S 223 Fall 2009 Course Review Cpt S 223 Fall 2009 1 Final Exam When: Tuesday (12/15) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program

More information

Learning Objectives. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 1

Learning Objectives. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.5, Page 1 Learning Objectives At the end of the class you should be able to: justify why depth-bounded search is useful demonstrate how iterative-deepening works for a particular problem demonstrate how depth-first

More information

Performance impact of dynamic parallelism on different clustering algorithms

Performance impact of dynamic parallelism on different clustering algorithms Performance impact of dynamic parallelism on different clustering algorithms Jeffrey DiMarco and Michela Taufer Computer and Information Sciences, University of Delaware E-mail: jdimarco@udel.edu, taufer@udel.edu

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

The Legion Mapping Interface

The Legion Mapping Interface The Legion Mapping Interface Mike Bauer 1 Philosophy Decouple specification from mapping Performance portability Expose all mapping (perf) decisions to Legion user Guessing is bad! Don t want to fight

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Parallel Approach for Implementing Data Mining Algorithms

Parallel Approach for Implementing Data Mining Algorithms TITLE OF THE THESIS Parallel Approach for Implementing Data Mining Algorithms A RESEARCH PROPOSAL SUBMITTED TO THE SHRI RAMDEOBABA COLLEGE OF ENGINEERING AND MANAGEMENT, FOR THE DEGREE OF DOCTOR OF PHILOSOPHY

More information

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M.

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Lecture 9 Graphs Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Wootters (2017) 1 Graphs A graph is a set of vertices

More information

IMPROVED A* ALGORITHM FOR QUERY OPTIMIZATION

IMPROVED A* ALGORITHM FOR QUERY OPTIMIZATION IMPROVED A* ALGORITHM FOR QUERY OPTIMIZATION Amit Goyal Ashish Thakral G.K. Sharma Indian Institute of Information Technology and Management, Gwalior. Morena Link Road, Gwalior, India. E-mail: amitgoyal@iiitm.ac.in

More information

Figure 1. A breadth-first traversal.

Figure 1. A breadth-first traversal. 4.3 Tree Traversals Stepping, or iterating, through the entries of a linearly ordered list has only two obvious orders: from front to back or from back to front. There is no obvious traversal of a general

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Effective Modular Design

Effective Modular Design CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Metrics sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Effective Modular Design Modular design Reduces complexity

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Data Warehousing & Data Mining

Data Warehousing & Data Mining Data Warehousing & Data Mining Wolf-Tilo Balke Kinda El Maarry Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de Summary Last week: Logical Model: Cubes,

More information

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

More information

New Optimal Load Allocation for Scheduling Divisible Data Grid Applications

New Optimal Load Allocation for Scheduling Divisible Data Grid Applications New Optimal Load Allocation for Scheduling Divisible Data Grid Applications M. Othman, M. Abdullah, H. Ibrahim, and S. Subramaniam Department of Communication Technology and Network, University Putra Malaysia,

More information

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Vaibhav Gandhi May 14, 2015 Abstract This paper introduces the reader to massively parallel approximation algorithms which

More information

Announcements. Reading Material. Recap. Today 9/17/17. Storage (contd. from Lecture 6)

Announcements. Reading Material. Recap. Today 9/17/17. Storage (contd. from Lecture 6) CompSci 16 Intensive Computing Systems Lecture 7 Storage and Index Instructor: Sudeepa Roy Announcements HW1 deadline this week: Due on 09/21 (Thurs), 11: pm, no late days Project proposal deadline: Preliminary

More information

Parallel Query Optimisation

Parallel Query Optimisation Parallel Query Optimisation Contents Objectives of parallel query optimisation Parallel query optimisation Two-Phase optimisation One-Phase optimisation Inter-operator parallelism oriented optimisation

More information

Register Allocation via Hierarchical Graph Coloring

Register Allocation via Hierarchical Graph Coloring Register Allocation via Hierarchical Graph Coloring by Qunyan Wu A THESIS Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN COMPUTER SCIENCE MICHIGAN TECHNOLOGICAL

More information

Parallelizing Adaptive Triangular Grids with Refinement Trees and Space Filling Curves

Parallelizing Adaptive Triangular Grids with Refinement Trees and Space Filling Curves Parallelizing Adaptive Triangular Grids with Refinement Trees and Space Filling Curves Daniel Butnaru butnaru@in.tum.de Advisor: Michael Bader bader@in.tum.de JASS 08 Computational Science and Engineering

More information

Tree traversals and binary trees

Tree traversals and binary trees Tree traversals and binary trees Comp Sci 1575 Data Structures Valgrind Execute valgrind followed by any flags you might want, and then your typical way to launch at the command line in Linux. Assuming

More information

A Re-examination of Limited Discrepancy Search

A Re-examination of Limited Discrepancy Search A Re-examination of Limited Discrepancy Search W. Ken Jackson, Morten Irgens, and William S. Havens Intelligent Systems Lab, Centre for Systems Science Simon Fraser University Burnaby, B.C., CANADA V5A

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

18.3 Deleting a key from a B-tree

18.3 Deleting a key from a B-tree 18.3 Deleting a key from a B-tree B-TREE-DELETE deletes the key from the subtree rooted at We design it to guarantee that whenever it calls itself recursively on a node, the number of keys in is at least

More information

ADVANCED DATABASE SYSTEMS. Lecture #15. Optimizer Implementation (Part // // Spring 2018

ADVANCED DATABASE SYSTEMS. Lecture #15. Optimizer Implementation (Part // // Spring 2018 Lecture #15 ADVANCED DATABASE SYSTEMS Optimizer Implementation (Part I) @Andy_Pavlo // 15-721 // Spring 2018 2 Background Implementation Design Decisions Optimizer Search Strategies 3 QUERY OPTIMIZATION

More information

Flow Graph Theory. Depth-First Ordering Efficiency of Iterative Algorithms Reducible Flow Graphs

Flow Graph Theory. Depth-First Ordering Efficiency of Iterative Algorithms Reducible Flow Graphs Flow Graph Theory Depth-First Ordering Efficiency of Iterative Algorithms Reducible Flow Graphs 1 Roadmap Proper ordering of nodes of a flow graph speeds up the iterative algorithms: depth-first ordering.

More information

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Search & Optimization Search and Optimization method deals with

More information

Artificial Intelligence (part 4d)

Artificial Intelligence (part 4d) Artificial Intelligence (part 4d) BEHAVIOR OF HEURISTICS EVALUATIONS (USING HEURISTICS IN GAMES) Course Contents Again..Selected topics for our course. Covering all of AI is impossible! Key topics include:

More information

PathStack : A Holistic Path Join Algorithm for Path Query with Not-predicates on XML Data

PathStack : A Holistic Path Join Algorithm for Path Query with Not-predicates on XML Data PathStack : A Holistic Path Join Algorithm for Path Query with Not-predicates on XML Data Enhua Jiao, Tok Wang Ling, Chee-Yong Chan School of Computing, National University of Singapore {jiaoenhu,lingtw,chancy}@comp.nus.edu.sg

More information

Chapter-6 Backtracking

Chapter-6 Backtracking Chapter-6 Backtracking 6.1 Background Suppose, if you have to make a series of decisions, among various choices, where you don t have enough information to know what to choose. Each decision leads to a

More information

Proceedings of the IE 2014 International Conference AGILE DATA MODELS

Proceedings of the IE 2014 International Conference  AGILE DATA MODELS AGILE DATA MODELS Mihaela MUNTEAN Academy of Economic Studies, Bucharest mun61mih@yahoo.co.uk, Mihaela.Muntean@ie.ase.ro Abstract. In last years, one of the most popular subjects related to the field of

More information

Algorithms. Ch.15 Dynamic Programming

Algorithms. Ch.15 Dynamic Programming Algorithms Ch.15 Dynamic Programming Dynamic Programming Not a specific algorithm, but a technique (like divide-and-conquer). Developed back in the day when programming meant tabular method (like linear

More information

CSE 326: Data Structures B-Trees and B+ Trees

CSE 326: Data Structures B-Trees and B+ Trees Announcements (2/4/09) CSE 26: Data Structures B-Trees and B+ Trees Midterm on Friday Special office hour: 4:00-5:00 Thursday in Jaech Gallery (6 th floor of CSE building) This is in addition to my usual

More information

Inheritance Metrics: What do they Measure?

Inheritance Metrics: What do they Measure? Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in

More information

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Oliver Cardwell, Ramakrishnan Mukundan Department of Computer Science and Software Engineering University of Canterbury

More information