CSC312 Automata Theory Lecture # 2 Languages. Courtesy Costas Busch - RPI2 Alphabets: An alphabet is...

Post on 12-Jan-2016

235 views 3 download

Transcript of CSC312 Automata Theory Lecture # 2 Languages. Courtesy Costas Busch - RPI2 Alphabets: An alphabet is...

CSC312Automata Theory

Lecture # 2

Languages

Courtesy Costas Busch - RPI 2

Alphabets: An alphabet is a finite set of symbols, usually letters, digits, and punctuations.

Valid/In-valid alphabets: An alphabet may contain letters consisting of group of symbols for example Σ= {a, ba, bab, d}.

Remarks: While defining an alphabet of letters consisting of more than one symbols, no letter should be started with the letter of the same alphabet i.e. one letter should not be the prefix of another. However, a letter may be ended in a letter of same alphabet.

Valid alphabet :Invalid alphabet :

, ,a ba c

Alphabets and Strings

, ,a ab c

Courtesy Costas Busch - RPI 3

String or word: A finite sequence of letters/alphabets

Examples: “cat”, “dog”, “house”, “read” …

Defined over an alphabet: zcba ,,,,

Alphabets and Strings

Courtesy Costas Busch - RPI 4

Alphabets and Strings

We will use small alphabets:

Strings

abbaw

bbbaaav

abu

ba,

baaabbbaaba

baba

abba

ab

a

Courtesy Costas Busch - RPI 5

String Operations

m

n

bbbv

aaaw

21

21

bbbaaa

abba

mn bbbaaawv 2121

Concatenation

abbabbbaaa

Let we have following strings

Reverse

12aaaw nR abba

aaabbb

Courtesy Costas Busch - RPI 6

String Length

Length:

Examples:

naaaw 21

nw

1

2

4

a

aa

abba

Courtesy Costas Busch - RPI 7

Length of Concatenation

Example:

vuuv

853

8

5,

3,

vuuv

aababaabuv

vabaabv

uaabu

Courtesy Costas Busch - RPI 8

Empty String

A string with no letters: Observations:

Note-1: A language that does not contain any word at all is denoted by or { }. This language doesn’t contain any word not even the NULL string. i.e. { } ≠ {}

or or 0

w w w

abba abba abba

Courtesy Costas Busch - RPI 9

Empty String

Note-2: Suppose a language L doesn’t contain NULL then

L = L + but L ≠ L + {}.

Important : NULL is identity element with respect to concatenation.

Courtesy Costas Busch - RPI 10

SubstringSubstring of string:

a subsequence of consecutive characters

String Substring

bbab

b

abba

ab

abbab

abbab

abbab

abbab

Courtesy Costas Busch - RPI 11

Prefix and Suffix Let the string is Prefixes Suffixes

abbab

abbab

abba

abb

ab

a

b

ab

bab

bbab

abbab uvw

prefix

suffix

Courtesy Costas Busch - RPI 12

Another Operation

- w repeated n time; that is,

Example:

Definition:

n

n wwww

abbaabbaabba 2

0w

0abba

nw

Courtesy Costas Busch - RPI 13

The * Operation

: the set of all possible strings from alphabet , called closure of alphabets also

known as Kleene star operator or Kleene star closure.

i.e. infinitely many words each of finite length.

*

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

14

The + Operation

: the set of all possible strings from alphabet except , also known as

Kleene plus operator.

Note : are infinite

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

* ,,,,,,,, aabaaabbbaabaaba

* and

Courtesy Costas Busch - RPI 15

LanguagesA language is a set of strings ORA language is any subset of , usually

denoted by L. It may be finite or infinite. Example:

Languages:

If a string w is in L, we say that w is a sentence of L.

*

,,,,,,,,*

,

aaabbbaabaaba

ba

},,,,,{

,,

aaaaaaabaababaabba

aabaaa

Courtesy Costas Busch - RPI 16

Note that:

}{}{

0}{

1}{

0

Sets

Set size

Set size

String length

Courtesy Costas Busch - RPI 17

Another Example

An infinite language }0:{ nbaL nn

aaaaabbbbb

aabb

ab

L Labb

Courtesy Costas Busch - RPI 18

Operations on LanguagesThe usual set operations

Complement:

aaaaaabbbaaaaaba

ababbbaaaaaba

aaaabbabaabbbaaaaaba

,,,,

}{,,,

},,,{,,,

LL *

,,,,,,, aaabbabaabbaa

Courtesy Costas Busch - RPI 19

ReverseDefinition:

Examples:

ConcatenationDefinition:

Examples:

}:{ LwwL RR ababbaabababaaabab R ,,,,

{ : 0}

{ : 0}

n n

R n n

L a b n

L b a n

2121 ,: LyLxxyLL

, , ,

, , , , ,

a ab ba b aa

ab aaa abb abaa bab baaa

Courtesy Costas Busch - RPI 20

Another OperationDefinition:

L concatenated with itself n times.

Special case:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa

,,,,,,,

,,,, 3

0

0, ,

L

a bba aaa

Courtesy Costas Busch - RPI 21

More Examples

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

Courtesy Costas Busch - RPI 22

Star-Closure (Kleene *)

Definition:

Example:

210* LLLL

,,,,

,,,,

,,

,

*,

abbbbabbaaabbaaa

bbbbbbaabbaa

bbabba

Courtesy Costas Busch - RPI 23

Positive Closure

Definition:

Note: L+ includes if and only if L includes

*

21

L

LLL

,,,,

,,,,

,,

,

abbbbabbaaabbaaa

bbbbbbaabbaa

bba

bba

Courtesy Costas Busch - RPI 24

Lexicographical OrderAssume that the symbols in are themselves ordered. Definition: A set of strings is in lexicographical order if -The strings are grouped first according to their length. -Then, within each group, the strings are ordered “alphabetically” according to the ordering of the symbols.

Ex: Let the alphabet beThe set of all strings in Lexicographical order is, a, b, aa, ab, ba, bb, aaa, …., bbb, aaaa, …, bbbb, ….

Courtesy Costas Busch - RPI 25

Lexicographical Order

{ , }a b