Languages

You might also like

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

Languages

Fall 2006 Costas Busch - RPI 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

Fall 2006 Costas Busch - RPI 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}

Fall 2006 Costas Busch - RPI 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
Fall 2006 Costas Busch - RPI 4
Decimal numbers alphabet   { 0,1,2,  ,9}

102345 567463386

Binary numbers alphabet   { 0,1}


100010001 101101111

Fall 2006 Costas Busch - RPI 5


Unary numbers alphabet   {1}

Unary number: 1 11 111 1111 11111


Decimal number: 1 2 3 4 5

Fall 2006 Costas Busch - RPI 6


String Operations

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

Concatenation

wv  a1a2  anb1b2 bm abbabbbaaa

Fall 2006 Costas Busch - RPI 7


w  a1a2  an ababaaabbb

Reverse

R
w  an a2a1 bbbaaababa

Fall 2006 Costas Busch - RPI 8


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

Examples: abba  4
aa  2
a 1
Fall 2006 Costas Busch - RPI 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
Fall 2006 Costas Busch - RPI 10
Empty String
A string with no letters is denoted:  or 

Observations:   0

w  w  w

abba  abba  abba  abba

Fall 2006 Costas Busch - RPI 11


Substring
Substring of string:
a subsequence of consecutive characters

String Substring
abbab ab
abbab abba
abbab b
abbab bbab
Fall 2006 Costas Busch - RPI 12
Prefix and Suffix
abbab
Prefixes Suffixes
 abbab w  uv
a bbab
prefix
ab bab
suffix
abb ab
abba b
abbab 
Fall 2006 Costas Busch - RPI 13
Another Operation
n
w  ww
 
w
n
2
Example: abba   abbaabba

0
Definition: w 
0
abba   
Fall 2006 Costas Busch - RPI 14
The * Operation
 * : the set of all possible strings from
alphabet 

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

Fall 2006 Costas Busch - RPI 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,
Fall 2006 Costas Busch - RPI 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}
Fall 2006 Costas Busch - RPI 17
More Language Examples

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


ab abb  L
L
aabb
aaaaabbbbb
Fall 2006 Costas Busch - RPI 18
Prime numbers

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


Language:

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

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

Fall 2006 Costas Busch - RPI 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, }
Fall 2006 Costas Busch - RPI 20
Unary Addition

Alphabet:   {1,, }
Language:
n m k
ADDITION  {x  y  z : x  1 , y  1 , z  1 ,
nm k}

11  111  11111  ADDITION


111  111  111  ADDITION
Fall 2006 Costas Busch - RPI 21
Squares

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

11#1111  SQUARES
111#1111  SQUARES
Fall 2006 Costas Busch - RPI 22
Note that:

Sets   { }  {}

Set size {}    0

Set size {}  1


String length  0
Fall 2006 Costas Busch - RPI 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,


Fall 2006 Costas Busch - RPI 24
Reverse

R R
Definition: L  {w : w  L}
R
Examples: ab, aab, baba  ba, baa, abab
n n
L  {a b : n  0}

R n n
L  {b a : n  0}
Fall 2006 Costas Busch - RPI 25
Concatenation

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

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

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

Fall 2006 Costas Busch - RPI 26


Another Operation
Definition: n
L  LL L
n
3
a, b  a, ba, ba, b 
aaa, aab, aba, abb, baa, bab, bba, bbb
0
Special case: L  

a , bba , aaa 0  


Fall 2006 Costas Busch - RPI 27
n n
L  {a b : n  0}

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

2
aabbaaabbb  L

Fall 2006 Costas Busch - RPI 28


Star-Closure (Kleene *)
All strings that can be constructed from L
0 1 2
Definition: L*  L  L  L 

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

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

Same with L* but without the 

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

You might also like