costas busch - lsu1 languages. costas busch - lsu2 language: a set of strings string: a sequence of...

32
Costas Busch - LSU 1 Languages

Upload: annabel-douglas

Post on 05-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 1

Languages

Page 2: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 2

Language: a set of strings

String: a sequence of symbols

from some alphabet

Example: Strings: cat, dog, house Language: {cat, dog, house}

zcba ,,,, Alphabet:

Page 3: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 3

Languages are used to describe computation problems:

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

},6,4,2,0{ EVEN

}9,,2,1,0{ Alphabet:

Page 4: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 4

Computation is translated to set membership

Is number prime?x

}?,17,13,11,7,5,3,2{ PRIMESx

Example computation problem:

Equivalent set membership problem:

Page 5: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 5

Alphabets and Strings

abbaw

bbbaaav

abu

ba,

baaabbbaaba

abba

ab

a

Example Strings

Example Alphabet:

An alphabet is a set of symbols

A string is a sequence of symbols from the alphabet

String variables

Page 6: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 6

}9,,2,1,0{ Decimal numbers alphabet

102345 567463386

}1,0{Binary numbers alphabet

100010001 101101111

Page 7: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 7

}1{Unary numbers alphabet

1Unary number:

Decimal number:1

11

2

111

3

1111

4

11111

5

Page 8: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 8

String Operations

m

n

bbbv

aaaw

21

21

bbbaaa

abba

mn bbbaaawv 2121

Concatenation

abbabbbaaa

Page 9: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 9

12aaaw nR

naaaw 21 ababaaabbb

Reverse

bbbaaababa

Page 10: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 10

String Length

Length:

Examples:

naaaw 21

nw

1

2

4

a

aa

abba

Page 11: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 11

Length of Concatenation

Example:

vuuv

853

8

5,

3,

vuuv

aababaabuv

vabaabv

uaabu

Page 12: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 12

A string with no letters is denoted:

Acts as a neutral elementObservations:

Empty String

or

abbabaababbaabba

www

0

Page 13: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 13

SubstringSubstring of string:

a subsequence of consecutive characters

String Substring

bbab

b

abba

ab

abbab

abbab

abbab

abbab

Page 14: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 14

Prefix and Suffix

Prefixes Suffixesabbab

abbab

abba

abb

ab

a

b

ab

bab

bbab

abbab uvw

prefix

suffix

string

Page 15: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 15

Exponent Operation

Example:

Definition:

n

n wwww

abbaabbaabba 2

0w

0abba

Page 16: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 16

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

*

,,,,,,,,,

,* aabaaabbbaabaaba

ba

Page 17: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 17

The + Operation

: the set of all possible strings from alphabet except

,,,,,,,,,

,* aabaaabbbaabaaba

ba

*

,,,,,,,, aabaaabbbaabaaba

Page 18: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 18

LanguagesA language over alphabet is any subset of *

,,,,,,,,

,* aaabbbaabaaba

ba

},,,,,{

,,

{}

aaaaaaabaababaabba

aabaaa

Languages:

Example:

Page 19: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 19

More Language Examples

An infinite language }0:{ nbaL nn

aaaaabbbbb

aabb

ab

LLabb

},{ baAlphabet

Lbbabb

Page 20: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 20

prime} is and :{ * xxxPRIMES

}9,,2,1,0{

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

Prime numbers

Alphabet

Language:

Numbers divisible by 1 and itself

Page 21: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 21

even} is and :{ * xxxEVEN

}9,,2,1,0{

Even and odd numbers

Alphabet

odd} is and :{ * xxxODD

},6,4,2,0{ EVEN

},7,5,3,1{ ODD

Languages:

Page 22: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 22

Addition (of unary numbers)

},,1{

}1,1,n

,1z,1y,1 x:{ mn

mnkm

zyxADDITION k

ADDITION 1111111111

ADDITION 111111111

Alphabet:

Language:

}111111111111111111111111{ ...,,,,ADDITION

Page 23: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 23

Squares (of unary numbers)

}#,1{

}11{ 2nm,,y: xx#ySQUARES mn

SQUARES# 111111

SQUARES# 1111111

Alphabet:

Language:

}11111111111111111111{ , ...#,#,#SQUARES

Page 24: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 24

5|},,,,{|

3|,,|

1||

0|{}|

babaabbabbaa

abaaa

Two special languages

Size of a language (number of elements):

or }{ }{Empty language

Language with empty string

Page 25: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 25

Note that:

}{}{

0}{

1}{

0

Sets

Set size

Set size

String length

Page 26: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 26

Operations on LanguagesThe usual set operations:

difference ,,,,

onintersecti }{,,,

union },,,{,,,

aaaaaabbbaaaaaba

ababbbaaaaaba

aaaabbabaabbbaaaaaba

LL *

,,,,,,, aaabbabaabbaa

Complement:

Page 27: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 27

Reverse

Definition:

Examples:

}:{ LwwL RR

ababbaabababaaabab R ,,,,

}0:{

}0:{

nabL

nbaL

nnR

nn

Page 28: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 28

Concatenation

Definition:

Example:

2121 ,: LyLxxyLL

baaabababaaabbaaaab

aabbaaba

,,,,,

,,,

Page 29: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 29

Another OperationDefinition:

Special case:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa

,,,,,,,

,,,, 3

0

0

,, aaabbaa

L

Page 30: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 30

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

Example

Page 31: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 31

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

Definition:

Example:

210* LLLL

,,,,

,,,,

,,

,

*,

abbbbabbaaabbaaa

bbbbbbaabbaa

bbabba

L

0L1L2L3L

Page 32: Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,

Costas Busch - LSU 32

Positive Closure

Definition: 321 LLLL

,,,,

,,,,

,,

,

abbbbabbaaabbaaa

bbbbbbaabbaa

bba

bba

1L2L3L

Note that: LLL 0*