Mathematical Preliminaries Strings and Languages

Slides:



Advertisements
Similar presentations
Mathematical Preliminaries
Advertisements

Chapter 2 Revision of Mathematical Notations and Techniques
Chapter 3 Relations. Section 3.1 Relations and Digraphs.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Review of Mathematical Notation / Terminology
1 Languages and Finite Automata or how to talk to machines...
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Sets 1.
Sets 1.
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Theoretical Computer Science COMP 335 Fall 2004
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”,
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,
SETS A set B is a collection of objects such that for every object X in the universe the statement: “X is a member of B” Is a proposition.
Relations Chapter 9.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
1 CSSE 350 Automata, Formal Languages, and Computability.
CSC312 Automata Theory Lecture # 1 Introduction.
CSCI 4325 / 6339 Theory of Computation Chapter One Zhixiang Chen Department of Computer Science University of Texas-Pan American.
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,
Mathematical Preliminaries Strings and Languages Preliminaries 1.
Chapter 9. Chapter Summary Relations and Their Properties Representing Relations Equivalence Relations Partial Orderings.
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
1 Chapter 1 Introduction to the Theory of Computation.
Discrete Math for CS Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation.
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} =
R. Johnsonbaugh, Discrete Mathematics 5 th edition, 2001 Chapter 2 The Language of Mathematics.
Chapter 9. Section 9.1 Binary Relations Definition: A binary relation R from a set A to a set B is a subset R ⊆ A × B. Example: Let A = { 0, 1,2 } and.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet:
Fall 2005Costas Busch - RPI1 Mathematical Preliminaries.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
CSC312 Automata Theory Lecture # 1 Introduction.
CSC312 Automata Theory Lecture # 1 Introduction.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 2:20-5:10 PM, Tuesday Place: BL 112.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Mathematical Preliminaries
Sets and Subsets Set A set is a collection of well-defined objects (elements/members). The elements of the set are said to belong to (or be contained in)
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Problem Statement How do we represent relationship between two related elements ?
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
Sets Definition: A set is an unordered collection of objects, called elements or members of the set. A set is said to contain its elements. We write a.
Models of Computation نظریه زبان ها و ماشین ها Iranai.blog.ir IRANAI.BLOG.ir _
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
8.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of.
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
Set Theory Concepts Set – A collection of “elements” (objects, members) denoted by upper case letters A, B, etc. elements are lower case brackets are used.
Week 8 - Wednesday.  What did we talk about last time?  Relations  Properties of relations  Reflexive  Symmetric  Transitive.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation is a relation on.
Relations Chapter 9 Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
The Relation Induced by a Partition
Representing Relations Using Digraphs
Relations and Their Properties
Equivalence Relations
Relations Chapter 9.
BCS2143 – Theory of Computer Science
Languages.
Standard Representations of Regular Languages
Languages Prof. Busch - LSU.
Languages Costas Busch - LSU.
CSCI-2400 Models of Computation.
Mathematical Preliminaries
Chapter 1 Introduction to the Theory of Computation
교환 학생 프로그램 내년 1월 중순부터 6월 초 현재 학부 2,3 학년?
Languages Fall 2018.
Presentation transcript:

Mathematical Preliminaries Strings and Languages

Mathematical Preliminaries

Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques

SETS A set is a collection of elements We write

Set Representations C = { a, b, c, d, e, f, g, h, i, j, k } C = { a, b, …, k } S = { 2, 4, 6, … } S = { j : j > 0, and j = 2k for k>0 } S = { j : j is nonnegative and even } finite set infinite set

A = { 1, 2, 3, 4, 5 } 1 2 3 4 5 A U 6 7 8 9 10 Universal Set: all possible elements U = { 1 , … , 10 }

Set Operations A = { 1, 2, 3 } B = { 2, 3, 4, 5} Union A U B = { 1, 2, 3, 4, 5 } Intersection A B = { 2, 3 } Difference A - B = { 1 } B - A = { 4, 5 } A B 2 4 1 3 5 U 2 3 1

A A Complement Universal set = {1, …, 7} 4 A A 6 3 1 2 5 7 A = A

{ even integers } = { odd integers } 1 odd even 5 6 2 4 3 7

DeMorgan’s Laws A U B = A B U A B = A U B U

Empty, Null Set: = { } S U = S S = S - = S - S = U = Universal Set

Subset A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 } A B U Proper Subset: A B U

Disjoint Sets A = { 1, 2, 3 } B = { 5, 6} A B = U A B

Set Cardinality For finite sets A = { 2, 5, 7 } |A| = 3 (set size)

Powersets A powerset is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S, P(S),2S 2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } Observation: | 2S | = 2|S| ( 8 = 23 )

Generalizes to more than two sets Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 5) } |A X B| = |A|*|B| Generalizes to more than two sets A X B X … X Z

Examples: What is: {1, 2 , 3}  {a,b} = True or false: {(1,a), (3,b)}  {1, 2 , 3}  {a,b} True or false: {1,2,3}  {1, 2 , 3}  {a,b} {(1,a), (1,b), (2,a), (2,b), (3,a), (3,b)} true false

FUNCTIONS Given two sets A and B, a function from A into B associates with each a in A at most one element b of B domain range 4 A B f(1) = a a 1 2 b c 3 5 f : A -> B

f : A -> B If A = domain then f is a total function otherwise f is a partial function f : A -> B is a bijection f is total for all a and a’ in A, a!=a’ implies f(a)!=f(a’) for all b in B, there is a in A with f(a)=b

Big O Notation Given two total function f,g:N->N, we write f(n)=O(g(n)), if there are positive integers c and d such that, for all n≥ d, f(n) ≤cg(n); we write f(n)=Ω (g(n)), if there are positive integers c and d such that, for all n≥ d, cf(n) ≥ g(n). If f(n)=O(g(n)) and f(n)=Ω (g(n)), then we write f(n)=θ(g(n)). Whenever f(n)=O(g(n)), then g(n) is an upper bound for f(n) and whenever f(n)=Ω (g(n)), g(n) is a lower bound for f(n). The big-O notation compares the rate of growth of functions rather than their values, so when f(n)=θ (g(n)), f(n) and g(n) have the same rates of growth, but can be very different in their values. f(n)=Ω (g(n)) <=> g(n)=O(f(n))

Example f(n) = 2n2 + 3n g(n) = n3 h(n) = 10 n2 + 100 f(n) = O(g(n)) g(n) = Ω(h(n)) f(n) = Θ(h(n))

RELATIONS An n-ary relation R, n≥1, with respect to sets A_1,A_2,…,A_n is any subset R of A_1 X A_2 X … X A_n. Given two sets, A and B, a relation R is any subset of A  B. In other words, R  A  B R = {(x1, y1), (x2, y2), (x3, y3), …} xi R yi e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1

Equivalence Relations Reflexive: x R x Symmetric: x R y y R x Transitive: x R y and y R z x R z Example: R = ‘=‘ x = x x = y y = x x = y and y = z x = z

Equivalence Classes For an equivalence relation R, we define equivalence class of x [x]R = {y : x R y} Example: R = { (1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3) } Equivalence class of [1]R = {1, 2} Equivalence class of [3]R = {3, 4}

“String length” can be used to partition the set of all bit strings. Set of Natural numbers is partitioned by “mod 5” relation into five “equivalence classes”: { {0,5,10,…}, {1,6,11,…}, {2,7,12,…}, {3,8,13,…}, {4,9,14,…} } “String length” can be used to partition the set of all bit strings. { {},{0,1},{00,01,10,11},{000,…,111},… }

Let R be an equivalence relation over A Let R be an equivalence relation over A. Then for all a,b in A, either [a]R=[b]R or [a]R [b]R= A binary relation R over A is a partial order if it is reflexive, transitive, and antisymmetric. A binary relation R over A is a total order if it is a partial order and for all a,b in A, either aRb or bRa. A total order is often called a linear order because the elements of A can be laid out on a straight line such that a is to the left of b if and only if aRb. U

GRAPHS A directed graph G=〈V, E〉 e b d a c Nodes (Vertices) edge c Nodes (Vertices) V = { a, b, c, d, e } Edges E = { (a,b), (b,c), (b,e),(c,a), (c,e), (d,c), (e,b), (e,d) }

Labeled Graph 2 6 e 2 b 1 3 d a 6 5 c

Walk e b d a c Walk is a sequence of adjacent edges (e, d), (d, c), (c, a)

Path e b d a c A path is a walk where no edge is repeated Not simple e d c e b c a A path is a walk where no edge is repeated A simple path is a path where no node is repeated

Cycle e base b 3 1 d a 2 c Not simple b c e b c a b A cycle is a walk from a node (base) to itself A simple cycle: only the base node is repeated

Given a digraph G=(V,E) and nodes u and v, we say v is reachable from u, or u-reachable, if there is a path from u to v. Algorithm Reachability. On entry: A digraph G=(V,E) and a node u in V. On exit: The set R of all u-reachable nodes in G. begin R:={u}; N:={u}; repeat T:= ; for all v in N do T:=T U {w: (v,w is in E}; N:=T-R; //The new u-reachable nodes} R:=R U N until N= ; end

Trees root parent leaf child A tree is a directed graph that has no cycle.

root Level 0 Level 1 Height 3 leaf Level 2 Level 3

PROOF TECHNIQUES Proof by induction Proof by contradiction

Induction We have statements P1, P2, P3, … If we know for some b that P1, P2, …, Pb are true for any k >= b that P1, P2, …, Pk imply Pk+1 Then Every Pi is true, that is, ∀i P(i)

Proof by Contradiction We want to prove that a statement P is true we assume that P is false then we arrive at an incorrect conclusion therefore, statement P must be true

Example Theorem: is not rational Proof: Assume by contradiction that it is rational = n/m n and m have no common factors We will show that this is impossible

= n/m 2 m2 = n2 n is even n = 2 k Therefore, n2 is even m is even m = 2 p 2 m2 = 4k2 m2 = 2k2 Thus, m and n have common factor 2 Contradiction!

Pigeon Hole Principle: If n+1 objects are put into n boxes, then at least one box must contain 2 or more objects.

Ex: Can show if 5 points are placed inside a square whose sides are 2 cm long  at least one pair of points are at a distance ≤ 2 cm. According to the PHP, if we divide the square into 4, at least two of the points must be in one of these 4 squares. But the length of the diagonals of these squares is 2.  the two points cannot be further apart than 2 cm.

Languages

Examples: “cat”, “dog”, “house”, … A language is a set of strings String: A sequence of letters/symbols Examples: “cat”, “dog”, “house”, … Symbols are defined over an alphabet:

Alphabets and Strings We will use small alphabets: Strings

String Operations Concatenation

Reverse

String Length Length: The length of a string x is the number of symbols contained in the string x, denoted by |x|. Examples:

Length of Concatenation Example:

The Empty String A string with no letters: λ,(ε) Observations:

a subsequence of consecutive characters Substring Substring of string: a subsequence of consecutive characters s is a substring of x if there exist strings y and z such that x = ysz. String Substring

Prefix and Suffix (x=ysz) when x = sz (y=ε), s is called a prefix of x; when x = ys (z=ε), s is called a suffix of x. Prefixes Suffixes prefix suffix

Another Operation Example: Definition:

Solve equation 011x=x011 If x=λ, then ok. If |x|=1, then no solution. If |x|>3, then x=011y. Hence, 011x=011y011. So, x=y011. Hence, 011y=y011. x=(011) for k > 0 k

The * Operation : the set of all possible strings from alphabet

The + Operation : the set of all possible strings from alphabet except

Languages A language is a set of strings,is any subset of Example:

Note that: Sets Set size Set size String length

Another Example An infinite language

Operations on Languages The usual set operations Complement:

Reverse Definition: Examples:

Concatenation Definition: Example:

Another Operation Definition: Special case:

More Examples

Star-Closure (Kleene *) Definition: Example:

Positive Closure Definition: