Download Languages - Computer Science at RPI

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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:
Fall 2006
  a, b, c,, z
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:
Fall 2006
  {0,1,2,,9}
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
Example Strings
a
ab
abba
aaabbbaabab
Fall 2006
Costas Busch - RPI
u  ab
v  bbbaaa
w  abba
4
Decimal numbers alphabet
102345
567463386
Binary numbers alphabet
100010001
Fall 2006
  {0,1,2,,9}
  {0,1}
101101111
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
bbbaaa
v  b1b2 bm
Concatenation
wv  a1a2 anb1b2 bm
Fall 2006
Costas Busch - RPI
abbabbbaaa
7
w  a1a2  an
ababaaabbb
Reverse
w  an  a2 a1
R
Fall 2006
bbbaaababa
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
Fall 2006
Substring
abbab
ab
abbab
abbab
abbab
abba
b
bbab
Costas Busch - RPI
12
Prefix and Suffix
abbab
Prefixes

a
ab
abb
abba
abbab
Fall 2006
Suffixes
abbab
bbab
bab
ab
b
w  uv
prefix
suffix

Costas Busch - RPI
13
Another Operation
w  ww

w




n
n
Example:
Definition:
abba  abbaabba
2
w 
0
abba   
0
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:

a, aa, aab
Language:
{ , abba, baba, aa, ab, aaaaaa}
Language:
Fall 2006
Costas Busch - RPI
17
More Language Examples
Alphabet
  {a , b }
An infinite language
L  {a b : n  0}
n n

ab
aabb
aaaaabbbbb
Fall 2006
L
Costas Busch - RPI
abb  L
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:
ADDITION  {x  y  z : x  1 , y  1 , z  1 ,
n
m
k
nm k}
11  111  11111  ADDITION
111  111  111  ADDITION
Fall 2006
Costas Busch - RPI
21
Squares
Alphabet:
  {1, # }
Language:
SQUARES  {x # y : x  1 , y  1 , m  n }
n
m
2
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
Definition:
Examples:
L  {w : w  L}
R
R
ab, aab, baba  ba, baa, abab
R
L  {a b : n  0}
n n
L  {b a : n  0}
R
Fall 2006
n n
Costas Busch - RPI
25
Concatenation
Definition:
Example:
L1L2  xy : x  L1, y  L2 
a, ab, bab, aa
 ab, aaa, abb, abaa, bab, baaa
Fall 2006
Costas Busch - RPI
26
Another Operation
Definition:
L 
LL

L
n
n
a, b  a, ba, ba, b 
aaa, aab, aba, abb, baa, bab, bba, bbb
3
0
Special case: L  
a , bba , aaa 0  
Fall 2006
Costas Busch - RPI
27
L  {a b : n  0}
n n
L  {a b a b : n, m  0}
2
n n m m
2
aabbaaabbb L
Fall 2006
Costas Busch - RPI
28
Star-Closure (Kleene *)
All strings that can be constructed from
Definition:
L
L*  L  L  L 
0
1
2
Example:
 ,

a, bb,



a, bb*  

aa
,
abb
,
bba
,
bbbb
,


aaa, aabb, abba, abbbb,
Fall 2006
Costas Busch - RPI
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,


Fall 2006
Costas Busch - RPI
30
Related documents