1 Let S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 }. (a) List the elements of S for n= 1, 2, and 3. (b) Prove that the set S.

Slides:



Advertisements
Similar presentations
CS2303-THEORY OF COMPUTATION Closure Properties of Regular Languages
Advertisements

Formal Languages Languages: English, Spanish,... PASCAL, C,... Problem: How do we define a language? i.e. what sentences belong to a language? e.g.Large.
Properties of Regular Languages
COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
CS 310 – Fall 2006 Pacific University CS310 Strings, String Operators, and Languages Sections: August 30, 2006.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 Languages and Finite Automata or how to talk to machines...
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
79 Regular Expression Regular expressions over an alphabet  are defined recursively as follows. (1) Ø, which denotes the empty set, is a regular expression.
Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:
Fall 2004COMP 3351 Languages. Fall 2004COMP 3352 A language is a set of strings String: A sequence of letters/symbols Examples: “cat”, “dog”, “house”,
1 Regular Expressions/Languages Regular languages –Inductive definitions –Regular expressions syntax semantics Not covered in lecture.
Lecture 1 String and Language. String string is a finite sequence of symbols. For example, string ( s, t, r, i, n, g) CS4384 ( C, S, 4, 3, 8) (1,
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
Chapter 2 Languages.
1 Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Mathematical Tools and Techniques.
1 Proof of the Day: Let P= {(b, acbb), (aac, a), (b, ca)}. 1.Prove that P has a match. 2. Find Q which is P encoded in binary. 3.What match of Q corresponds.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 2 Languages.
Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Lecture Two: Formal Languages Formal Languages, Lecture 2, slide 1 Amjad Ali.
1 Strings and Languages. 2 Review Sets and sequences Functions and relations Graphs Boolean logic:      Proof techniques: – Construction, Contradiction,
CMSC 330: Organization of Programming Languages Theory of Regular Expressions.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
1 Chapter 1 Introduction to the Theory of Computation.
Mathematical Preliminaries (Hein 1.1 and 1.2) Sets are collections in which order of elements and duplication of elements do not matter. – {1,a,1,1} =
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2006.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet:
1 State SymbolRead- Q E(Q) a b a b a b Convert to a DFA: Start state: Final States:
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
1 Exercise: Prove that the set S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 } is countable.
1 P(n): for any x, x n = 1. 1.[Basis] n=0. P(0) says that for all x, x 0 = 1 which is true. 2.The induction hypothesis is that P(k) holds for all k ≤ n.
1 Assignment #1 is due on Friday. Any questions?.
1 Module 14 Regular languages –Inductive definitions –Regular expressions syntax semantics.
Recursive Definitions & Regular Expressions (RE)
Review: Compiler Phases: Source program Lexical analyzer Syntax analyzer Semantic analyzer Intermediate code generator Code optimizer Code generator Symbol.
MA/CSSE 474 Theory of Computation Regular Expressions Intro.
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
1 String v is a prefix of w if w= v y for some string y. String v is a suffix of w if w= x v for some string x. String v is a substring of w if there are.
COMPSCI 102 Introduction to Discrete Mathematics.
1 Problem of the Day: Describe using set descriptor notation the complements of (a) { , a, aa, aaa} over ∑ = {a} (b) { , a, aa, aaa} over ∑ = {a,b} (c)
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2010.
Recursive Definations Regular Expressions Ch # 4 by Cohen
Strings and Languages Denning, Section 2.7. Alphabet An alphabet V is a finite nonempty set of symbols. Each symbol is a non- divisible or atomic object.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
Transparency No. 2-1 Formal Language and Automata Theory Homework 2.
Introduction Why do we study Theory of Computation ?
Introduction Why do we study Theory of Computation ?
Languages and Strings Chapter 2. (1) Lexical analysis: Scan the program and break it up into variable names, numbers, etc. (2) Parsing: Create a tree.
MA/CSSE 474 Theory of Computation Regular Expressions Intro.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Alphabet, String, Language. 2 Alphabet and Strings An alphabet is a finite, non-empty set of symbols. –Denoted by  –{ 0, 1 } is a binary alphabet. –{
Languages.
Languages Prof. Busch - LSU.
Languages Costas Busch - LSU.
Formal Language & Automata Theory
Languages, prefixes, sets, cardinality, functions
Assume that p, q, and r are in
Languages, prefixes, sets, cardinality, functions
Convert to a DFA: Start state: Final States: State Symbol Read- Q E(Q)
Introduction Reading: Sections 1.5 – 1.7.
Chapter 1 Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 2 Languages.
Languages Fall 2018.
Terminology and Symbols
Presentation transcript:

1 Let S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 }. (a) List the elements of S for n= 1, 2, and 3. (b) Prove that the set S is countable by explicitly describing a bijection between S and the natural numbers. (c) How does your bijection number the permutations you listed for part (a)?

2 CSC 320: Mathematics of computation

3 Mathematics of Computation Introduction to the mathematics of formal language theory: 1.Alphabets, strings, languages. 2.Mathematical operations on strings: concatenation, substring, prefix, suffix, reversal. 3.Union, concatenation and Kleene star for languages. These definitions lead up to our first class of languages- the regular languages.

4 Review: Representing Data Alphabet: finite set of symbols Ex. { a, b, c, …, z} String: finite sequence of alphabet symbols Ex. abaab, hello, cccc Inputs and outputs of computations: represented by strings. ε represents an empty string (length 0)

5 Empty Set and Empty String Students frequently are confused about the empty set and an empty string. Empty set = Φ = { } = set with 0 elements. Empty string= ε = ̀ ̀ = string with 0 symbols. Example: The set {ε} is a set containing one string.

6 First names of students taking CSC 320: {Adrian, Alexander, Amanda, Braden, Brandon, Brodie, Catlin, Christopher, Daniel, Ding, Dong, Erik, Ethan, Evian, Gordon, Grigory, Hao, Heng, Jonathan, Jordan, Lin, Matt, Matthew, Mauricio, Meghan, Michael, Ramtin, Richard, Rui, Scott, Wenchong, Xiuxia, Xiyu, Zhuoli} Strings over {a,b} with even length: {ε, aa, ab, ba, bb, aaaa, aaab, aaba, …} Syntactically correct JAVA programs. Language: set of strings

7 Notational Conventions x, y, z real numbers k, n integers A, B matrices p, q primes Σ, Σ´,Σ 1 Σ 2 alphabets a, b, c, 0, 1 symbols u, v, w, x, y, z strings L, L 1, L 2 languages

8 Concatenation of strings x and y denoted x ۰ y or simply xy means write down x followed by y. Theorem: For any string w, ε ۰ w = w = w ۰ ε. String v is a prefix of w if w= v y for some string y. String v is a suffix of w if w= x v for some string x. String v is a substring of w if there are strings x and y such that w= x v y. The reversal of string w, denoted w R, is w “spelled backwards”.

9 Operations on Languages: 1. Complement of L defined over Σ = = { w  Σ * : w is not in L } 2. Concatenation of Languages L 1 ۰ L 2 = L 1 L 2 = {w= x ۰ y for some x  L 1 and y  L 2 } 3. Kleene star of L, L * = { w= w 1 w 2 w 3 … w k for some k ≥ 0 and w 1, w 2, w 3, …,w k are all in L} 4. L + = L ۰ L * (Concatenate together one or more strings from L.)

10 Σ * = set of all strings over alphabet Σ Language over Σ – any subset of Σ * Examples: Σ = {0, 1} L 1 = { w  Σ * : w has an even number of 0’s} L 2 = { w  Σ * : w is the binary representation of a prime number with no leading zeroes} L 3 = Σ * L 4 = { } = Φ L 5 = { ε }

11 L 2 = {w  {0,1}* : w is the binary representation of a prime with no leading zeroes} The complement is: {w  {0,1}* : w is the binary representation of a number which is not prime which has no leading 0’s or w starts with 0} Note: 1 is not prime or composite. The string 1 is in the complement since it is not in L.

= = Matrix multiplication: Concatenation: ab ۰ bb = abbb bb ۰ ab = bbab

13 Regular Languages over Alphabet Σ: [Basis] 1. Φ and {σ} for each σ  Σ are regular languages. [Inductive step] If L 1 and L 2 are regular languages, then so are: 2. L 1 ۰ L 2, 3. L 1 ⋃ L 2, and 4. L 1 *.

14 Regular expressions over Σ: [Basis] 1. Φ and σ for each σ  Σ are regular expressions. [Inductive step] If α and β are regular expressions, then so are: 2. ( αβ) 3. (α ⋃ β) and 4. α * Note: Regular expressions are strings over Σ ⋃ { (, ), Φ, ⋃, * } for some alphabet Σ.

15 Precedence of Operators Exponents Multiplication Addition Kleene star Concatenation Union highest ⇩ lowest

16 Prove the following languages over Σ={0,1} are regular by giving regular expressions for them: 1. {w: w has odd length} 2. {w: w contains 0011} 3. {w: w does not contain 01} 4. {w: w starts and ends with the same symbol (|w| ≥ 1)}

17 TUTORIAL: L = { w an element of {a,b}* : w has both baa and aaba as a substring }. (a|b)*baa(a|b)*aaba(a|b)*|(a|b)*aaba(a|b)*baa(a|b)* MISSING: aabaa, baaba, … See home page for link to regular expression tutorial