CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University

Post on 15-Mar-2016

30 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2010. Content Languages, Alphabets and Strings Strings & String Operations Languages & Language Operations Regular Expressions Finite Automata, FA Deterministic Finite Automata, DFA. - PowerPoint PPT Presentation

Transcript

1

CD5560

FABER

Formal Languages, Automata and Models of Computation

Lecture 2

Mälardalen University2010

2

ContentLanguages, Alphabets and Strings

Strings & String OperationsLanguages & Language Operations

Regular ExpressionsFinite Automata, FADeterministic Finite Automata, DFA

3

Languages, Alphabets and

Strings

4

defined over an alphabet:

Languages

zcba ,,,,

A language is a set of strings

A String is a sequence of letters

An alphabet is a set of symbols

5

Alphabets and Strings

We will use small alphabets:

abbawbbbaaavabu

baaabbbaabababaabbaaba

Strings

ba,

6

Operations on Strings

7

String Operations

m

n

bbbvaaaw

21

21

y bbbaaax abba

mn bbbaaawv 2121

Concatenation (sammanfogning)

xy abbabbbaaa

8

12aaaw nR

naaaw 21 ababaaabbb

Reverse (reversering)

bbbaaababa

Example:Longest odd length palindrome in a natural language:

saippuakauppias (Finnish: soap sailsman)

9

String Length

naaaw 21

12

4

aaaabba

nw Length:

Examples:

10

Recursive Definition of Length

For any letter:

For any string :

Example:

1a

1wwawa

41111

11111

1

aab

abbabba

11

Length of Concatenation

vuuv

8538

vuuvaababaabuv

5,3,

vabaabvuaabuExample:

12

Proof of Concatenation Length

Claim:

Proof: By induction on the length

Induction basis: From definition of length:

vuuv

v

1v

vuuuv 1

13

Inductive hypothesis:

vuuv

nv

1nv

vuuv

Inductive step: we will prove

for

for

14

Inductive StepWrite , where

From definition of length:

From inductive hypothesis:

Thus:

wav 1, anw

11

wwauwuwauv

wuuw

vuwauwuuv 1

END OF PROOF

15

Empty String

A string with no letters: (Also denoted as )

Observations:

}{{}

0

abbaabbaabbawww

16

Substring (delsträng)Substring of a string:

a subsequence of consecutive characters

String Substring

bbabbabbaab

abbababbababbababbab

17

Prefix and Suffix

Suffixesabbab

abbababbaabbaba

babbabbbababbab uvw

prefix

suffix

Prefixes

18

Repetition

Example:

Definition:

n

n www... w

abbaabbaabba 2

0w

0abba

}

(String repeated n times)w

19

The (Kleene* star) Operation

the set of all possible strings from alphabet

*

,,,,,,,,,*

,aabaaabbbaabaaba

ba

[* Kleene is pronounced "clay-knee“]

http://en.wikipedia.org/wiki/Kleene_star

20

The + (Kleene plus) Operation

: the set of all possible strings from the alphabet except

,ba ,,,,,,,,,* aabaaabbbaabaaba

*

,,,,,,,, aabaaabbbaabaaba

21

Example

* , oj, fy, usch, ojoj, fyfy,uschusch, ojfy, ojusch

*

, fyoj , usch

oj, fy, usch, ojoj, fyfy,uschusch, ojfy, ojusch

22

Operations on Languages

23

Language

A language is any subset of

Example:

Languages:

*

,,,,,,,,*,

aaabbbaabaababa

},,,,,{,,

aaaaaaabaababaabbaaabaaa

24

Example

An infinite language }0:{ nbaL nn

Labb

aaaaabbbbbaabbab

L

25

Operations on Languages

The usual set operations

aaaaaabbbaaaaaba

ababbbaaaaabaaaaabbabaabbbaaaaaba

,,,,}{,,,

},,,{,,,

,,,,,,, aaabbabaabbaa ,,,,,,,,,* aabaaabbbaabaaba

LL *Complement:

26

Reverse

}:{ LwwL RR

ababbaabababaaabab R ,,,,

}0:{

}0:{

nabL

nbaLnnR

nn

Examples:

Definition:

27

Concatenation

Definition: 2121 ,: LyLxxyLL

baaabababaaabbaaaab

aabbaaba,,,,,

,,,

Example

28

RepeatDefinition:

Special case:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa,,,,,,,

,,,, 3

0

0

,, aaabbaa

L

29

Example

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

30

Star-Closure (Kleene *)

Definition:

Example:

210* LLLL

,,,,,,,,

,,,

*,

abbbbabbaaabbaaabbbbbbaabbaa

bbabba

31

Positive ClosureDefinition

*L 21 LLL

,,,,,,,,

,,,

abbbbabbaaabbaaabbbbbbaabbaa

bbabba

32

Regular Expressions

33

Regular Expressions: Recursive Definition

1

1

21

21

*r

rrrrr

are Regular Expressions

,,Primitive regular expressions:

2rGiven regular expressions and 1r

34

Examples

)(* ccbaA regular expression:

baNot a regular expression:

35

Zero or more. a* means "zero or more a's."

To say "zero or more ab's," that is,

{, ab, abab, ababab, ...}, you need to say (ab)*.

ab* denotes {a, ab, abb, abbb, abbbb, ...}.

cba ,,Building Regular Expressions

36

One or more. Since a* means "zero or more a's", you can use aa* (or equivalently, a*a) to mean "one or more a's.“

Similarly, to describe "one or more ab's," that is, {ab, abab, ababab, ...}, you can use ab(ab)*.

cba ,,Building Regular Expressions

37

Any string at all. To describe any string at all (with = {a, b, c}), you can use (a+b+c)*.

Any nonempty string. This can be written as any character from followed by any string at all: (a+b+c)(a+b+c)*.

cba ,,

Building Regular Expressions

38

Any string not containing.... To describe any string at all that doesn't contain an a (with = {a, b, c}), you can use (b+c)*.

Any string containing exactly one... To describe any string that contains exactly one a, put "any string not containing an a," on either side of the a, like this: (b+c)*a(b+c)*.

cba ,,Building Regular Expressions

39

Languages of Regular Expressions

,...,,,,,*)( bcaabcaabcacbaL

Example

rL rlanguage of regular expression

40

Definition

For primitive regular expressions:

aaL

L

L

41

Definition (continued)

For regular expressions and

1r 2r

2121 rLrLrrL

2121 rLrLrrL

** 11 rLrL

11 rLrL

42

Example *aba

*abaL *aLbaL

*aLbaL

*aLbLaL

*aba

,...,,,, aaaaaaba

,...,,,...,,, baababaaaaaa

Regular expression:

43

Example

Regular expression

bbabar *

,...,,,,, bbbbaabbaabbarL

44

Example

Regular expression

bbbaar **

}0,:{ 22 mnbbarL mn

45

Example

Regular expression

*)10(00*)10( r

)(rL { all strings with at least two consecutive 0 }

1,0

46

Example

Regular expression

(consists of repeating 1’s and 01’s).

)0(*)011(1 r

)(rL = { all strings without two consecutive 0 }

1,0

47

Example L = { all strings without

two consecutive 0 }

)0(*1)0(**)011*1(2 r

(In order not to get 00 in a string, after each 0 there must be an 1, which means that strings of the form 1....101....1are repeated. That is the first parenthesis. To take into account strings that end with 0, and those consisting of 1’s solely, the rest of the expression is added.)

Equivalent solution:

48

Equivalent Regular Expressions

Regular expressions and

1r 2r

)()( 21 rLrL are equivalent if

Definition:

49

Example L = { all strings without

two consecutive 0 }

)0(*1)0(**)011*1(2 r

LrLrL )()( 21 1r 2randare equivalentregular expressions.

)0(*)011(1 r

Additional Sourceshttp://www.math.uu.se/~salling/ Lennart Salling

http://www.math.uu.se/~salling/AUTOMATA_DV/index.htmlIntroduktion movie .movProgram, strings, integers and integer functions .movDifferent infinities and integer functions that can not be calculated

by a program .movStrings and languages .mov 

Regular languages and regular expressions .mov 

50

top related