Você está na página 1de 32

Languages

Costas Busch - LSU

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
Costas Busch - LSU

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}
Costas Busch - LSU

Computation is translated to set membership


Example computation problem:
Is number

prime?

Equivalent set membership problem:

x PRIMES {2,3,5,7,11,13,17, }?

Costas Busch - LSU

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

ab
abba
aaabbbaabab
Costas Busch - LSU

String variables

u ab
v bbbaaa
w abba
5

Decimal numbers alphabet

102345

567463386

Binary numbers alphabet


100010001

{ 0,1,2, ,9}

{ 0,1}

101101111
Costas Busch - LSU

Unary numbers alphabet


Unary number:

11

Decimal number:

Costas Busch - LSU

{1}
111 1111
3

11111
5

String Operations

w a1a2 an

abba
bbbaaa

v b1b2 bm
Concatenation

wv a1a2 anb1b2 bm
Costas Busch - LSU

abbabbbaaa
8

w a1a2 an

ababaaabbb

Reverse
R

w an a2 a1

bbbaaababa
Costas Busch - LSU

String Length

w a1a2 an
Length:

Examples:

w n
abba 4
aa 2
a 1
Costas Busch - LSU

10

Length of Concatenation

uv u v
Example:

u aab, u 3
v abaab, v 5
uv aababaab 8
uv u v 3 5 8
Costas Busch - LSU

11

Empty String
A string with no letters is denoted:

or

Acts as a neutral element


Observations: 0

w w w
abba abba abba abba
Costas Busch - LSU

12

Substring
Substring of string:
a subsequence of consecutive characters
String

Substring

abbab
abbab
abbab
abbab

ab
abba
b
bbab
Costas Busch - LSU

13

Prefix and Suffix


string abbab
Prefixes
Suffixes

a
ab
abb
abba
abbab

abbab
bbab
bab
ab
b

Costas Busch - LSU

w uv
prefix
suffix

14

Exponent Operation
n

w ww

w
n

Example:

Definition:

abba abbaabba
2

abba
0

Costas Busch - LSU

15

The * Operation

* : the set of all possible strings from


alphabet
a, b
* , a, b, aa, ab, ba, bb, aaa, aab,

Costas Busch - LSU

16

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,


Costas Busch - LSU

17

Languages
A language over alphabet
is any subset of *
Example:

a, b
* , a, b, aa, ab, ba, bb, aaa,

Language:


a, aa, aab

Language:

{ , abba, baba, aa, ab, aaaaaa}

Language:

Costas Busch - LSU

18

More Language Examples


Alphabet {a , b }
An infinite language

ab
aabb
aaaaabbbbb

n n

L {a b : n 0}
bbabb L

Costas Busch - LSU

abb L

19

Prime numbers
Alphabet

{ 0,1,2, ,9}

Language:

PRIMES {x : x and x is prime}


*

PRIMES {2,3,5,7,11,13,17, }
Costas Busch - LSU

20

Even and odd numbers


Alphabet

{ 0,1,2, ,9}

Languages:

EVEN {x : x and x is even}


*

EVEN { 0,2,4,6, }
ODD {x : x and x is odd}
ODD {1,3,5,7, }
*

Costas Busch - LSU

21

Addition
Alphabet:

(of unary numbers)

{1,, }

Language:

ADDITION {x y z : x 1 , y 1 , z 1 ,
n

nm k}

11 111 11111 ADDITION


111 111 111 ADDITION
Costas Busch - LSU

22

Squares
Alphabet:

(of unary numbers)

{1, # }

Language:

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

11#1111 SQUARES
111#1111 SQUARES
Costas Busch - LSU

23

Two special languages


Language with
empty string
{ }

Empty language
{}

Size of a language (number of elements):


| {} | 0
| | 1

| a , aa , ab | 3
| { , aa , bb , abba , baba } | 5
Costas Busch - LSU

24

Note that:
Sets

{ } {}

Set size

{} 0

Set size

{} 1

String length

0
Costas Busch - LSU

25

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,


Costas Busch - LSU

26

Reverse
Definition:
Examples:

L {w : w L}

ab, aab, baba ba, baa, abab


R

n n

L {a b : n 0}
R

n n

L {b a : n 0}
Costas Busch - LSU

27

Concatenation
Definition:

Example:

L1L2 xy : x L1, y L2

a, ab, ba b, aa
ab, aaa, abb, abaa, bab, baaa
Costas Busch - LSU

28

Another Operation
Definition:

L LL L
n

a, b a, b a, b a, b
aaa, aab, aba, abb, baa, bab, bba, bbb
3

Special case: L
0

a , bba , aaa
Costas Busch - LSU

29

Example
n n

L {a b : n 0}
2

n n m m

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

aabbaaabbb L
Costas Busch - LSU

30

Star-Closure (Kleene *)
All strings that can be constructed from
Definition:

L* L L L

Example:

a, bb,

a, bb *

aa
,
abb
,
bba
,
bbbb
,

aaa, aabb, abba, abbbb,


Costas Busch - LSU

31

Positive Closure
Definition:

L L L

a, bb,


a, bb aa, abb, bba, bbbb,

aaa, aabb, abba, abbbb,

Costas Busch - LSU

32

Você também pode gostar