Lecture 2 Theory of A UTOMATA

15
LECTURE 2 THEORY OF AUTOMATA

description

Lecture 2 Theory of A UTOMATA. Definition: Palindrome. Let us define a new language called Palindrome over the alphabet ∑ = { a, b } PALINDROME = { Λ , and all strings x such that reverse(x) = x } If we want to list the elements in PALINDROME, we find - PowerPoint PPT Presentation

Transcript of Lecture 2 Theory of A UTOMATA

Page 1: Lecture 2 Theory of A UTOMATA

LECTURE 2THEORY OF AUTOMATA

Page 2: Lecture 2 Theory of A UTOMATA

DEFINITION: PALINDROME

Let us define a new language called Palindrome over the alphabet

∑ = { a, b }PALINDROME = { Λ, and all strings x such

that reverse(x) = x } If we want to list the elements in

PALINDROME, we findPALINDROME = { Λ, a, b, aa, bb, aaa, aba,

bab, bbb, aaaa, abba, … }

Page 3: Lecture 2 Theory of A UTOMATA

DEFINITION: PALINDROME

Sometimes two words in PALINDROME when concatenated will produce a word in PALINDROME abba concatenated with abbaabba gives

abbaabbaabba (in PALINDROME)

But more often, the concatenation is not a word in PALINDROME

aa concatenated with aba gives aaaba (NOT in PALINDROME)

Page 4: Lecture 2 Theory of A UTOMATA

KLEENE CLOSURE Given an alphabet ∑, we define a language in

which any string of letters from ∑ is a word, even the null string Λ. We call this language the closure of the alphabet ∑, and denote this language by ∑*.

Examples:If ∑ = { x } then ∑* = { Λ, x, xx, xxx, … } If ∑ = { 0, 1 } then ∑* = { Λ, 0, 1, 00, 01, 10, 11, 000, 001, … } If ∑ = { a, b, c } then ∑* = { Λ, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, … }

Page 5: Lecture 2 Theory of A UTOMATA

LEXICOGRAPHIC ORDER

Notice that we listed the words in a language in size order (i.e., words of shortest length first), and then listed all the words of the same length alphabetically.

This ordering is called lexicographic order, which we will usually follow.

Page 6: Lecture 2 Theory of A UTOMATA

KLEENE CLOSURE

Definition: If S is a set of words, then S* is the set of all finite strings formed by concatenating words from S, where any word may be used as often as we like, and where the null string Λ is also included.

Page 7: Lecture 2 Theory of A UTOMATA

KLEENE CLOSURE

Example: If S = { aa, b } thenS* = { Λ plus any word composed of factors of aa and b }, orS* = { Λ plus any strings of a’s and b’s in which the a’s occur in even clumps }, orS* = { Λ, b, aa, bb, aab, baa, bbb, aaaa, aabb, baab, bbaa, bbbb, aaaab, aabaa, aabbb, baaaa, baabb, bbaab, bbbaa, bbbbb, … }Note that the string aabaaab is not in S* because it has a clump of a’s of length 3.

Page 8: Lecture 2 Theory of A UTOMATA

KLEENE CLOSURE

Example: Let S = { a, ab }. ThenS* = { Λ plus any word composed of factors of a and ab }, or

S* = { Λ plus all strings of a’s and b’s except those that start with b and those that contain a double b }, orS* = { Λ, a, aa, ab, aaa, aab, aba, aaaa, aaab, abaa, abab, aaaaa, aaaab, aaaba, aabaa, aabab, abaaa, abaab, ababa, … }

Note that for each word in S*, every b must have an a immediately to its left, so the double b, that is bb, is not possible; neither any string starting with b.

Page 9: Lecture 2 Theory of A UTOMATA

POSITIVE CLOSURE If we wish to modify the concept of closure to refer

only the concatenation of some (not zero) strings from a set S, we use the notation + instead of *.

This “plus operation” is called positive closure. Example: if ∑ = { x } then ∑+ = { x, xx, xxx, … } Observe that:

1. If S is a language that does not contain Λ, then S+ is the language S* without the null word Λ.

2. If S is a language that does contain Λ, then S+ = S*

3. Likewise, if ∑ is an alphabet, then ∑+ is ∑* without the word Λ.

Page 10: Lecture 2 Theory of A UTOMATA

REGULAR EXPRESSION The symbols that appear in the regular

expressions are the letters of the alphabet Σ, the symbol for the null string Λ, parenthesis, the star operator * , and the plus sign.

Page 11: Lecture 2 Theory of A UTOMATA

REGULAR EXPRESSION The set of regular expressions is defined by

the following rules: Rule 1: Every letter of Σ can be made in to a regular

expression by writing it in bold-face; Λ itself is a regular expression.

Rule 2: Assume r and s are regular expressions, then (i) (r), (ii) rs, (iii) r + s, (iv) r*

Page 12: Lecture 2 Theory of A UTOMATA

REGULAR EXPRESSION

Rule 3: Nothing else is a regular expression. Examples: L = language (ab*) L = language (ab)* L = language (ab*a) L = language a*b* L = language (a+c)b* over the

alphabet Σ {a,b,c}

Page 13: Lecture 2 Theory of A UTOMATA

GRAPHS Set of points with the lines connecting some of the

points (also called simple graph). The points are called nodes or vertices and the

lines are called edges.

Numbers of edges at a particular node is the degree of that node.

G = (V, E)

Page 14: Lecture 2 Theory of A UTOMATA

GRAPHS CONTINUE…..Path: in a graph is a sequence of nodes

connected by edges.Simple Path: is a path that does not

repeat nodes.Connected Graph: if every two nodes

have a path between them.Cycle: A path is a cycle if it starts and ends

with same node.

Page 15: Lecture 2 Theory of A UTOMATA

GRAPHS CONTINUE….Tree: if it is connected and has no simple

cyclesDirected Graph: If it has arrows instead

of linesStrongly Connected: if a directed path

connects every two nodes.