SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Curso: Ciência da Computação
          Turma: 7ª Série


 Linguagens Formais e Autômatos

             Aula 7

Aspectos Teóricos da Computação
Notas de Aula
Avaliação 15 de Abril.




                 Aspectos Teóricos da Computação   2/26
Linguagens Regulares
●   O estudo das linguagens regulares é abordado
    usando os seguintes formalismos:
    ➔   Autômato Finito. Trata-se de um formalismo
        operacional ou reconhecedor, sendo basicamente,
        um sistema de estados finitos;
    ➔   Expressão Regular. Trata-se de um formalismo
        denotacional, também considerado gerador, o qual
        é definido a partir de conjuntos (linguagens)
        básicos e das operações de concatenação e de
        união;
    ➔   Gramática Regular. Trata-se de um formalismo
        axiomático ou gerador o que, como o nome indica,
        é uma gramática, mas com restrições de forma das
        regras de produção.
                     Aspectos Teóricos da Computação   3/26
Expressão Regular
●   Toda linguagem regular pode ser descrita por uma
    expressão denominada Expressão Regular.
●   Uma expressão regular é definida a partir de
    conjuntos básicos (linguagens) e operações de
    concatenação e de união.
●   As expressões regulares são consideradas
    adequadas para a comunicação humano x humano e,
    principalmente, para a comunicação humano x
    máquina.
●   A expressão regular é a maneira mais compacta e
    mais simples de descrever conjuntos regulares, e é
    usada com essa finalidade em construção de
    compiladores, editores, sistemas operacionais,
    protocolos, etc.
                    Aspectos Teóricos da Computação      4/26
Expressão Regular, Linguagem Gerada
Uma Expressão Regular (frequentemente abreviada por ER) sobre um alfabeto ∑ é indutivamente
definida como segue:
a) Base de Indução.
     a.1) A expressão :
                         Ø é expressão regular e denota a linguagem vazia.
     a.2) A expressão:
                         ε é uma expressão regular e denota a linguagem que contém
exclusivamente a palavra vazia: {ε}
     a.3) Para qualquer símbolo x Є ∑, a expressão:
                         X é uma expressão regular e denota a linguagem que contém
exclusivamente a palavra constituída pelo símbolo x: {x}

b) Passo de Indução. Se r e s são expressões regulares e denotam a linguagem R e S,
respectivamente, então:
     b.1) União. A expressão (r+s) é expressão regular e denota a linguagem R U S
     b.2) Concatenação. A expressão (rs) é expressão regular e denota a linguagem: R S = {uv | u Є
 R e v Є S}
    b.3) Concatenação sucessiva. A expressão    (r*) é expressão regular e denota a linguagem R*

Se r é uma expressão regular, a correspondente linguagem denotada é dita a Linguagem Gerada
por r, sendo representada por:
                                        L(r) ou GERA(R)


                                  Aspectos Teóricos da Computação                             5/26
Expressão Regular, Linguagem Gerada
A omissão de parênteses em uma ER é usual, respeitando
as seguintes convenções:
●   A concatenação sucessiva tem precedência sobre a
    concatenação e a união;
●   A concatenação tem precedência sobre a união.




                     Aspectos Teóricos da Computação     6/26
Expressão Regular
Detalhando a linguagem gerada pela expressão (a+b)*(aa+bb),
vale que:
   ●   a e b denotam {a} e {b}, respectivamente
   ●   a + b denota {a} U {b} = {a,b} (Lembre-se que o elemento
       vazio também está aqui.)
   ●   (a+b)* denota {a,b}*
   ●   aa e bb denotam {a}{a} = {aa} e {b}{b} = {bb},
       respectivamente
   ●   (aa + bb) denota {aa} U {bb} = {aa,bb}
   ●   (a+b)*(aa+bb) denota {a,b}*{aa,bb}
Portanto, GERA((a+b)*(aa+bb)) correponde à seguinte linguagem:
{aa,bb,aaa,abb,baa,bbb,aaaa,aabb,abaa,abbb,baaa,babb,bbaa,bb
bb,...}

                        Aspectos Teóricos da Computação           7/26
Exemplo: Expressão Regular
Expressão Regular            Linguagem Gerada

aa                           Somente a palavra aa

ba*                          Todas as palavras que iniciam por b, seguido por
                             zero ou mais a's


(a+b)*                       Todas as palavras sobre {a,b}

(a+b)*aa(a+b)*               Todas as palavras contendo aa como subpalavra

a*ba*ba*                     Todas as palavras contendo exatamente dois b's

(a+b)*(aa+bb)                Todas as palavras que terminam com aa ou bb.

(a+ε)(b+ba)*                 Todas as palavras que não possuem dois a
                             consecutivos.




                    Aspectos Teóricos da Computação                       8/26
Expressão Regular → Linguagem Regular
Por definição, uma linguagem regular é regular
se, e somente se, é possível construir um
autômato finito (determinístico, não determinístico
ou de movimentos vazios) que reconheça essa
linguagem. Assim, dada uma expressão regular r
qualquer é possível construir um autômato finito.




                 Aspectos Teóricos da Computação   9/26
Expressão Regular            Autômato Finito Correspondente


a                                          a
b                                          b

a*                                                    ε
                                            ε         a   ε
                                                      ε

aa
                                            a         ε   a

bb                               Єε         b         ε   b

aa+bb                                       a         ε   a
                                      ε                       ε


                                      ε                       ε
                                            b         ε   b




                    Aspectos Teóricos da Computação               10/26
ER convertida para Autômato
            a*(aa+bb)



                                        a     ε   a
                                ε                     ε
        ε
ε       a        ε
        ε                       ε                     ε
                                        b     ε   b




            Aspectos Teóricos da Computação               11/26
Gramática Regular
Gramáticas Lineares
Seja G={V,T,P,S} uma gramática. Sejam A e B elementos de V e w uma palavra de T*.
Então G é uma Gramática Linear se todas as suas produções encontram-se em uma e
em somente uma das seguintes formas:
a) Gramática Linear à Direita (abreviada por GLD). Todas as regras de produção são da
forma:
             A → wB ou       A→w
b) Gramática Linear à Esquerda (abreviada por GLE). Todas as regras de produção são
da forma:
             A → Bw     ou   A→w
c) Gramática Linear Unitária à Direita (abreviada por GLUD). Todas as regras de
produção são como na gramática linear à direita e, adicionalmente:
             |w| <= 1
d) Gramática Linear Unitária à Esquerda (abreviada por GLUE). Todas as regras de
produção são como na gramática linear à esquerda e, adicionalmente:
             |w| <=1

                              Aspectos Teóricos da Computação                      12/26
Gramática Regular
Note-se que, nas gramáticas lineares, o lado direito de uma produção é constituído por,
no máximo, uma variável. Adicionalmente, esta variável, se existir, sempre antecede
(linear à esquerda) ou sucede (linear à direita) qualquer sub-palavra (eventualmente
vazia) de terminais.




                               Aspectos Teóricos da Computação                      13/26
Equivalência das Gramáticas Regulares
Seja L uma linguagem. Então:
    L é gerada por uma GLD se, e somente se,
    L é gerada por uma GLE se, e somente se,
    L é gerada por uma GLUD se, e somente se,
    L é gerada por uma GLUE

●   Ou seja, as diversas formas das gramáticas
    lineares são formalismos equivalentes.



                  Aspectos Teóricos da Computação   14/26
Gramática Regular
Uma gramática G é dita uma Gramática Regular,
eventualmente abreviada GR, se G é uma
gramática linear.




                Aspectos Teóricos da Computação   15/26
Linguagem Gerada
Seja G=(V, T, P, S) uma gramática. A Linguagem
Gerada pela gramática G, denotada por:
     L(G) ou GERA(G)
É tal que:
     L(G) = {w є T* | S → +w}




                 Aspectos Teóricos da Computação   16/26
Exemplo: Gramática Regular: a(ba)*
A linguagem a(ba)* é gerada pelas seguintes gramáticas regulares:
 (a) Linear à Direita. G=({S,A}, {a,b}, P, S), e P possui as seguintes
    regras de produção
    S → aA
    A → baA | ε
 (b) Linear à Esquerda. G=({S}, {a,b}, P, S), e P possui as seguintes
    regras de produção
    S → Sba | a
 (c)Linear Unitária à Direita. G=({S,A,B}, {a,b}, P, S), e P possui as
    seguintes regras de produção
    S → aA
    A → bB | ε
    B → aA
 (d)Linear Unitária à Esquerda. G=({S,A}, {a,b}, P, S), e P possui as
    seguintes regras de produção
    S → Aa | a
    A → Sb

                          Aspectos Teóricos da Computação                17/26
Gramática Regular: (a+b)*(aa+bb)
A linguagem (a+b)*(aa+bb) é gerada pelas
seguintes gramáticas regulares:
(a) Linear à Direita. G=({S,A}, {a,b}, P, S), e P
  possui as seguintes regras de produção
  S → aS | bS | A
  A → aa | bb
(b) Linear à Esquerda. G=({S}, {a,b}, P, S), e P
  possui as seguintes regras de produção
  S → Aaa | Abb
  A → Aa | Ab | ε
                    Aspectos Teóricos da Computação   18/26
Gramática Linear à Esquerda e Linear à Direita

Suponha |w| >= 1. Se uma gramática tiver
simultaneamente produções do tipo A → wB
(linear à direita) e do tipo A → Bw (linear a
esquerda), então a correspondente linguagem
gerada poderá não ser regular, ou seja, esta não
é uma gramática regular.
Por exemplo, a linguagem a seguir não é regular:
    { anbn | n є N }
Entretanto, é possível desenvolver uma
gramática, com produções lineares à direita e à
esquerda, que gera esta linguagem.

                  Aspectos Teóricos da Computação   19/26
Gramática Regular → Linguagem Regular
Se L é uma linguagem gerada por uma gramática regular, então L é uma linguagem
regular.
Prova: Por indução
Para mostrar que uma linguagem é regular, é suficiente construir um autômato finito que
a reconheça.
Suponha G=(V,T,P,S) uma gramática linear unitária à direita. Tipo da     Transição
Então o AFNε : M=( ∑, Q,δ,q0, F)                             Produção    Gerada
Tal que: (suponha qf não pertence a V):                          A→ε       δ(A,ε) = qf
∑=T
                                                                 A→a       δ(A,a) = qf
Q = V U {qf}
F = {qf}                                                         A→B       δ(A,ε) = B
q0 = S                                                           A → aB    δ(A,a) = B
δ é construída como ilustrado na tabela (Suponha A e B variáveis e a terminal) simula as
derivações de G, ou seja:
         ACEITA(M) = GERA(G)

A demonstração que, de fato, ACEITA(M) = GERA(G) é por indução no número de
derivações. (Vamos omitir essa demonstração mas ela pode ser vista na página 77 do
livro texto.)


                               Aspectos Teóricos da Computação                      20/26
Exemplo: Construção de um AFNε a partir de uma
                    gramática regular
Considere a seguinte gramática linear unitária à direita,

         G=({S,A,B},{a,b},P,S) onde P é tal que:

         S → aA
         A → bB | ε
         B → aA

O AFNε que reconhece a linguagem gerada pela gramática G é:

5 minutos para fazer.




                                Aspectos Teóricos da Computação   21/26
Exemplo: Construção de um AFNε a partir de uma
                    gramática regular
Considere a seguinte gramática linear unitária à direita,

         G=({S,A,B},{a,b},P,S) onde P é tal que:

         S → aA
         A → bB | ε
         B → aA

O AFNε que reconhece a linguagem gerada pela gramática G é:

         M = ({a,b}, {S,A,B,qf},δ,S,{qf})

   Produção    Transição
   S → aA      δ(S,a) = A                                     S    a       A       ε   qf
   A → bB      δ(A,b) = B
   A→ε         δ(A,ε) = qf                                             b       a
   B → aA      δ(B,a) = A
                                                                           B


                                 Aspectos Teóricos da Computação                       22/26
Construção de uma Gramática Regular a partir de um
                      AFD
Considere o autômato finito determinístico:
     M = ({a,b,c}, {q0,q1,q2},δ,q0,{q0,q1,q2})
          q0     b     q1      c      q2
           a            b             c


A gramática correspondente regular construída é?


5 minutos.




                     Aspectos Teóricos da Computação   23/26
Construção de uma Gramática Regular a partir de um
                      AFD
Considere o autômato finito
determinístico:
      M = ({a,b,c}, {q0,q1,q2},δ,q0,
{q0,q1,q2})
                                                        Transição    Produção
      q0     b   q1    c      q2                        -            S → q0
      a          b             c                        -            q0 → ε
                                                        -            q1 → ε

A gramática correspondente                              -            q2 → ε

regular construída é?                                   δ(q0,a)=q0   q0 → aq0
                                                        δ(q0,b)=q1   q0 → bq1
G = ({q0,q1,q2,S}, {a,b,c}, P,S)                        δ(q1,b)=q1   q1 → bq1

onde P é dado pela tabela:                              δ(q1,c)=q2   q1 → cq2
                                                        δ(q2,c)=q2   q2 → cq2
                      Aspectos Teóricos da Computação                         24/26
Ler
●   Seçao 3.6 do livro.




                   Aspectos Teóricos da Computação   25/26
Exercícios
1.   (Exercício 3.7 do livro) Desenvolva expressões regulares que gerem as seguintes linguagens sobre
     ∑ = {a,b}:

      (a) {w | w tem no máximo um par de a como subpalavra e no máximo um par de b como subpalavra.
      (b) {w | qualquer para de a antecede qualquer par de b}
      (c) {w | w não possui aba como subpalavra}
2.   Descreva em palavras as linguagens geradas pelas seguintes expressões regulares:

      (a) (aa+b)*(a+bb)
      (b) (b+ab)*(ε +a)
      (c) (aa +bb + (aa+bb) (ab+ba)(aa+bb))*




                                      Aspectos Teóricos da Computação                                 26/26

Contenu connexe

Tendances

Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPDelacyr Ferreira
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
SLIDE SOBRE O LIBREOFFICE
SLIDE SOBRE O LIBREOFFICESLIDE SOBRE O LIBREOFFICE
SLIDE SOBRE O LIBREOFFICELiana Évily
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareelliando dias
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidosHAROLDO MIRANDA DA COSTA JR
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++profjr
 
Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemasDavid Achahui Perez
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01thomasdacosta
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalFelipe J. R. Vieira
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Fernando Passold
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)wilkerfilipel
 
Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2Eder Samaniego
 

Tendances (20)

Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
SLIDE SOBRE O LIBREOFFICE
SLIDE SOBRE O LIBREOFFICESLIDE SOBRE O LIBREOFFICE
SLIDE SOBRE O LIBREOFFICE
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
 
03 linguagens regulares
03   linguagens regulares03   linguagens regulares
03 linguagens regulares
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++
 
Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemas
 
Função composta
Função compostaFunção composta
Função composta
 
Introdução ao Latex
Introdução ao LatexIntrodução ao Latex
Introdução ao Latex
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)
 
Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2
 

Plus de wab030

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educaçãowab030
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programadowab030
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadaniawab030
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educaçãowab030
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociaiswab030
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...wab030
 
Hp0061
Hp0061Hp0061
Hp0061wab030
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educaçãowab030
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdewab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redeswab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+bancowab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícioswab030
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turingwab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Redewab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDPwab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redeswab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+bancowab030
 

Plus de wab030 (20)

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educação
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programado
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadania
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educação
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociais
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...
 
Hp0061
Hp0061Hp0061
Hp0061
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educação
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúde
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
 

Dernier

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 

Dernier (20)

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 

Aula 7 expressão regular

  • 1. Curso: Ciência da Computação Turma: 7ª Série Linguagens Formais e Autômatos Aula 7 Aspectos Teóricos da Computação
  • 2. Notas de Aula Avaliação 15 de Abril. Aspectos Teóricos da Computação 2/26
  • 3. Linguagens Regulares ● O estudo das linguagens regulares é abordado usando os seguintes formalismos: ➔ Autômato Finito. Trata-se de um formalismo operacional ou reconhecedor, sendo basicamente, um sistema de estados finitos; ➔ Expressão Regular. Trata-se de um formalismo denotacional, também considerado gerador, o qual é definido a partir de conjuntos (linguagens) básicos e das operações de concatenação e de união; ➔ Gramática Regular. Trata-se de um formalismo axiomático ou gerador o que, como o nome indica, é uma gramática, mas com restrições de forma das regras de produção. Aspectos Teóricos da Computação 3/26
  • 4. Expressão Regular ● Toda linguagem regular pode ser descrita por uma expressão denominada Expressão Regular. ● Uma expressão regular é definida a partir de conjuntos básicos (linguagens) e operações de concatenação e de união. ● As expressões regulares são consideradas adequadas para a comunicação humano x humano e, principalmente, para a comunicação humano x máquina. ● A expressão regular é a maneira mais compacta e mais simples de descrever conjuntos regulares, e é usada com essa finalidade em construção de compiladores, editores, sistemas operacionais, protocolos, etc. Aspectos Teóricos da Computação 4/26
  • 5. Expressão Regular, Linguagem Gerada Uma Expressão Regular (frequentemente abreviada por ER) sobre um alfabeto ∑ é indutivamente definida como segue: a) Base de Indução. a.1) A expressão : Ø é expressão regular e denota a linguagem vazia. a.2) A expressão: ε é uma expressão regular e denota a linguagem que contém exclusivamente a palavra vazia: {ε} a.3) Para qualquer símbolo x Є ∑, a expressão: X é uma expressão regular e denota a linguagem que contém exclusivamente a palavra constituída pelo símbolo x: {x} b) Passo de Indução. Se r e s são expressões regulares e denotam a linguagem R e S, respectivamente, então: b.1) União. A expressão (r+s) é expressão regular e denota a linguagem R U S b.2) Concatenação. A expressão (rs) é expressão regular e denota a linguagem: R S = {uv | u Є R e v Є S} b.3) Concatenação sucessiva. A expressão (r*) é expressão regular e denota a linguagem R* Se r é uma expressão regular, a correspondente linguagem denotada é dita a Linguagem Gerada por r, sendo representada por: L(r) ou GERA(R) Aspectos Teóricos da Computação 5/26
  • 6. Expressão Regular, Linguagem Gerada A omissão de parênteses em uma ER é usual, respeitando as seguintes convenções: ● A concatenação sucessiva tem precedência sobre a concatenação e a união; ● A concatenação tem precedência sobre a união. Aspectos Teóricos da Computação 6/26
  • 7. Expressão Regular Detalhando a linguagem gerada pela expressão (a+b)*(aa+bb), vale que: ● a e b denotam {a} e {b}, respectivamente ● a + b denota {a} U {b} = {a,b} (Lembre-se que o elemento vazio também está aqui.) ● (a+b)* denota {a,b}* ● aa e bb denotam {a}{a} = {aa} e {b}{b} = {bb}, respectivamente ● (aa + bb) denota {aa} U {bb} = {aa,bb} ● (a+b)*(aa+bb) denota {a,b}*{aa,bb} Portanto, GERA((a+b)*(aa+bb)) correponde à seguinte linguagem: {aa,bb,aaa,abb,baa,bbb,aaaa,aabb,abaa,abbb,baaa,babb,bbaa,bb bb,...} Aspectos Teóricos da Computação 7/26
  • 8. Exemplo: Expressão Regular Expressão Regular Linguagem Gerada aa Somente a palavra aa ba* Todas as palavras que iniciam por b, seguido por zero ou mais a's (a+b)* Todas as palavras sobre {a,b} (a+b)*aa(a+b)* Todas as palavras contendo aa como subpalavra a*ba*ba* Todas as palavras contendo exatamente dois b's (a+b)*(aa+bb) Todas as palavras que terminam com aa ou bb. (a+ε)(b+ba)* Todas as palavras que não possuem dois a consecutivos. Aspectos Teóricos da Computação 8/26
  • 9. Expressão Regular → Linguagem Regular Por definição, uma linguagem regular é regular se, e somente se, é possível construir um autômato finito (determinístico, não determinístico ou de movimentos vazios) que reconheça essa linguagem. Assim, dada uma expressão regular r qualquer é possível construir um autômato finito. Aspectos Teóricos da Computação 9/26
  • 10. Expressão Regular Autômato Finito Correspondente a a b b a* ε ε a ε ε aa a ε a bb Єε b ε b aa+bb a ε a ε ε ε ε b ε b Aspectos Teóricos da Computação 10/26
  • 11. ER convertida para Autômato a*(aa+bb) a ε a ε ε ε ε a ε ε ε ε b ε b Aspectos Teóricos da Computação 11/26
  • 12. Gramática Regular Gramáticas Lineares Seja G={V,T,P,S} uma gramática. Sejam A e B elementos de V e w uma palavra de T*. Então G é uma Gramática Linear se todas as suas produções encontram-se em uma e em somente uma das seguintes formas: a) Gramática Linear à Direita (abreviada por GLD). Todas as regras de produção são da forma: A → wB ou A→w b) Gramática Linear à Esquerda (abreviada por GLE). Todas as regras de produção são da forma: A → Bw ou A→w c) Gramática Linear Unitária à Direita (abreviada por GLUD). Todas as regras de produção são como na gramática linear à direita e, adicionalmente: |w| <= 1 d) Gramática Linear Unitária à Esquerda (abreviada por GLUE). Todas as regras de produção são como na gramática linear à esquerda e, adicionalmente: |w| <=1 Aspectos Teóricos da Computação 12/26
  • 13. Gramática Regular Note-se que, nas gramáticas lineares, o lado direito de uma produção é constituído por, no máximo, uma variável. Adicionalmente, esta variável, se existir, sempre antecede (linear à esquerda) ou sucede (linear à direita) qualquer sub-palavra (eventualmente vazia) de terminais. Aspectos Teóricos da Computação 13/26
  • 14. Equivalência das Gramáticas Regulares Seja L uma linguagem. Então: L é gerada por uma GLD se, e somente se, L é gerada por uma GLE se, e somente se, L é gerada por uma GLUD se, e somente se, L é gerada por uma GLUE ● Ou seja, as diversas formas das gramáticas lineares são formalismos equivalentes. Aspectos Teóricos da Computação 14/26
  • 15. Gramática Regular Uma gramática G é dita uma Gramática Regular, eventualmente abreviada GR, se G é uma gramática linear. Aspectos Teóricos da Computação 15/26
  • 16. Linguagem Gerada Seja G=(V, T, P, S) uma gramática. A Linguagem Gerada pela gramática G, denotada por: L(G) ou GERA(G) É tal que: L(G) = {w є T* | S → +w} Aspectos Teóricos da Computação 16/26
  • 17. Exemplo: Gramática Regular: a(ba)* A linguagem a(ba)* é gerada pelas seguintes gramáticas regulares: (a) Linear à Direita. G=({S,A}, {a,b}, P, S), e P possui as seguintes regras de produção S → aA A → baA | ε (b) Linear à Esquerda. G=({S}, {a,b}, P, S), e P possui as seguintes regras de produção S → Sba | a (c)Linear Unitária à Direita. G=({S,A,B}, {a,b}, P, S), e P possui as seguintes regras de produção S → aA A → bB | ε B → aA (d)Linear Unitária à Esquerda. G=({S,A}, {a,b}, P, S), e P possui as seguintes regras de produção S → Aa | a A → Sb Aspectos Teóricos da Computação 17/26
  • 18. Gramática Regular: (a+b)*(aa+bb) A linguagem (a+b)*(aa+bb) é gerada pelas seguintes gramáticas regulares: (a) Linear à Direita. G=({S,A}, {a,b}, P, S), e P possui as seguintes regras de produção S → aS | bS | A A → aa | bb (b) Linear à Esquerda. G=({S}, {a,b}, P, S), e P possui as seguintes regras de produção S → Aaa | Abb A → Aa | Ab | ε Aspectos Teóricos da Computação 18/26
  • 19. Gramática Linear à Esquerda e Linear à Direita Suponha |w| >= 1. Se uma gramática tiver simultaneamente produções do tipo A → wB (linear à direita) e do tipo A → Bw (linear a esquerda), então a correspondente linguagem gerada poderá não ser regular, ou seja, esta não é uma gramática regular. Por exemplo, a linguagem a seguir não é regular: { anbn | n є N } Entretanto, é possível desenvolver uma gramática, com produções lineares à direita e à esquerda, que gera esta linguagem. Aspectos Teóricos da Computação 19/26
  • 20. Gramática Regular → Linguagem Regular Se L é uma linguagem gerada por uma gramática regular, então L é uma linguagem regular. Prova: Por indução Para mostrar que uma linguagem é regular, é suficiente construir um autômato finito que a reconheça. Suponha G=(V,T,P,S) uma gramática linear unitária à direita. Tipo da Transição Então o AFNε : M=( ∑, Q,δ,q0, F) Produção Gerada Tal que: (suponha qf não pertence a V): A→ε δ(A,ε) = qf ∑=T A→a δ(A,a) = qf Q = V U {qf} F = {qf} A→B δ(A,ε) = B q0 = S A → aB δ(A,a) = B δ é construída como ilustrado na tabela (Suponha A e B variáveis e a terminal) simula as derivações de G, ou seja: ACEITA(M) = GERA(G) A demonstração que, de fato, ACEITA(M) = GERA(G) é por indução no número de derivações. (Vamos omitir essa demonstração mas ela pode ser vista na página 77 do livro texto.) Aspectos Teóricos da Computação 20/26
  • 21. Exemplo: Construção de um AFNε a partir de uma gramática regular Considere a seguinte gramática linear unitária à direita, G=({S,A,B},{a,b},P,S) onde P é tal que: S → aA A → bB | ε B → aA O AFNε que reconhece a linguagem gerada pela gramática G é: 5 minutos para fazer. Aspectos Teóricos da Computação 21/26
  • 22. Exemplo: Construção de um AFNε a partir de uma gramática regular Considere a seguinte gramática linear unitária à direita, G=({S,A,B},{a,b},P,S) onde P é tal que: S → aA A → bB | ε B → aA O AFNε que reconhece a linguagem gerada pela gramática G é: M = ({a,b}, {S,A,B,qf},δ,S,{qf}) Produção Transição S → aA δ(S,a) = A S a A ε qf A → bB δ(A,b) = B A→ε δ(A,ε) = qf b a B → aA δ(B,a) = A B Aspectos Teóricos da Computação 22/26
  • 23. Construção de uma Gramática Regular a partir de um AFD Considere o autômato finito determinístico: M = ({a,b,c}, {q0,q1,q2},δ,q0,{q0,q1,q2}) q0 b q1 c q2 a b c A gramática correspondente regular construída é? 5 minutos. Aspectos Teóricos da Computação 23/26
  • 24. Construção de uma Gramática Regular a partir de um AFD Considere o autômato finito determinístico: M = ({a,b,c}, {q0,q1,q2},δ,q0, {q0,q1,q2}) Transição Produção q0 b q1 c q2 - S → q0 a b c - q0 → ε - q1 → ε A gramática correspondente - q2 → ε regular construída é? δ(q0,a)=q0 q0 → aq0 δ(q0,b)=q1 q0 → bq1 G = ({q0,q1,q2,S}, {a,b,c}, P,S) δ(q1,b)=q1 q1 → bq1 onde P é dado pela tabela: δ(q1,c)=q2 q1 → cq2 δ(q2,c)=q2 q2 → cq2 Aspectos Teóricos da Computação 24/26
  • 25. Ler ● Seçao 3.6 do livro. Aspectos Teóricos da Computação 25/26
  • 26. Exercícios 1. (Exercício 3.7 do livro) Desenvolva expressões regulares que gerem as seguintes linguagens sobre ∑ = {a,b}: (a) {w | w tem no máximo um par de a como subpalavra e no máximo um par de b como subpalavra. (b) {w | qualquer para de a antecede qualquer par de b} (c) {w | w não possui aba como subpalavra} 2. Descreva em palavras as linguagens geradas pelas seguintes expressões regulares: (a) (aa+b)*(a+bb) (b) (b+ab)*(ε +a) (c) (aa +bb + (aa+bb) (ab+ba)(aa+bb))* Aspectos Teóricos da Computação 26/26