Algebraic Dynamic Programming

Size: px
Start display at page:

Download "Algebraic Dynamic Programming"

Transcription

1 Algebraic Dynamic Programming Unit 3.b: Products of Evaluation Algebras Robert Giegerich 1 (Lecture) Benedikt Löwes (Exercises) Faculty of Technology Bielefeld University Summer robert@techfak.uni-bielefeld.de Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

2 Motivation for a bag-of-surprises You have worked with the ADP examples Relaxed Palindromes NW alignments Nussinow RNA folding using different algebras: minimizing cost, distance maximizing base pairs, similarity counting numbers of candidates enumerating candidate trees or pretty printing So far, we have always used one algebra at a time. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

3 Algebras in combination In working with applications, often we want several types of information about the candidates in our search space. Optimal solutions under a primary and a secondary objectives (the cheapest of the largest pizzas, or vice versa) the optimal score and the prettyprint of the candidate(s) that achieve(s) it the optial score and the number of co-optial candidates enumeration of candidates in tree and prettyprint form (for debugging)... or combinations of the above Whenever the desired information can be derived via various evaluation algebras, this amounts to using several algebras simultaneously and in cooperation. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

4 Ad-hoc combinations of evaluation algebras Given two Σ-algebras A and B, holding (say) functions f A, f B and h A, h B, we can define algebra C operating on value pairs from A and B: f C ((a, b)) = some function using f A (a) and f B (b) h C ([(a, b)]) = some function on lists of pairs, implementing the desired combination of h A and h B This means coding a new algebra (using the available f A, f B ), a new proof of Bellman s Principle for f C versus h C, and new debugging. There are standard cases where we can do better...! Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

5 Algebra products We define several product operations *,,... to combine two algebras in specific ways. Instead of hand-coding algebra C and calling we directly call G(C, x) G(A B, x) with no coding and debugging effort on our side. The ADP compiler knows the definitin of A B and constructs and uses a correct implementation of C. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

6 General scheme of product operations Product algebras A b compute answer value pairs (a, b) using functions f A f B : h A h B : component wise dependent on our purpose In fact, there are at least four useful variants of h A h B. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

7 The Cartesian product ( ) Definition Let A and B be evaluation algebras over Σ. Their Cartesian product algebra C = A B is an evaluation algebra over Σ and with f C (x 1,..., x k ) = (f A (a 1,..., a k ), f B (b 1,..., b k )) if x i = (xi A, xi B ), then a i = xi A, b i = xi B, if x i A, then a i = x i = b i for each f in Σ, and with the objective function h C [(a 1, b 1 ),..., (a k, b k )] = [(l, r) l h A [a 1,..., a k ], r h B [b 1,..., b k ] ] Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

8 Meaning of the Cartesian Product The Cartesian product algebra A B optimizes independently according to A and B returns the Cartesian product of the result sets from A and B a result value (a, b) may or may not be derived from the same candidate This appears too simple to be useful but be patient. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

9 Definition of lexicographic product * Definition Let A and B be evaluation algebras over Σ. Their lexicographic product algebra A B is an evaluation algebra C over Σ with f C defined component-wise (as with ) for each f in Σ, and with the objective function h A B ([(a 1, b 1 ),..., (a k, b k )]) = [(l, r)] l set(h A [a 1,..., a k ]), r h B ([r (l, r) [(a 1, b 1 ),..., (a k, b k )], l = l]) where [] denotes a multi-set and the function set returns a multi-set in which all duplicate elements are removed. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

10 The meaning of G(A B, x) is actually lready explained in ADP definitions, but still... Intuitive explanation: Phase 1 evaluates all candidates via functions f A f B into a gigantic list [..., (a i, b i ),...] Phase 2 chooses pairs with h A based on the a i component, and Phase 3 chooses from those the final pairs, based on te b i component Thus, if h A maximizes under ordering < A and h B maximizes under ordering < B, the product maximizes under the lexicographic combination of orderinge, (< A, < B ). Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

11 How about Bellman s Principle? In general, there is a proof obligation with * A B must satisfy Bellman s principle... because the three phases are not executed separately. Instead, h A B is applied at intermediate steps. Bellman s Principle guarantees that we loose no final result along the way. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

12 Advantages over hand-coded algebra combinations Benefits of products: the ADP compiler knows the definition of * and produces automatically code for A B. the resulting functions f A B etc. maybe a little less efficient than in a handcoded product, BUT: products formed with require no coding and testing Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

13 Versatility of the lexicographic product A B has a surprising number of uses optimization under a lexicographic ordering class-wise optimization reporting candidates The latter two cases use algebras A or B that do not do optimization. More later... Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

14 Useful properties of the lexicographic product (1) Theorem (1) Selectivity: Let h A (X ) X and h B (X ) X. For each value (a, b) computed by h A h B, there is a candidate t such that (a, b) = (A(t), B(t)). I.e., each returned value pair is backed up by a candidate that evaluates to these two values. Selectivity does not hold e.g. for the counting algebra. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

15 Useful properties of the lexicographic product (2) Theorem (2) Identity: For any algebras A and B, and multiset X, (id A id B )(X ) = X. Combining two identity functions gives the identity function on pairs. (On lists, (id A id B )(X ) is a permutation of X.) Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

16 Useful elementary properties (3) Since A B is just another algebra, we can make bigger products... Theorem (3) Associativity: G(A (B C), x) = G((A B) C, x) modulo re-grouping of tuples of result values, e.g. (a, (b, c)) = ((a, b), c) = (a, b, c) Hence we can simply write G(A B C, x). Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

17 Useful elementary properties (4) Theorem (4) Lexicographic optimization: Let A and B optimize over < A and < B. Then A B satisfies Bellman s Principle and optimizes over the lexicographic ordering (< A, < B ). So, for optimizing over two orderings in lexicographic fashion, there is a general proof that Bellman s Principle is always satisfied. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

18 Interleaved product The interleaved product: Motivation Let B(k) be an algebra that computes the best k scores under some optimization scheme. Let A be a an algebra that assigns a class attribute to each candidate. With G(A B(k), x), we obtain the best k for each class. How can we get the best 3 B-values from different A-classes? We first compute B(1) for each A-class, and then choose the classes with the best k B-values. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

19 Interleaved product The interleaved product: Definition Let A be a Σ- algebra and B(k) a generic Σ-algebra, and note that B(1) is unitary. Definition The interleaved product (A/B)(k) is a generic Σ-algebra and has the functions f A/B = f A B (1) for each f Σ, and the objective function h (A/B)(k) [(a 1, b 1 ),..., (a m, b m )] = [ (l, r) (l, r) U, p V, p = r] where U = h A B(1) [(a 1, b 1 ),..., (a m, b m )] V = set(h B(k) [ v (, v) U]) (2) Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

20 Interleaved product Interleaved product (2) In Equation 2, U stores the best results in each A-class, V stores the global rank of all solutions from U, and the main set comprehension filters U to contain only the results from V. This product is useful when B(k) alone produces the k-best-scoring candidates, and A maps candidates to different classes (not making any choices). Then, A/B yields the 1-best-scoring candidates from k different classes. This situation required sophisticated hand-coding in RNA shape analysis in 2004 it is now simply written as (Shape/Mfe)(k). Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

21 Pareto product Pareto-Optimization Pareto-optimization is a general way of optimizing with two (or more) idependent criteria. The solution set one computes is the Pareto front of the search space X A B. Taking h A and h B as maximization, the Pareto front operator pf is defined as pf(x ) = {(a, b) X (a, b ) X \ {(a, b)} with a a, b b }. In words: No element of the Pareto front is dominated in both dimensions by another element of X. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

22 Pareto product The Pareto-Product Let A and B be two Σ-algebras which maximize with respect to < A and < B. Definition The Pareto-product AB is a Σ-algebra C with f C defined component-wise from f A and f B, and h C (X ) = pf(x ) with pf as defined above for < A and < B. The Pareto product is a recent development and not yet implemented in Bellman s GAP. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

23 Pareto product Conclusion on algebra products A number of algebra product operators have been defined there may be more. it is faster and safer to use products where suitable than hand-coding a combined evalation algebra. since products yield new algebras, these can be used with further products, as in G((A/B) (C D), x), which makes them a powerful programming device on a very high level of abstraction. Understanding the definitions of products is one thing. Using products effectively takes quite some practice!! That s the topic of our next set of slides. Robert Giegerich, Benedikt Löwes ADP Lecture Summer / 23

Algebraic Dynamic Programming

Algebraic Dynamic Programming Algebraic Dynamic Programming Session 1: Introduction Robert Giegerich 1 (Lecture) Stefan Janssen (Exercises) Faculty of Technology http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp 1 robert@techfak.uni-bielefeld.de

More information

Algebraic Dynamic Programming. ADP Theory II: Algebraic Dynamic Programming and Bellman s Principle

Algebraic Dynamic Programming. ADP Theory II: Algebraic Dynamic Programming and Bellman s Principle Algebraic Dynamic Programming Session 4 ADP Theory II: Algebraic Dynamic Programming and Bellman s Principle Robert Giegerich (Lecture) Stefan Janssen (Exercises) Faculty of Technology Sommer 2013 http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp

More information

Pareto optimization in algebraic dynamic programming

Pareto optimization in algebraic dynamic programming DOI 10.1186/s13015-015-0051-7 RESEARCH Open Access Pareto optimization in algebraic dynamic programming Cédric Saule * and Robert Giegerich Abstract Pareto optimization combines independent objectives

More information

Dynamic Programming - with grammars, algebras, products. Stefanie

Dynamic Programming - with grammars, algebras, products. Stefanie Dynamic Programming - with grammars, algebras, products Stefanie Schirmer @linse combinatorial optimization problems combinatorial counting/enumerating all possible solutions of a recursive problem optimization

More information

CMSC 424 Database design Lecture 18 Query optimization. Mihai Pop

CMSC 424 Database design Lecture 18 Query optimization. Mihai Pop CMSC 424 Database design Lecture 18 Query optimization Mihai Pop More midterm solutions Projects do not be late! Admin Introduction Alternative ways of evaluating a given query Equivalent expressions Different

More information

Relational Model 2: Relational Algebra

Relational Model 2: Relational Algebra Yufei Tao Department of Computer Science and Engineering Chinese University of Hong Kong The relational model defines: 1 the format by which data should be stored; 2 the operations for querying the data.

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

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 3 Relational Model Hello everyone, we have been looking into

More information

Prediction of RNA secondary structure including kissing hairpin motifs

Prediction of RNA secondary structure including kissing hairpin motifs Prediction of RNA secondary structure including kissing hairpin motifs Corinna Theis, Stefan Janssen and Robert Giegerich Faculty of Technology & Center for Biotechnology Bielefeld University, Germany

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

MATH 1340 Mathematics & Politics

MATH 1340 Mathematics & Politics MATH 1340 Mathematics & Politics Lecture 5 June 26, 2015 Slides prepared by Iian Smythe for MATH 1340, Summer 2015, at Cornell University 1 An example (Exercise 2.1 in R&U) Consider the following profile

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

More information

Multi-objective Linked Data Query Optimization Technical Report

Multi-objective Linked Data Query Optimization Technical Report Multi-objective Linked Data Query Optimization Technical Report Günter Ladwig Thanh Tran Institute AIFB, Karlsruhe Institute of Technology, Germany {guenter.ladwig,ducthanh.tran}@kit.edu With the rapid

More information

Improved Truncated Differential Attacks on SAFER

Improved Truncated Differential Attacks on SAFER Improved Truncated Differential Attacks on SAFER Hongjun Wu * Feng Bao ** Robert H. Deng ** Qin-Zhong Ye * * Department of Electrical Engineering National University of Singapore Singapore 960 ** Information

More information

Introduction Alternative ways of evaluating a given query using

Introduction Alternative ways of evaluating a given query using Query Optimization Introduction Catalog Information for Cost Estimation Estimation of Statistics Transformation of Relational Expressions Dynamic Programming for Choosing Evaluation Plans Introduction

More information

Advanced Databases. Lecture 4 - Query Optimization. Masood Niazi Torshiz Islamic Azad university- Mashhad Branch

Advanced Databases. Lecture 4 - Query Optimization. Masood Niazi Torshiz Islamic Azad university- Mashhad Branch Advanced Databases Lecture 4 - Query Optimization Masood Niazi Torshiz Islamic Azad university- Mashhad Branch www.mniazi.ir Query Optimization Introduction Transformation of Relational Expressions Catalog

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

Fractions / 8 / / 10 1 ½ / 12

Fractions / 8 / / 10 1 ½ / 12 Fractions / 8 / 60 / ½ / 0 / What is a fraction? Loosely speaking, a fraction is a quantity that cannot be represented by a whole number. Why do we need fractions? Consider the following scenario. Can

More information

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete Mathematics Lecture 4. Harper Langston New York University Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a

More information

Databases Relational algebra Lectures for mathematics students

Databases Relational algebra Lectures for mathematics students Databases Relational algebra Lectures for mathematics students March 5, 2017 Relational algebra Theoretical model for describing the semantics of relational databases, proposed by T. Codd (who authored

More information

2.2.2.Relational Database concept

2.2.2.Relational Database concept Foreign key:- is a field (or collection of fields) in one table that uniquely identifies a row of another table. In simpler words, the foreign key is defined in a second table, but it refers to the primary

More information

Query Optimization. Shuigeng Zhou. December 9, 2009 School of Computer Science Fudan University

Query Optimization. Shuigeng Zhou. December 9, 2009 School of Computer Science Fudan University Query Optimization Shuigeng Zhou December 9, 2009 School of Computer Science Fudan University Outline Introduction Catalog Information for Cost Estimation Estimation of Statistics Transformation of Relational

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Database System Concepts

Database System Concepts Chapter 14: Optimization Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2007/2008 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth and Sudarshan.

More information

Algorithms, Games, and Networks February 21, Lecture 12

Algorithms, Games, and Networks February 21, Lecture 12 Algorithms, Games, and Networks February, 03 Lecturer: Ariel Procaccia Lecture Scribe: Sercan Yıldız Overview In this lecture, we introduce the axiomatic approach to social choice theory. In particular,

More information

Relational Algebra. Algebra of Bags

Relational Algebra. Algebra of Bags Relational Algebra Basic Operations Algebra of Bags What is an Algebra Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators --- symbols

More information

LECTURE 2 An Introduction to Boolean Algebra

LECTURE 2 An Introduction to Boolean Algebra IST 210: Boot Camp Ritendra Datta LECTURE 2 An Introduction to Boolean Algebra 2.1. Outline of Lecture Fundamentals Negation, Conjunction, and Disjunction Laws of Boolean Algebra Constructing Truth Tables

More information

GEOMETRY IN THREE DIMENSIONS

GEOMETRY IN THREE DIMENSIONS 1 CHAPTER 5. GEOMETRY IN THREE DIMENSIONS 1 INSTITIÚID TEICNEOLAÍOCHTA CHEATHARLACH INSTITUTE OF TECHNOLOGY CARLOW GEOMETRY IN THREE DIMENSIONS Contents 1 Geometry in R 3 2 1.1 Lines...............................................

More information

Forest Alignment with Affine Gaps and Anchors, applied in RNA structure comparison

Forest Alignment with Affine Gaps and Anchors, applied in RNA structure comparison Forest Alignment with Affine Gaps and Anchors, applied in RNA structure comparison Stefanie Schirmer Robert Giegerich Faculty of Technology and Center of Biotechnology, Bielefeld University, Bielefeld,

More information

Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem

Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem (Thursday, Jan 29, 1998) Read: Chapter 1 in CLR. Analyzing Algorithms: In order to design good algorithms, we must first agree the criteria for measuring

More information

Chapter 13: Query Optimization. Chapter 13: Query Optimization

Chapter 13: Query Optimization. Chapter 13: Query Optimization Chapter 13: Query Optimization Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 13: Query Optimization Introduction Equivalent Relational Algebra Expressions Statistical

More information

Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations Zvi M. Kedem 1

Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations Zvi M. Kedem 1 Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations 2014 Zvi M. Kedem 1 Relational Algebra And SQL SQL is based on relational algebra with many extensions Some necessary

More information

THE RELATIONAL DATABASE MODEL

THE RELATIONAL DATABASE MODEL THE RELATIONAL DATABASE MODEL Introduction to relational DB Basic Objects of relational model Properties of relation Representation of ER model to relation Keys Relational Integrity Rules Functional Dependencies

More information

Stage 1 (intervention) Stage 2 Stage 3 Stage 4. Advanced 7-8. Secure 4-6

Stage 1 (intervention) Stage 2 Stage 3 Stage 4. Advanced 7-8. Secure 4-6 Stage 1 (intervention) Stage 2 Stage 3 Stage 4 YEAR 7 LAT Grade Emerging (not secondary read) 1-3 Secure 4-6 Advanced 7-8 Advanced + 9 YEAR 8 1 Emerging 2-3 Secure 4-6 Advanced 7-9 Autumn 1 Place Value

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Mathematical Models: What and Why

Mathematical Models: What and Why Mathematical Models: What and Why Matthew J. Saltzman March 11, 1998 1 What Is a Model: Overview Mathematical modeling is a technique used to gain control of complexity in real life. In science, mathematical

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Distributed Computing Group Chapter 8 DOMINATING SETS Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

Chapter 6 Part I The Relational Algebra and Calculus

Chapter 6 Part I The Relational Algebra and Calculus Chapter 6 Part I The Relational Algebra and Calculus Copyright 2004 Ramez Elmasri and Shamkant Navathe Database State for COMPANY All examples discussed below refer to the COMPANY database shown here.

More information

Lecture 10: SVM Lecture Overview Support Vector Machines The binary classification problem

Lecture 10: SVM Lecture Overview Support Vector Machines The binary classification problem Computational Learning Theory Fall Semester, 2012/13 Lecture 10: SVM Lecturer: Yishay Mansour Scribe: Gitit Kehat, Yogev Vaknin and Ezra Levin 1 10.1 Lecture Overview In this lecture we present in detail

More information

On Structured Perceptron with Inexact Search, NAACL 2012

On Structured Perceptron with Inexact Search, NAACL 2012 On Structured Perceptron with Inexact Search, NAACL 2012 John Hewitt CIS 700-006 : Structured Prediction for NLP 2017-09-23 All graphs from Huang, Fayong, and Guo (2012) unless otherwise specified. All

More information

Chapter 14: Query Optimization

Chapter 14: Query Optimization Chapter 14: Query Optimization Database System Concepts 5 th Ed. See www.db-book.com for conditions on re-use Chapter 14: Query Optimization Introduction Transformation of Relational Expressions Catalog

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I

CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I Sutra: International Journal of Mathematical Science Education, Technomathematics Research Foundation Vol. 1, No. 1, 30-35, 2008 CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I R. Akerkar Technomathematics

More information

11.1 Facility Location

11.1 Facility Location CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 8: Constraint Satisfaction Problems, Part I 1/48 Artificial Intelligence 8. CSP, Part I: Basics, and Naïve Search What to Do When Your Problem is to

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

Contents Contents Introduction Basic Steps in Query Processing Introduction Transformation of Relational Expressions...

Contents Contents Introduction Basic Steps in Query Processing Introduction Transformation of Relational Expressions... Contents Contents...283 Introduction...283 Basic Steps in Query Processing...284 Introduction...285 Transformation of Relational Expressions...287 Equivalence Rules...289 Transformation Example: Pushing

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

2. Discovery of Association Rules

2. Discovery of Association Rules 2. Discovery of Association Rules Part I Motivation: market basket data Basic notions: association rule, frequency and confidence Problem of association rule mining (Sub)problem of frequent set mining

More information

Chapter 11: Query Optimization

Chapter 11: Query Optimization Chapter 11: Query Optimization Chapter 11: Query Optimization Introduction Transformation of Relational Expressions Statistical Information for Cost Estimation Cost-based optimization Dynamic Programming

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard

More information

Learning Objectives. In this chapter you will learn about:

Learning Objectives. In this chapter you will learn about: Ref. Page Slide 1/16 Learning Objectives In this chapter you will learn about: Basic operations performed by all types of computer systems Basic organization of a computer system Input unit and its functions

More information

Permutation Matrices. Permutation Matrices. Permutation Matrices. Permutation Matrices. Isomorphisms of Graphs. 19 Nov 2015

Permutation Matrices. Permutation Matrices. Permutation Matrices. Permutation Matrices. Isomorphisms of Graphs. 19 Nov 2015 9 Nov 25 A permutation matrix is an n by n matrix with a single in each row and column, elsewhere. If P is a permutation (bijection) on {,2,..,n} let A P be the permutation matrix with A ip(i) =, A ij

More information

July 16, 2010

July 16, 2010 gsauthof@techfak.uni-bielefeld.de Universität Bielefeld AG Praktische Informatik July 16, 2010 Motivation Usability Efficient DP-programs Automatic tricks, Optimizations Motivation Motivation Usability

More information

Limits and Continuity: section 12.2

Limits and Continuity: section 12.2 Limits and Continuity: section 1. Definition. Let f(x,y) be a function with domain D, and let (a,b) be a point in the plane. We write f (x,y) = L if for each ε > 0 there exists some δ > 0 such that if

More information

Database Systems. Basics of the Relational Data Model

Database Systems. Basics of the Relational Data Model Database Systems Relational Design Theory Jens Otten University of Oslo Jens Otten (UiO) Database Systems Relational Design Theory INF3100 Spring 18 1 / 30 Basics of the Relational Data Model title year

More information

Chapter-0: Introduction. Chapter 0 INTRODUCTION

Chapter-0: Introduction. Chapter 0 INTRODUCTION Chapter 0 INTRODUCTION 1 Graph Theory is a branch of Mathematics which has become quite rich and interesting for several reasons. In last three decades hundreds of research article have been published

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Chapter III.C Analysis of The Second Derivative Draft Version 4/19/14 Martin Flashman 2005

Chapter III.C Analysis of The Second Derivative Draft Version 4/19/14 Martin Flashman 2005 Chapter III.C Analysis of The Second Derivative Draft Version 4/19/14 Martin Flashman 2005 In this section we will develop applications of the second derivative that explain more graphical features of

More information

Sets. Mukulika Ghosh. Fall Based on slides by Dr. Hyunyoung Lee

Sets. Mukulika Ghosh. Fall Based on slides by Dr. Hyunyoung Lee Sets Mukulika Ghosh Fall 2018 Based on slides by Dr. Hyunyoung Lee Sets Sets A set is an unordered collection of objects, called elements, without duplication. We write a A to denote that a is an element

More information

Relational Algebra BASIC OPERATIONS DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA

Relational Algebra BASIC OPERATIONS DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA Relational Algebra BASIC OPERATIONS 1 What is an Algebra Mathematical system consisting of: Operands -- values from which new values can be constructed. Operators -- symbols denoting procedures that construct

More information

Constrained Delaunay Triangulations (CDT)

Constrained Delaunay Triangulations (CDT) Constrained Delaunay Triangulations (CDT) Recall: Definition 1 (Constrained triangulation). A triangulation with prespecified edges or breaklines between nodes. Motivation: Geological faults in oil recovery

More information

Chapter 3 Data Representation

Chapter 3 Data Representation Chapter 3 Data Representation The focus of this chapter is the representation of data in a digital computer. We begin with a review of several number systems (decimal, binary, octal, and hexadecimal) and

More information

Algorithms. Lecture Notes 5

Algorithms. Lecture Notes 5 Algorithms. Lecture Notes 5 Dynamic Programming for Sequence Comparison The linear structure of the Sequence Comparison problem immediately suggests a dynamic programming approach. Naturally, our sub-instances

More information

Ranking Clustered Data with Pairwise Comparisons

Ranking Clustered Data with Pairwise Comparisons Ranking Clustered Data with Pairwise Comparisons Kevin Kowalski nargle@cs.wisc.edu 1. INTRODUCTION Background. Machine learning often relies heavily on being able to rank instances in a large set of data

More information

TRANSFORMATION GEOMETRY? IT S JUST SLIDES, FLIPS AND TURNS, ISN T IT? WHAT S THE BIG DEAL?

TRANSFORMATION GEOMETRY? IT S JUST SLIDES, FLIPS AND TURNS, ISN T IT? WHAT S THE BIG DEAL? 1.1 TRANSFORMATION GEOMETRY? IT S JUST SLIDES, FLIPS AND TURNS, ISN T IT? WHAT S THE BIG DEAL? BROOKHILL INSTITUTE OF MATHEMATICS IHE GEOMETRY SUMMIT APRIL 25, 2016 KEVIN MCLEOD, UWM DEPARTMENT OF MATHEMATICAL

More information

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2 2.2 Set Operations 127 2.2 Set Operations Introduction Two, or more, sets can be combined in many different ways. For instance, starting with the set of mathematics majors at your school and the set of

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

Relational Model, Relational Algebra, and SQL

Relational Model, Relational Algebra, and SQL Relational Model, Relational Algebra, and SQL August 29, 2007 1 Relational Model Data model. constraints. Set of conceptual tools for describing of data, data semantics, data relationships, and data integrity

More information

Computational Genomics and Molecular Biology, Fall

Computational Genomics and Molecular Biology, Fall Computational Genomics and Molecular Biology, Fall 2015 1 Sequence Alignment Dannie Durand Pairwise Sequence Alignment The goal of pairwise sequence alignment is to establish a correspondence between the

More information

14 Foundation of Programming Languages and Software Engineering: Summer Term 2010

14 Foundation of Programming Languages and Software Engineering: Summer Term 2010 14 Foundation of Programming Languages and Software Engineering: Abstract Data Types Summer Term 2010 Robert Elsässer Abstract data types 09.06.2010 Theory 1 - Foundation of Programming Languages and Software

More information

CMPT 354: Database System I. Lecture 5. Relational Algebra

CMPT 354: Database System I. Lecture 5. Relational Algebra CMPT 354: Database System I Lecture 5. Relational Algebra 1 What have we learned Lec 1. DatabaseHistory Lec 2. Relational Model Lec 3-4. SQL 2 Why Relational Algebra matter? An essential topic to understand

More information

Relational Algebra and SQL. Basic Operations Algebra of Bags

Relational Algebra and SQL. Basic Operations Algebra of Bags Relational Algebra and SQL Basic Operations Algebra of Bags 1 What is an Algebra Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators

More information

Finding Strongly Connected Components

Finding Strongly Connected Components Yufei Tao ITEE University of Queensland We just can t get enough of the beautiful algorithm of DFS! In this lecture, we will use it to solve a problem finding strongly connected components that seems to

More information

Applications of Suffix Tree

Applications of Suffix Tree Applications of Suffix Tree Let us have a glimpse of the numerous applications of suffix trees. Exact String Matching As already mentioned earlier, given the suffix tree of the text, all occ occurrences

More information

4. Simplicial Complexes and Simplicial Homology

4. Simplicial Complexes and Simplicial Homology MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 4. Simplicial Complexes and Simplicial Homology Geometric simplicial complexes 4.1 Definition. A finite subset { v 0, v 1,..., v r } R n

More information

Treaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19

Treaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19 CSE34T/CSE549T /05/04 Lecture 9 Treaps Binary Search Trees (BSTs) Search trees are tree-based data structures that can be used to store and search for items that satisfy a total order. There are many types

More information

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1) Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Chapter 8 DOMINATING SETS Distributed Computing Group Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

Logical Aspects of Spatial Databases

Logical Aspects of Spatial Databases Logical Aspects of Spatial Databases Part I: First-order geometric and topological queries Jan Van den Bussche Hasselt University Spatial data Q: what is a spatial dataset? A: a set S R n equivalently,

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs

More information

Sept. 9, An Introduction to Bioinformatics. Special Topics BSC5936:

Sept. 9, An Introduction to Bioinformatics. Special Topics BSC5936: Special Topics BSC5936: An Introduction to Bioinformatics. Florida State University The Department of Biological Science www.bio.fsu.edu Sept. 9, 2003 The Dot Matrix Method Steven M. Thompson Florida State

More information

Mobile and Heterogeneous databases

Mobile and Heterogeneous databases Mobile and Heterogeneous databases Heterogeneous Distributed Databases Query Processing A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in two lectures. In

More information

CS 245 Midterm Exam Solution Winter 2015

CS 245 Midterm Exam Solution Winter 2015 CS 245 Midterm Exam Solution Winter 2015 This exam is open book and notes. You can use a calculator and your laptop to access course notes and videos (but not to communicate with other people). You have

More information

Penrose Tilings. Thomas Fernique. Moscow, Spring 2011

Penrose Tilings. Thomas Fernique. Moscow, Spring 2011 Penrose Tilings Thomas Fernique Moscow, Spring 011 1 Penrose tilings Matching rules Some properties 4 Pentagrids 1 Penrose tilings Matching rules Some properties 4 Pentagrids The trouble with Kepler tilings

More information

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. Row echelon form A matrix is said to be in the row echelon form if the leading entries shift to the

More information

The Citizen s Guide to Dynamic Programming

The Citizen s Guide to Dynamic Programming The Citizen s Guide to Dynamic Programming Jeff Chen Stolen extensively from past lectures October 6, 2007 Unfortunately, programmer, no one can be told what DP is. You have to try it for yourself. Adapted

More information

The complement of PATH is in NL

The complement of PATH is in NL 340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:

More information

Introduction to Homotopy Type Theory

Introduction to Homotopy Type Theory Introduction to Homotopy Type Theory Lecture notes for a course at EWSCS 2017 Thorsten Altenkirch March 5, 2017 1 What is this course about? To explain what Homotopy Type Theory is, I will first talk about

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations Zvi M. Kedem 1

Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations Zvi M. Kedem 1 Unit 4 Relational Algebra (Using SQL DML Syntax): Data Manipulation Language For Relations 2016 Zvi M. Kedem 1 Relational Algebra in Context User Level (View Level) Community Level (Base Level) Physical

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS522 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 39. Automated Planning: Landmark Heuristics Malte Helmert and Gabriele Röger University of Basel May 10, 2017 Automated Planning: Overview Chapter overview: planning

More information

The Dot Matrix Method

The Dot Matrix Method Special Topics BS5936: An Introduction to Bioinformatics. Florida State niversity The Department of Biological Science www.bio.fsu.edu Sept. 9, 2003 The Dot Matrix Method Steven M. Thompson Florida State

More information

A Lecture on Penrose Tilings of The Plane

A Lecture on Penrose Tilings of The Plane A Lecture on Penrose Tilings of The Plane Sir Roger Penrose October 24, 2002 Abstract These notes are from a lecture given by Sir. Roger Penrose at The Pennsylvania State University MASS Colloquium. The

More information