Lecture 2: Regular Languages [Fa 14]
|
|
|
- Martina Kennedy
- 9 years ago
- Views:
Transcription
1 Caveat lector: This is the first edition of this lecture note. Please send bug reports and suggestions to But the Lord came down to see the city and the tower the people were building. The Lord said, If as one people speaking the same language they have begun to do this, then nothing they plan to do will be impossible for them. Come, let us go down and confuse their language so they will not understand each other. Genesis 11:6 7 (New International Version) Imagine a piano keyboard, eh, 88 keys, only 88 and yet, and yet, hundreds of new melodies, new tunes, new harmonies are being composed upon hundreds of different keyboards every day in Dorset alone. Our language, tiger, our language: hundreds of thousands of available words, frillions of legitimate new ideas, so that I can say the following sentence and be utterly sure that nobody has ever said it before in the history of human communication: Hold the newsreader s nose squarely, waiter, or friendly milk will countermand my trousers. Perfectly ordinary words, but never before put in that precise order. A unique child delivered of a unique mother. Stephen Fry, A Bit of Fry and Laurie, Series 1, Episode 3 (1989) 2 Regular Languages 2.1 Definitions A formal language (or just a language) is a set of strings over some finite alphabet Σ, or equivalently, an arbitrary subset of Σ. For example, each of the following sets is a language: The empty set. 1 The set {ɛ}. The set {0, 1}. The set {THE, OXFORD, ENGLISH, DICTIONARY}. The set of all subsequences of THE OXFORD ENGLISH DICTIONARY. The set of all words in The Oxford English Dictionary. The set of all strings in {0, 1} with an odd number of 1s. The set of all strings in {0, 1} that represent a prime number in base 13. The set of all sequences of turns that solve the Rubik s cube (starting in some fixed configuration) The set of all python programs that print Hello World! As a notational convention, I will always use italic upper-case letters (usually L, but also A, B, C, and so on) to represent languages. Formal languages are not languages in the same sense that English, Klingon, and Python are languages. Strings in a formal language do not necessarily carry any meaning, nor are they necessarily assembled into larger units ( sentences or paragraphs or packages ) according to some grammar. It is very important to distinguish between three empty objects. Many beginning students have trouble keeping these straight. 1 The empty set symbol derives from the Norwegian letter Ø, pronounced like a sound of disgust or a German ö, and not from the Greek letter φ. Calling the empty set fie or fee makes the baby Jesus cry. Copyright 2014 Jeff Erickson. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License ( Free distribution is strongly encouraged; commercial distribution is expressly forbidden. See for the most recent revision. 1
2 is the empty language, which is a set containing zero strings. is not a string. {ɛ} is a language containing exactly one string, which has length zero. {ɛ} is not empty, and it is not a string. ɛ is the empty string, which is a sequence of length zero. ɛ is not a language. 2.2 Building Languages Languages can be combined and manipulated just like any other sets. Thus, if A and B are languages over Σ, then their union A B, intersection A B, difference A \ B, and symmetric difference A B are also languages over Σ, as is the complement A := Σ \ A. However, there are two more useful operators that are specific to sets of strings. The concatenation of two languages A and B, again denoted A B or just AB, is the set of all strings obtained by concatenating an arbitrary string in A with an arbitrary string in B: A B := {x y x A and y B}. For example, if A = {HOCUS, ABRACA} and B = {POCUS, DABRA}, then A B = {HOCUSPOCUS, ABRACAPOCUS, HOCUSDABRA, ABRACADABRA}. In particular, for every language A, we have A = A = and {ɛ} A = A {ɛ} = A. The Kleene closure or Kleene star 2 of a language L, denoted L, is the set of all strings obtained by concatenating a sequence of zero or more strings from L. For example, {0, 11} = {ɛ, 0, 00, 11, 000, 011, 110, 0000, 0011, 0110, 1100, 1111, 00000, 00011, 00110,..., ,...}. More formally, L is defined recursively as the set of all strings w such that either w = ɛ, or w = x y, for some strings x L and y L. This definition immediately implies that = {ɛ} = {ɛ}. For any other language L, the Kleene closure L is infinite and contains arbitrarily long (but finite!) strings. Equivalently, L can also be defined as the smallest superset of L that contains the empty string ɛ and is closed under concatenation (hence closure ). The set of all strings Σ is, just as the notation suggests, the Kleene closure of the alphabet Σ (where each symbol is viewed as a string of length 1). A useful variant of the Kleene closure operator is the Kleene plus, defined as L + := L L. Thus, L + is the set of all strings obtained by concatenating a sequence of one or more strings from L. 2.3 Regular Languages and Regular Expressions A language L is regular if and only if it satisfies one of the following (recursive) conditions: L is empty; L contains a single string (which could be the empty string ɛ); L is the union of two regular languages; 2 after Stephen Kleene, who pronounced his last name clay-knee, not clean or cleanie or claynuh or dimaggio. 2
3 L is the concatenation of two regular languages; or L is the Kleene closure of a regular language. Regular languages are normally described using a slightly more compact representation called regular expressions, which omit braces around one-string sets, use + to represent union instead of, and juxtapose subexpressions to represent concatenation instead of using an explicit operator. By convention, in the absence of parentheses, the operator has highest precedence, followed by the (implicit) concatenation operator, followed by +. Thus, for example, the regular expression 10 is shorthand for {1} {0}. As a larger example, the regular expression represents the language ( ) 10 {0} {0} {1} ({1} {0} {1}) ({0} {1} {0}) {1} {0}. Here are a few more examples of regular expressions and the languages they represent. 0 the set of all strings of 0s, including the empty string the set of all strings consisting of at least four 0s. (00000) the set of all strings of 0s whose length is a multiple of 5. (ɛ + 1)(01) (ɛ + 0) the set of all strings of alternating 0s and 1s, or equivalently, the set of all binary strings that do not contain the substrings 00 or 11. ((ɛ )1) (ɛ ) the set of all binary strings that do not contain the substring ((0 + 1)(0 + 1)) the set of all binary strings whose length is even. 1 (01 01 ) the set of all binary strings with an even number of 0s (0 + 1) 00 the set of all non-negative binary numerals divisible by 4 and with no redundant leading 0s ( ) 10 the set of all non-negative binary numerals divisible by 3, possibly with redundant leading 0s. The last example should not be obvious. It is straightforward, but rather tedious, to prove by induction that every string in ( ) 10 is the binary representation of a non-negative multiple of 3. It is similarly straightforward, and similarly tedious, to prove that the binary representation of every non-negative multiple of 3 matches this regular expression. In a later note, we will see a systematic method for deriving regular expressions for some languages that avoids (or more accurately, automates) this tedium. Most of the time we do not distinguish between regular expressions and the languages they represent, for the same reason that we do not normally distinguish between the arithmetic expression 2+2 and the integer 4, or the symbol π and the area of the unit circle. However, we sometimes need to refer to regular expressions themselves as strings. In those circumstances, we write L(R) to denote the language represented by the regular expression R. String w matches regular expression R if and only if w L(R). 3
4 Two regular expressions R and R are equivalent if they describe the same language; for example, the regular expressions (0 + 1) and (1 + 0) are equivalent, because the union operator is commutative. Almost every regular language can be represented by infinitely many distinct but equivalent regular expressions, even if we ignore ultimately trivial equivalences like L = (L ) Lɛ +. The following identities, which we state here without (easy) proofs, are useful for designing, simplifying, or understanding regular expressions. Lemma 2.1. The following identities hold for all languages A, B, and C: (a) A = A =. (b) ɛa = Aɛ = A. (c) A + B = B + A. (d) (A + B) + C = A + (B + C). (e) (AB)C = A(BC). (f) A(B + C) = AB + AC. Lemma 2.2. The following identities hold for every language L: (a) L = ɛ + L + = L L = (L + ɛ) = (L \ ɛ) = ɛ + L + L + L +. (b) L + = L \ ɛ = L L = L L = L + L = L L + = L + L + L +. (c) L + = L if and only if ɛ L. Lemma 2.3 (Arden s Rule). For any languages A, B, and L such that L = AL + B, we have A B L. Moreover, if A does not contain the empty string, then L = AL + B if and only if L = A B. 2.4 Things What Ain t Regular Expressions Many computing environments and programming languages support patterns called regexen (singular regex, pluralized like ox) that are considerably more general and powerful than regular expressions. Regexen include special symbols representing negation, character classes (for example, upper-case letters, or digits), contiguous ranges of characters, line and word boundaries, limited repetition (as opposed to the unlimited repetition allowed by ), back-references to earlier subexpressions, and even local variables. Despite its obvious etymology, a regex is not necessarily a regular expression, and it does not necessarily describe a regular language! 3 Another type of pattern that is often confused with regular expression are globs, which are patterns used in most Unix shells and some scripting languages to represent sets file names. Globs include symbols for arbitrary single characters (?), single characters from a specified range ([a-z]), arbitrary substrings ( * ), and substrings from a specified finite set ({foo,ba{r,z}}). Globs are significantly less powerful than regular expressions. 2.5 Not Every Language is Regular You may be tempted to conjecture that all languages are regular, but in fact, the following cardinality argument almost all languages are not regular. To make the argument concrete, let s consider languages over the single-symbol alphabet { }. Every regular expression over the one-symbol alphabet { } is itself a string over the 7-symbol alphabet {, +, (, ), *,, Ø}. By interpreting these symbols as the digits 1 through 7, we can interpret any string over this larger alphabet as the base-8 representation of some unique integer. Thus, the set of all regular expressions over { } is at most as large as the set of integers, and is therefore countably infinite. It follows that the set of all regular languages over { } is also countably infinite. 3 3 However, regexen are not all-powerful, either; see 4
5 On the other hand, for any real number 0 α < 1, we can define a corresponding language L α = n α2 n mod 1 1/2. In other words, L α contains the string n if and only if the (n + 1)th bit in the binary representation of α is equal to 1. For any distinct real numbers α β, the binary representations of α and β must differ in some bit, so L α L β. We conclude that the set of all languages over { } is at least as large as the set of real numbers between 0 and 1, and is therefore uncountably infinite. We will see several explicit examples of non-regular languages in future lectures. For example, the set of all regular expressions over {0, 1} is not itself a regular language! 2.6 Parsing Regular Expressions Most algorithms for regular expressions require them in the form of regular expression trees, rather than as raw strings. A regular expression tree is one of the following: A leaf node labeled. A leaf node labeled with a string in Σ. A node labeled + with two children, each the root of an expression tree. A node labeled with one child, which is the root of an expression tree. A node labeled with two children, each the root of an expression tree. In other words, a regular expression tree directly encodes a sequence of alternation, concatenation and Kleene closure operations that defines a regular language. Similarly, when we want to prove things about regular expressions or regular languages, it is more natural to think of subexpressions as subtrees rather than as substrings ( ) 10 0 * 0 1 * + 1 * 1 * * Given any regular expression of length n, we can parse it into an equivalent regular expression tree in O(n) time. Thus, when we see an algorithmic problem that starts Given a regular expression..., we can assume without loss of generality that we re actually given a regular expression tree. We ll see more on this topic later. Exercises 1. (a) Prove that {ɛ} L = L {ɛ} = L, for any language L. (b) Prove that L = L =, for any language L. (c) Prove that (A B) C = A (B C), for all languages A, B, and C. 5
6 (d) Prove that A B = A B, for all languages A and B. (The second is multiplication!) (e) Prove that L is finite if and only if L = or L = {ɛ}. (f) Prove that AB = BC implies A B = BC = A BC, for all languages A, B, and C. 2. Recall that the reversal w R of a string w is defined recursively as follows: w R ɛ if w = ɛ := x R a if w = a x The reversal L R of any language L is the set of reversals of all strings in L: L R := {w R w L}. (a) Prove that (AB) R = B R A R for all languages A and B. (b) Prove that (L R ) R = L for every language L. (c) Prove that (L ) R = (L R ) for every language L. 3. Prove that each of the following regular expressions is equivalent to (0 + 1). (a) ɛ + 0(0 + 1) + 1(1 + 0) (b) (0 + 1) (c) ((ɛ + 0)(ɛ + 1)) (d) 0 (10 ) (e) (1 0) (0 1) 4. For each of the following languages in {0, 1}, describe an equivalent regular expression. There are infinitely many correct answers for each language. (This problem will become significantly simpler after we ve seen finite-state machines, in the next lecture note.) (a) Strings that end with the suffix 0 9 = (b) All strings except 010. (c) Strings that contain the substring 010. (d) Strings that contain the subsequence 010. (e) Strings that do not contain the substring 010. (f) Strings that do not contain the subsequence 010. (g) Strings that contain an even number of occurrences of the substring 010. (h) Strings that contain an even number of occurrences of the substring 000. (i) Strings in which every occurrence of the substring 00 appears before every occurrence of the substring 11. (j) Strings w such that in every prefix of w, the number of 0s and the number of 1s differ by at most 1. 6
7 (k) Strings w such that in every prefix of w, the number of 0s and the number of 1s differ by at most 2. (l) Strings in which the number of 0s and the number of 1s differ by a multiple of 3. (m) Strings that contain an even number of 1s and an odd number of 0s. (n) Strings that represent a number divisible by 5 in binary. 5. Prove that for any regular expression R such that L(R) is nonempty, there is a regular expression equivalent to R that does not use the empty-set symbol. 6. Prove that if L is a regular language, then L R is also a regular language. [Hint: How do you reverse a regular expression?] 7. (a) Describe and analyze an efficient algorithm to determine, given a regular expression R, whether L(R) is empty. (b) Describe and analyze an efficient algorithm to determine, given a regular expression R, whether L(R) is infinite. In each problem, assume you are given R as a regular expression tree, not just a raw string. 7
C H A P T E R Regular Expressions regular expression
7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Automata and Formal Languages
Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,
Reading 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
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)
CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions
CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions Theory of Formal Languages In the English language, we distinguish between three different identities: letter, word, sentence.
Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy
Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety
CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013
CMPSCI 250: Introduction to Computation Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 Regular Expressions and Their Languages Alphabets, Strings and Languages
1. Prove that the empty set is a subset of every set.
1. Prove that the empty set is a subset of every set. Basic Topology Written by Men-Gen Tsai email: [email protected] Proof: For any element x of the empty set, x is also an element of every set since
Continued 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
A Little Set Theory (Never Hurt Anybody)
A Little Set Theory (Never Hurt Anybody) Matthew Saltzman Department of Mathematical Sciences Clemson University Draft: August 21, 2013 1 Introduction The fundamental ideas of set theory and the algebra
(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.
3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem
Finite Automata and Regular Languages
CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived
I. GROUPS: BASIC DEFINITIONS AND EXAMPLES
I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called
Automata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
Regular 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
MATH10040 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
CS 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
a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
5.1 Radical Notation and Rational Exponents
Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots
This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.
3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but
Regular 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
Mathematical Induction. Lecture 10-11
Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach
Mathematical 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
SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by
SUBGROUPS OF CYCLIC GROUPS KEITH CONRAD 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by g = {g k : k Z}. If G = g, then G itself is cyclic, with g as a generator. Examples
The 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,
CS 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
Fundamentele Informatica II
Fundamentele Informatica II Answer to selected exercises 1 John C Martin: Introduction to Languages and the Theory of Computation M.M. Bonsangue (and J. Kleijn) Fall 2011 Let L be a language. It is clear
NUMBER SYSTEMS. William Stallings
NUMBER SYSTEMS William Stallings The Decimal System... The Binary System...3 Converting between Binary and Decimal...3 Integers...4 Fractions...5 Hexadecimal Notation...6 This document available at WilliamStallings.com/StudentSupport.html
Lecture 1. Basic Concepts of Set Theory, Functions and Relations
September 7, 2005 p. 1 Lecture 1. Basic Concepts of Set Theory, Functions and Relations 0. Preliminaries...1 1. Basic Concepts of Set Theory...1 1.1. Sets and elements...1 1.2. Specification of sets...2
CS5236 Advanced Automata Theory
CS5236 Advanced Automata Theory Frank Stephan Semester I, Academic Year 2012-2013 Advanced Automata Theory is a lecture which will first review the basics of formal languages and automata theory and then
CPSC 121: Models of Computation Assignment #4, due Wednesday, July 22nd, 2009 at 14:00
CPSC 2: Models of Computation ssignment #4, due Wednesday, July 22nd, 29 at 4: Submission Instructions Type or write your assignment on clean sheets of paper with question numbers prominently labeled.
INCIDENCE-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
8 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
Computability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.
CHAPTER 5. Number Theory. 1. Integers and Division. Discussion
CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a
Full 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
Mathematical 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,
Lecture 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
Math Workshop October 2010 Fractions and Repeating Decimals
Math Workshop October 2010 Fractions and Repeating Decimals This evening we will investigate the patterns that arise when converting fractions to decimals. As an example of what we will be looking at,
Finite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream
k, then n = p2α 1 1 pα k
Powers of Integers An integer n is a perfect square if n = m for some integer m. Taking into account the prime factorization, if m = p α 1 1 pα k k, then n = pα 1 1 p α k k. That is, n is a perfect square
Automata on Infinite Words and Trees
Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:
Computer Science 281 Binary and Hexadecimal Review
Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two
Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test
Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
CONTENTS 1. Peter Kahn. Spring 2007
CONTENTS 1 MATH 304: CONSTRUCTING THE REAL NUMBERS Peter Kahn Spring 2007 Contents 2 The Integers 1 2.1 The basic construction.......................... 1 2.2 Adding integers..............................
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
Introduction to Automata Theory. Reading: Chapter 1
Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a
Cartesian Products and Relations
Cartesian Products and Relations Definition (Cartesian product) If A and B are sets, the Cartesian product of A and B is the set A B = {(a, b) :(a A) and (b B)}. The following points are worth special
Solutions to In-Class Problems Week 4, Mon.
Massachusetts Institute of Technology 6.042J/18.062J, Fall 05: Mathematics for Computer Science September 26 Prof. Albert R. Meyer and Prof. Ronitt Rubinfeld revised September 26, 2005, 1050 minutes Solutions
WRITING 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
The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).
CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical
God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886)
Chapter 2 Numbers God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886) God created the integers and the rest is the work
Regular Languages and Finite Automata
Regular Languages and Finite Automata A C Norman, Lent Term 1996 Part IA 1 Introduction This course is short, but it is present in Part 1A because of the way it introduces links between many different
Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi
Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the
Deterministic Finite Automata
1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function
1 Definition of a Turing machine
Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,
CHAPTER 5 Round-off errors
CHAPTER 5 Round-off errors In the two previous chapters we have seen how numbers can be represented in the binary numeral system and how this is the basis for representing numbers in computers. Since any
Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh [email protected].
Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh [email protected] 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free
Lemma 5.2. Let S be a set. (1) Let f and g be two permutations of S. Then the composition of f and g is a permutation of S.
Definition 51 Let S be a set bijection f : S S 5 Permutation groups A permutation of S is simply a Lemma 52 Let S be a set (1) Let f and g be two permutations of S Then the composition of f and g is a
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Lecture 16 : Relations and Functions DRAFT
CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence
Compiler Construction
Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation
Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.
Section 2.5 Cardinality (another) Definition: The cardinality of a set A is equal to the cardinality of a set B, denoted A = B, if and only if there is a bijection from A to B. If there is an injection
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
Lecture 18 Regular Expressions
Lecture 18 Regular Expressions Many of today s web applications require matching patterns in a text document to look for specific information. A good example is parsing a html file to extract tags
Undergraduate Notes in Mathematics. Arkansas Tech University Department of Mathematics
Undergraduate Notes in Mathematics Arkansas Tech University Department of Mathematics An Introductory Single Variable Real Analysis: A Learning Approach through Problem Solving Marcel B. Finan c All Rights
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS
INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS STEVEN P. LALLEY AND ANDREW NOBEL Abstract. It is shown that there are no consistent decision rules for the hypothesis testing problem
MATHEMATICAL INDUCTION. Mathematical Induction. This is a powerful method to prove properties of positive integers.
MATHEMATICAL INDUCTION MIGUEL A LERMA (Last updated: February 8, 003) Mathematical Induction This is a powerful method to prove properties of positive integers Principle of Mathematical Induction Let P
INTRODUCTORY SET THEORY
M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,
Stanford Math Circle: Sunday, May 9, 2010 Square-Triangular Numbers, Pell s Equation, and Continued Fractions
Stanford Math Circle: Sunday, May 9, 00 Square-Triangular Numbers, Pell s Equation, and Continued Fractions Recall that triangular numbers are numbers of the form T m = numbers that can be arranged in
Kevin 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
Discrete 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
CSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing
No: 10 04. Bilkent University. Monotonic Extension. Farhad Husseinov. Discussion Papers. Department of Economics
No: 10 04 Bilkent University Monotonic Extension Farhad Husseinov Discussion Papers Department of Economics The Discussion Papers of the Department of Economics are intended to make the initial results
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections
The Set Data Model CHAPTER 7. 7.1 What This Chapter Is About
CHAPTER 7 The Set Data Model The set is the most fundamental data model of mathematics. Every concept in mathematics, from trees to real numbers, is expressible as a special kind of set. In this book,
Math 3000 Section 003 Intro to Abstract Math Homework 2
Math 3000 Section 003 Intro to Abstract Math Homework 2 Department of Mathematical and Statistical Sciences University of Colorado Denver, Spring 2012 Solutions (February 13, 2012) Please note that these
COMP 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
MASSACHUSETTS 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
1 Solving LPs: The Simplex Algorithm of George Dantzig
Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.
Permutation Groups. Tom Davis [email protected] http://www.geometer.org/mathcircles April 2, 2003
Permutation Groups Tom Davis [email protected] http://www.geometer.org/mathcircles April 2, 2003 Abstract This paper describes permutations (rearrangements of objects): how to combine them, and how
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)
SOLUTIONS TO ASSIGNMENT 1 MATH 576
SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS BY OLIVIER MARTIN 13 #5. Let T be the topology generated by A on X. We want to show T = J B J where B is the set of all topologies J on X with A J. This amounts
6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10
Lesson The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base- system. When you
Python Loops and String Manipulation
WEEK TWO Python Loops and String Manipulation Last week, we showed you some basic Python programming and gave you some intriguing problems to solve. But it is hard to do anything really exciting until
Chapter 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
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a
So let us begin our quest to find the holy grail of real analysis.
1 Section 5.2 The Complete Ordered Field: Purpose of Section We present an axiomatic description of the real numbers as a complete ordered field. The axioms which describe the arithmetic of the real numbers
Math 223 Abstract Algebra Lecture Notes
Math 223 Abstract Algebra Lecture Notes Steven Tschantz Spring 2001 (Apr. 23 version) Preamble These notes are intended to supplement the lectures and make up for the lack of a textbook for the course
2110711 THEORY of COMPUTATION
2110711 THEORY of COMPUTATION ATHASIT SURARERKS ELITE Athasit Surarerks ELITE Engineering Laboratory in Theoretical Enumerable System Computer Engineering, Faculty of Engineering Chulalongkorn University
. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9
Introduction The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive integer We say d is a
Student Outcomes. Lesson Notes. Classwork. Discussion (10 minutes)
NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 5 8 Student Outcomes Students know the definition of a number raised to a negative exponent. Students simplify and write equivalent expressions that contain
We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b
In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should
Every Positive Integer is the Sum of Four Squares! (and other exciting problems)
Every Positive Integer is the Sum of Four Squares! (and other exciting problems) Sophex University of Texas at Austin October 18th, 00 Matilde N. Lalín 1. Lagrange s Theorem Theorem 1 Every positive integer
6.3 Conditional Probability and Independence
222 CHAPTER 6. PROBABILITY 6.3 Conditional Probability and Independence Conditional Probability Two cubical dice each have a triangle painted on one side, a circle painted on two sides and a square painted
1 Approximating Set Cover
CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt
SUM OF TWO SQUARES JAHNAVI BHASKAR
SUM OF TWO SQUARES JAHNAVI BHASKAR Abstract. I will investigate which numbers can be written as the sum of two squares and in how many ways, providing enough basic number theory so even the unacquainted
