linguagens formais e autômatas dfa

Upload: rodrigo-carniel-ferreira

Post on 23-Feb-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Linguagens formais e autmatas DFA

    1/56

    1

    Linguagens

  • 7/24/2019 Linguagens formais e autmatas DFA

    2/56

    2

    Um alfabeto um cojunto finito de smbolos

    String (ou palavra): sequncia de smbolosExemplos: cat, dog, house,

    Definida sobre um alfabeto:

    Linguagens

    { }zcba ,,,, K=

    cba ,,,, K=

  • 7/24/2019 Linguagens formais e autmatas DFA

    3/56

    3

    Uma linguagem um conjunto de stringssobre um determinado alfabeto

    : Conjunto de todos os strings sobre o

    alfabeto

    Linguagens

    *

    L

    L *

  • 7/24/2019 Linguagens formais e autmatas DFA

    4/56

    4

    Alfabeto e Strings

    Vamos usar alfabetos pequenos:

    Strings

    abbaw

    bbbaaavabu

    =

    =

    =

    ba,=

    baaabbbaaba

    baba

    abba

    ab

    a

  • 7/24/2019 Linguagens formais e autmatas DFA

    5/56

    5

    Operaes sobre Strings

    m

    n

    bbbv

    aaaw

    L

    L

    21

    21

    =

    =

    bbbaaa

    abba

    mn bbbaaawv LL

    2121=

    Concatenao

    abbabbbaaa

  • 7/24/2019 Linguagens formais e autmatas DFA

    6/56

    6

    12aaaw nR

    L=

    naaaw L21= ababaaabbb

    Reverso

    bbbaaababa

  • 7/24/2019 Linguagens formais e autmatas DFA

    7/56

    7

    Comprimento de um String

    Comprimento:

    Exemplos:

    naaaw L21=

    nw =

    1

    2

    4

    =

    =

    =

    a

    aa

    abba

  • 7/24/2019 Linguagens formais e autmatas DFA

    8/56

    8

    Definio Recursiva de Comprimento

    Para o string vazio:

    Para qualquer string :

    Exemplo:

    = 0

    aw =1+ wa

    abba =1+ bba=1+1+ ba

    =1+1+1+ a=1+1+1+1

    = 4

  • 7/24/2019 Linguagens formais e autmatas DFA

    9/56

    9

    Comprimento de Concatenao

    Exemplo:

    vuuv +=

    853

    8

    5,

    3,

    =+=+=

    ==

    ==

    ==

    vuuv

    aababaabuv

    vabaabv

    uaabu

  • 7/24/2019 Linguagens formais e autmatas DFA

    10/56

    10

    Prova de Comprimento de Concatenao

    afirmao:

    Prova: InduoCaso base:

    uv= u+ v

    uv = v pela definio de concatenao

    = 0+ v aritmmtica

    = u+ v pela definio de length

    u=

  • 7/24/2019 Linguagens formais e autmatas DFA

    11/56

    11

    Hiptese de Induo:

    para

    Passo Indutivo: vamos provar

    para

    vuuv +=

    u =

    1,2, ,n

    1

    u = n

    vuuv +=

  • 7/24/2019 Linguagens formais e autmatas DFA

    12/56

    12

    Passo Indutivo

    Seja onde

    Da definio de length:

    Da hiptese de induo:

    Portanto:

    u= a w = n1, a =1

    uv = awv =1+ wv

    wv = w+ v

    uv=1+ w+ v= aw+ v = u+ v

  • 7/24/2019 Linguagens formais e autmatas DFA

    13/56

    13

    String vazio

    String sem nenhuma letra:

    Observaes:

    abbaabbaabba

    www

    ==

    ==

    =

    0

  • 7/24/2019 Linguagens formais e autmatas DFA

    14/56

    14

    Substring

    Substring de um string:subsequncia de caracteres consecutivos

    String Substring

    bbab

    b

    abba

    ab

    abbab

    abbab

    abbab

    abbab

  • 7/24/2019 Linguagens formais e autmatas DFA

    15/56

    15

    Prefixo e Sufixo

    Prefixos Sufixosabbab

    abbab

    abba

    abb

    ab

    a

    b

    ab

    bab

    bbab

    abbab uvw =

    prefixosufixo

  • 7/24/2019 Linguagens formais e autmatas DFA

    16/56

    16

    Outra Operao

    Exemplo:

    Definio:

    43421L

    n

    nwwww =

    ( ) abbaabbaabba =2

    =0

    w

    ( ) =0abba

  • 7/24/2019 Linguagens formais e autmatas DFA

    17/56

    17

    A Operao *

    : o conjunto de todos os possveis stringsdo alfabeto

    *

    { }

    { }K

    ,,,,,,,,,*

    ,

    aabaaabbbaabaaba

    ba

    =

    =

  • 7/24/2019 Linguagens formais e autmatas DFA

    18/56

    18

    A Operao +

    : o conjunto de todos os possveis stringsdo alfabeto exceto

    +

    { }

    { }K

    ,,,,,,,,,*

    ,

    aabaaabbbaabaaba

    ba

    =

    =

    +

    = *{}

    { }K,,,,,,,, aabaaabbbaabaaba=+

  • 7/24/2019 Linguagens formais e autmatas DFA

    19/56

    19

    Linguagem

    Uma linguagem qualquer subconjunto de

    Exemplo:

    Linguagens:

    *

    { }{ }K,,,,,,,,*,

    aaabbbaabaaba

    ba

    =

    =

    { }

    },,,,,{

    ,,

    aaaaaaabaababaabba

    aabaaa

  • 7/24/2019 Linguagens formais e autmatas DFA

    20/56

    20

    Outro Exemplo

    Uma linguagem infinita }0:{ = nbaL nn

    aaaaabbbbbaabb

    ab

    L abb

  • 7/24/2019 Linguagens formais e autmatas DFA

    21/56

    21

    Operaes sobre Linguagens

    Operaes usuais sobre conjuntos

    Complemento:

    { } { }

    { } { }

    { } { } { }aaaaaabbbaaaaaba

    ababbbaaaaaba

    aaaabbabaabbbaaaaaba

    ,,,,

    }{,,,

    },,,{,,,

    =

    =

    =

    I

    U

    LL = *

    { } { }K,,,,,,, aaabbabaabbaa =

  • 7/24/2019 Linguagens formais e autmatas DFA

    22/56

    22

    Reverso

    Definio:

    Exemplos:

    }:{ LwwL RR =

    { } { }ababbaabababaaabab R ,,,, =

    }0:{

    }0:{

    =

    =

    nabL

    nbaL

    nnR

    nn

  • 7/24/2019 Linguagens formais e autmatas DFA

    23/56

    23

    Concatenao

    Definio:

    Exemplo:

    2121 ,: LyLxxyLL =

    { }{ }

    { }baaabababaaabbaaaab

    aabbaaba

    ,,,,,

    ,,,

    =

  • 7/24/2019 Linguagens formais e autmatas DFA

    24/56

    24

    Outra Operao

    Definio:

    Caso epecial:

    321L

    n

    nLLLL =

    { } { }{ }{ }

    { }bbbbbababbaaabbabaaabaaa

    babababa

    ,,,,,,,

    ,,,,

    3==

    { }

    { } { }

    =

    =

    0

    0

    ,, aaabbaa

    L

  • 7/24/2019 Linguagens formais e autmatas DFA

    25/56

    25

    Mais Exemplos

    }0:{ = nbaL nn

    }0,:{2

    = mnbabaL

    mmnn

    2Laabbaaabbb

  • 7/24/2019 Linguagens formais e autmatas DFA

    26/56

    26

    Fecho de Kleene *

    Definio:

    Exemplo:

    LUU 210

    * LLLL =

    { }

    =

    K,,,,

    ,,,,

    ,,

    ,

    *,

    abbbbabbaaabbaaa

    bbbbbbaabbaa

    bba

    bba

  • 7/24/2019 Linguagens formais e autmatas DFA

    27/56

    27

    Fecho Positivo

    Definio:

    { }=

    =+

    *

    21

    L

    LLL LUU

    { }

    =+

    K,,,,

    ,,,,

    ,,

    ,

    abbbbabbaaabbaaa

    bbbbbbaabbaa

    bba

    bba

  • 7/24/2019 Linguagens formais e autmatas DFA

    28/56

    28

    Autmato Finito

  • 7/24/2019 Linguagens formais e autmatas DFA

    29/56

    29

    Autmato Finito

    Entrada

    StringSada

    String

    Autmato

    Finito

  • 7/24/2019 Linguagens formais e autmatas DFA

    30/56

    30

    Aceitador Finito

    Entrada

    Aceita

    ou

    Rejeita

    String

    Autmato

    Finito

    Sada

  • 7/24/2019 Linguagens formais e autmatas DFA

    31/56

    31

    Grafo deTransio

    estado

    inicial

    estado

    finalaceitaestado

    transio

    Autmato Finito para abba

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

    5q

    a a bb

    ba,

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    32/56

    32

    Configurao Inicial

    1q 2q 3q 4qa b b a

    5q

    a a bb

    ba,

    String de Entradaa b b a

    ba,

    0q

  • 7/24/2019 Linguagens formais e autmatas DFA

    33/56

    33

    Lendo a Entrada

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

    5q

    a a bb

    ba,

    a b b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    34/56

    34

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

    5q

    a a bb

    ba,

    a b b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    35/56

    35

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

    5q

    a a bb

    ba,

    a b b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    36/56

    36

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

    5q

    a a bb

    ba,

    a b b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    37/56

    37

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

    Sada:

    aceita

    5q

    a a bb

    ba,

    a b b a

    ba,

    R j i

  • 7/24/2019 Linguagens formais e autmatas DFA

    38/56

    38

    Rejeio

    1q 2q 3q 4qa b b a

    5q

    a a bb

    ba,

    a b a

    ba,

    0q

  • 7/24/2019 Linguagens formais e autmatas DFA

    39/56

    39

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

    5q

    a a bb

    ba,

    a b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    40/56

    40

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

    5q

    a a bb

    ba,

    a b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    41/56

    41

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

    5q

    a a bb

    ba,

    a b a

    ba,

  • 7/24/2019 Linguagens formais e autmatas DFA

    42/56

    42

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

    5q

    a a bb

    ba,

    Sada:

    rejeita

    a b a

    ba,

    Outro Exemplo

  • 7/24/2019 Linguagens formais e autmatas DFA

    43/56

    43

    Outro Exemplo

    a

    b ba,

    ba,

    0q 1q 2q

    a ba

  • 7/24/2019 Linguagens formais e autmatas DFA

    44/56

    44

    a

    b ba,

    ba,

    0q 1q 2q

    a ba

  • 7/24/2019 Linguagens formais e autmatas DFA

    45/56

    45

    a

    b ba,

    ba,

    0q 1q 2q

    a ba

  • 7/24/2019 Linguagens formais e autmatas DFA

    46/56

    46

    a

    b ba,

    ba,

    0q 1q 2q

    a ba

  • 7/24/2019 Linguagens formais e autmatas DFA

    47/56

    47

    a

    b ba,

    ba,

    0q 1q 2q

    a ba

    Sada:aceita

    Rejeio

  • 7/24/2019 Linguagens formais e autmatas DFA

    48/56

    48

    Rejeio

    a

    b ba,

    ba,

    0q 1q 2q

    ab b

  • 7/24/2019 Linguagens formais e autmatas DFA

    49/56

    49

    a

    b ba,

    ba,

    0q 1q 2q

    ab b

  • 7/24/2019 Linguagens formais e autmatas DFA

    50/56

    50

    a

    b ba,

    ba,

    0q 1q 2q

    ab b

  • 7/24/2019 Linguagens formais e autmatas DFA

    51/56

    51

    a

    b ba,

    ba,

    0q 1q 2q

    ab b

  • 7/24/2019 Linguagens formais e autmatas DFA

    52/56

    52

    a

    b ba,

    ba,

    0q 1q 2q

    ab b

    Sada: rejeita

    Formalizao

  • 7/24/2019 Linguagens formais e autmatas DFA

    53/56

    53

    Formal zao

    Autmato Finito Determinista (DFA)

    ( )FqQM ,,,, 0=

    Q

    0q

    F

    : conjunto de estados

    : alfabeto de entrada: funo de transio

    : estado inicial

    : conjunto de estados finais

    Alfabeto de Entrada

  • 7/24/2019 Linguagens formais e autmatas DFA

    54/56

    54

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

    5q

    a a bb

    ba,

    { }ba,=

    ba,

    Conjunto de Estados Q

  • 7/24/2019 Linguagens formais e autmatas DFA

    55/56

    55

    onjunto Esta os Q

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

    5q

    a a

    bb

    ba,

    543210 ,,,,, qqqqqqQ =

    ba,

    Estado Inicial 0q

  • 7/24/2019 Linguagens formais e autmatas DFA

    56/56

    56

    0q

    1q 2q 3q 4qa

    b b a

    5q

    a a bb

    ba,

    ba,

    0q