Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 30

Languages

1
Language: a set of strings

String: a sequence of symbols


from some alphabet

Example:
Strings: cat, dog, house
Language: {cat, dog, house}
Alphabet:    a, b, c, , z

2
Languages are used to describe
computation problems:

PRIMES  {2,3,5,7,11,13,17,}

EVEN  { 0,2,4,6, }

Alphabet:   { 0,1,2,  ,9}

3
Alphabets and Strings
An alphabet is a set of symbols
Example Alphabet:    a, b
A string is a sequence of
symbols from the alphabet
a
Example Strings u  ab
ab
v  bbbaaa
abba
w  abba
aaabbbaabab
4
Decimal numbers alphabet   { 0,1,2,  ,9}

102345 567463386

Binary numbers alphabet   { 0,1}


100010001 101101111

5
Unary numbers alphabet   {1}

Unary number: 1 11 111 1111 11111


Decimal number: 1 2 3 4 5

6
String Operations

w  a1a2  an abba
v  b1b2 bm bbbaaa

Concatenation

wv  a1a2  anb1b2 bm abbabbbaaa

7
w  a1a2  an ababaaabbb

Reverse

R
w  an a2a1 bbbaaababa

8
String Length
w  a1a2  an
Length: w n

Examples: abba  4
aa  2
a 1
9
Length of Concatenation

uv  u  v

Example: u  aab, u  3
v  abaab, v  5

uv  aababaab  8
uv  u  v  3  5  8
10
Empty String
A string with no letters is denoted:  or 

Observations:   0

w  w  w

abba  abba  abba  abba

11
Substring
Substring of string:
a subsequence of consecutive characters

String Substring
abbab ab
abbab abba
abbab b
abbab bbab
12
Prefix and Suffix
abbab
Prefixes Suffixes
 abbab w  uv
a bbab
prefix
ab bab
suffix
abb ab
abba b
abbab 
13
Another Operation
n
w  ww w
 
n

Example:  abba   abbaabba


2

0
Definition: w 

 abba   
0

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

   a, b
*    , a, b, aa, ab, ba, bb, aaa, aab,

15
The + Operation
 : the set of all possible strings from

alphabet  except 

   a, b
*    , a, b, aa, ab, ba, bb, aaa, aab,


   * 

   a, b, aa, ab, ba, bb, aaa, aab,
16
Languages
A language over alphabet 
is any subset of  *
Examples:
   a, b
*    , a, b, aa, ab, ba, bb, aaa,
Language:  
Language:  a, aa, aab
Language: { , abba, baba, aa, ab, aaaaaa}
17
More Language Examples

Alphabet   {a , b }
n n
An infinite language L  {a b : n  0}


ab abb  L
L
aabb
aaaaabbbbb
18
Prime numbers

Alphabet   { 0,1,2,  ,9}


Language:

PRIMES  {x : x   and x is prime}


*

PRIMES  {2,3,5,7,11,13,17,}

19
Even and odd numbers

Alphabet   { 0,1,2,  ,9}

EVEN  {x : x   and x is even}


*

EVEN  { 0,2,4,6, }

ODD  {x : x   and x is odd}


*

ODD  {1,3,5,7, }
20
Unary Addition

Alphabet:   {1,, }
Language:

ADDITION  {x  y  z : x  1 , y  1 , z  1 ,
n m k

nm k}

11  111  11111  ADDITION


111  111  111  ADDITION
21
Squares

Alphabet:   {1, # }
Language:

SQUARES  {x # y : x  1 , y  1 , m  n }
n m 2

11#1111  SQUARES
111#1111  SQUARES
22
Note that:

Sets   { }  {}

Set size {}    0

Set size {}  1


String length  0
23
Operations on Languages
The usual set operations

 a, ab, aaaa  bb, ab  {a, ab, bb, aaaa}


 a, ab, aaaa  bb, ab  {ab}
 a, ab, aaaa   bb, ab   a, aaaa
Complement: L   * L

 a, ba    , b, aa, ab, bb, aaa,


24
Reverse

R R
Definition: L  {w : w  L}

Examples:  ab, aab, baba   ba, baa, abab


R

n n
L  {a b : n  0}

R n n
L  {b a : n  0}
25
Concatenation

Definition: L1L2   xy : x  L1, y  L2 

Example:  a, ab, ba b, aa

  ab, aaa, abb, abaa, bab, baaa

26
Another Operation
Definition: n
L  LL L
n

 a, b   a, b a, b a, b 
3

 aaa, aab, aba, abb, baa, bab, bba, bbb


0
Special case: L   

 a , bba , aaa  0   
27
n n
L  {a b : n  0}

2 n n m m
L  {a b a b : n, m  0}

2
aabbaaabbb  L

28
Star-Closure (Kleene *)
All strings that can be constructed from L

Definition: 0 1 2
L*  L  L  L 

Example:
 , 
a, bb, 
 
 a, bb *   
 aa , abb, bba , bbbb, 
aaa, aabb, abba, abbbb,
29
Positive Closure

Definition: L  L  L 
 1 2

Same with L* but without the 

a, bb, 
  
 a, bb  aa, abb, bba, bbbb, 
aaa, aabb, abba, abbbb,
 
30

You might also like