Newtonian Program Analysis: Solving Sharir and Pnueli s Equations

Size: px
Start display at page:

Download "Newtonian Program Analysis: Solving Sharir and Pnueli s Equations"

Transcription

1 Newtonian Program Analysis: Solving Sharir and Pnueli s Equations Javier Esparza Technische Universität München Joint work with Stefan Kiefer and Michael Luttenberger

2

3

4 From programs to equations: Intraprocedural x > 0 x = 0 x x + 1 x < 10 x 10

5 From programs to equations: Intraprocedural c Y a d X b One-step relations a,..., e (IN IN) c = {(x, x + 1) x 0} Big-step relations X, Y, Z IN IN Z e X Y = a Y + b = c Z Z = d Y + e

6 From programs to equations: Intraprocedural c Y a d X b One-step relations a,..., e (IN IN) c = {(x, x + 1) x 0} Big-step relation X IN IN Z e X Y = a Y + b = c Z Z = d Y + e

7 From programs to equations: Intraprocedural c Y a d X b One-step relations a,..., e (IN IN) c = {(x, x + 1) x 0} Big-step relations X, Y, Z IN IN Z e X Y = a Y + b = c Z Z = d Y + e

8 From programs to equations: Intraprocedural c Y a d X b One-step relations a,..., e (IN IN) c = {(x, x + 1) x 0} Big-step relations X, Y, Z IN IN Z e X Y = a Y + b = c Z Z = d Y + e

9 From programs to equations: Intraprocedural Program system X = f (X) of linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

10 From programs to equations: Intraprocedural Program system X = f (X) of linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

11 From programs to equations: Intraprocedural Program system X = f (X) of linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

12 From programs to equations: Intraprocedural Program system X = f (X) of linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

13 Quantitative program analysis: Expected time X 0.7 Y X = 0.7 Y Y = Z + 1 Z Z = 0.6 Y

14 From programs to equations: Interprocedural P Q x > 0 x = 0 x < 3 x 3 call Q x < 10 call Q call P x 10 x x 2

15 From programs to equations: Interprocedural P Q P 0 a e Q 0 f P 0 = a P 1 + b P 1 =?? P 2 P 1 Q 1 Q 2 P 2 = c P 1 + d call Q c b call Q call P Q 0 = e Q 1 + f Q 2 P 2 d g Q 3 Q 1 =?? Q 3 Q 2 =?? Q 3 Q 3 = g

16 From programs to equations: Interprocedural P Q P 0 = a P 1 + b P 0 Q 0 P 1 =?? P 2 a e f P 2 = c P 1 + d P 1 Q 1 Q 2 Q 0 = e Q 1 + f Q 2 call Q c b call Q call P Q 1 =?? Q 3 P 2 d g Q 3 Q 2 =?? Q 3 Q 3 = g

17 Sharir and Pnueli s functional approach P Q P 0 a e Q 0 f P 0 = a P 1 + b Q 0 P 1 = Q 0 P 2 P 2 = c P 1 + d P 1 Q 1 Q 2 Q 0 = e Q 1 + f Q 2 call Q c b call Q call P Q 1 =?? Q 3 P 2 d g Q 3 Q 2 =?? Q 3 Q 3 = g

18 Sharir and Pnueli s functional approach P Q P 0 a e Q 0 f P 0 = a P 1 + b Q 0 P 1 = Q 0 P 2 P 2 = c P 1 + d P 1 Q 1 Q 2 Q 0 = e Q 1 + f Q 2 call Q c b call Q call P Q 0 Q 1 =?? Q 3 P 2 d g Q 3 Q 2 =?? Q 3 Q 3 = g

19 Sharir and Pnueli s functional approach P Q P 0 a e Q 0 f P 0 = a P 1 + b Q 0 P 1 = Q 0 P 2 P 2 = c P 1 + d P 1 Q 1 Q 2 Q 0 = e Q 1 + f Q 2 call Q c b call Q call P Q 0 Q 1 =?? Q 3 P 2 d g Q 3 Q 2 =?? Q 3 Q 3 = g P 0

20 Sharir and Pnueli s interprocedural equations Program system X = f (X) of polynomial, non-linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

21 Sharir and Pnueli s interprocedural equations Program system X = f (X) of polynomial, non-linear fixed-point equations Least solution non-computable in general Program analysis: domain 2 IN abstract domain D transformer f abstract transformer f # Sufficient condition for existence of least solution: (D, +, ) is a (ω-continuous) semiring

22 Solving the equations: Kleene iteration Theorem [Kleene]: The least solution µf of X = f (X) is the supremum of {k i } i 0, where k 0 = f (0) k i+1 = f (k i ) Basic algorithm: compute k 0, k 1, k 2,... until either k i = k i+1, which implies k i = µf, or the approximation is considered adequate.

23 Kleene iteration is slow Set domains: Kleene iteration never terminates for X = f (X) if least solution µf is an infinite set. X = a X + b µf = a b Kleene approximants are finite sets: k i = (ɛ + a a i )b Probabilistic interpretation: convergence can be very slow for polynomial equations [EY STACS05]. X = 1 2 X µf = 1 = Logarithmic convergence : k iterations to get log k bits of accuracy. k n 1 1 n + 1 k 2000 =

24 Kleene Iteration for X = f (X) (univariate case) µf f (X)

25 Kleene Iteration for X = f (X) (univariate case) µf f (X)

26 Kleene Iteration for X = f (X) (univariate case) µf f (X)

27 Kleene Iteration for X = f (X) (univariate case) µf f (X)

28 Kleene Iteration for X = f (X) (univariate case) µf f (X)

29 Kleene Iteration for X = f (X) (univariate case) µf f (X)

30 Kleene Iteration for X = f (X) (univariate case) µf f (X)

31 Kleene Iteration for X = f (X) (univariate case) µf f (X)

32 Newton s Method for X = f (X) (univariate case) µf f (X)

33 Newton s Method for X = f (X) (univariate case) µf f (X)

34 Newton s Method for X = f (X) (univariate case) µf f (X)

35 Newton s Method for X = f (X) (univariate case) µf f (X)

36 Newton s Method for X = f (X) (univariate case) µf f (X)

37 Newton s Method for X = f (X) (univariate case) µf f (X)

38 Kleene vs. Newton Program analysis: Kleene iteration is applicable to arbitrary ω-continuous semirings... but converges slowly. Numerical mathematics: Newton s Method converges fast... but can only be applied to the real field Can Newton s method be generalized to arbitrary ω-continuous semirings?

39 Kleene vs. Newton Program analysis: Kleene iteration is applicable to arbitrary ω-continuous semirings... but converges slowly. Numerical mathematics: Newton s Method converges fast... but can only be applied to the real field Can Newton s method be generalized to arbitrary ω-continuous semirings?

40 Mathematical formulation of Newton s Method Elementary analysis yields for the i-th Newton iterant ν i : ν 0 = 0 ν i+1 = ν i + i where i least solution of X = Df νi (X) + f (ν i ) ν i Df νi (X) differential of f (X) at the point ν i

41 Generalizing Newton s method Key point: generalize X = Df ν (X) + f (ν) ν to arbitrary ω-continuous semirings In an arbitrary ω-continuous semiring neither the differential Df ν (X), nor the difference f (ν) ν are defined.

42 Overcoming the obstacles (1) Use the algebraic definition of differential (recall that we only have polynomial functions!) 0 if f (X) = c X if f (X) = X Df (X) = Dg(X) + Dh(X) if f (X) = g(x) + h(x) Dg(X) h(x) + g(x) Dh(X) if f (X) = g(x) h(x) (2) Replace f (ν i ) ν i by any δ i such that f (ν i ) = ν i + δ i Define i as the least solution of X = Df νi (X) + δ i

43 Idempotent and commutative semirings Theorem [Hopkins-Kozen LICS 99]: The least fixed point of a system X = f (X) of n equations over an idempotent and commutative ω-continuous semiring is reached by the sequence ν 0 = f (0) ν i+1 = J(ν i ) f (ν i ) after at most O(3 n ) iterations. Theorem: This is exactly Newton s sequence. Moreover, the fixed point is reached after at most n iterations.

44 Idempotent and commutative semirings Theorem [Hopkins-Kozen LICS 99]: The least fixed point of a system X = f (X) of n equations over an idempotent and commutative ω-continuous semiring is reached by the sequence ν 0 = f (0) ν i+1 = J(ν i ) f (ν i ) after at most O(3 n ) iterations. Theorem: This is exactly Newton s sequence. Moreover, the fixed point is reached after at most n iterations.

45 Two (quick) examples of application

46 May-Alias Analysis listify(): transforms a binary tree of pointers into a list of pointers by reading the tree in preorder. void listifyl() { void listify() { T.move left(); L.push back(t get data()); listify(); if( T.is leaf() == false ) { T.move up(); listifyl(); listifyr(); } } }

47 May-Alias Analysis

48 May-Alias Analysis

49 May-Alias Analysis Which data access paths of tree and list may point to the same element? Access path of the tree: word w 1 {left, right} Access path of the list: word w 2 {next} May-alias information: set of pairs (w 1, w 2 ) such that w 1, w 2 may point to the same cell Commutative abstraction: (left right left, next next) (3, 1, 2)

50 May-Alias Analysis Kleene iteration does not terminate. Newton s method terminates after one iteration and provides the following information: Data access paths with 0 right s and l left s may only be aliased to the l-th element of the list. Data access paths with r right s and l left s may only be aliased to the (2r + l)-th element of the list, or to larger elements of the same parity.

51 Lazy evaluation of And-Or trees Nodes are only constructed and evaluated (to 0 or 1) if needed. (e.g., if left subtree of And-node evaluates to 1, right subtree is not constructed) function And(node) if node.leaf() then return node.value() else v := Or(node.left) if v = 0 then return 0 else return Or(node.right) function Or(node) if node.leaf() then return node.value() else v := And(node.left) if v = 1 then return 1 else return And(node.right)

52 Assume the probabilities that node.leaf() returns true and node.value() returns 1 are both 1/2. We perform an analysis to compute the average runtime.

53 Kleene vs. Newton Neither Kleene nor Newton terminate, but Newton converges faster: i k (i) And 0 ν (i) And 0 k (i) And 1 ν (i) And

54 Messages of this talk The theory of solving program analysis equations is not be as well understood as we thought. We can learn from numerical mathematics and contribute to it. Go for unified theory of qualitative and quantitative program analysis.

55 Commenting the works...

56 ... of the giants

57 And yet... The glosses of Saint Emilianus, written around 1000 AC. Oldest writing in (a form of) Spanish, one of the most spoken languages in the world.

58 Shimon Even, Amir Pnueli,

Newtonian Program Analysis

Newtonian Program Analysis Newtonian Program Analysis Javier Esparza Technische Universität München Joint work with Stefan Kiefer and Michael Luttenberger From programs to flowgraphs proc X 1 proc X 2 proc X 3 a c d f X 1 b

More information

Newtonian Program Analysis

Newtonian Program Analysis Newtonian Program Analysis Javier Esparza, Stefan Kiefer, and Michael Luttenberger Institut für Informatik, Technische Universität München, 85748 Garching, Germany {esparza,kiefer,luttenbe}@model.in.tum.de

More information

On Fixed Point Equations over Commutative Semirings

On Fixed Point Equations over Commutative Semirings On Fixed Point Equations over Commutative Semirings Javier Esparza, Stefan Kiefer, and Michael Luttenberger Universität Stuttgart Institute for Formal Methods in Computer Science Stuttgart, Germany {esparza,kiefersn,luttenml}@informatik.uni-stuttgart.de

More information

Solving fixed-point equations over semirings

Solving fixed-point equations over semirings Solving fixed-point equations over semirings Javier Esparza Technische Universität München Joint work with Michael Luttenberger and Maximilian Schlund Fixed-point equations We study systems of equations

More information

An Extension of Newton s Method to ω-continuous Semirings

An Extension of Newton s Method to ω-continuous Semirings An Extension of Newton s Method to ω-continuous Semirings Javier Esparza, Stefan Kiefer, and Michael Luttenberger Institute for Formal Methods in Computer Science Universität Stuttgart, Germany {esparza,kiefersn,luttenml}@informatik.uni-stuttgart.de

More information

Program Analyses using Newton s Method

Program Analyses using Newton s Method Program Analyses using Newton s Method (Invited Paper) 1,2 Thomas Reps 1 University of Wisconsin; Madison, WI, USA 2 GrammaTech, Inc.; Ithaca, NY, USA Abstract. Esparza et al. generalized Newton s method

More information

Interprocedural Dataflow Analysis, Part III: Newtonian Program Analysis Via Tensor Product CS701

Interprocedural Dataflow Analysis, Part III: Newtonian Program Analysis Via Tensor Product CS701 Interprocedural Dataflow Analysis, Part III: Newtonian Program Analysis Via Tensor Product CS701 Thomas Reps Abstract In this lecture, we summarize the interprocedural-dataflow-analysis method of Esparza

More information

A CS look at stochastic branching processes

A CS look at stochastic branching processes A computer science look at stochastic branching processes T. Brázdil J. Esparza S. Kiefer M. Luttenberger Technische Universität München For Thiagu, December 2008 Back in victorian Britain... There was

More information

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Binary Search Introduction Problem Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Strategy 1: Random Search Randomly select a page until the page containing

More information

Introduction to Kleene Algebras

Introduction to Kleene Algebras Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)

More information

FPsolve: A Generic Solver for Fixpoint Equations over Semirings

FPsolve: A Generic Solver for Fixpoint Equations over Semirings FPsolve: A Generic Solver for Fixpoint Equations over Semirings Javier Esparza, Michael Luttenberger, and Maximilian Schlund Technische Universität München, {esparza,luttenbe,schlund}@in.tum.de Abstract.

More information

Kleene Algebra and Arden s Theorem. Anshul Kumar Inzemamul Haque

Kleene Algebra and Arden s Theorem. Anshul Kumar Inzemamul Haque Kleene Algebra and Arden s Theorem Anshul Kumar Inzemamul Haque Motivation Regular Expression is a Kleene Algebra. We can use the properties and theorems of Kleene Algebra to simplify regular expressions

More information

Binary Search Trees. Motivation

Binary Search Trees. Motivation Binary Search Trees Motivation Searching for a particular record in an unordered list takes O(n), too slow for large lists (databases) If the list is ordered, can use an array implementation and use binary

More information

An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California. 2. Background: Semirings and Kleene algebras

An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California. 2. Background: Semirings and Kleene algebras An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California 1. Residuated Lattices with iteration 2. Background: Semirings and Kleene algebras 3. A Gentzen system

More information

R ij = 2. Using all of these facts together, you can solve problem number 9.

R ij = 2. Using all of these facts together, you can solve problem number 9. Help for Homework Problem #9 Let G(V,E) be any undirected graph We want to calculate the travel time across the graph. Think of each edge as one resistor of 1 Ohm. Say we have two nodes: i and j Let the

More information

Convergence Thresholds of Newton s Method for Monotone Polynomial Equations

Convergence Thresholds of Newton s Method for Monotone Polynomial Equations Convergence Thresholds of Newton s Method for Monotone Polynomial Equations Javier Esparza, Stefan Kiefer, Michael Luttenberger To cite this version: Javier Esparza, Stefan Kiefer, Michael Luttenberger.

More information

Chapter 5 The Witness Reduction Technique

Chapter 5 The Witness Reduction Technique Outline Chapter 5 The Technique Luke Dalessandro Rahul Krishna December 6, 2006 Outline Part I: Background Material Part II: Chapter 5 Outline of Part I 1 Notes On Our NP Computation Model NP Machines

More information

Characterizing the Equational Theory

Characterizing the Equational Theory Introduction to Kleene Algebra Lecture 4 CS786 Spring 2004 February 2, 2004 Characterizing the Equational Theory Most of the early work on Kleene algebra was directed toward characterizing the equational

More information

Axioms of Kleene Algebra

Axioms of Kleene Algebra Introduction to Kleene Algebra Lecture 2 CS786 Spring 2004 January 28, 2004 Axioms of Kleene Algebra In this lecture we give the formal definition of a Kleene algebra and derive some basic consequences.

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 9 September 30, 2015 CPSC 467, Lecture 9 1/47 Fast Exponentiation Algorithms Number Theory Needed for RSA Elementary Number Theory

More information

3.1 Introduction. Solve non-linear real equation f(x) = 0 for real root or zero x. E.g. x x 1.5 =0, tan x x =0.

3.1 Introduction. Solve non-linear real equation f(x) = 0 for real root or zero x. E.g. x x 1.5 =0, tan x x =0. 3.1 Introduction Solve non-linear real equation f(x) = 0 for real root or zero x. E.g. x 3 +1.5x 1.5 =0, tan x x =0. Practical existence test for roots: by intermediate value theorem, f C[a, b] & f(a)f(b)

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

More Asymptotic Analysis Spring 2018 Discussion 8: March 6, 2018

More Asymptotic Analysis Spring 2018 Discussion 8: March 6, 2018 CS 61B More Asymptotic Analysis Spring 2018 Discussion 8: March 6, 2018 Here is a review of some formulas that you will find useful when doing asymptotic analysis. ˆ N i=1 i = 1 + 2 + 3 + 4 + + N = N(N+1)

More information

Compositional Recurrence Analysis Revisited

Compositional Recurrence Analysis Revisited Compositional Recurrence Analysis Revisited Zachary Kincaid Princeton Univ., USA zkincaid@cs.princeton.edu Jason Breck Ashkan Forouhi Boroujeni Univ. of Wisconsin, USA {jbreck,ashkanfb@cs.wisc.edu Thomas

More information

CS 395T Computational Learning Theory. Scribe: Mike Halcrow. x 4. x 2. x 6

CS 395T Computational Learning Theory. Scribe: Mike Halcrow. x 4. x 2. x 6 CS 395T Computational Learning Theory Lecture 3: September 0, 2007 Lecturer: Adam Klivans Scribe: Mike Halcrow 3. Decision List Recap In the last class, we determined that, when learning a t-decision list,

More information

Two Approaches to Interprocedural Data Flow Analysis

Two Approaches to Interprocedural Data Flow Analysis Two Approaches to Interprocedural Data Flow Analysis Micha Sharir Amir Pnueli Part one: The Functional Approach 12.06.2010 Klaas Boesche Intraprocedural analysis procedure main read a, b procedure p if

More information

Calculus. Central role in much of modern science Physics, especially kinematics and electrodynamics Economics, engineering, medicine, chemistry, etc.

Calculus. Central role in much of modern science Physics, especially kinematics and electrodynamics Economics, engineering, medicine, chemistry, etc. Calculus Calculus - the study of change, as related to functions Formally co-developed around the 1660 s by Newton and Leibniz Two main branches - differential and integral Central role in much of modern

More information

CMPUT 675: Approximation Algorithms Fall 2014

CMPUT 675: Approximation Algorithms Fall 2014 CMPUT 675: Approximation Algorithms Fall 204 Lecture 25 (Nov 3 & 5): Group Steiner Tree Lecturer: Zachary Friggstad Scribe: Zachary Friggstad 25. Group Steiner Tree In this problem, we are given a graph

More information

Flow grammars a flow analysis methodology

Flow grammars a flow analysis methodology Flow grammars a flow analysis methodology James S. Uhl and R. Nigel Horspool Dept. of Computer Science, University of Victoria P.O. Box 3055, Victoria, BC, Canada V8W 3P6 E-mail: juhl@csr.uvic.ca, nigelh@csr.uvic.ca

More information

Compositional Recurrence Analysis Revisited

Compositional Recurrence Analysis Revisited 4/7/2017 aec badge pldi.svg file:///c:/users/reps/documents/papers/submissions/newtoncra/aec badge pldi.svg 1/1 Compositional Recurrence Analysis Revisited * PLDI * Artifact Consistent * Complete * Well

More information

Chapter 1. Root Finding Methods. 1.1 Bisection method

Chapter 1. Root Finding Methods. 1.1 Bisection method Chapter 1 Root Finding Methods We begin by considering numerical solutions to the problem f(x) = 0 (1.1) Although the problem above is simple to state it is not always easy to solve analytically. This

More information

Algorithms and Theory of Computation. Lecture 2: Big-O Notation Graph Algorithms

Algorithms and Theory of Computation. Lecture 2: Big-O Notation Graph Algorithms Algorithms and Theory of Computation Lecture 2: Big-O Notation Graph Algorithms Xiaohui Bei MAS 714 August 14, 2018 Nanyang Technological University MAS 714 August 14, 2018 1 / 20 O, Ω, and Θ Nanyang Technological

More information

Bounded-width QBF is PSPACE-complete

Bounded-width QBF is PSPACE-complete Bounded-width QBF is PSPACE-complete Albert Atserias Universitat Politècnica de Catalunya Barcelona, Spain atserias@lsi.upc.edu Sergi Oliva Universitat Politècnica de Catalunya Barcelona, Spain oliva@lsi.upc.edu

More information

EECS 229A Spring 2007 * * (a) By stationarity and the chain rule for entropy, we have

EECS 229A Spring 2007 * * (a) By stationarity and the chain rule for entropy, we have EECS 229A Spring 2007 * * Solutions to Homework 3 1. Problem 4.11 on pg. 93 of the text. Stationary processes (a) By stationarity and the chain rule for entropy, we have H(X 0 ) + H(X n X 0 ) = H(X 0,

More information

Algorithms and Their Complexity

Algorithms and Their Complexity CSCE 222 Discrete Structures for Computing David Kebo Houngninou Algorithms and Their Complexity Chapter 3 Algorithm An algorithm is a finite sequence of steps that solves a problem. Computational complexity

More information

Exponential and logarithm functions

Exponential and logarithm functions ucsc supplementary notes ams/econ 11a Exponential and logarithm functions c 2010 Yonatan Katznelson The material in this supplement is assumed to be mostly review material. If you have never studied exponential

More information

Completeness of Star-Continuity

Completeness of Star-Continuity Introduction to Kleene Algebra Lecture 5 CS786 Spring 2004 February 9, 2004 Completeness of Star-Continuity We argued in the previous lecture that the equational theory of each of the following classes

More information

Notes for Lecture 11

Notes for Lecture 11 Stanford University CS254: Computational Complexity Notes 11 Luca Trevisan 2/11/2014 Notes for Lecture 11 Circuit Lower Bounds for Parity Using Polynomials In this lecture we prove a lower bound on the

More information

Solving Monotone Polynomial Equations

Solving Monotone Polynomial Equations Solving Monotone Polynomial Equations Javier Esparza, Stean Kieer, and Michael Luttenberger Institut ür Inormatik, Technische Universität München, 85748 Garching, Germany {esparza,kieer,luttenbe}@in.tum.de

More information

arxiv: v1 [cs.fl] 2 Oct 2018

arxiv: v1 [cs.fl] 2 Oct 2018 The Parikh Property for Weighted Context-Free Grammars Pierre Ganty IMDEA Software Institute, Madrid, Spain pierre.ganty@imdea.org Elena Gutiérrez IMDEA Software Institute, Madrid, Spain Universidad Politécnica

More information

Provenance Semirings. Todd Green Grigoris Karvounarakis Val Tannen. presented by Clemens Ley

Provenance Semirings. Todd Green Grigoris Karvounarakis Val Tannen. presented by Clemens Ley Provenance Semirings Todd Green Grigoris Karvounarakis Val Tannen presented by Clemens Ley place of origin Provenance Semirings Todd Green Grigoris Karvounarakis Val Tannen presented by Clemens Ley place

More information

Is g one-to-one? Is g onto? Why? Solution: g is not one-to-one, since for c A, g(b) = g(c) = c. g is not onto, since a / g(a).

Is g one-to-one? Is g onto? Why? Solution: g is not one-to-one, since for c A, g(b) = g(c) = c. g is not onto, since a / g(a). Discrete Structures: Exam 2 Solutions to Sample Questions, 1. Let A = B = {a, b, c}. Consider the relation g = {(a, b), (b, c), (c, c)}. Is g one-to-one? Is g onto? Why? Solution: g is not one-to-one,

More information

M17 MAT25-21 HOMEWORK 6

M17 MAT25-21 HOMEWORK 6 M17 MAT25-21 HOMEWORK 6 DUE 10:00AM WEDNESDAY SEPTEMBER 13TH 1. To Hand In Double Series. The exercises in this section will guide you to complete the proof of the following theorem: Theorem 1: Absolute

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Notes on Machine Learning for and

Notes on Machine Learning for and Notes on Machine Learning for 16.410 and 16.413 (Notes adapted from Tom Mitchell and Andrew Moore.) Learning = improving with experience Improve over task T (e.g, Classification, control tasks) with respect

More information

Linear Discrimination Functions

Linear Discrimination Functions Laurea Magistrale in Informatica Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari November 4, 2009 Outline Linear models Gradient descent Perceptron Minimum square error approach

More information

INF2220: algorithms and data structures Series 1

INF2220: algorithms and data structures Series 1 Universitetet i Oslo Institutt for Informatikk I. Yu, D. Karabeg INF2220: algorithms and data structures Series 1 Topic Function growth & estimation of running time, trees (Exercises with hints for solution)

More information

30 Classification of States

30 Classification of States 30 Classification of States In a Markov chain, each state can be placed in one of the three classifications. 1 Since each state falls into one and only one category, these categories partition the states.

More information

1 Alphabets and Languages

1 Alphabets and Languages 1 Alphabets and Languages Look at handout 1 (inference rules for sets) and use the rules on some examples like {a} {{a}} {a} {a, b}, {a} {{a}}, {a} {{a}}, {a} {a, b}, a {{a}}, a {a, b}, a {{a}}, a {a,

More information

A first order divided difference

A first order divided difference A first order divided difference For a given function f (x) and two distinct points x 0 and x 1, define f [x 0, x 1 ] = f (x 1) f (x 0 ) x 1 x 0 This is called the first order divided difference of f (x).

More information

Solutions or answers to Final exam in Error Control Coding, October 24, G eqv = ( 1+D, 1+D + D 2)

Solutions or answers to Final exam in Error Control Coding, October 24, G eqv = ( 1+D, 1+D + D 2) Solutions or answers to Final exam in Error Control Coding, October, Solution to Problem a) G(D) = ( +D, +D + D ) b) The rate R =/ and ν i = ν = m =. c) Yes, since gcd ( +D, +D + D ) =+D + D D j. d) An

More information

Algorithms 2/6/2018. Algorithms. Enough Mathematical Appetizers! Algorithm Examples. Algorithms. Algorithm Examples. Algorithm Examples

Algorithms 2/6/2018. Algorithms. Enough Mathematical Appetizers! Algorithm Examples. Algorithms. Algorithm Examples. Algorithm Examples Enough Mathematical Appetizers! Algorithms What is an algorithm? Let us look at something more interesting: Algorithms An algorithm is a finite set of precise instructions for performing a computation

More information

CS Communication Complexity: Applications and New Directions

CS Communication Complexity: Applications and New Directions CS 2429 - Communication Complexity: Applications and New Directions Lecturer: Toniann Pitassi 1 Introduction In this course we will define the basic two-party model of communication, as introduced in the

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

Notes for Lecture 25

Notes for Lecture 25 U.C. Berkeley CS278: Computational Complexity Handout N25 ofessor Luca Trevisan 12/1/2004 Notes for Lecture 25 Circuit Lower Bounds for Parity Using Polynomials In this lecture we prove a lower bound on

More information

Space-efficient scheduling of stochastically generated tasks

Space-efficient scheduling of stochastically generated tasks Space-efficient scheduling of stochastically generated tasks Tomáš Brázdil 1, Javier Esparza 2, Stefan Kiefer 3, and Michael Luttenberger 2 1 Faculty of Informatics, Masaryk University, Brno, Czech Republic

More information

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei COMPSCI 650 Applied Information Theory Apr 5, 2016 Lecture 18 Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei 1 Correcting Errors in Linear Codes Suppose someone is to send

More information

ROOT FINDING REVIEW MICHELLE FENG

ROOT FINDING REVIEW MICHELLE FENG ROOT FINDING REVIEW MICHELLE FENG 1.1. Bisection Method. 1. Root Finding Methods (1) Very naive approach based on the Intermediate Value Theorem (2) You need to be looking in an interval with only one

More information

Tree Adjoining Grammars

Tree Adjoining Grammars Tree Adjoining Grammars TAG: Parsing and formal properties Laura Kallmeyer & Benjamin Burkhardt HHU Düsseldorf WS 2017/2018 1 / 36 Outline 1 Parsing as deduction 2 CYK for TAG 3 Closure properties of TALs

More information

d(ν) = max{n N : ν dmn p n } N. p d(ν) (ν) = ρ.

d(ν) = max{n N : ν dmn p n } N. p d(ν) (ν) = ρ. 1. Trees; context free grammars. 1.1. Trees. Definition 1.1. By a tree we mean an ordered triple T = (N, ρ, p) (i) N is a finite set; (ii) ρ N ; (iii) p : N {ρ} N ; (iv) if n N + and ν dmn p n then p n

More information

FIXED POINT ITERATION

FIXED POINT ITERATION FIXED POINT ITERATION The idea of the fixed point iteration methods is to first reformulate a equation to an equivalent fixed point problem: f (x) = 0 x = g(x) and then to use the iteration: with an initial

More information

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions CS 6743 Lecture 15 1 Fall 2007 1 Circuit Complexity 1.1 Definitions A Boolean circuit C on n inputs x 1,..., x n is a directed acyclic graph (DAG) with n nodes of in-degree 0 (the inputs x 1,..., x n ),

More information

Expectation propagation for symbol detection in large-scale MIMO communications

Expectation propagation for symbol detection in large-scale MIMO communications Expectation propagation for symbol detection in large-scale MIMO communications Pablo M. Olmos olmos@tsc.uc3m.es Joint work with Javier Céspedes (UC3M) Matilde Sánchez-Fernández (UC3M) and Fernando Pérez-Cruz

More information

Domain theory and denotational semantics of functional programming

Domain theory and denotational semantics of functional programming Domain theory and denotational semantics of functional programming Martín Escardó School of Computer Science, Birmingham University MGS 2007, Nottingham, version of April 20, 2007 17:26 What is denotational

More information

1 Differentiability at a point

1 Differentiability at a point Notes by David Groisser, Copyright c 2012 What does mean? These notes are intended as a supplement (not a textbook-replacement) for a class at the level of Calculus 3, but can be used in a higher-level

More information

CS 188 Introduction to Fall 2007 Artificial Intelligence Midterm

CS 188 Introduction to Fall 2007 Artificial Intelligence Midterm NAME: SID#: Login: Sec: 1 CS 188 Introduction to Fall 2007 Artificial Intelligence Midterm You have 80 minutes. The exam is closed book, closed notes except a one-page crib sheet, basic calculators only.

More information

Announcements. CompSci 102 Discrete Math for Computer Science. Chap. 3.1 Algorithms. Specifying Algorithms

Announcements. CompSci 102 Discrete Math for Computer Science. Chap. 3.1 Algorithms. Specifying Algorithms CompSci 102 Discrete Math for Computer Science Announcements Read for next time Chap. 3.1-3.3 Homework 3 due Tuesday We ll finish Chapter 2 first today February 7, 2012 Prof. Rodger Chap. 3.1 Algorithms

More information

Elliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem Elliptic Curve Discrete Logarithm Problem Vanessa VITSE Université de Versailles Saint-Quentin, Laboratoire PRISM October 19, 2009 Vanessa VITSE (UVSQ) Elliptic Curve Discrete Logarithm Problem October

More information

Math 262A Lecture Notes - Nechiporuk s Theorem

Math 262A Lecture Notes - Nechiporuk s Theorem Math 6A Lecture Notes - Nechiporuk s Theore Lecturer: Sa Buss Scribe: Stefan Schneider October, 013 Nechiporuk [1] gives a ethod to derive lower bounds on forula size over the full binary basis B The lower

More information

* 8 Groups, with Appendix containing Rings and Fields.

* 8 Groups, with Appendix containing Rings and Fields. * 8 Groups, with Appendix containing Rings and Fields Binary Operations Definition We say that is a binary operation on a set S if, and only if, a, b, a b S Implicit in this definition is the idea that

More information

An Algorithm better than AO*?

An Algorithm better than AO*? An Algorithm better than? Blai Bonet Universidad Simón Boĺıvar Caracas, Venezuela Héctor Geffner ICREA and Universitat Pompeu Fabra Barcelona, Spain 7/2005 An Algorithm Better than? B. Bonet and H. Geffner;

More information

Approximative Methods for Monotone Systems of min-max-polynomial Equations

Approximative Methods for Monotone Systems of min-max-polynomial Equations Approximative Methods or Monotone Systems o min-max-polynomial Equations Javier Esparza, Thomas Gawlitza, Stean Kieer, and Helmut Seidl Institut ür Inormatik Technische Universität München, Germany {esparza,gawlitza,kieer,seidl}@in.tum.de

More information

Before We Start. The Pumping Lemma. Languages. Context Free Languages. Plan for today. Now our picture looks like. Any questions?

Before We Start. The Pumping Lemma. Languages. Context Free Languages. Plan for today. Now our picture looks like. Any questions? Before We Start The Pumping Lemma Any questions? The Lemma & Decision/ Languages Future Exam Question What is a language? What is a class of languages? Context Free Languages Context Free Languages(CFL)

More information

GALOIS THEORY : LECTURE 4 LEO GOLDMAKHER

GALOIS THEORY : LECTURE 4 LEO GOLDMAKHER GALOIS THEORY : LECTURE 4 LEO GOLDMAKHER 1. A BRIEF REVIEW OF S n The rest of the lecture relies on familiarity with the symmetric group of n elements, denoted S n (this is the group of all permutations

More information

Notes for Lecture 15

Notes for Lecture 15 U.C. Berkeley CS278: Computational Complexity Handout N15 Professor Luca Trevisan 10/27/2004 Notes for Lecture 15 Notes written 12/07/04 Learning Decision Trees In these notes it will be convenient to

More information

Time stealing: An adventure in tropical land

Time stealing: An adventure in tropical land 1/ 21 Time stealing: An adventure in tropical land Marianne Johnson Manchester, 16th November 2010 2/ 21 Time stealing: An adventure in tropical land For Dave on the occasion of his 60th Birthday (with

More information

Exercises 1 - Solutions

Exercises 1 - Solutions Exercises 1 - Solutions SAV 2013 1 PL validity For each of the following propositional logic formulae determine whether it is valid or not. If it is valid prove it, otherwise give a counterexample. Note

More information

2. As we shall see, we choose to write in terms of σ x because ( X ) 2 = σ 2 x.

2. As we shall see, we choose to write in terms of σ x because ( X ) 2 = σ 2 x. Section 5.1 Simple One-Dimensional Problems: The Free Particle Page 9 The Free Particle Gaussian Wave Packets The Gaussian wave packet initial state is one of the few states for which both the { x } and

More information

1. Prove: A full m- ary tree with i internal vertices contains n = mi + 1 vertices.

1. Prove: A full m- ary tree with i internal vertices contains n = mi + 1 vertices. 1. Prove: A full m- ary tree with i internal vertices contains n = mi + 1 vertices. Proof: Every vertex, except the root, is the child of an internal vertex. Since there are i internal vertices, each of

More information

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set

More information

Some Remarks on Minimal Clones

Some Remarks on Minimal Clones ALGORITHMIC COMPLEXITY and UNIVERSAL ALGEBRA 2007. 7. 16. 7. 20. Szeged, Hungary Some Remarks on Minimal Clones Hajime MACHIDA (Tokyo) Joint Work with Michael PINSKER (Wien) ALGORITHMIC COMPLEXITY and

More information

3. Algorithms. What matters? How fast do we solve the problem? How much computer resource do we need?

3. Algorithms. What matters? How fast do we solve the problem? How much computer resource do we need? 3. Algorithms We will study algorithms to solve many different types of problems such as finding the largest of a sequence of numbers sorting a sequence of numbers finding the shortest path between two

More information

An analogy from Calculus: limits

An analogy from Calculus: limits COMP 250 Fall 2018 35 - big O Nov. 30, 2018 We have seen several algorithms in the course, and we have loosely characterized their runtimes in terms of the size n of the input. We say that the algorithm

More information

A CHARACTERIZATION OF LOCALLY FINITE VARIETIES THAT SATISFY A NONTRIVIAL CONGRUENCE IDENTITY

A CHARACTERIZATION OF LOCALLY FINITE VARIETIES THAT SATISFY A NONTRIVIAL CONGRUENCE IDENTITY A CHARACTERIZATION OF LOCALLY FINITE VARIETIES THAT SATISFY A NONTRIVIAL CONGRUENCE IDENTITY KEITH A. KEARNES Abstract. We show that a locally finite variety satisfies a nontrivial congruence identity

More information

Lecture 7: Quantum Fourier Transform over Z N

Lecture 7: Quantum Fourier Transform over Z N Quantum Computation (CMU 18-859BB, Fall 015) Lecture 7: Quantum Fourier Transform over Z September 30, 015 Lecturer: Ryan O Donnell Scribe: Chris Jones 1 Overview Last time, we talked about two main topics:

More information

CHAPTER 6. Differentiation

CHAPTER 6. Differentiation CHPTER 6 Differentiation The generalization from elementary calculus of differentiation in measure theory is less obvious than that of integration, and the methods of treating it are somewhat involved.

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

CSCI 3110 Assignment 6 Solutions

CSCI 3110 Assignment 6 Solutions CSCI 3110 Assignment 6 Solutions December 5, 2012 2.4 (4 pts) Suppose you are choosing between the following three algorithms: 1. Algorithm A solves problems by dividing them into five subproblems of half

More information

Universität Augsburg

Universität Augsburg Universität Augsburg Properties of Overwriting for Updates in Typed Kleene Algebras Thorsten Ehm Report 2000-7 Dezember 2000 Institut für Informatik D-86135 Augsburg Copyright c Thorsten Ehm Institut für

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers We saw that the semantics of the while command are a fixed point. We also saw that intuitively, the semantics are the limit

More information

Supplement. Algebraic Closure of a Field

Supplement. Algebraic Closure of a Field Supplement: Algebraic Closure of a Field 1 Supplement. Algebraic Closure of a Field Note. In this supplement, we give some background material which is used in the proof of Fraleigh s Theorem 31.17/31.22

More information

MATH 4211/6211 Optimization Basics of Optimization Problems

MATH 4211/6211 Optimization Basics of Optimization Problems MATH 4211/6211 Optimization Basics of Optimization Problems Xiaojing Ye Department of Mathematics & Statistics Georgia State University Xiaojing Ye, Math & Stat, Georgia State University 0 A standard minimization

More information

Monoidal Categories, Bialgebras, and Automata

Monoidal Categories, Bialgebras, and Automata Monoidal Categories, Bialgebras, and Automata James Worthington Mathematics Department Cornell University Binghamton University Geometry/Topology Seminar October 29, 2009 Background: Automata Finite automata

More information

PAC Learning. prof. dr Arno Siebes. Algorithmic Data Analysis Group Department of Information and Computing Sciences Universiteit Utrecht

PAC Learning. prof. dr Arno Siebes. Algorithmic Data Analysis Group Department of Information and Computing Sciences Universiteit Utrecht PAC Learning prof. dr Arno Siebes Algorithmic Data Analysis Group Department of Information and Computing Sciences Universiteit Utrecht Recall: PAC Learning (Version 1) A hypothesis class H is PAC learnable

More information

Lecture 16. Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code

Lecture 16. Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code Lecture 16 Agenda for the lecture Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code Variable-length source codes with error 16.1 Error-free coding schemes 16.1.1 The Shannon-Fano-Elias

More information

Research Statement Christopher Hardin

Research Statement Christopher Hardin Research Statement Christopher Hardin Brief summary of research interests. I am interested in mathematical logic and theoretical computer science. Specifically, I am interested in program logics, particularly

More information

Semirings for Breakfast

Semirings for Breakfast Semirings for Breakfast Marc Pouly marc.pouly@unifr.ch Interdisciplinary Center for Security, Reliability and Trust University of Luxembourg July 2010 Marc Pouly Semirings for Breakfast 1/ 27 Semirings

More information

The maximum-subarray problem. Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm:

The maximum-subarray problem. Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm: The maximum-subarray problem Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm: Brute force algorithm: At best, θ(n 2 ) time complexity 129 Can we do divide

More information