SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Curso: Ciência da Computação


  Aspectos Teóricos da Computação

               Aula 5

       Linguagens Regulares
Autômatos Finitos Não Determinísticos
Notas de Aula
Blog
  https://aspectosteoricosdacomputacao.wordpre
  ss.com/
Avaliação dia 8 de Abril.




                 Apsectos Teóricos da Computação   2/25
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.
                     Apsectos Teóricos da Computação   3/25
Autômato Finito Determinístico
                     Relembrando a aula passada
                                              Vamos fazer a computação para as
    ∑ = {a,b}
                                          ●
●
                                              seguintes strings:
                                                  aaa – q0 → q1 → qf
    Q = {q0, q1,q2,qf}
                                               ●

●
                                               ●       abb – q0 → q1 → q1 → q1
                                               ●       bbb – q0 → q2 → qf
●   F = qf                                     ●       baa – q0 → q2 → q2 → q2
                                               ●       abbba – q0 → q1 → q1 → q1 → q1
●   δ dado pelo diagrama                               → qf
                                                       baab – q0 → q2 → q2 → q2 → qf
    abaixo.
                                               ●


                                               ●       Que conclusão podemos chegar?
                            q0
                                                b
             a
                                                                   q2 a
    q1
                                                   b
                 a
b                             qff



                         Apsectos Teóricos da Computação                               4/25
Autômato Finito Determinístico
                     Relembrando a aula passada
●   ∑ = {a,b}                             ●   Aaa, bbb, aaabb, bbbaaa, bbba
                                              são aceitos.
●   Q = {q0, q1,q2,qf}                    ●   Como podemos generalizar a
                                              linguagem que é aceita por
                                              esse autômato?
●   F = qf
                                              Resp.: Toda string que começa
●   δ dado pelo diagrama                      por a e tiver dois as é aceita e
                                              toda string que começa por b e
    abaixo.                                   tiver dois bs é aceita.
                            q0
                                                b
             a
                                                            q2 a
    q1
                                                b
                 a
b                             qff



                         Apsectos Teóricos da Computação                    5/25
Autômato Finito Não Determinístico
●   O não determinismo é uma importante
    generalização dos modelos de máquinas,
    sendo de fundamental importância no estudo
    de modelos para concorrência, Teoria da
    Computação e das Linguagens Formais.
●   O objetivo é a capacidade de reconhecer
    linguagens e de solucionar problemas.




                  Apsectos Teóricos da Computação   6/25
Autômato Finito Não Determinístico
●   A facilidade de não determinismo para
    autômatos finitos é expressa no programa, que
    é uma função parcial tal que:
    Dependendo do estado corrente e do símbolo
     lido, determina um conjunto de estados do
                      autômato.




                  Apsectos Teóricos da Computação   7/25
Autômato Finito Não Determinístico
Um Autômato Finito Não Determinístico assume
um conjunto de estados alternativos, como se
houvesse uma multiplicação da unidade de
controle, uma para cada alternativa, processando
independentemente, sem compartilhar recursos
com as demais. Assim, o processamento de um
caminho não influi no estado, símbolo lido e
posição da cabeça dos demais caminhos
alternativos.




                Apsectos Teóricos da Computação   8/25
Definição: Autômato Finito Não Determinístico
Um Autômato Finito Não Determinístico, abreviado por AFN, é uma 5-upla
ordenada:
          M = { ∑, Q, δ, q0, F}
Onde:

a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente, alfabeto de
   entrada;
b) Q é o conjunto de estados possíveis do autômato o qual é finito;
c) δ é uma função programa ou função de transição ou simplesmente
   programa:
       δ : Q x ∑ → 2Q
   a qual é uma função parcial. Supondo que a função programa é definida
   para um estado p e um símbolo a, resultando no conjunto de estados
   {q1,q2,q3,...,qn}, então:
       δ(p,a)={q1,q2,q3,...,qn} é uma transição do autômato;
d) Q0 é um elemento distinguido de Q, denominado estado inicial;
e) F é um subconjunto de Q, denominado conjunto de estados finais.

                          Apsectos Teóricos da Computação                  9/25
Definição: Autômato Finito Não Determinístico
●   Excetuando-se a função programa ou de transição, as componentes ∑, Q,
    q0, F são como na definição de autômato finito determinístico.
●   A representação da função programa como um diagrama é análoga à do
    autômato finito determinístico.
●   Assim, a representação diagramática de uma transição do tipo:
    δ(p,a)={q1,q2,q3,...,qn}
    Resulta em diversas arestas etiquetadas por a, com origem em p, e com
    destino em cada estado q1,q2,q3,...,qn .




                          Apsectos Teóricos da Computação             10/25
Autômato Finito Não Determinístico
        Representação Gráfica
                                                Estado
                                                Anterior

                 p
                            a                         Símbolo
          a
                 a                                      Lido

     q1          q2       ...       qn
                                                           Conjunto
                                                           De novos
                                                           Estados

 Repare que quando estamos no estado p e
lemos o símbolo a podemos ir para q1, q2 ou
  qn. Essa é a razão do não determinismo.



              Apsectos Teóricos da Computação                         11/25
Autômato Finito Não Determinístico

Analogamente ao autômato finito determinístico,
a computação de um AFN, para uma palavra w,
consiste na sucessiva aplicação da função
programa para cada símbolo de w (da esquerda
para a direita) até ocorrer uma condição de
parada. Como cada transição do AFN resulta em
um conjunto de estados, é necessário estender a
definição da função programa, usando como
argumento um conjunto finito de estados e uma
palavra.



                Apsectos Teóricos da Computação   12/25
Função Programa Estendida, Computação

Seja M = { ∑, Q, δ, q0, F} um AFN. A função
programa estendida ou computação de M,
denotada por:
δ*(P, ε) = P
δ*(P, aw) = δ*(Uq є p δ(q,a),w)
Portanto como já vimos a função programa
estendida consiste na sucessiva aplicação da
função programa a cada símbolo da palavra, a
partir de um conjunto de estados. Observe que se
a entrada for vazia o autômato fica parado nos
estados correntes.
                 Apsectos Teóricos da Computação   13/25
Função Programa Estendida, Computação
A transição estendida a um conjunto de estados é a união dos resultados da
função programa aplicado a cada estado alternativo.
δ*({q1,q2,q3,...,qn}, a) = δ(q1,a) U δ(q2,a) U δ(q3,a) U δ(q4,a)U ... U δ(qn,a)


A parada do processamento de afn para uma entrada w pode ser de duas
maneiras:
a. Aceita a entrada w. Após processar o último símbolo da fita, existe pelo
menos um estado final pertencente ao conjunto de estados alternativos
atingidos;
b. Rejeita a entrada w. São duas possibilidades
    * após processar o último símbolo da fita, todos os estados alternativos
atingidos são não finais.
    * em algum momento ao longo do processamento de w, a função programa
é indefinida para o argumento.



                              Apsectos Teóricos da Computação                     14/25
Linguagem Aceita, Linguagem Rejeitada
Seja M = { ∑, Q, δ, q0, F} um AFN. A Linguagem Aceita ou
Linguagem Rejeitada por M, denotada por:
ACEITA(M) ou L(M)
é o conjunto de todas as palavras pertencentes a ∑* tais que
existe pelo menos um caminho alternativo que aceita a palavra, a
partir de {q0}, ou seja:
●   ACEITA(M) = { w | δ*({q0},w) ∩ F ≠ Ø}
Analogamente a Linguagem Rejeitada por M denotada por
REJEITA(M)
é o conjunto de todas as palavras pertencentes a ∑* rejeitadas por
todos os caminhos alternativos de M, a partir de {q0}, ou seja:
●
    REJEITA(M) = { w | δ*({q0},w) ∩ F = Ø ou δ*({q0},w) é
    indefinida}
                       Apsectos Teóricos da Computação         15/25
Exemplo de AFN
Considere a seguinte linguagem sobre o alfabeto {a,b}:
L5 = {w | w possui aa ou bb como subpalavra}

O autômato finito não-determinístico:
M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } )

Onde δ5 é dada pela seguinte tabela:


                           δ5                   a                   b

                            q0             {q0, q1}           {q0, q2}
                            q1                 {qf}                 -
                            q2                  -               {qf}
                            qf                 {qf}             {qf}


Faça o diagrama desse autômato. 5 minutos.
                                  Apsectos Teóricos da Computação        16/25
Exemplo de AFN
Considere a seguinte linguagem sobre o alfabeto {a,b}:
L5 = {w | w possui aa ou bb como subpalavra}
O autômato finito não-determinístico:                                  δ5      a           b
M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } )
                                                                       q0   {q0, q1}    {q0, q2}
Onde δ5 é dada pela tabela ao lado:
                                                                       q1     {qf}         -
                       a,b                                             q2      -          {qf}
                 q0
                                                                       qf     {qf}        {qf}
           a            b

    q1                        q2           O algoritmo realiza uma varredura sobre a palavra de
                                           entrada. A cada ocorrência de a (respectivamente de
                                           b) uma alternativa é iniciada , para verificar se o
           a            b                  símbolo seguinte também é a (respectivamente b).
                                           Assim existem três caminhos alternativos de
                 qf                        processamento:
                                           O ciclo em q0 realiza a varredura em toda a entrada;
                       a,b
                                           O caminho q0/q1/qf garante a ocorrência de aa;
                                           O caminho q0,q2,qf garante a ocorrência de bb.



                                     Apsectos Teóricos da Computação                      17/25
Exercício de AFN
Considere a seguinte linguagem sobre o alfabeto {a,b}:
L5 = {w | w possui aa ou bb como subpalavra}
O autômato finito não-determinístico:
M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } )
Onde δ5 é dada pela tabela ao lado:

                       a,b                 Aplique o algoritmo ao lado para as seguintes
                 q0                        palavras:
           a            b                  a. aaa
                                           b. aba
    q1                        q2           c. abc
                                           d. bababb
           a            b                  Qual é o estado final para cada caso?

                 qf
                       a,b




                                     Apsectos Teóricos da Computação                       18/25
Exemplo
Considere a seguinte linguagem sobre o alfabeto
{a,b}:
L6 = {w | w possui aaa como sufixo}
O autômato finito não determinístico:
M6 = ({a,b}, { q0, q1,q2,qf },δ6 ,q0,{qf })
É tal que ACEITA(M6) = L6.


           q0    a    q1      a       q2      a        qf

           a,b


                     Apsectos Teóricos da Computação        19/25
Exemplo
aaa – q0 → q1 → q2 → qf                       Repare que não existem
                                               arcos para o símbolo b
aab – q0 → q1 → q2 (indef)                   em q1, q2. Caso algum b
                                                seja lido ai o autômato
                                              fica indefinido e “morre”,
aaab – q0 → q1 → q2 → qf                            isto é, acaba o
                                                 processamento. Isso
baa – q0 → q0 → q0 → q0                      acontece mesmo que haja
                                             mais símbolos para serem
abaaa – q0 → q1 (indef)                                  lidos.



         q0         q1      a       q2      a        qf
               a

         a,b


                   Apsectos Teóricos da Computação                  20/25
Exemplo
Exemplo: abaixo temos um autômato que aceita todos os strings de 0’s e 1’s que
terminam em 01 e somente eles. O estado q0 é o estado inicial, e podemos pensar que o
autômato está nele até que “adivinhe” que o 01 final começou, É sempre possível que o
próximo símbolo não inicie o 01 final, mesmo que esse símbolo seja 0. Desse modo, o
estado q0 pode fazer uma transição para ele mesmo em 0 e em 1.

Porém, se o próximo símbolo é 0, esse AFND também adivinha que o 01 final começou.
Um arco identificado por 0 leva portanto de q0 a q1. Note que existem dois arcos
rotulados como 0 saindo de q0. O AFND tem a opção de ir para q0 ou q1 e, de fato, ele
segue os dois caminhos. No estado q1 o AFND verifica se o próximo símbolo é 1 e, nesse
caso, vai para o estado q2 e aceita a entrada.

Observe que não existe nenhum arco saindo de q1 rotulado com 0, e não existe nenhum
arco saindo de q2. Nessas situações, o encadeamento no AFND correspondente a esses
a estes estados simplesmente “morre”, embora outros encadeamentos possam continuar
a existir.
                 0,1
               q0      0      q1      1       qf




                             Apsectos Teóricos da Computação                     21/25
Função de Transição Estendida
Suponha a string de entrada 00101 para o autômato do
nosso exemplo, teremos a seguinte função de transição
estendida:
δ(q0,00101) = δ(δ(q0,0),0101) =
δ({q0,q1},0101) = δ(δ(q0,0) U δ(q1,0),101) = δ({q0,q1} U Ø,101)
δ({q0,q1},101) = δ(δ(q0,1) U δ(q1,1),01) = δ({q0} U {q2},01)
δ({q0,q2},01) = δ(δ(q0,0) U δ(q2,0),1) = δ({q0,q1} U Ø,1)
δ({q0,q1},1) = δ(q0,1) U δ(q1,1) = {q0} U {q2} = {q0,q2}

               0,1
              q0     0      q1       1      qf


                         Apsectos Teóricos da Computação       22/25
Não Determinismo e Determinismo
●   O não determinismo não aumento o poder
    computacional de um autômato.
●   Para cada AFN é possível construir um AFD e
    vice versa.




                  Apsectos Teóricos da Computação   23/25
Para a Próxima Aula
Ler as seções 3.1, 3.2 e 3.3 do livro texto.




                 Apsectos Teóricos da Computação   24/25
Exercícios
●   Lista




            Apsectos Teóricos da Computação   25/25

Mais conteúdo relacionado

Mais procurados

Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresAlex Camargo
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regularwab030
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02thomasdacosta
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha casoEder Samaniego
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwarePlano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwareVitor Hugo Melo Araújo
 
PROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVELPROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVELWELLINGTON MARTINS
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Modelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UMLModelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UMLinfo_cimol
 

Mais procurados (20)

Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadores
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regular
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Expressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e PráticaExpressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e Prática
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Hierarquia de Chomsky
Hierarquia de ChomskyHierarquia de Chomsky
Hierarquia de Chomsky
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwarePlano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
 
PROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVELPROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVEL
 
01 introducao e conceitos basicos
01   introducao e conceitos basicos01   introducao e conceitos basicos
01 introducao e conceitos basicos
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Modelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UMLModelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UML
 

Destaque

Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaÁlvaro Justen
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
Aplicacao de automatos no funcionamento de elevadores
Aplicacao de automatos no funcionamento de elevadoresAplicacao de automatos no funcionamento de elevadores
Aplicacao de automatos no funcionamento de elevadoresDiego Damasceno
 
Aula 8 revisãopara avaliação
Aula 8   revisãopara avaliaçãoAula 8   revisãopara avaliação
Aula 8 revisãopara avaliaçãowab030
 
Aula 11 automato finitocomsaida
Aula 11   automato finitocomsaidaAula 11   automato finitocomsaida
Aula 11 automato finitocomsaidawab030
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automatowab030
 
python: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicospython: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicosAdriano Petrich
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoBernardo Fontes
 
Libertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livresLibertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livresÁlvaro Justen
 
Testes pythonicos com pytest
Testes pythonicos com pytestTestes pythonicos com pytest
Testes pythonicos com pytestviniciusban
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Djangofabiocerqueira
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreÁlvaro Justen
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tkVictor Marcelino
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formaisguest47ac6
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 

Destaque (20)

Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Aplicacao de automatos no funcionamento de elevadores
Aplicacao de automatos no funcionamento de elevadoresAplicacao de automatos no funcionamento de elevadores
Aplicacao de automatos no funcionamento de elevadores
 
Aula 8 revisãopara avaliação
Aula 8   revisãopara avaliaçãoAula 8   revisãopara avaliação
Aula 8 revisãopara avaliação
 
Aula 11 automato finitocomsaida
Aula 11   automato finitocomsaidaAula 11   automato finitocomsaida
Aula 11 automato finitocomsaida
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automato
 
python: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicospython: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicos
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazo
 
Libertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livresLibertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livres
 
Testes pythonicos com pytest
Testes pythonicos com pytestTestes pythonicos com pytest
Testes pythonicos com pytest
 
REST com Python
REST com PythonREST com Python
REST com Python
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Django
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware Livre
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formais
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 

Semelhante a Aula 5 linguagens regularese automatosfinitosnãodeterministico

Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulareswab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícioswab030
 
Exerciciosde automatosfinitosdeterministicossemresolucao
Exerciciosde automatosfinitosdeterministicossemresolucaoExerciciosde automatosfinitosdeterministicossemresolucao
Exerciciosde automatosfinitosdeterministicossemresolucaowab030
 
Prova 02 de Autômatos e Computabilidade
Prova 02 de Autômatos e ComputabilidadeProva 02 de Autômatos e Computabilidade
Prova 02 de Autômatos e Computabilidadeshichibukai_01
 
2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidadeshichibukai_01
 
Teoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesTeoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesIFCE
 
Exerciciosde automatosfinitosnaodeterministicos
Exerciciosde automatosfinitosnaodeterministicosExerciciosde automatosfinitosnaodeterministicos
Exerciciosde automatosfinitosnaodeterministicoswab030
 
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopw
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopwTeoriacomputacao eduardo uab_ufrpe - imprimir_nopw
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopwCliceres Mack Dal Bianco
 
2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidadeshichibukai_01
 
Formal Languages ​​and Automata
Formal Languages ​​and AutomataFormal Languages ​​and Automata
Formal Languages ​​and AutomataMichel Alves
 
Aula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticaAula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticajuliacttprofissional
 

Semelhante a Aula 5 linguagens regularese automatosfinitosnãodeterministico (14)

Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulares
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
Equivalência entre AFnD e AFD
Equivalência entre AFnD e AFDEquivalência entre AFnD e AFD
Equivalência entre AFnD e AFD
 
Exerciciosde automatosfinitosdeterministicossemresolucao
Exerciciosde automatosfinitosdeterministicossemresolucaoExerciciosde automatosfinitosdeterministicossemresolucao
Exerciciosde automatosfinitosdeterministicossemresolucao
 
Prova 02 de Autômatos e Computabilidade
Prova 02 de Autômatos e ComputabilidadeProva 02 de Autômatos e Computabilidade
Prova 02 de Autômatos e Computabilidade
 
2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade
 
Teoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesTeoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regulares
 
Exerciciosde automatosfinitosnaodeterministicos
Exerciciosde automatosfinitosnaodeterministicosExerciciosde automatosfinitosnaodeterministicos
Exerciciosde automatosfinitosnaodeterministicos
 
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopw
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopwTeoriacomputacao eduardo uab_ufrpe - imprimir_nopw
Teoriacomputacao eduardo uab_ufrpe - imprimir_nopw
 
2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Formal Languages ​​and Automata
Formal Languages ​​and AutomataFormal Languages ​​and Automata
Formal Languages ​​and Automata
 
Lista tc02
Lista tc02Lista tc02
Lista tc02
 
Aula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticaAula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didática
 

Mais 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 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
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de redewab030
 

Mais 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 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
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
 

Último

COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 

Último (20)

COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 

Aula 5 linguagens regularese automatosfinitosnãodeterministico

  • 1. Curso: Ciência da Computação Aspectos Teóricos da Computação Aula 5 Linguagens Regulares Autômatos Finitos Não Determinísticos
  • 2. Notas de Aula Blog https://aspectosteoricosdacomputacao.wordpre ss.com/ Avaliação dia 8 de Abril. Apsectos Teóricos da Computação 2/25
  • 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. Apsectos Teóricos da Computação 3/25
  • 4. Autômato Finito Determinístico Relembrando a aula passada Vamos fazer a computação para as ∑ = {a,b} ● ● seguintes strings: aaa – q0 → q1 → qf Q = {q0, q1,q2,qf} ● ● ● abb – q0 → q1 → q1 → q1 ● bbb – q0 → q2 → qf ● F = qf ● baa – q0 → q2 → q2 → q2 ● abbba – q0 → q1 → q1 → q1 → q1 ● δ dado pelo diagrama → qf baab – q0 → q2 → q2 → q2 → qf abaixo. ● ● Que conclusão podemos chegar? q0 b a q2 a q1 b a b qff Apsectos Teóricos da Computação 4/25
  • 5. Autômato Finito Determinístico Relembrando a aula passada ● ∑ = {a,b} ● Aaa, bbb, aaabb, bbbaaa, bbba são aceitos. ● Q = {q0, q1,q2,qf} ● Como podemos generalizar a linguagem que é aceita por esse autômato? ● F = qf Resp.: Toda string que começa ● δ dado pelo diagrama por a e tiver dois as é aceita e toda string que começa por b e abaixo. tiver dois bs é aceita. q0 b a q2 a q1 b a b qff Apsectos Teóricos da Computação 5/25
  • 6. Autômato Finito Não Determinístico ● O não determinismo é uma importante generalização dos modelos de máquinas, sendo de fundamental importância no estudo de modelos para concorrência, Teoria da Computação e das Linguagens Formais. ● O objetivo é a capacidade de reconhecer linguagens e de solucionar problemas. Apsectos Teóricos da Computação 6/25
  • 7. Autômato Finito Não Determinístico ● A facilidade de não determinismo para autômatos finitos é expressa no programa, que é uma função parcial tal que: Dependendo do estado corrente e do símbolo lido, determina um conjunto de estados do autômato. Apsectos Teóricos da Computação 7/25
  • 8. Autômato Finito Não Determinístico Um Autômato Finito Não Determinístico assume um conjunto de estados alternativos, como se houvesse uma multiplicação da unidade de controle, uma para cada alternativa, processando independentemente, sem compartilhar recursos com as demais. Assim, o processamento de um caminho não influi no estado, símbolo lido e posição da cabeça dos demais caminhos alternativos. Apsectos Teóricos da Computação 8/25
  • 9. Definição: Autômato Finito Não Determinístico Um Autômato Finito Não Determinístico, abreviado por AFN, é uma 5-upla ordenada: M = { ∑, Q, δ, q0, F} Onde: a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente, alfabeto de entrada; b) Q é o conjunto de estados possíveis do autômato o qual é finito; c) δ é uma função programa ou função de transição ou simplesmente programa: δ : Q x ∑ → 2Q a qual é uma função parcial. Supondo que a função programa é definida para um estado p e um símbolo a, resultando no conjunto de estados {q1,q2,q3,...,qn}, então: δ(p,a)={q1,q2,q3,...,qn} é uma transição do autômato; d) Q0 é um elemento distinguido de Q, denominado estado inicial; e) F é um subconjunto de Q, denominado conjunto de estados finais. Apsectos Teóricos da Computação 9/25
  • 10. Definição: Autômato Finito Não Determinístico ● Excetuando-se a função programa ou de transição, as componentes ∑, Q, q0, F são como na definição de autômato finito determinístico. ● A representação da função programa como um diagrama é análoga à do autômato finito determinístico. ● Assim, a representação diagramática de uma transição do tipo: δ(p,a)={q1,q2,q3,...,qn} Resulta em diversas arestas etiquetadas por a, com origem em p, e com destino em cada estado q1,q2,q3,...,qn . Apsectos Teóricos da Computação 10/25
  • 11. Autômato Finito Não Determinístico Representação Gráfica Estado Anterior p a Símbolo a a Lido q1 q2 ... qn Conjunto De novos Estados Repare que quando estamos no estado p e lemos o símbolo a podemos ir para q1, q2 ou qn. Essa é a razão do não determinismo. Apsectos Teóricos da Computação 11/25
  • 12. Autômato Finito Não Determinístico Analogamente ao autômato finito determinístico, a computação de um AFN, para uma palavra w, consiste na sucessiva aplicação da função programa para cada símbolo de w (da esquerda para a direita) até ocorrer uma condição de parada. Como cada transição do AFN resulta em um conjunto de estados, é necessário estender a definição da função programa, usando como argumento um conjunto finito de estados e uma palavra. Apsectos Teóricos da Computação 12/25
  • 13. Função Programa Estendida, Computação Seja M = { ∑, Q, δ, q0, F} um AFN. A função programa estendida ou computação de M, denotada por: δ*(P, ε) = P δ*(P, aw) = δ*(Uq є p δ(q,a),w) Portanto como já vimos a função programa estendida consiste na sucessiva aplicação da função programa a cada símbolo da palavra, a partir de um conjunto de estados. Observe que se a entrada for vazia o autômato fica parado nos estados correntes. Apsectos Teóricos da Computação 13/25
  • 14. Função Programa Estendida, Computação A transição estendida a um conjunto de estados é a união dos resultados da função programa aplicado a cada estado alternativo. δ*({q1,q2,q3,...,qn}, a) = δ(q1,a) U δ(q2,a) U δ(q3,a) U δ(q4,a)U ... U δ(qn,a) A parada do processamento de afn para uma entrada w pode ser de duas maneiras: a. Aceita a entrada w. Após processar o último símbolo da fita, existe pelo menos um estado final pertencente ao conjunto de estados alternativos atingidos; b. Rejeita a entrada w. São duas possibilidades * após processar o último símbolo da fita, todos os estados alternativos atingidos são não finais. * em algum momento ao longo do processamento de w, a função programa é indefinida para o argumento. Apsectos Teóricos da Computação 14/25
  • 15. Linguagem Aceita, Linguagem Rejeitada Seja M = { ∑, Q, δ, q0, F} um AFN. A Linguagem Aceita ou Linguagem Rejeitada por M, denotada por: ACEITA(M) ou L(M) é o conjunto de todas as palavras pertencentes a ∑* tais que existe pelo menos um caminho alternativo que aceita a palavra, a partir de {q0}, ou seja: ● ACEITA(M) = { w | δ*({q0},w) ∩ F ≠ Ø} Analogamente a Linguagem Rejeitada por M denotada por REJEITA(M) é o conjunto de todas as palavras pertencentes a ∑* rejeitadas por todos os caminhos alternativos de M, a partir de {q0}, ou seja: ● REJEITA(M) = { w | δ*({q0},w) ∩ F = Ø ou δ*({q0},w) é indefinida} Apsectos Teóricos da Computação 15/25
  • 16. Exemplo de AFN Considere a seguinte linguagem sobre o alfabeto {a,b}: L5 = {w | w possui aa ou bb como subpalavra} O autômato finito não-determinístico: M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } ) Onde δ5 é dada pela seguinte tabela: δ5 a b q0 {q0, q1} {q0, q2} q1 {qf} - q2 - {qf} qf {qf} {qf} Faça o diagrama desse autômato. 5 minutos. Apsectos Teóricos da Computação 16/25
  • 17. Exemplo de AFN Considere a seguinte linguagem sobre o alfabeto {a,b}: L5 = {w | w possui aa ou bb como subpalavra} O autômato finito não-determinístico: δ5 a b M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } ) q0 {q0, q1} {q0, q2} Onde δ5 é dada pela tabela ao lado: q1 {qf} - a,b q2 - {qf} q0 qf {qf} {qf} a b q1 q2 O algoritmo realiza uma varredura sobre a palavra de entrada. A cada ocorrência de a (respectivamente de b) uma alternativa é iniciada , para verificar se o a b símbolo seguinte também é a (respectivamente b). Assim existem três caminhos alternativos de qf processamento: O ciclo em q0 realiza a varredura em toda a entrada; a,b O caminho q0/q1/qf garante a ocorrência de aa; O caminho q0,q2,qf garante a ocorrência de bb. Apsectos Teóricos da Computação 17/25
  • 18. Exercício de AFN Considere a seguinte linguagem sobre o alfabeto {a,b}: L5 = {w | w possui aa ou bb como subpalavra} O autômato finito não-determinístico: M5 = ({a,b}, { q0, q1,q2,qf },δ5 ,q0,{qf } ) Onde δ5 é dada pela tabela ao lado: a,b Aplique o algoritmo ao lado para as seguintes q0 palavras: a b a. aaa b. aba q1 q2 c. abc d. bababb a b Qual é o estado final para cada caso? qf a,b Apsectos Teóricos da Computação 18/25
  • 19. Exemplo Considere a seguinte linguagem sobre o alfabeto {a,b}: L6 = {w | w possui aaa como sufixo} O autômato finito não determinístico: M6 = ({a,b}, { q0, q1,q2,qf },δ6 ,q0,{qf }) É tal que ACEITA(M6) = L6. q0 a q1 a q2 a qf a,b Apsectos Teóricos da Computação 19/25
  • 20. Exemplo aaa – q0 → q1 → q2 → qf Repare que não existem arcos para o símbolo b aab – q0 → q1 → q2 (indef) em q1, q2. Caso algum b seja lido ai o autômato fica indefinido e “morre”, aaab – q0 → q1 → q2 → qf isto é, acaba o processamento. Isso baa – q0 → q0 → q0 → q0 acontece mesmo que haja mais símbolos para serem abaaa – q0 → q1 (indef) lidos. q0 q1 a q2 a qf a a,b Apsectos Teóricos da Computação 20/25
  • 21. Exemplo Exemplo: abaixo temos um autômato que aceita todos os strings de 0’s e 1’s que terminam em 01 e somente eles. O estado q0 é o estado inicial, e podemos pensar que o autômato está nele até que “adivinhe” que o 01 final começou, É sempre possível que o próximo símbolo não inicie o 01 final, mesmo que esse símbolo seja 0. Desse modo, o estado q0 pode fazer uma transição para ele mesmo em 0 e em 1. Porém, se o próximo símbolo é 0, esse AFND também adivinha que o 01 final começou. Um arco identificado por 0 leva portanto de q0 a q1. Note que existem dois arcos rotulados como 0 saindo de q0. O AFND tem a opção de ir para q0 ou q1 e, de fato, ele segue os dois caminhos. No estado q1 o AFND verifica se o próximo símbolo é 1 e, nesse caso, vai para o estado q2 e aceita a entrada. Observe que não existe nenhum arco saindo de q1 rotulado com 0, e não existe nenhum arco saindo de q2. Nessas situações, o encadeamento no AFND correspondente a esses a estes estados simplesmente “morre”, embora outros encadeamentos possam continuar a existir. 0,1 q0 0 q1 1 qf Apsectos Teóricos da Computação 21/25
  • 22. Função de Transição Estendida Suponha a string de entrada 00101 para o autômato do nosso exemplo, teremos a seguinte função de transição estendida: δ(q0,00101) = δ(δ(q0,0),0101) = δ({q0,q1},0101) = δ(δ(q0,0) U δ(q1,0),101) = δ({q0,q1} U Ø,101) δ({q0,q1},101) = δ(δ(q0,1) U δ(q1,1),01) = δ({q0} U {q2},01) δ({q0,q2},01) = δ(δ(q0,0) U δ(q2,0),1) = δ({q0,q1} U Ø,1) δ({q0,q1},1) = δ(q0,1) U δ(q1,1) = {q0} U {q2} = {q0,q2} 0,1 q0 0 q1 1 qf Apsectos Teóricos da Computação 22/25
  • 23. Não Determinismo e Determinismo ● O não determinismo não aumento o poder computacional de um autômato. ● Para cada AFN é possível construir um AFD e vice versa. Apsectos Teóricos da Computação 23/25
  • 24. Para a Próxima Aula Ler as seções 3.1, 3.2 e 3.3 do livro texto. Apsectos Teóricos da Computação 24/25
  • 25. Exercícios ● Lista Apsectos Teóricos da Computação 25/25