CSC312 Automata Theory Languages: Lecture # 2
CSC312 Automata Theory Languages: Lecture # 2
Automata Theory
Lecture # 2
Languages
Introduction to languages
Kinds of languages:
a, b, c, , z
Language: A language is a set of
strings constructed from some
alphabet e.g. Urdu, English, Java, the
set of all binary strings
4
Sentences are made up of certain
combinations of words.
Not all combinations of words lead to a valid English sentence.
Three aspects/specifications
Lexical
Defines valid words/units of a language
Syntactic
Defines rules for combining the units to
form valid sentences (computer programs
in context of machines)
Semantic
Concerned with the interpretation or
meaning of a sentence (what output to
produce in context of machines)
Affected by ambiguity the most.
Formal languages
List of words
Set of all valid words of a given language,
e.g., a language English_Words that
contains all valid words of English would
have a = {all entries of the dictionary
+ punctuation marks and blank space}
Denoted by
Is Finite or Infinite set.
Strings: A string a finite sequence of symbols
chosen from alphabet. For example
0111100 , 123045, abbbcdeg etc.
String Variable: A letter used for
denoting a string. The author uses w, x, y
and z as string variable. For example
w = 0111100 , x = 123045, z = abbbcdeg
Length of String: The number of positions
for symbols in the string. For simplicity
we can say that it is the number of
symbols in the string. For example
|w| = 7 , |x| = ? , |z| = ?
Alphabets and Strings
We will use small letters for alphabets:
a, b
Strings
a
ab u ab
abba v bbbaaa
baba w abba
aaabbbaabab
13
String Operations
Let we have following strings
w a1a2 an abba
v b1b2 bm bbbaaa
Concatenation
wv a1a2 anb1b2 bm abbabbbaaa
Reverse
R
w an a2a1 abba
aaabbb
14
String Length
w a1a2 an
Length: w n
Examples: abba 4
aa 2
a 1
15
Length of Concatenation
uv u v
Example: u aab, u 3
v abaab, v 5
uv aababaab 8
uv u v 3 5 8
16
Empty String
A string with no letters: or or
Observations: 0
w w w
abba abba abba
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. { } ≠ {}
17
Empty String
Note-2: Suppose a language L doesn’t
contain NULL then
L=L+
but L ≠ L + {}.
18
Substring
Substring of string:
a subsequence of consecutive characters
String Substring
abbab ab
abbab abba
abbab b
abbab bbab
19
Prefix and Suffix
Let the string is abbab
Prefixes Suffixes
abbab w uv
a bbab
prefix
ab bab
suffix
abb ab
abba b
abbab
20
Repeat Operation
n
w - w repeated n time; that is,
n
w ww
w
n
2
Example: abba abbaabba
0
w
0
Definition: abba
21
The * Operation
: the set of all possible strings from
* alphabet , called closure of alphabets also known as
Kleene star operator or Kleene star closure.
a , b
i.e. infinitely many words each of finite length.
* , a, b, aa, ab, ba, bb, aaa, aab,
22
The + Operation
: the set of all possible strings from
alphabet except , also known as Kleene plus operator.
a, b
*
Note :
, a , b , aa , ab , ba
are infinite
, bb, aaa , aab,
*
a, b, aa, ab, ba, bb, aaa, aab,
* and
23
Languages
A language is a set of strings OR
A language is any subset of *, usually
denoted by L. It may be finite or infinite.
Example: a, b
* , a, b, aa, ab, ba, bb, aaa,
Languages:
a, aa, aab
{ , abba, baba, aa, ab, aaaaaa}
If a string w is in L, we say that w is a
sentence of L. 24
Note that:
Sets { } {}
Set size {} 0
n n
An infinite language L {a b : n 0}
ab
L abb L
aabb
aaaaabbbbb
26
Operations on Languages
The usual set operations
29
More Examples
n n
L {a b : n 0}
2 n n m m
L {a b a b : n, m 0}
2
aabbaaabbb L
30
Star-Closure (Kleene *)
0 1 2
Definition: L* L L L
Example:
,
a, bb,
a, bb*
aa , abb, bba , bbbb,
aaa, aabb, abba, abbbb,
31
Positive Closure
1 2
Definition: L L L
L *
a, bb,
a, bb aa, abb, bba, bbbb,
aaa, aabb, abba, abbbb,
Note: L+ includes if and only if L includes
32
Lexicographical Order
Assume 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.
33
Lexicographical Order
Ex: Let the alphabet be {a, b}
The set of all strings in Lexicographical
order is
, a, b, aa, ab, ba, bb, aaa, …., bbb, aaaa, …,
bbbb, ….
34
PALINDROME
Let us define a new language called PALINDROME over the
alphabet S= {a, b}
The language consisting of Λ and the strings s
defined over Σ such that Rev(s)=s.
It is to be noted that the words of PALINDROME
are called palindromes.
Example: For Σ={a,b},
PALINDROME={Λ , a, b, aa, bb, aaa, aba, bab,
bbb, ...}
Remark: There are as many palindromes of length
2n as there are of length 2n-1.
35
Courtesy Costas Busch - RPI 36
Courtesy Costas Busch - RPI 37
Courtesy Costas Busch - RPI 38
Courtesy Costas Busch - RPI 39
Courtesy Costas Busch - RPI 40
Courtesy Costas Busch - RPI 41
Courtesy Costas Busch - RPI 42
Courtesy Costas Busch - RPI 43
Courtesy Costas Busch - RPI 44
Courtesy Costas Busch - RPI 45
Courtesy Costas Busch - RPI 46
Courtesy Costas Busch - RPI 47
Courtesy Costas Busch - RPI 48
Courtesy Costas Busch - RPI 49
Courtesy Costas Busch - RPI 50