Example Correctness Proofs
|
|
- Meagan Holmes
- 7 years ago
- Views:
Transcription
1 Example Correctness Proofs Kevin C. Zatloukal March 8, 2014 In these notes, we give three examples of proofs of correctness. These are intended to demonstrate the sort of proofs we would like to see in your problem set solutions. Each of the examples below considers a variation of the peak finding problem discussed in class. Recall that we defined a peak in an array (or matrix) to be an element that is at least as large as each of its neighbors. In an array A of length n, element A[i] is a peak if it is at least as large as A[i 1] (if i 0) and A[i + 1] (if i < n 1). In an m n matrix, element A[i, j] is a peak if it is at least as large as A[i 1, j] (if i 0), A[i + 1, j] (if i < m 1), A[i, j 1] (if j 0), and A[i, j + 1] (if j < n 1). All the elements of an array have two neighbors, except the endpoints. All elements of a matrix have four neighbors, except those on the boundary (which have three or two). For each example, we describe an algorithm and prove its correctness. Note that the descriptions of the algorithms are more terse than what you will want to provide in your own solutions. (Only the correctness proofs are intended to be complete examples.) Recall that a correctness proof require a proof of both termination and safety. The former means that the algorithm eventually terminates, while the latter means that, when it terminates, it gives a correct answer. Typically, at most one of these proofs is difficult. For a search-based algorithm (like the greedy algorithm for peak-finding), safety is easy because the algorithm actually checks that the element is a peak immediately before returning it. However, proving that the search terminates takes some work. On the other hand, for a divide-and-conquer algorithm (like the one described in class that starts by checking the middle element), termination is easy because the algorithm does a fixed amount of work before recursing on a strictly smaller problem (so termination follows by an easy induction argument). However, safety usually requires more work, as we will see below. Finally, it is worth noting that we do not need to prove termination at all if we have a bound on the running time of the algorithm (its asymptotic complexity). If we know that the algorithm terminates within f(n) time (our bound on the running time), then it certainly terminates. A bound on the running time is a stronger result than a termination proof. So if you re going to prove a bound on the running time, you don t need to separately prove termination. 1-Dimensional Array Algorithm In class, we saw an algorithm that operates as follows. We are asked to find a peak in the array A of length n. Let m = 1 2n. We first check whether A[m] is a peak by comparing it to A[m 1] and A[m + 1]. If A[m] is a peak, then return m. Otherwise, we either have A[m 1] > A[m] or A[m + 1] > A[m]. In the former case, we recurse on the subarray from 0 to m 1, and in the latter case, we recurse on the subarray from m + 1 to n 1 and return whatever element is returned by that call. 1
2 Correctness We need to show both termination and safety. First, we show safety. Theorem 1. The algorithm described above returns a peak in the array A. Proof. We prove this by induction on the number of recursive calls made, k. Base case (k = 0). The algorithm only makes 0 recursive calls in the case where A[m] is found to be a peak. The algorithm directly checks that A[m] > A[m 1] and A[m] > A[m + 1], so this is indeed a peak. Inductive case (k > 0). In this case, the algorithm makes a recursive call on a subarray. Suppose that this is the subarray from 0 to m 1. By assumption, the recursive call itself makes k 1 recursive calls, which is fewer than k calls, so by the inductive hypothesis, this call returns an element A[i] that is a peak on the subarray from 0 to m 1. If i < m 1, then being a peak in this subarray means A[i] > A[i 1] and A[i] > A[i + 1]. That means A[i] is a peak in the entire array as well. Otherwise, the recursive call returns A[m 1]. Being a peak in the subarray means only that A[m 1] > A[m 2]. Since we made the recursive call on 0 to m 1, however, we must have checked A[m 1] > A[m] before the recursive call, so we can see that A[m 1] is a peak in the entire array. The other case to consider is when the algorithm makes a recursive call on the subarray from m + 1 to n. In this case, the algorithm returns a peak by the same sort of argument as above. We can also prove termination by induction, but this time on the length of the array: if the algorithm does not terminate immediately, then it recurses on a strictly smaller array. We leave it as an exercise to write this up formally. 1-Dimensional Circular Array In this version of the problem, we consider the array to be circular. That is, if n is the length of the array, then A[n ] is considered to be adjacent not only to A[n 2] but also to A[0]. Likewise, A[0] is adjacent not only to A[1] but also to A[n 1]. We wish to find a peak, defined in this sense, in the array. Algorithm Idea As we saw above, the difficulty with solving this problem recursively is that an element at the end of a subarray can look like a peak but not be a peak of the entire array because the element just past the end of the subarray is actually larger. On the other hand, if we knew that both endpoints of the subarray were larger than the elements just past those ends, then any peak of the subarray would be a peak of the entire array. Unfortunately, we can t always guarantee that this condition holds. However, we can guarantee a slightly weaker condition: the larger of the two endpoints of the subarray is at least as large as both the elements just past the ends. (Larger than the element past that endpoint and also larger than the element past the other endpoint.) Call this Condition E. We will see that condition E is enough to ensure correctness. Algorithm We are given an array A and length n. If the array contains only a single element, then return that element as the peak. Otherwise, let m = 1 2 n. We start by computing v = max{a[0], A[n 1]} and w = max{a[m], A[m + 1]}. If v w, then recurse to subarray from 0 to m if A[0] = v and the subarray from m + 1 to n 1 if A[n 1] = v. Otherwise, we have w > v. In 2
3 that case, we recurse to the subarray from 0 to m if A[m] = w and the subarray from m + 1 to n 1 if A[m + 1] = w. Correctness As above, we first prove safety. Theorem 2. The above algorithm, when invoked on an array satisfying condition E, returns a peak in the entire array (not just the subarray). Proof. We again prove this by induction on the number of recursive calls made. If the algorithm makes no recursive calls, then that means we have an array with one element. In this case, there is only one endpoint (the one element). Condition E tells us that this element is larger than the elements just past the two ends, which are the two elements adjacent to it in the larger array. Hence, this element is a peak. As in the last proof, the recursive call itself makes fewer recursive calls, so we can apply the induction hypothesis provided that condition E is satisfied on that subarray. Assuming this is the case, the induction hypothesis tells us that the returned element is a peak in the entire array, not just the subarray. So it remains only to show that condition E holds on the subarray passed to the recursive call. We can simply enumerate the possible cases and check each case: v w and A[0] = v. In this case, the subarray is from 0 to m. A[0] is the larger of the two endpoints in this subarray, so we need to argue that it is larger than the elements just path both ends of the subarray. Since the our array satisfies condition E, we know that A[0] is larger than the element just past that end. The other end of the subarray is A[m]. The element just past that is A[m] and we know A[0] = v > w A[m]. Since A[0] is larger than the elements just past both endpoints, condition E holds. v w and A[n 1] = v. Condition E is satisfied by the subarray from m + 1 to n 1 by the same sort of argument as the previous case. v < w and A[m] A[m + 1]. Since A[m] = w > v A[0], we see that A[m] is the larger of the two endpoints of the subarray from 0 to m. The element just past the end on its own side is A[m + 1], which is less than A[m] by assumption. Since condition E is satisfied on our array, we know that the element just past A[0] is smaller than the larger of A[0] and A[n 1], which is v. And since A[m] = w > v, we see that A[m] is larger than this element as well. Thus, A[m] is larger than the elements past both endpoints, so condition E is satisfied. v < w and A[m + 1] > A[m]. Condition E is satisfied by the subarray from m + 1 to n 1 by the same sort of argument as the previous case. We use this theorem to prove safety. In order to do that, though, we must know that the array satisfies condition E. Our proof showed that, if the array initially satisfies E, then so will the subarray in the recursive call. But what about the array we start with? Think of the circular array, from 0 to n, as being a subarray of an infinitely long array that just repeats the elements of A in order. Suppose that A[0] is the larger endpoint, so A[0] A[n 1]. In the circular array, the elements just past these endpoints are A[ 1] = A[n 1] and A[n] = A[0]. Since A[0] A[0] and A[0] A[n 1], condition E is satisfied. By a similar argument, condition E is satisfied when A[n 1] > A[0]. 3
4 Since condition E is satisfied by the array passed to the first call, the above theorem tells us that the algorithm returns a peak. It remains to show termination. We can again prove this by induction on the length of the array. In order to use the inductive hypothesis, though, we need to know that we always invoke the algorithm recursively on an array that is strictly smaller than the one we are given. Convince yourself that this is always the case. (This is not just about the proof. If the algorithm called itself on the same array, it would have an infinite loop!) 2-Dimensional Array In this case, we have a regular array, but one that is 2-dimensional. We need to find a peak in the array, which means an element that is larger than its neighbors above, below, to the left, and to the right. Algorithm Idea We will use the same approach as in the previous case. However, in the 2-D case, we do not simply have two endpoints. (Instead, we have a large square of endpoints along the boundary.) Rather than computing the largest value each time, we will pass an additional argument that gives the value of some element along the boundary that is larger than all the elements just past the boundaries. Algorithm This algorithm takes as arguments an array A of size m n along with an element (i, j) whose value is an upper bound on all the values of the elements just past the boundary in all four directions. On the first call to the algorithm, there is no such element, but since there are no elements past the boundary initially, we can use any value, say, (i, j) := (1, 1). Once we have a value for v, the algorithm operates as follows. If the array contains only a single row or column, then return the maximum element in that row or column. Otherwise, let p = 1 2 m and q = 1 2n. We compute the maximum value along row p and column q. Call this w. If A[i, j] > w, then recurse on the quadrant that includes A[i, j] and do not include row p and column q (so these are the elements past the boundary), passing the same (i, j). Otherwise, w > A[i, j]. Let (i, j ) be the element with A[i, j ] = w. Next, look at the other two neighbors of (i, j ) (the ones not on row p or column q). If one of these is larger, then recurse on that quadrant and (do not include row p and column q) passing this element for (i, j). Otherwise, return A[i, j ] as the peak. Correctness Here is a shortened proof of safety. (You will want to include more detail than this in your problem set solutions.) Theorem 3. The algorithm above returns an element that is a peak in the entire array. Proof. We use induction as before. If the array contains only a row or column element, then we return the largest value in this row or column. But since there is just one column, this must include the value A[i, j] that is larger than all the elements past the boundary. The largest value is at least this larger, so it is larger than all of its neighbors, which are either in the single row or column of the array or are elements just past the boundary of the array. Otherwise, the algorithm finds the element in the middle row or column with largest value A[i, j ]. If A[i, j] > A[i, j ], then it recurses on a quadrant whose boundaries are either boundaries of our array or the row p or column q. We know that A[i, j] 4
5 is greater than all of this, so by induction, this returns a peak of the entire array. If A[i, j ] > A[i, j] and a neighbor of A[i, j ] is larger, then we recurse on a quadrant whose boundaries are all smaller than this neighbor since that neighbor is larger than everything in row p, column q, and the boundaries of our array (which are bounded by A[i, j] < A[i, j ], which is smaller than the neighbor). Again, condition F is satisfied, so the result is a peak by induction. In the final case, we find that A[i, j ] is larger than all its neighbors in the array. Any neighbors past the boundary of the array are smaller than A[i, j] < A[i, j ], so we see that this is also a peak in the entire array. Termination is shown in the same way as above. Again, note that we need to be sure that the subarray is always strictly smaller than the one passed in. 5
3. Mathematical Induction
3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)
More informationBasic Proof Techniques
Basic Proof Techniques David Ferry dsf43@truman.edu September 13, 010 1 Four Fundamental Proof Techniques When one wishes to prove the statement P Q there are four fundamental approaches. This document
More informationNear Optimal Solutions
Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.
More informationContinued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
More informationCOMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012
Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about
More informationThe last three chapters introduced three major proof techniques: direct,
CHAPTER 7 Proving Non-Conditional Statements The last three chapters introduced three major proof techniques: direct, contrapositive and contradiction. These three techniques are used to prove statements
More informationChapter 3. Cartesian Products and Relations. 3.1 Cartesian Products
Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing
More informationMath 55: Discrete Mathematics
Math 55: Discrete Mathematics UC Berkeley, Fall 2011 Homework # 5, due Wednesday, February 22 5.1.4 Let P (n) be the statement that 1 3 + 2 3 + + n 3 = (n(n + 1)/2) 2 for the positive integer n. a) What
More informationRow Echelon Form and Reduced Row Echelon Form
These notes closely follow the presentation of the material given in David C Lay s textbook Linear Algebra and its Applications (3rd edition) These notes are intended primarily for in-class presentation
More informationMathematical Induction
Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How
More informationThe Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.
The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,
More informationChapter 11 Number Theory
Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications
More informationLecture 22: November 10
CS271 Randomness & Computation Fall 2011 Lecture 22: November 10 Lecturer: Alistair Sinclair Based on scribe notes by Rafael Frongillo Disclaimer: These notes have not been subjected to the usual scrutiny
More informationSECTION 10-2 Mathematical Induction
73 0 Sequences and Series 6. Approximate e 0. using the first five terms of the series. Compare this approximation with your calculator evaluation of e 0.. 6. Approximate e 0.5 using the first five terms
More informationDiscrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2
CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us
More information1 if 1 x 0 1 if 0 x 1
Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or
More informationMathematical Induction
Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,
More informationHandout #1: Mathematical Reasoning
Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or
More informationSolving Linear Systems, Continued and The Inverse of a Matrix
, Continued and The of a Matrix Calculus III Summer 2013, Session II Monday, July 15, 2013 Agenda 1. The rank of a matrix 2. The inverse of a square matrix Gaussian Gaussian solves a linear system by reducing
More information88 CHAPTER 2. VECTOR FUNCTIONS. . First, we need to compute T (s). a By definition, r (s) T (s) = 1 a sin s a. sin s a, cos s a
88 CHAPTER. VECTOR FUNCTIONS.4 Curvature.4.1 Definitions and Examples The notion of curvature measures how sharply a curve bends. We would expect the curvature to be 0 for a straight line, to be very small
More informationSequential Data Structures
Sequential Data Structures In this lecture we introduce the basic data structures for storing sequences of objects. These data structures are based on arrays and linked lists, which you met in first year
More informationMatrix Algebra. Some Basic Matrix Laws. Before reading the text or the following notes glance at the following list of basic matrix algebra laws.
Matrix Algebra A. Doerr Before reading the text or the following notes glance at the following list of basic matrix algebra laws. Some Basic Matrix Laws Assume the orders of the matrices are such that
More informationSolution to Homework 2
Solution to Homework 2 Olena Bormashenko September 23, 2011 Section 1.4: 1(a)(b)(i)(k), 4, 5, 14; Section 1.5: 1(a)(b)(c)(d)(e)(n), 2(a)(c), 13, 16, 17, 18, 27 Section 1.4 1. Compute the following, if
More informationComputational Geometry. Lecture 1: Introduction and Convex Hulls
Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,
More informationData Structures. Chapter 8
Chapter 8 Data Structures Computer has to process lots and lots of data. To systematically process those data efficiently, those data are organized as a whole, appropriate for the application, called a
More information8 Divisibility and prime numbers
8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express
More informationSolutions to Math 51 First Exam January 29, 2015
Solutions to Math 5 First Exam January 29, 25. ( points) (a) Complete the following sentence: A set of vectors {v,..., v k } is defined to be linearly dependent if (2 points) there exist c,... c k R, not
More informationReal Roots of Univariate Polynomials with Real Coefficients
Real Roots of Univariate Polynomials with Real Coefficients mostly written by Christina Hewitt March 22, 2012 1 Introduction Polynomial equations are used throughout mathematics. When solving polynomials
More informationTHE DIMENSION OF A VECTOR SPACE
THE DIMENSION OF A VECTOR SPACE KEITH CONRAD This handout is a supplementary discussion leading up to the definition of dimension and some of its basic properties. Let V be a vector space over a field
More informationThe Pointless Machine and Escape of the Clones
MATH 64091 Jenya Soprunova, KSU The Pointless Machine and Escape of the Clones The Pointless Machine that operates on ordered pairs of positive integers (a, b) has three modes: In Mode 1 the machine adds
More informationThe Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,
The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints
More informationFull and Complete Binary Trees
Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full
More informationUnit 18 Determinants
Unit 18 Determinants Every square matrix has a number associated with it, called its determinant. In this section, we determine how to calculate this number, and also look at some of the properties of
More informationReading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
More informationKevin James. MTHSC 412 Section 2.4 Prime Factors and Greatest Comm
MTHSC 412 Section 2.4 Prime Factors and Greatest Common Divisor Greatest Common Divisor Definition Suppose that a, b Z. Then we say that d Z is a greatest common divisor (gcd) of a and b if the following
More informationAu = = = 3u. Aw = = = 2w. so the action of A on u and w is very easy to picture: it simply amounts to a stretching by 3 and 2, respectively.
Chapter 7 Eigenvalues and Eigenvectors In this last chapter of our exploration of Linear Algebra we will revisit eigenvalues and eigenvectors of matrices, concepts that were already introduced in Geometry
More informationSection IV.1: Recursive Algorithms and Recursion Trees
Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller
More informationCS 103X: Discrete Structures Homework Assignment 3 Solutions
CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering
More information15-150 Lecture 11: Tail Recursion; Continuations
15-150 Lecture 11: Tail Recursion; Continuations Lecture by Dan Licata February 21, 2011 In this lecture we will discuss space usage: analyzing the memory it takes your program to run tail calls and tail
More information8 Primes and Modular Arithmetic
8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.
More informationKenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract
Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 7, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic skills.
More informationHOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!
Math 7 Fall 205 HOMEWORK 5 SOLUTIONS Problem. 2008 B2 Let F 0 x = ln x. For n 0 and x > 0, let F n+ x = 0 F ntdt. Evaluate n!f n lim n ln n. By directly computing F n x for small n s, we obtain the following
More informationThe four [10,5,4] binary codes
1 Preliminaries The four [10,,] binary codes There are four distinct [10; ; ] binary codes. We shall prove this in a moderately elementary way, using the MacWilliams identities as the main tool. (For the
More informationChapter 6. Cuboids. and. vol(conv(p ))
Chapter 6 Cuboids We have already seen that we can efficiently find the bounding box Q(P ) and an arbitrarily good approximation to the smallest enclosing ball B(P ) of a set P R d. Unfortunately, both
More informationMATH10040 Chapter 2: Prime and relatively prime numbers
MATH10040 Chapter 2: Prime and relatively prime numbers Recall the basic definition: 1. Prime numbers Definition 1.1. Recall that a positive integer is said to be prime if it has precisely two positive
More information6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation
6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation Daron Acemoglu and Asu Ozdaglar MIT November 2, 2009 1 Introduction Outline The problem of cooperation Finitely-repeated prisoner s dilemma
More informationCosmological Arguments for the Existence of God S. Clarke
Cosmological Arguments for the Existence of God S. Clarke [Modified Fall 2009] 1. Large class of arguments. Sometimes they get very complex, as in Clarke s argument, but the basic idea is simple. Lets
More informationWRITING PROOFS. Christopher Heil Georgia Institute of Technology
WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this
More informationMidterm Practice Problems
6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator
More informationINCIDENCE-BETWEENNESS GEOMETRY
INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full
More information6.2 Permutations continued
6.2 Permutations continued Theorem A permutation on a finite set A is either a cycle or can be expressed as a product (composition of disjoint cycles. Proof is by (strong induction on the number, r, of
More informationMATH 289 PROBLEM SET 4: NUMBER THEORY
MATH 289 PROBLEM SET 4: NUMBER THEORY 1. The greatest common divisor If d and n are integers, then we say that d divides n if and only if there exists an integer q such that n = qd. Notice that if d divides
More informationv w is orthogonal to both v and w. the three vectors v, w and v w form a right-handed set of vectors.
3. Cross product Definition 3.1. Let v and w be two vectors in R 3. The cross product of v and w, denoted v w, is the vector defined as follows: the length of v w is the area of the parallelogram with
More informationRegular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
More information8 Square matrices continued: Determinants
8 Square matrices continued: Determinants 8. Introduction Determinants give us important information about square matrices, and, as we ll soon see, are essential for the computation of eigenvalues. You
More informationSession 6 Number Theory
Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple
More informationRegular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
More informationClass 19: Two Way Tables, Conditional Distributions, Chi-Square (Text: Sections 2.5; 9.1)
Spring 204 Class 9: Two Way Tables, Conditional Distributions, Chi-Square (Text: Sections 2.5; 9.) Big Picture: More than Two Samples In Chapter 7: We looked at quantitative variables and compared the
More informationThe Determinant: a Means to Calculate Volume
The Determinant: a Means to Calculate Volume Bo Peng August 20, 2007 Abstract This paper gives a definition of the determinant and lists many of its well-known properties Volumes of parallelepipeds are
More informationCHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
More informationPractice with Proofs
Practice with Proofs October 6, 2014 Recall the following Definition 0.1. A function f is increasing if for every x, y in the domain of f, x < y = f(x) < f(y) 1. Prove that h(x) = x 3 is increasing, using
More informationLecture Notes on Linear Search
Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is
More informationGraph Theory Problems and Solutions
raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is
More informationLecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
More informationLecture 6 Online and streaming algorithms for clustering
CSE 291: Unsupervised learning Spring 2008 Lecture 6 Online and streaming algorithms for clustering 6.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line
More informationComments on Quotient Spaces and Quotient Maps
22M:132 Fall 07 J. Simon Comments on Quotient Spaces and Quotient Maps There are many situations in topology where we build a topological space by starting with some (often simpler) space[s] and doing
More informationLecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
More informationAnalysis of Algorithms, I
Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications
More informationFactoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
More informationLecture 4 Online and streaming algorithms for clustering
CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line
More informationMathematical Induction. Mary Barnes Sue Gordon
Mathematics Learning Centre Mathematical Induction Mary Barnes Sue Gordon c 1987 University of Sydney Contents 1 Mathematical Induction 1 1.1 Why do we need proof by induction?.... 1 1. What is proof by
More informationMATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.
MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column
More informationConnectivity and cuts
Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every
More informationLecture 1: Course overview, circuits, and formulas
Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik
More informationLinear Algebra Notes
Linear Algebra Notes Chapter 19 KERNEL AND IMAGE OF A MATRIX Take an n m matrix a 11 a 12 a 1m a 21 a 22 a 2m a n1 a n2 a nm and think of it as a function A : R m R n The kernel of A is defined as Note
More informationCS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
More informationRegions in a circle. 7 points 57 regions
Regions in a circle 1 point 1 region points regions 3 points 4 regions 4 points 8 regions 5 points 16 regions The question is, what is the next picture? How many regions will 6 points give? There's an
More information160 CHAPTER 4. VECTOR SPACES
160 CHAPTER 4. VECTOR SPACES 4. Rank and Nullity In this section, we look at relationships between the row space, column space, null space of a matrix and its transpose. We will derive fundamental results
More informationDegeneracy in Linear Programming
Degeneracy in Linear Programming I heard that today s tutorial is all about Ellen DeGeneres Sorry, Stan. But the topic is just as interesting. It s about degeneracy in Linear Programming. Degeneracy? Students
More informationrecursion, O(n), linked lists 6/14
recursion, O(n), linked lists 6/14 recursion reducing the amount of data to process and processing a smaller amount of data example: process one item in a list, recursively process the rest of the list
More informationIf n is odd, then 3n + 7 is even.
Proof: Proof: We suppose... that 3n + 7 is even. that 3n + 7 is even. Since n is odd, there exists an integer k so that n = 2k + 1. that 3n + 7 is even. Since n is odd, there exists an integer k so that
More information2x + y = 3. Since the second equation is precisely the same as the first equation, it is enough to find x and y satisfying the system
1. Systems of linear equations We are interested in the solutions to systems of linear equations. A linear equation is of the form 3x 5y + 2z + w = 3. The key thing is that we don t multiply the variables
More informationIntroduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four
March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first
More informationThis puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children.
0.1 Friend Trends This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children. In the 1950s, a Hungarian sociologist S. Szalai
More information14.1 Rent-or-buy problem
CS787: Advanced Algorithms Lecture 14: Online algorithms We now shift focus to a different kind of algorithmic problem where we need to perform some optimization without knowing the input in advance. Algorithms
More information16. Recursion. COMP 110 Prasun Dewan 1. Developing a Recursive Solution
16. Recursion COMP 110 Prasun Dewan 1 Loops are one mechanism for making a program execute a statement a variable number of times. Recursion offers an alternative mechanism, considered by many to be more
More informationSpecial Situations in the Simplex Algorithm
Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the
More informationSession 7 Fractions and Decimals
Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,
More informationNotes on Determinant
ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without
More informationWhat Is Recursion? Recursion. Binary search example postponed to end of lecture
Recursion Binary search example postponed to end of lecture What Is Recursion? Recursive call A method call in which the method being called is the same as the one making the call Direct recursion Recursion
More informationSuk-Geun Hwang and Jin-Woo Park
Bull. Korean Math. Soc. 43 (2006), No. 3, pp. 471 478 A NOTE ON PARTIAL SIGN-SOLVABILITY Suk-Geun Hwang and Jin-Woo Park Abstract. In this paper we prove that if Ax = b is a partial signsolvable linear
More informationZeros of a Polynomial Function
Zeros of a Polynomial Function An important consequence of the Factor Theorem is that finding the zeros of a polynomial is really the same thing as factoring it into linear factors. In this section we
More information7 Gaussian Elimination and LU Factorization
7 Gaussian Elimination and LU Factorization In this final section on matrix factorization methods for solving Ax = b we want to take a closer look at Gaussian elimination (probably the best known method
More informationIntroduction to Graph Theory
Introduction to Graph Theory Allen Dickson October 2006 1 The Königsberg Bridge Problem The city of Königsberg was located on the Pregel river in Prussia. The river divided the city into four separate
More informationAN ANALYSIS OF A WAR-LIKE CARD GAME. Introduction
AN ANALYSIS OF A WAR-LIKE CARD GAME BORIS ALEXEEV AND JACOB TSIMERMAN Abstract. In his book Mathematical Mind-Benders, Peter Winkler poses the following open problem, originally due to the first author:
More informationPeople have thought about, and defined, probability in different ways. important to note the consequences of the definition:
PROBABILITY AND LIKELIHOOD, A BRIEF INTRODUCTION IN SUPPORT OF A COURSE ON MOLECULAR EVOLUTION (BIOL 3046) Probability The subject of PROBABILITY is a branch of mathematics dedicated to building models
More informationCost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:
CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm
More informationLinearly Independent Sets and Linearly Dependent Sets
These notes closely follow the presentation of the material given in David C. Lay s textbook Linear Algebra and its Applications (3rd edition). These notes are intended primarily for in-class presentation
More informationLS.6 Solution Matrices
LS.6 Solution Matrices In the literature, solutions to linear systems often are expressed using square matrices rather than vectors. You need to get used to the terminology. As before, we state the definitions
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES
MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES Contents 1. Random variables and measurable functions 2. Cumulative distribution functions 3. Discrete
More information