CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions
|
|
|
- Chastity Reynolds
- 9 years ago
- Views:
Transcription
1 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. There is a certain parallelism between the fact that a group of letters make up a word and a group of words make up a sentence. Not all collections of letters form valid words, and not all collections of words form valid sentences. This situation also exists with programming languages. Certain strings are recognizable words (FOR, WHILE, IF...). Certain strings of words are valid sentences in a programming language. These sentences together form a valid program. To construct a general language theory that unifies all these examples, it is necessary to adopt a definition of a "universal language structure", i.e, a structure in which the decision of whether a given string of units constitute a valid larger unit is not a matter of guesswork, but is based on explicitly stated rules. The study of such a set of rules operating on a set of symbols is called the Theory of Formal Languages. "Formal" in this sense refers to the fact that all the rules for creating valid structures in the language are explicitly stated in terms of what strings of symbols can occur. We are interested in the FORM of the string of symbols, not the meaning. So, our study of formal languages is concerned with language not as a method of communication, but as a valid sequence of symbols generated from the application of formal rules. This topic is important because we are now starting to study abstract machine models to get a better idea of what computers can and cannot do. All computers require a program to operate, and all programs are written in some language. The first step in understanding abstract machine models is to study the language structures that the machines can and cannot accept as input, and how the machine operates on this input. Formal language theory forms the basis for programming languages and compiler construction. Some Definitions Symbol: this is an abstract entity that we shall not define formally (just as "point" and "line" are note defined in geometry). Letters, digits and punctuation are examples of symbols. An alphabet is a finite set of symbols out of which we build larger structures. An alphabet is typically denoted using the Greek sigma, e.g., = {0,1}. String: a finite sequence of symbols from a particular alphabet juxtaposed. For example: a, b, c, are symbols and abcb is a string. The empty string, denoted, is the string consisting of zero symbols. 5) A formal language is the set of strings from some alphabet. This set of strings is usually denoted as *, e.g., if = {1,0} then * = {, 0, 1, 00, 01, 10, 11, 000, 001,...}. This language is called the closure of the alphabet (where any possible juxtaposition of symbols from is a string of the language, including ). The notation is called the Kleene star (after the logician who was one of the original workers in this field). Often, we may use a capital letter to represent a language: L = {, 0, 1, 00, 01, 10, 11, 000, 001,...}.
2 If, for some reason, we want to modify the concept of closure to refer to only the inclusion of non-empty strings of a formal language, we use the symbol +. For example, if = {x}, then * = {, x, xx, xxx,...}, and + = {x, xx, xxx, xxxx,... }. This is called the positive closure of. Words: strings from a language that represent valid units as specified by the rules of the language. "Rich" is a valid word in English; "Xvcns" is not. The length of a string w, denoted w, is the number of symbols making up the string. = 0. A prefix of a string is any number of leading symbols of that string, and a suffix is any number of trailing symbols. For example, the string abc has prefixes, a, ab, abc; and suffixes, c, bc, abc. A prefix or suffix of a string that is other than the string itself is called a proper prefix or suffix. The concatenation of two strings is the string formed by writing the first and then the second string right next to each other, with no intervening spaces. The concatenation of dog and house is doghouse. Concatenation of two strings w and z is denoted wz. A substring of a string is any sequence of consecutive symbols from the string including. Substrings of abc are, a, b, c, ab, bc, abc. Regular Expressions We need to be very exact in the way we define formal languages. Therefore, we will specify some language-defining symbols. Consider the language specified in item (5) above: = {x} * = {, x, xx, xxx,...} Another way of specifying this language is to use the Kleene star directly applied to a symbol: x*. This is interpreted to indicate some sequence of x's (maybe none at all). x* =, x, xx, xxx, xxxx,... = * The Kleene star operator applied to a letter is analogous to applying it to a set as we did earlier. It represents an arbitrary concatenation of copies of that letter (maybe 0 copies). Some other examples: ab* = a, ab, abb, abbb, abbbb,... (ab)* =, ab, abab, ababab,... a*b* =, a, b, aa, ab, bb, aaa, aab, abb, bbb, aaaa,...? = {, a, aa, ab, aaa, aab, aaaa, aaab, abab...} How would you informally describe this last pattern? or any string of a's or b's that starts with an a and cannot have 2 or more consecutive b's. It will be important to be able to recognize and describe the patterns defined by regular expressions.
3 Another language-defining symbol is +. This is interpreted as 'or' in an expression that defines a language. = {a, b, c} ((a + c) b*) = a, c, ab, cb, abb, cbb, abbb, cbbb,... Notice in the above example that either a or c must be included. is not a part of this language. = {a, b} (a + b)(a + b)(a + b) = aaa, aab, aba, abb, baa, bab, bba, bbb The above example shows a finite language that contains all strings of a's and b's of length 3. We could denote this (a + b) 3. If we wanted to refer to the set of all possible strings of a's and b's of any length whatsoever: (a + b)*; this includes. (a + b)* a (a + b)* a (a + b)* represents the language of all words that have at least two a's embedded in any number of a's and b's (maybe none). Another representation of a language with at least two a's: b*ab*a(a + b)*. abbbabb and aaaaa are both words from this language. Therefore, these two expressions are equivalent, meaning they describe the same language. If we wanted all the words with exactly 2 a's, one possibility: b*ab*ab*. aab, baba, bbbabbbab are all words from this language. Are the following languages equivalent? (ab)*a and a(ba)* (a* + b)* and (a + b)* (a*b)*a* and a*(ba*)* Note that can be used in these expressions too. Suppose we wanted to define an expression for a language with = {a, b} in which a word is either empty, all b's or else there is an a followed by some b's. One possible expression: b* + ab*. The can be represented by b*. Another possibility: ( + a) b*. Deriving this second expressions seems to indicate some kind of distributive law: b* + ab* = ( + a) b*. This analogy to algebra should be dealt with suspiciously, since addition in algebra never means choice, and algebraic multiplication has properties different than concatenation. For example, ab = ba in algebra, but ab ba in formal languages. All the expressions derived above are called regular expressions. The set of regular expressions can be defined by the following recursive rules: 1) Every symbol of is a regular expression 2) is a regular expression 3) if r1 and r2 are regular expressions, so are (r1) r1r2 r1 + r2 r1* 4) Nothing else is a regular expression. Note that we could include r1+ as a part of this definition, but r1+ = r1r1*, so we can define it with what we have.
4 We have one more task concerning regular expressions, and that is to distinguish between the expressions themselves and the language associated with a regular expression. We need one more definition: If S and T are sets of strings, we define their product ST = { all combinations of a string from S concatenated with a string from T } M = {, x, xx} N = {, y, yy, yyy, yyyy...} MN = {, y, yy, yyy, yyyy... x, xy, xyy, xyyy, xyyyy... xx, xxy, xxyy, xxyyy, xxyyyy...} Now, we can define the language associated with a regular expression by these rules: a) The language associated with a regular expression that is just a single letter, is that one-letter word alone. b) The language associated with is { }, a one-word language. c) If r1 is a regular expression associated with L1 and r2 is a regular expression associated with L1: i) (r1)(r2) = L1L2 ii) r1 + r2 = L1 + L2 iii) (r1)* = L1* Can every language be represented by a regular expression? Every finite language can, because any finite language can be represented as a list of all its words separated by +. Infinite languages, however, are a bit more complex; we will deal with them later. Inductions in Formal Languages 1) Given that S = {xx, xxx}, prove that S + = x n for n > 1 (i.e., x n e S + ) P(n) denotes: if S = {xx, xxx}, then S + = x n for n > 1 base case: when n = 2, x 2 = xx; when n = 3, x 3 = xxx; both of these strings are in the language. inductive hypothesis: Assume that for any n > 3, x n is in S +, prove that x n+1 is in S +. PROOF: There are two possible cases: a) at least one xx is used in the string: replace this xx with xxx to get x n+1. b) no xx is used, i.e., the string is all xxx: replace one xxx with 2 xx's to get x n+1. By the principle of mathematical induction, P(n) is true for all n. 2) P(n) denotes: A palindrome is defined as follows: a) is a palindrome. b) If a is any symbol then a is a palindrome. c) If a is any symbol and x is a palindrome then axa is a palindrome. d) Nothing else is a palindrome unless it follows from (a) - (c).
5 A palindrome is a string that reads the same forward and backward. (This induction will be on the length of z which is a string that reads the same forward as backward; we will prove that z's being a palindrome follows from (a) - (c).) base case: if the length of z is 0, we have which is defined by (a) to be a palindrome; if the length of z is 1, we have a single symbol which is defined by (b) to be a palindrome. inductive hypothesis: Assume that w of some length less than z is a palindrome, show that z is also a palindrome. PROOF: If z > 1, then z begins and ends with some symbol a. Thus z = awa where w reads the same forward as backward, and is shorter in length than z. By the induction hypothesis, rules (a)-(c) imply that w is a palindrome. Thus, by rule (c), z = awa is also a palindrome. By the principle of mathematical induction, P(n) is true for all n. Other Proofs for Regular Expressions Two regular expressions R and T are equivalent if the language defined by R (i.e., the set of strings generated by regular expression R) is equal to the language defined by T. To prove equivalences for regular expressions, we use containment proofs from set theory. That is, if S1 is the set of strings generated by regular expression R, and S2 is the set of strings generated by regular expression T, we must prove that S1 S2 and S2 S1. Both directions are necessary to prove equality of sets.
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
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,
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
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
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
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
Regular Languages and Finite State Machines
Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection
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)
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
MACM 101 Discrete Mathematics I
MACM 101 Discrete Mathematics I Exercises on Combinatorics, Probability, Languages and Integers. Due: Tuesday, November 2th (at the beginning of the class) Reminder: the work you submit must be your own.
(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
ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april 2003. Master Edition
ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK 5 april 23 Master Edition CONTEXT FREE LANGUAGES & PUSH-DOWN AUTOMATA CONTEXT-FREE GRAMMARS, CFG Problems Sudkamp Problem. (3.2.) Which language generates the grammar
On the generation of elliptic curves with 16 rational torsion points by Pythagorean triples
On the generation of elliptic curves with 16 rational torsion points by Pythagorean triples Brian Hilley Boston College MT695 Honors Seminar March 3, 2006 1 Introduction 1.1 Mazur s Theorem Let C be a
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
Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile
Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along
Lecture 2: Regular Languages [Fa 14]
Caveat lector: This is the first edition of this lecture note. Please send bug reports and suggestions to [email protected]. But the Lord came down to see the city and the tower the people were building.
Chapter 5. Rational Expressions
5.. Simplify Rational Expressions KYOTE Standards: CR ; CA 7 Chapter 5. Rational Expressions Definition. A rational expression is the quotient P Q of two polynomials P and Q in one or more variables, where
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)
CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions
CSC45 AUTOMATA 2. Finite Automata: Examples and Definitions Finite Automata: Examples and Definitions A finite automaton is a simple type of computer. Itsoutputislimitedto yes to or no. It has very primitive
4. FIRST STEPS IN THE THEORY 4.1. A
4. FIRST STEPS IN THE THEORY 4.1. A Catalogue of All Groups: The Impossible Dream The fundamental problem of group theory is to systematically explore the landscape and to chart what lies out there. We
BEGINNING ALGEBRA ACKNOWLEDMENTS
BEGINNING ALGEBRA The Nursing Department of Labouré College requested the Department of Academic Planning and Support Services to help with mathematics preparatory materials for its Bachelor of Science
How To Compare A Markov Algorithm To A Turing Machine
Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also
Online EFFECTIVE AS OF JANUARY 2013
2013 A and C Session Start Dates (A-B Quarter Sequence*) 2013 B and D Session Start Dates (B-A Quarter Sequence*) Quarter 5 2012 1205A&C Begins November 5, 2012 1205A Ends December 9, 2012 Session Break
Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology
Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information
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
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
Local periods and binary partial words: An algorithm
Local periods and binary partial words: An algorithm F. Blanchet-Sadri and Ajay Chriscoe Department of Mathematical Sciences University of North Carolina P.O. Box 26170 Greensboro, NC 27402 6170, USA E-mail:
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
Handout #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
Lights and Darks of the Star-Free Star
Lights and Darks of the Star-Free Star Edward Ochmański & Krystyna Stawikowska Nicolaus Copernicus University, Toruń, Poland Introduction: star may destroy recognizability In (finitely generated) trace
THE BANACH CONTRACTION PRINCIPLE. Contents
THE BANACH CONTRACTION PRINCIPLE ALEX PONIECKI Abstract. This paper will study contractions of metric spaces. To do this, we will mainly use tools from topology. We will give some examples of contractions,
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
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
Estimating Probability Distributions
Estimating Probability Distributions Readings: Manning and Schutze, Section 6.2 Jurafsky & Martin, Section 6.3 One of the central problems we face in using probability models for NLP is obtaining the actual
Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm
Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm 1. LZ77:Sliding Window Lempel-Ziv Algorithm [gzip, pkzip] Encode a string by finding the longest match anywhere within a window of past symbols
FINDING THE LEAST COMMON DENOMINATOR
0 (7 18) Chapter 7 Rational Expressions GETTING MORE INVOLVED 7. Discussion. Evaluate each expression. a) One-half of 1 b) One-third of c) One-half of x d) One-half of x 7. Exploration. Let R 6 x x 0 x
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
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
ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605
ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605 (1) (a) (0 + 1) 010 (finite automata below). (b) First observe that the following regular expression generates the binary strings with an even
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
Turing Machines, Part I
Turing Machines, Part I Languages The $64,000 Question What is a language? What is a class of languages? Computer Science Theory 2 1 Now our picture looks like Context Free Languages Deterministic Context
Compiler I: Syntax Analysis Human Thought
Course map Compiler I: Syntax Analysis Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy Translator Chapters 7-8 Assembly
Basic Proof Techniques
Basic Proof Techniques David Ferry [email protected] September 13, 010 1 Four Fundamental Proof Techniques When one wishes to prove the statement P Q there are four fundamental approaches. This document
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
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..............................
SECTION 10-5 Multiplication Principle, Permutations, and Combinations
10-5 Multiplication Principle, Permutations, and Combinations 761 54. Can you guess what the next two rows in Pascal s triangle, shown at right, are? Compare the numbers in the triangle with the binomial
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
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
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
Informatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Université Lille 1 - Polytech Lille
CAs and Turing Machines. The Basis for Universal Computation
CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.
Math 4310 Handout - Quotient Vector Spaces
Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable
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
Math 319 Problem Set #3 Solution 21 February 2002
Math 319 Problem Set #3 Solution 21 February 2002 1. ( 2.1, problem 15) Find integers a 1, a 2, a 3, a 4, a 5 such that every integer x satisfies at least one of the congruences x a 1 (mod 2), x a 2 (mod
How To Understand The Theory Of Computer Science
Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked
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
PRIMARY CONTENT MODULE Algebra I -Linear Equations & Inequalities T-71. Applications. F = mc + b.
PRIMARY CONTENT MODULE Algebra I -Linear Equations & Inequalities T-71 Applications The formula y = mx + b sometimes appears with different symbols. For example, instead of x, we could use the letter C.
3515ICT Theory of Computation Turing Machines
Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation
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:
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
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
Welcome to Math 19500 Video Lessons. Stanley Ocken. Department of Mathematics The City College of New York Fall 2013
Welcome to Math 19500 Video Lessons Prof. Department of Mathematics The City College of New York Fall 2013 An important feature of the following Beamer slide presentations is that you, the reader, move
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
Matrix 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
ALGEBRA REVIEW LEARNING SKILLS CENTER. Exponents & Radicals
ALGEBRA REVIEW LEARNING SKILLS CENTER The "Review Series in Algebra" is taught at the beginning of each quarter by the staff of the Learning Skills Center at UC Davis. This workshop is intended to be an
Sample Induction Proofs
Math 3 Worksheet: Induction Proofs III, Sample Proofs A.J. Hildebrand Sample Induction Proofs Below are model solutions to some of the practice problems on the induction worksheets. The solutions given
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
1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.
File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one
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
Factoring - Grouping
6.2 Factoring - Grouping Objective: Factor polynomials with four terms using grouping. The first thing we will always do when factoring is try to factor out a GCF. This GCF is often a monomial like in
24 Uses of Turing Machines
Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss
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
Math 312 Homework 1 Solutions
Math 31 Homework 1 Solutions Last modified: July 15, 01 This homework is due on Thursday, July 1th, 01 at 1:10pm Please turn it in during class, or in my mailbox in the main math office (next to 4W1) Please
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
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
The Optimum One-Pass Strategy for Juliet
Master s Thesis One-Pass Strategies for Context-Free Games Christian Cöster August 2015 Examiners: Prof. Dr. Thomas Schwentick Prof. Dr. Christoph Buchheim Technische Universität Dortmund Fakultät für
CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.
CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write
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
Solutions to TOPICS IN ALGEBRA I.N. HERSTEIN. Part II: Group Theory
Solutions to TOPICS IN ALGEBRA I.N. HERSTEIN Part II: Group Theory No rights reserved. Any part of this work can be reproduced or transmitted in any form or by any means. Version: 1.1 Release: Jan 2013
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
Vector Spaces. Chapter 2. 2.1 R 2 through R n
Chapter 2 Vector Spaces One of my favorite dictionaries (the one from Oxford) defines a vector as A quantity having direction as well as magnitude, denoted by a line drawn from its original to its final
Omega Automata: Minimization and Learning 1
Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular
Scanner. tokens scanner parser IR. source code. errors
Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme
SECTION 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
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
6.3. section. Building Up the Denominator. To convert the fraction 2 3 factor 21 as 21 3 7. Because 2 3
0 (6-18) Chapter 6 Rational Epressions GETTING MORE INVOLVED 7. Discussion. Evaluate each epression. a) One-half of 1 b) One-third of c) One-half of d) One-half of 1 a) b) c) d) 8 7. Eploration. Let R
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
CONTINUED FRACTIONS AND PELL S EQUATION. Contents 1. Continued Fractions 1 2. Solution to Pell s Equation 9 References 12
CONTINUED FRACTIONS AND PELL S EQUATION SEUNG HYUN YANG Abstract. In this REU paper, I will use some important characteristics of continued fractions to give the complete set of solutions to Pell s equation.
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
26 Ideals and Quotient Rings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan 26 Ideals and Quotient Rings In this section we develop some theory of rings that parallels the theory of groups discussed
Chapter 17. Orthogonal Matrices and Symmetries of Space
Chapter 17. Orthogonal Matrices and Symmetries of Space Take a random matrix, say 1 3 A = 4 5 6, 7 8 9 and compare the lengths of e 1 and Ae 1. The vector e 1 has length 1, while Ae 1 = (1, 4, 7) has length
Mathematical 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
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
Chapter 3. if 2 a i then location: = i. Page 40
Chapter 3 1. Describe an algorithm that takes a list of n integers a 1,a 2,,a n and finds the number of integers each greater than five in the list. Ans: procedure greaterthanfive(a 1,,a n : integers)
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
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
CHAPTER II THE LIMIT OF A SEQUENCE OF NUMBERS DEFINITION OF THE NUMBER e.
CHAPTER II THE LIMIT OF A SEQUENCE OF NUMBERS DEFINITION OF THE NUMBER e. This chapter contains the beginnings of the most important, and probably the most subtle, notion in mathematical analysis, i.e.,
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation
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
