Algebraic Dynamic Programming
|
|
- Barnaby Evans
- 5 years ago
- Views:
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 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 informationAlgebraic 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 informationPareto 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 informationDynamic 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 informationCMSC 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 informationRelational 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 informationQuery 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 informationDatabase 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 informationPrediction 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 informationExact 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 informationMATH 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 informationSemantics 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
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 informationMulti-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 informationImproved 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 informationIntroduction 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 informationAdvanced 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 informationChapter 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 informationFractions / 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 informationDiscrete 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 informationDatabases 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 information2.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 informationQuery 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 informationApproximation 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 informationDatabase 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 informationAlgorithms, 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 informationRelational 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 informationLECTURE 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 informationGEOMETRY 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 informationForest 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 informationLecture 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 informationChapter 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 informationUnit 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 informationTHE 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 informationStage 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 informationCS261: 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 informationMathematical 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 informationChapter 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 informationChapter 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 informationLecture 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 informationOn 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 informationChapter 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 informationIntroduction 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 informationCLASS-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 information11.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 informationArtificial 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 informationAdvanced 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 informationContents 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 informationMathematical 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 information2. 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 informationChapter 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 informationChapter 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 informationLearning 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 informationPermutation 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 informationJuly 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 informationLimits 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 informationDatabase 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 informationChapter-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 information3 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 informationRelational 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 informationChapter 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 informationSets. 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 informationRelational 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 informationConstrained 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 informationChapter 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 informationAlgorithms. 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 informationRanking 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 informationTRANSFORMATION 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 information2.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 informationNotes 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 informationRelational 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 informationComputational 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 information14 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 informationCMPT 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 informationRelational 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 informationFinding 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 informationApplications 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 information4. 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 informationTreaps. 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 informationAlgorithms 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 informationTopic: 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 informationChapter 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 informationLogical 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 informationPOLYHEDRAL 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 informationCopyright 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 informationSept. 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 informationMobile 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 informationCS 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 informationPenrose 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 informationMATH 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 informationThe 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 informationThe 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 informationIntroduction 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 informationCS 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 informationUnit 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 informationCONVENTIONAL 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 informationLinear 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 informationFoundations 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 informationThe 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 informationA 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