Provenance analysis of algorithms 10/1/13 V. Tannen University of Pennsylvania 1WebDam someTowards ?

Slides:



Advertisements
Similar presentations
Logic Gates.
Advertisements

Daniel Deutch Tel Aviv Univ. Tova Milo Tel Aviv Univ. Sudeepa Roy Univ. of Washington Val Tannen Univ. of Pennsylvania.
NP-Hard Nattee Niparnan.
ANHAI DOAN ALON HALEVY ZACHARY IVES CHAPTER 14: DATA PROVENANCE PRINCIPLES OF DATA INTEGRATION.
CHAPTER 7 Greedy Algorithms.
Lecture 24 MAS 714 Hartmut Klauck
Networks Prim’s Algorithm
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Queries with Difference on Probabilistic Databases Sanjeev Khanna Sudeepa Roy Val Tannen University of Pennsylvania 1.
Discrete Math for Computer Science. Mathematical Model Real-world Problem Computerized Solution Abstract Model Transformed Model picture of the real worldpicture.
The Greedy Approach Chapter 8. The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Chapter 3 The Greedy Method 3.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
An Overview of Data Provenance
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
1 Section 10.1 Boolean Functions. 2 Computers & Boolean Algebra Circuits in computers have inputs whose values are either 0 or 1 Mathematician George.
Data Flow Analysis Compiler Design Nov. 8, 2005.
Chapter 11: Limitations of Algorithmic Power
1 Provenance Semirings T.J. Green, G. Karvounarakis, V. Tannen University of Pennsylvania Principles of Provenance (PrOPr) Philadelphia, PA June 26, 2007.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
Data Flow Analysis Compiler Design Nov. 8, 2005.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
CHAPTER 10 Recursion. 2 Recursive Thinking Recursion is a programming technique in which a method can call itself to solve a problem A recursive definition.
Dijkstra's algorithm.
On the Origin of Data Daniel Deutch Blavatnik School of Computer Science, Raymond and Beverly Sackler Faculty of Exact Sciences.
Approximated Provenance for Complex Applications
Copyright © Cengage Learning. All rights reserved.
Using Dijkstra’s Algorithm to Find a Shortest Path from a to z 1.
Applied Discrete Mathematics Week 13: Boolean Algebra
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Swarat Chaudhuri Roberto Lublinerman Pennsylvania State University Sumit Gulwani Microsoft Research CAUCHY Continuity analysis of programs.
Christopher Re and Dan Suciu University of Washington Efficient Evaluation of HAVING Queries on a Probabilistic Database.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
DeepDive Model Dongfang Xu Ph.D student, School of Information, University of Arizona Dec 13, 2015.
1 Provenance Semirings T.J. Green, G. Karvounarakis, V. Tannen University of Pennsylvania PODS 2007.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Greedy Algorithms Analysis of Algorithms.
Decision Maths 1 Shortest path algorithm Dijkstra’s Algorithm A V Ali :
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Querying and storing XML
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
DATA STRUCURES II CSC QUIZ 1. What is Data Structure ? 2. Mention the classifications of data structure giving example of each. 3. Briefly explain.
COMP108 Algorithmic Foundations Greedy methods
Programming Abstractions
Minimum Spanning Trees
Data Structures and Algorithms
Modeling Arithmetic, Computation, and Languages
12. Graphs and Trees 2 Summary
Lecture 23 CSE 331 Oct 26, 2016.
Queries with Difference on Probabilistic Databases
Lecture 24 CSE 331 Oct 27, 2017.
CSE373: Data Structures & Algorithms Lecture 12: Minimum Spanning Trees Catie Baker Spring 2015.
CSE373: Data Structures & Algorithms Lecture 20: Minimum Spanning Trees Linda Shapiro Spring 2016.
Lecture 24 CSE 331 Oct 29, 2012.
Shortest Path Algorithms
Lecture 26 CSE 331 Nov 2, 2012.
Minimum Spanning Tree Algorithms
CSE332: Data Abstractions Lecture 18: Minimum Spanning Trees
Lecture 25 CSE 331 Oct 27, 2014.
Networks Prim’s Algorithm
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
The Greedy Approach Young CS 530 Adv. Algo. Greedy.
Lecture 25 CSE 331 Oct 28, 2011.
Presentation transcript:

provenance analysis of algorithms 10/1/13 V. Tannen University of Pennsylvania 1WebDam someTowards ?

10/1/13 Wish to extend data provenance analysis to (as) general (as possible) information processing. Much such analysis was (and still is) done in the style of “activity logs” Many people are happy with this style of provenance as long as what is recorded in each log entry is rich enough information A new perspective arose in databases with the work of Buneman, Khanna, and Tan. This and subsequent developments allow us to be more ambitious about applications of provenance analysis. 2WebDam Data provenance analysis

Provenance 10/1/133WebDam Input (structured) collection of items Output Query How does each output item depend on the input items? Too vague! Look at applications to clarify. Processing

Provenance applications: some causal analysis 10/1/13 Consider an output item o. Deletion propagation: If some input items disappear does o disappear from the output? Binary trust: Is o obtained only from trusted input items? Access control: Associate with each input item a clearance procedure. Would a given clearance procedure succeed for o ? Probabilistic analysis: How does the event “ o is in the output” depend on all the events “item blah is in the input” 4WebDam

Provenance applications: some quantitative analysis 10/1/13 Consider an output item o. Cost: Assign a cost value to each input item. Compute the corresponding cost of o. Degrees of trust: Assign a degree of trust to each input item. Compute the degree of trust that corresponds to o. 5WebDam

10/1/136WebDam Provenance analysis Provenance: an abstract way of describing the relationship between output items and input items. Critical test: it can be specialized to solve causal or quantitative applications like those we saw. In all those applications we must keep track of all the alternative ways that an output items is computed, and for each of these, of the joint way in which input items are used.

10/1/13 For queries. (But see also longtime work in PL on security based on information flow.) Why-provenance of Buneman, Khanna, and Tan offered a perspective radically different than that of activity logs: different ways (different witnesses) of obtaining the same output item should be recorded separately. For causal analysis (deletion propagation, binary trust, access control, probabilistic analysis) minimal witnesses suffice. This is the same as recording provenance with positive boolean expressions. For quantitative analysis (cost, degrees of trust) witness (why-) provenance does not suffice (because it does not count how many times an input item is used in a witness). But we have Sorp. A commutative semiring is absorptive if a+ab=a for all a,b. Sorp(X) is the free absorptive semiring generated by X. It specializes correctly to cost and degrees of trust. Was designed in [DMST 2013, submitted]. 7WebDam Some things we have learned, so far

10/1/13 We understand one particular case: datalog Would like more, at least while positive queries for instance. But eventually graph algorithms such as Dijkstra, Prim, Kruskal and more? Problem: provenance can be infinite if we count all alternatives. Finite version: PosBool(X) for finite X. Good for causal analysis but not for quantitative analysis. xy ∨ yz ∨ xzu Sorp(X) for finite X is another finite version that is also good for quantitative analysis. x 2 y + xy 3 + xyu 8WebDam Loops and fixpoints

10/1/139WebDam The shortest path from A to F is A-C-E-F and has length 60. What if CE is lost? Then it’s A-B-D-F or A-C-D-F, both length 70. If CE, BD, and DF are lost then it’s A-B-D-E-F, length 80. Parts of input lost? Sounds like provenance analysis! A D B E F C

10/1/1310WebDam Label edges with provenance tokens x, y, z, u, v, w, s, t. Positive boolean provenance suffices for this application. Similar to provenance for aggregation [ADT PODS11] compute an expression for the length of the shortest path in involving numbers annotated with provenance. E.g., (xy ∨ yu)  50 A D B E F C x y z uv w s t

10/1/1311WebDam Y X2 X1 x2 x1 a2 a1 EP(Y) = (EP(X1) ∧ x1) ∨ (EP(X2) ∧ x2) LSP(Y) = [(x1 LSP(X1)) + (EP(X1) ∧ x1)  a1] min [(x2 LSP(X2)) + (EP(X2) ∧ x2)  a2] EP(X): provenance of “there exists a path from A to X” LSP(X): length of shortest path from A to X provenance-annotation expression

10/1/1312WebDam EP(D) = xz ∨ yu LSP(D) = = [u(y  10) + yu  30] min [z(x  20) + xz  20] = = yu  40 min xz  40 = = xz ∨ yu  40 A D B E F C x y z uv w s t

10/1/1313WebDam EP(F) = xzw ∨ yuw ∨ yst ∨ xzvt ∨ yuvt LSP(F) = = [yuw ∨ xzw  70] min [ [yst  50 min (yuvt ∨ xzvt)  70] + yst ∨ yuvt  10 ] A D B E F C x y z uv w s t

10/1/13 Handling large aggregations: algebraic laws help in shrinking size. A bstraction: group them by categories, track only the categories Provisioning [DIMT CIDR13]. Seemingly causal analysis only. Scenarios correspond to input items! 14WebDam Too many input items to track!

10/1/1315WebDam y = u = v = t = true LSP(F) = = w  70 min [ [ s  50 min true  70 ] + true  10 ] A D B E F C x y z uv w s t

Thank you! 10/1/1316WebDam