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


Linguagens Formais e Autômatos

            Aula 4

    Linguagens Regulares
Notas de Aula
.




    Aspectos Teóricos da Computação   2/35
Linguagens Regulares
●   O estudo das linguagens regulares é abordado
    usando os seguintes formalismos:
    ➔   Autômato Finito. Trata-se d eum 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/35
Linguagens Regulares
 De acordo com a hierarquia de Chomsky, as
 linguagens regulares constituem a classe de
    linguagem mais simples, sendo possível
desenvolver algoritmos de reconhecimento, de
geração ou de conversão entre formalismos de
pouca complexidade, de grande eficiência e de
             fácil implementação.




               Aspectos Teóricos da Computação   4/35
Linguagens Regulares
Desvantagens:
  ●   Limitações de expressividade
Vantagens
  ●   Simplicidade
  ●   Algoritmos desenvolvidos para essas linguagens
      tem alta taxa de eficiência em tempo de
      processamento.
  ●   Consigo construir outras linguagens regulares a
      partir de uma existente.
  ●   Provar propriedades.
  ●   Construir algoritmos.

                     Aspectos Teóricos da Computação    5/35
Linguagens Regulares
Aplicação principal em Análise Léxica.
Análise léxica é o processo de analisar a entrada de linhas
de caracteres (tal como o código-fonte de um programa de
computador) e produzir uma sequência de símbolos
chamado "símbolos léxicos" (lexical tokens), ou somente
"símbolos" (tokens), que podem ser manipulados mais
facilmente por um parser (leitor de saída).
A Análise Léxica é a forma de verificar determinado alfabeto.
Quando analisamos uma palavra, podemos definir através da
análise léxica se existe ou não algum caracter que não faz
parte do nosso alfabeto, ou um alfabeto inventado por nós. O
analisador léxico é a primeira etapa de um compilador, logo
após virá a análise sintática.


                     Aspectos Teóricos da Computação          6/35
Linguagens Regulares
Para facilitar o estudo de Linguagens Regulares vamos
introduzir 2 conceitos:
●   Sistema de Estados Finitos.
●   Composição de sistemas.




                     Aspectos Teóricos da Computação    7/35
Sistema de Estados Finitos
Um sistema de estados finitos é um modelo
matemático de sistema com entradas e saídas
discretas. Pode assumir um número finito e
predefinido de estados.


Cada estado resume somente as informações do
passado necessárias para determinar ações para
a próxima entrada.




                Aspectos Teóricos da Computação   8/35
Sistema de Estados Finitos
●   Você consegue pensar um sistema de estados
    finitos.
    ●   5 minutos em grupo.




                     Aspectos Teóricos da Computação   9/35
Sistema de Estados Finitos
Exemplo: Elevador
●   É um sistema que não memoriza as
    requisições anteriores.
●   Cada estado sumariza as informações “andar
    corrente” e “direção do movimento”.
●   As entradas para o sistema são requisições
    pendentes.




                  Aspectos Teóricos da Computação   10/35
Sistema de Estados Finitos
Exemplo: Analisador Léxico e Processadores de
Texto
●   Cada estado memoriza a estrutura do prefixo
    da palavra em análise.




                  Aspectos Teóricos da Computação   11/35
Sistema de Estados Finitos
Contra-Exemplo: Cérebro Humano
●   Um neurônio pode ser representado por um
    número finito de bits.
●   O cérebro humano é composto por 2 35 células.
●   Portanto possível de representar por um
    número finito de estados.
●   Entretanto, o elevado número de combinações
    de células determina uma abordagem pouco
    eficiente em termos práticos.
●   Tal fenômeno é denominado explosão de
    estados.
                  Aspectos Teóricos da Computação   12/35
Composição Sequencial, Concorrente e
         Não Determinista
Um sistema em geral se constrói de maneira composicional , no sentido
em que sistemas novos são construídos a partir de sistemas
conhecidos. Dessa maneira fazendo uma desconstrução de sistemas
podemos chegar até o nível mais elementar.
Três formas de composição se destacam:
(a) Sequencial. A execução da próxima componente depende da
   terminação da componente anterior.
(b) Concorrente. Resulta em componentes independentes, no sentido
   em que a ordem em que são executadas não é importante, e,
   portanto podem ser processadas ao mesmo tempo.
(c) Não determinista. A próxima componente a ser executada é uma
   escolha entre diversas componentes alternativas. O não
   determinismo pode ser:
    •   Interno. O sistema escolhe aleatoriamente a próxima componente a ser
        executada.
    •   Externo. A escolha da próxima componente a ser executada é externa
        ao sistema.                                                      13/35
                           Aspectos Teóricos da Computação
Composição Sequencial, Concorrente e
         Não Determinista
Exemplo: Considere um universo de pessoas em um banco
●   Sequencial: em uma fila, o atendimento do próximo cliente depende
    do atendimento do cliente anterior, o pagamento de uma conta
    depende do fornecimento do valor.
●   Concorrente: os diversos caixas atendem independentemente
    diversos clientes; clientes nos caixas executam ações
    independentemente dos clientes que aguardam na fila.
●   Não-determinista: quando dois ou mais caixas ficam disponíveis ao
    mesmo tempo, o próximo cliente pode escolher em qual caixa será
    atendido; o simples caminhar de um indivíduo pode aleatoriamente
    iniciar com a perna esquerda ou direita.




                         Aspectos Teóricos da Computação           14/35
Composição Sequencial, Concorrente e
         Não Determinista
Focaremos na nossa disciplina a composição sequencial e não determinista.
A semântica não determinística adotada na disciplina é a usual para
Linguagens Formais e pode ser resumida como segue:
●   Considera o não determinismo interno;
●   Objetiva determinar a capacidade de reconhecer linguagens e de
    solucionar problemas.




                          Aspectos Teóricos da Computação               15/35
Autômato Finito
Autômato Finito é um sistema de estados finitos o
qual constitui um modelo computacional do tipo
sequencial muito comum em diversos estudos
teórico-formais da Computação e Informática,
com destaque para Linguagens Formais,
Compiladores, Semântica Formal e Modelos para
Concorrência.




                 Aspectos Teóricos da Computação   16/35
Autômato Finito
Um AF pode ser:
●   Determinístico: dependendo do estado corrente e do
    símbolo lido, o sistema pode assumir um único estado
    bem determinado;
●   Não determinístico: dependendo do estado corrente e do
    símbolo lido, o sistema pode assumir um conjunto de
    estados alternativos;
●   Como movimentos vazios: dependendo do estado
    corrente e sem ler qualquer símbolo, o sistema pode
    assumir um conjunto de estados (portanto é não
    determinístico). Movimentos vazios podem ser vistos
    como transições encapsuladas nas quais, excetuando-se
    por uma eventual mudança de estado, nada mais pode
    ser observado, de forma análoga à noção de
    encapsulação das linguagens orientadas a objetos.
                     Aspectos Teóricos da Computação       17/35
Autômato Finito
Autômato Determinístico, Não determinístico e Com
movimentos vazios são equivalentes em termos de poder
computacional.




                   Aspectos Teóricos da Computação      18/35
Autômato Finito
Composição:
a) Fita. Dispositivo de entrada que contém a informação a ser
   processada;
b) Unidade de Controle. Reflete o estado corrente da máquina.
   Possui uma unidade de leitura (cabeça da fita) a qual acessa
   uma célula da fita de cada vez e movimenta-se exclusivamente
   para a direita;
c) Programa, Função Programa ou Função de Transição. Função
   que comanda as leituras e define o estado da máquina.
A fita é finita e armazena um símbolo em cada célula. Os símbolos
pertencem a um alfabeto de entrada. Não é possível gravar sobre
a fita (e não existe memória auxiliar).
O programa é uma função parcial tal que: Dependendo do estado
corrente e do símbolo lido, determina o novo estado do autômato

                      Aspectos Teóricos da Computação           19/35
Autômato Finito



  a        a       b       c       c       b     a

Controle




               Aspectos Teóricos da Computação       20/35
Autômato Finito: Definição Formal
Um Autômato Finito Determinístico (AFD) ou simplesmente Automato Finito M é uma 5-
upla ordenada:

M = { ∑, Q, δ, q0, F}

Na qual:
 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 simplesmente programa, ou ainda função de
    transição:

              δ :Q x ∑ → Q
    a qual é uma função parcial. Supondo que a função programa é definida para um
estado p e um símbolo a, resultando no estado q, então:

              δ : (p,a) = q
    é 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.
                               Aspectos Teóricos da Computação                     21/35
Autômato Finito
Um AFD pode ser representado na forma de um diagrama no qual:
●   Estado são nodos, representados por círculos;
●   Transições são arestas, ligando os nodos correspondentes.
●   Estados iniciais e finais são representados de forma distinta dos demais.
●   Transições paralelas (mesmo nó de origem e destino) podem alternativamente ser
    representados com duas arestas apontando para o mesmo nodo ou uma aresta com
    os dois símbolos.


    Exemplos do livro página 47.




                               Aspectos Teóricos da Computação                  22/35
Autômato Finito Determinístico
Uma forma alternativa e muito comum de
representar uma função programa ou função de
transição é como uma tabela de dupla entrada.

               δ               a                     ...
               p               q                     ...
               q               ...                   ...


A tabela acima indica a transição do tipo δ(p,a) =
q.


                   Aspectos Teóricos da Computação         23/35
Autômato Finito Determinístico
A computação de AFD para uma palavra de
entrada 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.


Um AFD não possui memória de trabalho,
somente estados.




                 Aspectos Teóricos da Computação   24/35
Autômato Finito Determinístico
Exemplo 3.1 página 47.




                Aspectos Teóricos da Computação   25/35
Parada de um AFD
A parada do processamento de um AFD para
uma entrada w pode ser de duas maneiras:
a) Aceita a entrada w. Após processar o último
  símbolo da fita, o autômato finito assume um
  estado final;
b) Rejeita a entrada w. São duas possibilidades:
  ●   Após processar o último elemento da fita, o afd
      assume um estado não final.
  ●   Em algum momento, ao longo do processamento
      de w, a função programa é indefinida para o
      argumento (estado corrente e símbolo lido da fita).

                    Aspectos Teóricos da Computação     26/35
Função Programa ou Função de Transição
                  Estendida
Seja M = (∑, Q, δ,q0, F) um AFD. A função programa
estendida ou computação de M, denotada por:
              δ*:Q   x ∑* → Q
É a função programa δ :Q x ∑ → Q estendida para
palavras e é indutivamente definida como segue:
     δ*(q,ε   )=q
     δ*(q,aw)   = δ *(δ(q,a),w)


Portanto a função programa estendida consiste na
sucessiva aplicação da função programa para cada
símbolo da palavra, a partir de um dado estado. Se a
entrada for vazia o AFD continua no mesmo estado.
                        Aspectos Teóricos da Computação   27/35
Função Estendida
●   Exemplo 3.2 da página 50.




                  Aspectos Teóricos da Computação   28/35
Linguagem Aceita, Linguagem Rejeitada
Seja M = (∑, Q, δ,q0, F) um AFD. A Linguagem Aceita ou Linguagem
Reconhecida por M, denotada por:
          ACEITA(M) ou L(M)
é o conjunto de todas as palavras pertencentes a ∑* aceitas por M, a
partir do estado inicial qo , ou seja:

       L(M) = 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 M, a
partir do estado inicial q0, ou seja:

       REJEITA(M) = {w | δ*(q0,w) ∉F ou δ*(q0,w) é indefinida}



                         Aspectos Teóricos da Computação               29/35
Linguagem Aceita, Linguagem Rejeitada
Supondo que ∑* é o conjunto universo, as
seguintes afirmações são verdadeiras.
ACEITA(M) ∩ REJEITA(M) = Ø
ACEITA(M) U REJEITA(M) = ∑*
~ACEITA(M) = REJEITA(M)
~REJEITA(M) = ACEITA(M)
                         ∑*


         ACEITA(M)              REJEITA(M)




                     Aspectos Teóricos da Computação   30/35
Autômatos Finitos Equivalentes
Diferentes autômatos finitos podem aceitar a
mesma linguagem.
Dois autômatos finitos M1 e M2 são ditos
Autômatos Finitos Equivalentes se e somente se:
       ACEITA(M1) = ACEITA(M2)




                 Aspectos Teóricos da Computação   31/35
Linguagem Regular
Uma linguagem L é dita uma Linguagem Regular
ou Linguagem Tipo 3 se existe pelos menos um
autômato finito determinístico que aceita L.




               Aspectos Teóricos da Computação   32/35
Linguagem Regular
●   Exemplo 3.3 da página 51.
●   Exemplo 3.4 da página 52.




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




                 Aspectos Teóricos da Computação   34/35
Exercícios
1. Dado o autômato abaixo determine M = (∑, Q, δ,q0, F)

                     b
                q0       a        q1      c       qf

2. Desenvolva autômatos finitos determinísticos que reconheçam as seguintes
   linguagens sobre ∑ ={a,b}:
     a) {w | w possui aaa como subpalavra}
     b) {w | o sufixo de w é aa}
     c) {w | w possui número impar de a e número ímpar de b}
     d) {w | w possui número par de a e número ímpar de b ou w possui
        número par de b e ímpar de a}
     e) {w | o quinto símbolo da direita para a esquerda de w é a}
3. Pense na seguinte afirmação: “Um autômato finito sempre pára.” Analise se
   ela é verdadeira ou falsa. Se verdadeira justifique. Se falsa dê um contra-
   exemplo.




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

Mais conteúdo relacionado

Mais procurados

Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
Daniel Moura
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
Carlos Melo
 

Mais procurados (20)

Curso básico de informática
Curso básico de informáticaCurso básico de informática
Curso básico de informática
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 
Aula 5 bios
Aula 5 biosAula 5 bios
Aula 5 bios
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Aula 06 setup pc
Aula 06   setup pcAula 06   setup pc
Aula 06 setup pc
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivos
 
CEF: Modelo OSI
CEF: Modelo OSICEF: Modelo OSI
CEF: Modelo OSI
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
 
Memórias
MemóriasMemórias
Memórias
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Placa mãe
Placa mãePlaca mãe
Placa mãe
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadores
 
CON08 - VLAN.pdf
CON08 - VLAN.pdfCON08 - VLAN.pdf
CON08 - VLAN.pdf
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 

Destaque

Apresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzoliniApresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzolini
Renata Budri
 
20140731115819495
2014073111581949520140731115819495
20140731115819495
Juan Ramos
 
Presentation3 presentation-2
Presentation3 presentation-2Presentation3 presentation-2
Presentation3 presentation-2
sumandaspersonal
 
Psychology - Postgraduate Library Induction 2011
Psychology -  Postgraduate Library Induction 2011Psychology -  Postgraduate Library Induction 2011
Psychology - Postgraduate Library Induction 2011
SHewlett
 
Nicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - CoorimbatáNicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - Coorimbatá
Unomarketing
 

Destaque (20)

Apresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzoliniApresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzolini
 
Propostas feias de Paulo Esperança
Propostas feias de Paulo EsperançaPropostas feias de Paulo Esperança
Propostas feias de Paulo Esperança
 
20140731115819495
2014073111581949520140731115819495
20140731115819495
 
Resenha cris grupo
Resenha cris grupoResenha cris grupo
Resenha cris grupo
 
Prova 2 eso
Prova 2 esoProva 2 eso
Prova 2 eso
 
Segunda edição do curso Planejamento de Marketing Digital na Construção Civil
Segunda edição do curso Planejamento de Marketing Digital na Construção CivilSegunda edição do curso Planejamento de Marketing Digital na Construção Civil
Segunda edição do curso Planejamento de Marketing Digital na Construção Civil
 
El presupuesto para 2015
El presupuesto para 2015El presupuesto para 2015
El presupuesto para 2015
 
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
 
Presentation3 presentation-2
Presentation3 presentation-2Presentation3 presentation-2
Presentation3 presentation-2
 
TURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICOTURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICO
 
Curso de inglés bbc english 87
Curso de inglés bbc english 87Curso de inglés bbc english 87
Curso de inglés bbc english 87
 
Jogo figuras, numeros, quantidades a4
Jogo figuras, numeros, quantidades a4Jogo figuras, numeros, quantidades a4
Jogo figuras, numeros, quantidades a4
 
Semen disponible
Semen disponibleSemen disponible
Semen disponible
 
Psychology - Postgraduate Library Induction 2011
Psychology -  Postgraduate Library Induction 2011Psychology -  Postgraduate Library Induction 2011
Psychology - Postgraduate Library Induction 2011
 
Internet
InternetInternet
Internet
 
Tutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESTutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADES
 
Pic 13
Pic 13Pic 13
Pic 13
 
Bani Ummayah_ Pend.Islam Tingkatan 4
Bani Ummayah_ Pend.Islam Tingkatan 4Bani Ummayah_ Pend.Islam Tingkatan 4
Bani Ummayah_ Pend.Islam Tingkatan 4
 
Nicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - CoorimbatáNicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - Coorimbatá
 
Est2 acoso sexual
Est2   acoso sexualEst2   acoso sexual
Est2 acoso sexual
 

Semelhante a Aula 4 linguagens regularese automatosfinitosdeterministicos

Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
slashmelhor
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
Dafmet Ufpel
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
Naldo Falaschi
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
starley lobo
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
AlbertoVach
 

Semelhante a Aula 4 linguagens regularese automatosfinitosdeterministicos (20)

Autômatos
AutômatosAutômatos
Autômatos
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básica
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula02
Aula02Aula02
Aula02
 
Aula apontadores
Aula apontadoresAula apontadores
Aula apontadores
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
02 algoritmos
02 algoritmos02 algoritmos
02 algoritmos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
03 linguagens regulares
03   linguagens regulares03   linguagens regulares
03 linguagens regulares
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 

Mais de wab030

Hp0061
Hp0061Hp0061
Hp0061
wab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
wab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
wab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
wab030
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
wab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
wab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
wab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
wab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
wab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
wab030
 

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 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
 

Último

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
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
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
Autonoma
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 

Último (20)

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...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
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 de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
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
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
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
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
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
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
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çã...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
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
 

Aula 4 linguagens regularese automatosfinitosdeterministicos

  • 1. Curso: Ciência da Computação Linguagens Formais e Autômatos Aula 4 Linguagens Regulares
  • 2. Notas de Aula . Aspectos Teóricos da Computação 2/35
  • 3. Linguagens Regulares ● O estudo das linguagens regulares é abordado usando os seguintes formalismos: ➔ Autômato Finito. Trata-se d eum 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/35
  • 4. Linguagens Regulares De acordo com a hierarquia de Chomsky, as linguagens regulares constituem a classe de linguagem mais simples, sendo possível desenvolver algoritmos de reconhecimento, de geração ou de conversão entre formalismos de pouca complexidade, de grande eficiência e de fácil implementação. Aspectos Teóricos da Computação 4/35
  • 5. Linguagens Regulares Desvantagens: ● Limitações de expressividade Vantagens ● Simplicidade ● Algoritmos desenvolvidos para essas linguagens tem alta taxa de eficiência em tempo de processamento. ● Consigo construir outras linguagens regulares a partir de uma existente. ● Provar propriedades. ● Construir algoritmos. Aspectos Teóricos da Computação 5/35
  • 6. Linguagens Regulares Aplicação principal em Análise Léxica. Análise léxica é o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma sequência de símbolos chamado "símbolos léxicos" (lexical tokens), ou somente "símbolos" (tokens), que podem ser manipulados mais facilmente por um parser (leitor de saída). A Análise Léxica é a forma de verificar determinado alfabeto. Quando analisamos uma palavra, podemos definir através da análise léxica se existe ou não algum caracter que não faz parte do nosso alfabeto, ou um alfabeto inventado por nós. O analisador léxico é a primeira etapa de um compilador, logo após virá a análise sintática. Aspectos Teóricos da Computação 6/35
  • 7. Linguagens Regulares Para facilitar o estudo de Linguagens Regulares vamos introduzir 2 conceitos: ● Sistema de Estados Finitos. ● Composição de sistemas. Aspectos Teóricos da Computação 7/35
  • 8. Sistema de Estados Finitos Um sistema de estados finitos é um modelo matemático de sistema com entradas e saídas discretas. Pode assumir um número finito e predefinido de estados. Cada estado resume somente as informações do passado necessárias para determinar ações para a próxima entrada. Aspectos Teóricos da Computação 8/35
  • 9. Sistema de Estados Finitos ● Você consegue pensar um sistema de estados finitos. ● 5 minutos em grupo. Aspectos Teóricos da Computação 9/35
  • 10. Sistema de Estados Finitos Exemplo: Elevador ● É um sistema que não memoriza as requisições anteriores. ● Cada estado sumariza as informações “andar corrente” e “direção do movimento”. ● As entradas para o sistema são requisições pendentes. Aspectos Teóricos da Computação 10/35
  • 11. Sistema de Estados Finitos Exemplo: Analisador Léxico e Processadores de Texto ● Cada estado memoriza a estrutura do prefixo da palavra em análise. Aspectos Teóricos da Computação 11/35
  • 12. Sistema de Estados Finitos Contra-Exemplo: Cérebro Humano ● Um neurônio pode ser representado por um número finito de bits. ● O cérebro humano é composto por 2 35 células. ● Portanto possível de representar por um número finito de estados. ● Entretanto, o elevado número de combinações de células determina uma abordagem pouco eficiente em termos práticos. ● Tal fenômeno é denominado explosão de estados. Aspectos Teóricos da Computação 12/35
  • 13. Composição Sequencial, Concorrente e Não Determinista Um sistema em geral se constrói de maneira composicional , no sentido em que sistemas novos são construídos a partir de sistemas conhecidos. Dessa maneira fazendo uma desconstrução de sistemas podemos chegar até o nível mais elementar. Três formas de composição se destacam: (a) Sequencial. A execução da próxima componente depende da terminação da componente anterior. (b) Concorrente. Resulta em componentes independentes, no sentido em que a ordem em que são executadas não é importante, e, portanto podem ser processadas ao mesmo tempo. (c) Não determinista. A próxima componente a ser executada é uma escolha entre diversas componentes alternativas. O não determinismo pode ser: • Interno. O sistema escolhe aleatoriamente a próxima componente a ser executada. • Externo. A escolha da próxima componente a ser executada é externa ao sistema. 13/35 Aspectos Teóricos da Computação
  • 14. Composição Sequencial, Concorrente e Não Determinista Exemplo: Considere um universo de pessoas em um banco ● Sequencial: em uma fila, o atendimento do próximo cliente depende do atendimento do cliente anterior, o pagamento de uma conta depende do fornecimento do valor. ● Concorrente: os diversos caixas atendem independentemente diversos clientes; clientes nos caixas executam ações independentemente dos clientes que aguardam na fila. ● Não-determinista: quando dois ou mais caixas ficam disponíveis ao mesmo tempo, o próximo cliente pode escolher em qual caixa será atendido; o simples caminhar de um indivíduo pode aleatoriamente iniciar com a perna esquerda ou direita. Aspectos Teóricos da Computação 14/35
  • 15. Composição Sequencial, Concorrente e Não Determinista Focaremos na nossa disciplina a composição sequencial e não determinista. A semântica não determinística adotada na disciplina é a usual para Linguagens Formais e pode ser resumida como segue: ● Considera o não determinismo interno; ● Objetiva determinar a capacidade de reconhecer linguagens e de solucionar problemas. Aspectos Teóricos da Computação 15/35
  • 16. Autômato Finito Autômato Finito é um sistema de estados finitos o qual constitui um modelo computacional do tipo sequencial muito comum em diversos estudos teórico-formais da Computação e Informática, com destaque para Linguagens Formais, Compiladores, Semântica Formal e Modelos para Concorrência. Aspectos Teóricos da Computação 16/35
  • 17. Autômato Finito Um AF pode ser: ● Determinístico: dependendo do estado corrente e do símbolo lido, o sistema pode assumir um único estado bem determinado; ● Não determinístico: dependendo do estado corrente e do símbolo lido, o sistema pode assumir um conjunto de estados alternativos; ● Como movimentos vazios: dependendo do estado corrente e sem ler qualquer símbolo, o sistema pode assumir um conjunto de estados (portanto é não determinístico). Movimentos vazios podem ser vistos como transições encapsuladas nas quais, excetuando-se por uma eventual mudança de estado, nada mais pode ser observado, de forma análoga à noção de encapsulação das linguagens orientadas a objetos. Aspectos Teóricos da Computação 17/35
  • 18. Autômato Finito Autômato Determinístico, Não determinístico e Com movimentos vazios são equivalentes em termos de poder computacional. Aspectos Teóricos da Computação 18/35
  • 19. Autômato Finito Composição: a) Fita. Dispositivo de entrada que contém a informação a ser processada; b) Unidade de Controle. Reflete o estado corrente da máquina. Possui uma unidade de leitura (cabeça da fita) a qual acessa uma célula da fita de cada vez e movimenta-se exclusivamente para a direita; c) Programa, Função Programa ou Função de Transição. Função que comanda as leituras e define o estado da máquina. A fita é finita e armazena um símbolo em cada célula. Os símbolos pertencem a um alfabeto de entrada. Não é possível gravar sobre a fita (e não existe memória auxiliar). O programa é uma função parcial tal que: Dependendo do estado corrente e do símbolo lido, determina o novo estado do autômato Aspectos Teóricos da Computação 19/35
  • 20. Autômato Finito a a b c c b a Controle Aspectos Teóricos da Computação 20/35
  • 21. Autômato Finito: Definição Formal Um Autômato Finito Determinístico (AFD) ou simplesmente Automato Finito M é uma 5- upla ordenada: M = { ∑, Q, δ, q0, F} Na qual: 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 simplesmente programa, ou ainda função de transição: δ :Q x ∑ → Q a qual é uma função parcial. Supondo que a função programa é definida para um estado p e um símbolo a, resultando no estado q, então: δ : (p,a) = q é 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. Aspectos Teóricos da Computação 21/35
  • 22. Autômato Finito Um AFD pode ser representado na forma de um diagrama no qual: ● Estado são nodos, representados por círculos; ● Transições são arestas, ligando os nodos correspondentes. ● Estados iniciais e finais são representados de forma distinta dos demais. ● Transições paralelas (mesmo nó de origem e destino) podem alternativamente ser representados com duas arestas apontando para o mesmo nodo ou uma aresta com os dois símbolos. Exemplos do livro página 47. Aspectos Teóricos da Computação 22/35
  • 23. Autômato Finito Determinístico Uma forma alternativa e muito comum de representar uma função programa ou função de transição é como uma tabela de dupla entrada. δ a ... p q ... q ... ... A tabela acima indica a transição do tipo δ(p,a) = q. Aspectos Teóricos da Computação 23/35
  • 24. Autômato Finito Determinístico A computação de AFD para uma palavra de entrada 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. Um AFD não possui memória de trabalho, somente estados. Aspectos Teóricos da Computação 24/35
  • 25. Autômato Finito Determinístico Exemplo 3.1 página 47. Aspectos Teóricos da Computação 25/35
  • 26. Parada de um AFD A parada do processamento de um AFD para uma entrada w pode ser de duas maneiras: a) Aceita a entrada w. Após processar o último símbolo da fita, o autômato finito assume um estado final; b) Rejeita a entrada w. São duas possibilidades: ● Após processar o último elemento da fita, o afd assume um estado não final. ● Em algum momento, ao longo do processamento de w, a função programa é indefinida para o argumento (estado corrente e símbolo lido da fita). Aspectos Teóricos da Computação 26/35
  • 27. Função Programa ou Função de Transição Estendida Seja M = (∑, Q, δ,q0, F) um AFD. A função programa estendida ou computação de M, denotada por: δ*:Q x ∑* → Q É a função programa δ :Q x ∑ → Q estendida para palavras e é indutivamente definida como segue: δ*(q,ε )=q δ*(q,aw) = δ *(δ(q,a),w) Portanto a função programa estendida consiste na sucessiva aplicação da função programa para cada símbolo da palavra, a partir de um dado estado. Se a entrada for vazia o AFD continua no mesmo estado. Aspectos Teóricos da Computação 27/35
  • 28. Função Estendida ● Exemplo 3.2 da página 50. Aspectos Teóricos da Computação 28/35
  • 29. Linguagem Aceita, Linguagem Rejeitada Seja M = (∑, Q, δ,q0, F) um AFD. A Linguagem Aceita ou Linguagem Reconhecida por M, denotada por: ACEITA(M) ou L(M) é o conjunto de todas as palavras pertencentes a ∑* aceitas por M, a partir do estado inicial qo , ou seja: L(M) = 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 M, a partir do estado inicial q0, ou seja: REJEITA(M) = {w | δ*(q0,w) ∉F ou δ*(q0,w) é indefinida} Aspectos Teóricos da Computação 29/35
  • 30. Linguagem Aceita, Linguagem Rejeitada Supondo que ∑* é o conjunto universo, as seguintes afirmações são verdadeiras. ACEITA(M) ∩ REJEITA(M) = Ø ACEITA(M) U REJEITA(M) = ∑* ~ACEITA(M) = REJEITA(M) ~REJEITA(M) = ACEITA(M) ∑* ACEITA(M) REJEITA(M) Aspectos Teóricos da Computação 30/35
  • 31. Autômatos Finitos Equivalentes Diferentes autômatos finitos podem aceitar a mesma linguagem. Dois autômatos finitos M1 e M2 são ditos Autômatos Finitos Equivalentes se e somente se: ACEITA(M1) = ACEITA(M2) Aspectos Teóricos da Computação 31/35
  • 32. Linguagem Regular Uma linguagem L é dita uma Linguagem Regular ou Linguagem Tipo 3 se existe pelos menos um autômato finito determinístico que aceita L. Aspectos Teóricos da Computação 32/35
  • 33. Linguagem Regular ● Exemplo 3.3 da página 51. ● Exemplo 3.4 da página 52. Aspectos Teóricos da Computação 33/35
  • 34. Para a Próxima Aula Ler as seções 3.1, 3.2 e 3.3 do livro texto. Aspectos Teóricos da Computação 34/35
  • 35. Exercícios 1. Dado o autômato abaixo determine M = (∑, Q, δ,q0, F) b q0 a q1 c qf 2. Desenvolva autômatos finitos determinísticos que reconheçam as seguintes linguagens sobre ∑ ={a,b}: a) {w | w possui aaa como subpalavra} b) {w | o sufixo de w é aa} c) {w | w possui número impar de a e número ímpar de b} d) {w | w possui número par de a e número ímpar de b ou w possui número par de b e ímpar de a} e) {w | o quinto símbolo da direita para a esquerda de w é a} 3. Pense na seguinte afirmação: “Um autômato finito sempre pára.” Analise se ela é verdadeira ou falsa. Se verdadeira justifique. Se falsa dê um contra- exemplo. Aspectos Teóricos da Computação 35/35