fall 2006costas busch - rpi1 languages. fall 2006costas busch - rpi2 language: a set of strings...

30
Fall 2006 Costas Busch - RPI 1 Languages

Upload: homer-foster

Post on 22-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 1

Languages

Page 2: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 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: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 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: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 4

Alphabets and Strings

abbaw

bbbaaav

abu

ba,

baaabbbaaba

abba

ab

aExample Strings

Example Alphabet:

An alphabet is a set of symbols

A string is a sequence of symbols from the alphabet

Page 5: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 5

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

102345 567463386

}1,0{Binary numbers alphabet

100010001 101101111

Page 6: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 6

}1{Unary numbers alphabet

1Unary number:

Decimal number:1

11

2

111

3

1111

4

11111

5

Page 7: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 7

String Operations

m

n

bbbv

aaaw

21

21

bbbaaa

abba

mn bbbaaawv 2121

Concatenation

abbabbbaaa

Page 8: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 8

12aaaw nR

naaaw 21 ababaaabbb

Reverse

bbbaaababa

Page 9: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 9

String Length

Length:

Examples:

naaaw 21

nw

1

2

4

a

aa

abba

Page 10: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 10

Length of Concatenation

Example:

vuuv

853

8

5,

3,

vuuv

aababaabuv

vabaabv

uaabu

Page 11: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 11

Empty StringA string with no letters is denoted:

Observations:

or

abbabaababbaabba

www

0

Page 12: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 12

SubstringSubstring of string:

a subsequence of consecutive characters

String Substring

bbab

b

abba

ab

abbab

abbab

abbab

abbab

Page 13: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 13

Prefix and Suffix

Prefixes Suffixesabbab

abbab

abba

abb

ab

a

b

ab

bab

bbab

abbab uvw

prefix

suffix

Page 14: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 14

Another Operation

Example:

Definition:

n

n wwww

abbaabbaabba 2

0w

0abba

Page 15: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 15

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

*

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

Page 16: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 16

The + Operation : the set of all possible strings from alphabet except

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

*

,,,,,,,, aabaaabbbaabaaba

Page 17: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 17

LanguagesA language over alphabet is any subset of Examples:

*

,,,,,,,,*

,

aaabbbaabaaba

ba

},,,,,{

,,

aaaaaaabaababaabba

aabaaa

Language:

Language:

Language:

Page 18: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 18

More Language Examples

An infinite language }0:{ nbaL nn

aaaaabbbbb

aabb

ab

L Labb

},{ baAlphabet

Page 19: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 19

prime} is and :{ * xxxPRIMES

}9,,2,1,0{

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

Prime numbers

Alphabet

Language:

Page 20: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 20

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

Page 21: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 21

Unary Addition

},,1{

}n

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

km

zyxADDITION k

ADDITION 1111111111

ADDITION 111111111

Alphabet:

Language:

Page 22: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 22

Squares

}#,1{

},1y,1x :#{ 2mn nmyxSQUARES

SQUARES1111#11

SQUARES1111#111

Alphabet:

Language:

Page 23: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 23

Note that:

}{}{

0}{

1}{

0

Sets

Set size

Set size

String length

Page 24: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 24

Operations on LanguagesThe usual set operations

Complement:

aaaaaabbbaaaaaba

ababbbaaaaaba

aaaabbabaabbbaaaaaba

,,,,

}{,,,

},,,{,,,

LL *

,,,,,,, aaabbabaabbaa

Page 25: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 25

Reverse

Definition:

Examples:

}:{ LwwL RR

ababbaabababaaabab R ,,,,

}0:{

}0:{

nabL

nbaL

nnR

nn

Page 26: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 26

Concatenation

Definition:

Example:

2121 ,: LyLxxyLL

baaabababaaabbaaaab

aabbaaba

,,,,,

,,,

Page 27: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 27

Another OperationDefinition:

Special case:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa

,,,,,,,

,,,, 3

0

0

,, aaabbaa

L

Page 28: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 28

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

Page 29: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 29

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

Definition:

Example:

210* LLLL

,,,,

,,,,

,,

,

*,

abbbbabbaaabbaaa

bbbbbbaabbaa

bbabba

L

Page 30: Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:

Fall 2006 Costas Busch - RPI 30

Positive Closure

Definition: 21 LLL

,,,,

,,,,

,,

,

abbbbabbaaabbaaa

bbbbbbaabbaa

bba

bba

Same with but without the *L