Lamé s Theorem. Strings. Recursively Defined Sets and Structures. Recursively Defined Sets and Structures

Similar documents
Recursively Defined Functions

Recursive Definitions Structural Induction Recursive Algorithms

Recursion defining an object (or function, algorithm, etc.) in terms of itself. Recursion can be used to define sequences

Chapter Summary. Mathematical Induction Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Recursively defined Functions. Recursively defined sets and Structures Structural Induction

Mathematical Induction

Recursion defining an object (or function, algorithm, etc.) in terms of itself. Recursion can be used to define sequences

Inference rule for Induction

5.3 Recursive definitions and structural induction

AXIOMS FOR THE INTEGERS

Recursive Definitions and Structural Induction

CS 220: Discrete Structures and their Applications. Recursive objects and structural induction in zybooks

1. Find f(1), f(2), f(3), and f(4) if f(n) is defined recursively by f(0) = 1 and for n = 0, 1, 2,

Recursion and Structural Induction

CMPSCI 250: Introduction to Computation. Lecture #14: Induction and Recursion (Still More Induction) David Mix Barrington 14 March 2013

Mathematical Induction

Discrete Structures. Fall Homework3

CSE 20 DISCRETE MATH WINTER

1KOd17RMoURxjn2 CSE 20 DISCRETE MATH Fall

4&5 Binary Operations and Relations. The Integers. (part I)

Propositional Logic. Andreas Klappenecker

10/9/17. Using recursion to define objects. CS 220: Discrete Structures and their Applications

Announcements. CS243: Discrete Structures. Strong Induction and Recursively Defined Structures. Review. Example (review) Example (review), cont.

Recursive definition of sets and structural induction

Introduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1

Slides for Faculty Oxford University Press All rights reserved.

Power Set of a set and Relations

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:

Proof Techniques Alphabets, Strings, and Languages. Foundations of Computer Science Theory

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Section 6.3: Further Rules for Counting Sets

Fundamental mathematical techniques reviewed: Mathematical induction Recursion. Typically taught in courses such as Calculus and Discrete Mathematics.

Integers and Mathematical Induction

Indicate the option which most accurately completes the sentence.

THEORY OF COMPUTATION

Review of Operations on the Set of Real Numbers

Ambiguous Grammars and Compactification

Lecture 6,

Figure 4.1: The evolution of a rooted tree.

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus)

THE PRINCIPLE OF INDUCTION. MARK FLANAGAN School of Electrical, Electronic and Communications Engineering University College Dublin

NOTE ON MINIMALLY k-connected GRAPHS

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

Solutions. Suppose we insert all elements of U into the table, and let n(b) be the number of elements of U that hash to bucket b. Then.

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Recall our recursive multiply algorithm:

Section 1.7 Sequences, Summations Cardinality of Infinite Sets

CT32 COMPUTER NETWORKS DEC 2015

DVA337 HT17 - LECTURE 4. Languages and regular expressions

University of Illinois at Chicago Department of Computer Science. Final Examination. CS 151 Mathematical Foundations of Computer Science Fall 2012

CSE 20 DISCRETE MATH. Winter

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

K 4 C 5. Figure 4.5: Some well known family of graphs

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Section 2.4 Sequences and Summations

Summary of Course Coverage

Basic Properties The Definition of Catalan Numbers

Introduction to Sets and Logic (MATH 1190)

Discrete Mathematics Lecture 4. Harper Langston New York University

Graph Algorithms. Chromatic Polynomials. Graph Algorithms

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

Infinity and Uncountability. Countable Countably infinite. Enumeration

CMSC351 - Fall 2014, Homework #2

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs

Solutions for Algorithm Design Exercises and Tests

Space vs Time, Cache vs Main Memory

HW Graph Theory SOLUTIONS (hbovik) - Q

Counting. Andreas Klappenecker

Foundations of Computer Science Spring Mathematical Preliminaries

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

UNIT-II NUMBER THEORY

Properties of red-black trees

Glynda, the good witch of the North

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Solutions. (a) Claim: A d-ary tree of height h has at most 1 + d +...

COT 3100 Spring 2010 Midterm 2

Chapter 3: Propositional Languages

Binary Decision Diagrams

The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs

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

COMP Logic for Computer Scientists. Lecture 23

Computer Science 236 Fall Nov. 11, 2010

1 Variations of the Traveling Salesman Problem

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

PRIMITIVITY ON PARTIAL ARRAYS

Logic and Discrete Mathematics. Section 2.5 Equivalence relations and partitions

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

1. Chapter 1, # 1: Prove that for all sets A, B, C, the formula

Exponentiation. Evaluation of Polynomial. A Little Smarter. Horner s Rule. Chapter 5 Recursive Algorithms 2/19/2016 A 2 M = (A M ) 2 A M+N = A M A N

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

Chapter 1: Number and Operations

Chapter 2. Splitting Operation and n-connected Matroids. 2.1 Introduction

Transcription:

Lamé s Theorem Gabriel Lamé (1795-1870) Recursively Defined Sets and Structures Lamé s Theorem: Let a and b be positive integers with a b Then the number of divisions used by the Euclidian algorithm to find gcd(a,b) is less than or equal to five times the number of decimal digits in b Proof: in book As a consequence of Lamé s Theorem, O(log b) divisions are used by the Euclidian algorithm to find gcd(a,b) whenever a > b Lamé s Theorem was the first result in computational complexity Recursive definitions of sets have two parts: The basis step specifies an initial collection of elements The recursive step gives the rules for forming new elements in the set from those already known to be in the set Sometimes the recursive definition has an exclusion rule, which specifies that the set contains nothing other than those elements specified in the basis step and generated by applications of the rules in the recursive step We will always assume that the exclusion rule holds, even if it is not explicitly mentioned We will later develop a form of induction, called structural induction, to prove results about recursively defined sets Recursively Defined Sets and Structures Example : Subset of Integers S: BASIS STEP: 3 S RECURSIVE STEP: If x S and y S, then x + y is in S Initially 3 is in S, then 3 + 3 = 6, then 3 + 6 = 9, etc Example: The natural numbers N BASIS STEP: 0 N RECURSIVE STEP: If n is in N, then n + 1 is in N Initially 0 is in S, then 0 + 1 = 1, then 1 + 1 =, etc Strings Definition: The set * of strings over the alphabet : BASIS STEP: *( is the empty string) RECURSIVE STEP: If w is in *andx is in, then wx * Example: If = {0,1}, the strings in in * are the set of all bit strings,,0,1, 00,01,10, 11, etc Example: If = {a,b}, show that aab is in * Since * and a, a * Since a * and a, aa * Since aa * and b, aab *

String Concatenation Definition: Two strings can be combined via the operation of concatenation Let be a set of symbols and * be the set of strings formed from the symbols in We can define the concatenation of two strings, denoted by recursively as follows BASIS STEP: If w *, then w = w RECURSIVE STEP: If w 1 * and w * and x, then w (w x)= (w 1 w )x Often w 1 w is written as w 1 w If w 1 = abra and w = cadabra, the concatenation w 1 w = abracadabra Length of a String Example: Give a recursive definition of l(w), the length of the string w Solution: The length of a string can be recursively defined by: l(w) = 0; l(wx) = l(w) + 1 if w * and x Balanced Parentheses Example: Give a recursive definition of the set of balanced parentheses P Solution: BASIS STEP: () P RECURSIVE STEP: If w P, then () w P, (w) P and w () P Show that (() ()) is in P Why is ))(() not in P? Well-Formed Formulae in Propositional Logic Definition: The set of well-formed formulae in propositional logic involving T, F, propositional variables, and operators from the set {} BASIS STEP: T,F, and s, where s is a propositional variable, are well-formed formulae RECURSIVE STEP: If E and F are well formed formulae, then ( E), (E F), (E F), (E F), (E F), are well-formed formulae Examples: ((p qq F)) is a well-formed formula pq is not a well formed formula

Rooted Trees Definition: The set of rooted trees, where a rooted tree consists of a set of vertices containing a distinguished vertex called the root, and edges connecting these vertices, can be defined recursively by these steps: BASIS STEP: A single vertex r is a rooted tree RECURSIVE STEP: Suppose that T 1, T,,T n are disjoint rooted trees with roots r 1, r,,r n, respectively Then the graph formed by starting with a root r, which is not in any of the rooted trees T 1, T,,T n, and adding an edge from r to each of the vertices r 1, r,,r n, is also a rooted tree Building Up Rooted Trees Trees are studied extensively in Chapter 11 Next we look at a special type of tree, the full binary tree How do you construct this rooted tree recursively? Full Binary Trees Definition: The set of full binary trees can be defined recursively by these steps BASIS STEP: There is a full binary tree consisting of only a single vertex r RECURSIVE STEP: If T 1 and T are disjoint full binary trees, there is a full binary tree, denoted by T 1 T, consisting of a root r together with edges connecting the root to each of the roots of the left subtree T 1 and the right subtree T

Building Up Full Binary Trees What can you say about the nonleaf nodes in a full binary tree? Induction and Recursively Defined Sets Example: Show that the set S defined by specifying that 3 S and that if x S and y S, then x + y is in S, is the set of all positive integers that are multiples of 3 Solution: Let A be the set of all positive integers divisible by 3 To prove that A = S, show that A is a subset of S and S is a subset of A A S: Let P(n) be the statement that 3n belongs to S BASIS STEP: 31 = 3 S, by the first part of recursive definition INDUCTIVE STEP: Assume P(k) is true By the second part of the recursive definition, if 3k S, then since 3 S, 3k + 3 = 3(k + 1) S Hence, P(k + 1) is true S A: BASIS STEP: 3 S by the first part of recursive definition, and 3 = 31 INDUCTIVE STEP: The second part of the recursive definition adds x +y to S, if both x and y are in S If x and y are both in A, then both x and y are divisible by 3 By part (i) of Theorem 1 of Section 41, it follows that x + y is divisible by 3 Induction and Recursively Defined Sets Example: Show that the set S defined by specifying that 3 S and that if x S and y S, then x + y is in S, is the set of all positive integers that are multiples of 3 Solution: Let A be the set of all positive integers divisible by 3 To prove that A = S, show that A is a subset of S and S is a subset of A A S: Let P(n) be the statement that 3n belongs to S BASIS STEP: 31 = 3 S, by the first part of recursive definition INDUCTIVE STEP: Assume P(k) is true By the second part of the recursive definition, if 3k S, then since 3 S, 3k + 3 = 3(k + 1) S Hence, P(k + 1) is true S A: BASIS STEP: 3 S by the first part of recursive definition, and 3 = 31 INDUCTIVE STEP: The second part of the recursive definition adds x +y to S, if both x and y are in S If x and y are both in A, then both x and y are divisible by 3 By part (i) of Theorem 1 of Section 41, it follows that x + y is divisible by 3 Structural Induction We used mathematical induction to prove a result about a recursively defined set Next we study a more direct form induction for proving results about recursively defined sets Definition: To prove a property of the elements of a recursively defined set, we use structural induction BASIS STEP: Show that the result holds for all elements specified in the basis step of the recursive definition RECURSIVE STEP: Show that if the statement is true for each of the elements used to construct new elements in the recursive step of the definition, the result holds for these new elements The validity of structural induction can be shown to follow from the principle of mathematical induction

Full Binary Trees Definition: The height h(t) of a full binary tree T is defined recursively as follows: BASIS STEP: The height of a full binary tree T consisting of only a root r is h(t) = 0 RECURSIVE STEP: If T 1 and T are full binary trees, then the full binary tree T = T 1 T has height h(t) = 1 + max(h(t 1 ),h(t )) The number of vertices n(t) of a full binary tree T satisfies the following recursive formula: BASIS STEP: The number of vertices of a full binary tree T consisting of only a root r is n(t) = 1 RECURSIVE STEP: If T 1 and T are full binary trees, then the full binary tree T = T 1 T has the number of vertices n(t) = 1 + n(t 1 ) + n(t ) Full Binary Trees Definition: The height h(t) of a full binary tree T is defined recursively as follows: BASIS STEP: The height of a full binary tree T consisting of only a root r is h(t) = 0 RECURSIVE STEP: If T 1 and T are full binary trees, then the full binary tree T = T 1 T has height h(t) = 1 + max(h(t 1 ),h(t )) The number of vertices n(t) of a full binary tree T satisfies the following recursive formula: BASIS STEP: The number of vertices of a full binary tree T consisting of only a root r is n(t) = 1 RECURSIVE STEP: If T 1 and T are full binary trees, then the full binary tree T = T 1 T has the number of vertices n(t) = 1 + n(t 1 ) + n(t ) Structural Induction and Binary Trees Theorem: If T is a full binary tree, then n(t h(t)+1 1 Proof: Use structural induction BASIS STEP: The result holds for a full binary tree consisting only of a root, n(t) = 1 and h(t) = 0 Hence, n(t) = 1 0+1 1 = 1 RECURSIVE STEP: Assume n(t 1 h(t1)+1 1 and also n(t h(t)+1 1 whenever T 1 and T are full binary trees Structural Induction and Binary Trees Theorem: If T is a full binary tree, then n(t h(t)+1 1 Proof: Use structural induction BASIS STEP: The result holds for a full binary tree consisting only of a root, n(t) = 1 and h(t) = 0 Hence, n(t) = 1 0+1 1 = 1 RECURSIVE STEP: Assume n(t 1 h(t1)+1 1 and also n(t h(t)+1 1 whenever T 1 and T are full binary trees n(t) = 1 + n(t 1 ) + n(t ) (by recursive formula of n(t)) 1 + ( h(t1)+1 1) + ( h(t)+1 1) (by inductive hypothesis) h(t1)+1, h(t)+1 ) 1 = max(h(t1),h(t))+1 1 (max( x, y )= max(x,y) ) = h(t) 1 (by recursive definition of h(t)) = h(t)+1 1 n(t) = 1 + n(t 1 ) + n(t ) (by recursive formula of n(t)) 1 + ( h(t1)+1 1) + ( h(t)+1 1) (by inductive hypothesis) h(t1)+1, h(t)+1 ) 1 = max(h(t1),h(t))+1 1 (max( x, y )= max(x,y) ) = h(t) 1 (by recursive definition of h(t)) = h(t)+1 1

Generalized Induction Generalized induction is used to prove results about sets other than the integers that have the wellordering property (explored in more detail in Chapter 9) For example, consider an ordering on N N, ordered pairs of nonnegative integers Specify that (x 1,y 1 ) is less than or equal to (x,y ) if either x 1 < x, or x 1 = x and y 1 <y This is called the lexicographic ordering Strings are also commonly ordered by a lexicographic ordering The next example uses generalized induction to prove a result about ordered pairs from N N Generalized Induction Example: Suppose that a m,n is defined for (m,n)n N by a 0,0 = 0 and Show that a m,n = m + n(n + 1)/ is defined for all (m,n)n N Solution: Use generalized induction BASIS STEP: a 0,0 = 0 = 0 + (01)/ INDUCTIVE STEP: Assume that a m,n = m+ n(n + 1)/ whenever(m,n) is less than (m,n) in the lexicographic ordering of N N Ifn = 0, by the inductive hypothesis we can conclude a m,n = a m1,n + 1 = m 1+ n(n + 1)/ + 1 = m + n(n + 1)/ If n > 0, by the inductive hypothesis we can conclude a m,n = a m,n-1 + 1 = m + n(n 1)/ +n = m + n(n + 1)/ Generalized Induction Example: Suppose that a m,n is defined for (m,n)n N by a 0,0 = 0 and Show that a m,n = m + n(n + 1)/ is defined for all (m,n)n N Solution: Use generalized induction BASIS STEP: a 0,0 = 0 = 0 + (01)/ INDUCTIVE STEP: Assume that a m,n = m+ n(n + 1)/ whenever(m,n) is less than (m,n) in the lexicographic ordering of N N Ifn = 0, by the inductive hypothesis we can conclude a m,n = a m1,n + 1 = m 1+ n(n + 1)/ + 1 = m + n(n + 1)/ If n > 0, by the inductive hypothesis we can conclude a m,n = a m,n-1 + 1 = m + n(n 1)/ +n = m + n(n + 1)/