Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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 abba 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
nm 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, bab, aa
ab, aaa, abb, abaa, bab, baaa
Fall 2006
Costas Busch - RPI
26
Another Operation
Definition:
L
LL
L
n
n
a, b a, ba, ba, 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