1 linguagens. 2 uma linguagem é um cojunto de strings string: uma sequência de letras exemplos:...

78
1 Linguagens

Upload: internet

Post on 21-Apr-2015

121 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

1

Linguagens

Page 2: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

2

Uma linguagem é um cojunto de strings

String: Uma sequência de letras

Exemplos: “cat”, “dog”, “house”, …

Definida sobre um alfabeto:

Linguagens

zcba ,,,,

Page 3: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

3

Alfabeto e StringsVamos usar alfabetos pequenos:

Strings

abbaw

bbbaaav

abu

ba,

baaabbbaaba

baba

abba

ab

a

Page 4: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

4

Operações sobre Strings

m

n

bbbv

aaaw

21

21

bbbaaa

abba

mn bbbaaawv 2121

Concatenação

abbabbbaaa

Page 5: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

5

12aaaw nR

naaaw 21 ababaaabbb

Reverso

bbbaaababa

Page 6: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

6

Comprimento de um String

Comprimento:

Exemplos:

naaaw 21

nw

1

2

4

a

aa

abba

Page 7: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

7

Definição Recursiva de ComprimentoPara o string vazio:

Para qualquer string :

Exemplo:

1wwawa

4

1111

111

11

1

a

ab

abbabba

Page 8: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

8

Comprimento de Concatenação

Exemplo:

vuuv

853

8

5,

3,

vuuv

aababaabuv

vabaabv

uaabu

Page 9: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

9

Prova de Comprimento de Concatenação

firmação:

Prova: Indução sobre a definição de lentgh

Base da Indução:

Da definição de length:

vuuv

v

1v

vuuuv 1

Page 10: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

10

Hipótese de Indução:

for

Passo Indutivo: vamos provar

para

vuuv

nv ,,2,1

1nv

vuuv

Page 11: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

11

Passo InductivoSeja , onde

Da definição de length:

Da hipótese de indução:

Portanto:

wav 1, anw

1

1

wwa

uwuwauv

wuuw

vuwauwuuv 1

Page 12: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

12

String vazioString sem nenhuma letra:

Observações:

abbaabbaabba

www

0

Page 13: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

13

SubstringSubstring de um string:

subsequência de caracteres consecutivos

String Substring

bbab

b

abba

ab

abbab

abbab

abbab

abbab

Page 14: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

14

Prefixo e Sufixo

Prefixos Sufixosabbab

abbab

abba

abb

ab

a

b

ab

bab

bbab

abbab uvw

prefixo

sufixo

Page 15: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

15

Outra Operação

Exemplo:

Definição:

n

n wwww

abbaabbaabba 2

0w

0abba

Page 16: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

16

A Operação * : o conjunto de todos os possíveis

strings do alfabeto

*

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

Page 17: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

17

A Operação + : o conjunto de todos os possíveis strings do alfabeto exceto

,,,,,,,,,*

,

aabaaabbbaabaaba

ba

*

,,,,,,,, aabaaabbbaabaaba

Page 18: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

18

LinguagemUma linguagem é qualquer subconjunto

de

Exemplo:

Linguagens:

*

,,,,,,,,*

,

aaabbbaabaaba

ba

},,,,,{

,,

aaaaaaabaababaabba

aabaaa

Page 19: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

19

Outro Exemplo

Uma linguagem infinita }0:{ nbaL nn

aaaaabbbbb

aabb

ab

L Labb

Page 20: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

20

Operações sobre LinguagensOperações usuais sobre conjuntos

Complemento:

aaaaaabbbaaaaaba

ababbbaaaaaba

aaaabbabaabbbaaaaaba

,,,,

}{,,,

},,,{,,,

LL *

,,,,,,, aaabbabaabbaa

Page 21: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

21

Reverso

Definição:

Exemplos:

}:{ LwwL RR

ababbaabababaaabab R ,,,,

}0:{

}0:{

nabL

nbaL

nnR

nn

Page 22: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

22

Concatenação

Definição:

Exemplo:

2121 ,: LyLxxyLL

baaabababaaabbaaaab

aabbaaba

,,,,,

,,,

Page 23: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

23

Outra OperaçãoDefinição:

Caso epecial:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa

,,,,,,,

,,,, 3

0

0

,, aaabbaa

L

Page 24: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

24

Mais Exemplos

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

Page 25: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

25

Fecho de Kleene *

Definição:

Exemplo:

210* LLLL

,,,,

,,,,

,,

,

*,

abbbbabbaaabbaaa

bbbbbbaabbaa

bbabba

Page 26: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

26

Fecho Positivo

Definição:

*

21

L

LLL

,,,,

,,,,

,,

,

abbbbabbaaabbaaa

bbbbbbaabbaa

bba

bba

Page 27: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

27

Autômato Finito

Page 28: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

28

Autômato Finito

Entrada

String

Saída

String

AutômatoFinito

Page 29: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

29

Aceitador Finito

Entrada

“Aceita” ou“Rejeita”

String

AutômatoFinito

Saída

Page 30: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

30

Grafo deTransição

estadoinicial

estado final “aceita”estado

transição

Autômato Finito para abba

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

Page 31: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

31

Configuração Inicial

1q 2q 3q 4qa b b a

5q

a a bb

ba,

String de Entradaa b b a

ba,

0q

Page 32: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

32

Lendo a Entrada

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 33: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

33

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 34: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

34

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 35: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

35

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 36: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

36

0q 1q 2q 3q 4qa b b a

Saída: “aceita”

5q

a a bb

ba,

a b b a

ba,

Page 37: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

37

Rejeição

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

0q

Page 38: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

38

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 39: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

39

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 40: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

40

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 41: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

41

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

Saída:“rejeita”

a b a

ba,

Page 42: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

42

Outro Exemplo

a

b ba,

ba,

0q 1q 2q

a ba

Page 43: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

43

a

b ba,

ba,

0q 1q 2q

a ba

Page 44: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

44

a

b ba,

ba,

0q 1q 2q

a ba

Page 45: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

45

a

b ba,

ba,

0q 1q 2q

a ba

Page 46: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

46

a

b ba,

ba,

0q 1q 2q

a ba

Saída: “aceita”

Page 47: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

47

Rejeição

a

b ba,

ba,

0q 1q 2q

ab b

Page 48: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

48

a

b ba,

ba,

0q 1q 2q

ab b

Page 49: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

49

a

b ba,

ba,

0q 1q 2q

ab b

Page 50: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

50

a

b ba,

ba,

0q 1q 2q

ab b

Page 51: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

51

a

b ba,

ba,

0q 1q 2q

ab b

Saída: “rejeita”

Page 52: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

52

FormalizaçãoAutômato Finito Determinista (DFA)

FqQM ,,,, 0

Q

0q

F

: conjunto de estados

: alfabeto de entrada

: função de transição

: estado inicial

: conjunto de estados finais

Page 53: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

53

Alfabeto de Entrada

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

ba,

Page 54: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

54

Conjunto de Estados

Q

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

543210 ,,,,, qqqqqqQ

ba,

Page 55: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

55

Estado Inicial

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 56: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

56

Conjunto de Estados Finais

F

0q 1q 2q 3qa b b a

5q

a a bb

ba,

4qF

ba,

4q

Page 57: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

57

Função de Transição

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

QQ :

ba,

Page 58: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

58

10 , qaq

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

Page 59: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

59

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 60: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

60

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

32 , qbq

Page 61: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

61

Função deTransição

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b

0q

1q

2q

3q

4q

5q

1q 5q

5q 2q

2q 3q

4q 5q

ba,5q5q5q5q

Page 62: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

62

Função deTransição Extendida

*

QQ *:*

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

Page 63: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

63

20 ,* qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Page 64: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

64

40 ,* qabbaq

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

Page 65: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

65

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 66: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

66

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Observação: Existe um caminho de para com rótulo

0qabbbaa

Page 67: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

67

Definição Recursiva

)),,(*(,*

,*

awqwaq

qq

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

Page 68: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

68

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

2

1

0

0

0

0

,

,,

,,,*

),,(*

,*

q

bq

baq

baq

baq

abq

Page 69: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

69

Linguagens Aceitas por DFAsSeja um DFA

Definição:A linguagem contém todos os strings aceitos por

= {strings que levam a um estado final }

M

MLM

M ML

Page 70: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

70

Exemplo

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

abbaML M

aceita

Page 71: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

71

Outro Exemplo

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

abbaabML ,, M

aceitaaceitaaceita

Page 72: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

72

Formalmente

Dado um DFA

Linguagem aceita por :

FqQM ,,,, 0

M

FwqwML ,*:* 0

alfabeto função detransição

estadoinicial

estadosfinais

Page 73: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

73

Observação Linguagem aceita por :

Linguagem rejeitada por :

FwqwML ,*:* 0

M

FwqwML ,*:* 0

M

Page 74: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

74

Mais Exemplos

a

b ba,

ba,

0q 1q 2q

}0:{ nbaML n

aceita estado de erro

Page 75: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

75

ML = { todos os substrings com prefixo }

ab

a b

ba,

0q 1q 2q

aceita

ba,3q

ab

Page 76: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

76

ML = { todos os strings que não contêm o substring }001

0 00 001

1

0

1

10

0 1,0

Page 77: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

77

Linguagens Regulares

Uma linguagem é regular se existe um DFA tal que

O conjunto de todas as linguagens regulares constitui uma classe de linguagens

LM MLL

Page 78: 1 Linguagens. 2 Uma linguagem é um cojunto de strings String: Uma sequência de letras Exemplos: “ cat ”, “ dog ”, “ house ”, … Definida sobre um alfabeto:

78

ExemploA linguagemé regular:

*,: bawawaL

a

b

ba,

a

b

ba

0q 2q 3q

4q