linguagens formais e automatos- prof. gerson neto

Upload: ralph-angeli

Post on 02-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    1/61

    Linguagens Formais eAutmatos

    Prof. Me. Eng. Comp. Gerson Neto

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    2/61

    Objetivos:

    O objetivo dessa aula apresentar adisciplinas, sua ementa, competncias,habilidades, contedo e apresentar oprofessor.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    3/61

    Roteiro Professor

    Disciplina

    Formas deAvaliao

    Bibliografia

    Currculo

    FormaoAcadmica

    DadosEmentaObjetivosContedo

    ProvasTrabalhos

    Clculo da Mdia

    Critrio de Aprovao

    Livros

    SitesCompetncias

    Habilidades

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    4/61

    Apresentao do Professor.

    Belm do Pargoogle.com

    O melhor time do

    Brasil, na segundadiviso !!

    No, eu no sou Carioca !! No, eu no sou Baiano !!Graduado em Engenharia da Computao:

    Universidade Federal do Par - UFPAMestre em Computao Aplicada:Instituto Nacional de Pesquisas Espaciais - INPEPesquisador da Microsoft Research INPE/FAPESPNo mercado:Analista DesenvolvedorEmpresrio: Ramo de desenvolvimentos de sistemas

    (ERP) para MEI, ME e EPP.

    Email:

    [email protected]

    google.com

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    5/61

    Apresentao da Disciplina.

    Linguagens formais e autmatos

    Cursos Bacharelado em Cincia da Computao

    Turno Noturno

    Campi So Jos dos Campos: Unidade Esplanada

    CargaHorria 80h/Tericas

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    6/61

    Apresentao da Disciplina.

    Ementa:Introduo s Linguagens Formais eaos Autmatos.

    Linguagens regulares, Livres de contexto

    e sensveis ao contexto.Sistema de estados finitos.

    Expresses regulares e reconhecedores.

    rvores de derivao.Simplificao de autmatos.

    Decidibilidade e Computabilidade.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    7/61

    Apresentao da Disciplina.

    Ementa:Matria clssica na rea da computao, no temcomo foco a empregabilidade do aluno recm-formado. O objetivo darslidaformaoterica

    para que a medida que o tempo passe, o alunopossa se renovare se mantercompetitivo nomercadodetrabalho por mais tempo.

    O investimento no aprendizado dos fundamentos

    dacomputao significa a garantiadesuprimentode futuros bonsprofissionais para a rea, assimcomo do desenvolvimento de boas e novastecnologias e produtos.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    8/61

    Apresentao da Disciplina.

    Objetivos:

    Compreender a aplicao das linguagensregulares.

    Competncias:

    Identificar as diferenas entre as linguagenslivres de contexto e sensveis ao contexto.

    Conhecer os aspectos relacionados adecidibilidade e computabilidade.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    9/61

    Apresentao da Disciplina.

    Objetivos:

    Aplicar os formalismos estudados resoluode problemas de natureza computacional.

    Habilidades:

    Aplicar os formalismos estudados

    construo de softwares.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    10/61

    Apresentao da Disciplina.

    Contedo:Introduo s Linguagens Formais e aos

    Autmatos. Alfabetos, palavras e linguagens.

    Linguagens Regulares. Sistemas de estados

    finitos. Expresses regulares.Autmato finito (AFD). Autmato no-determinstico.Autmato com movimentos vazios. Expresses egramticas regulares.

    Gramticas Livres de Contexto (GLC). rvores dederivao. Simplificao e formas normais de GLC.Recurso esquerda. Autmato de Pilha.Propriedades e reconhecimento das Linguagens

    Livres de Contexto (LLC).

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    11/61

    Apresentao da Disciplina.

    Contedo:

    Linguagens sensveis ao contexto. Mquinasde Turing.

    Decidibilidade e Computabilidade.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    12/61

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    13/61

    Bibliografia.

    MENEZES, P. B. Linguagens Formais e Automatos. Porto Alegre:Bookman, 2010.

    RAMOS, M. V. M., NETO, J. J., VEGA, I. S. Linguagens Formais.Porto Alegre: Bookman, 2009.

    NOVAIS, J.M. de A. Programacao de Automatos. Portugal: CalousteGulbenkian,2008.

    FRANCISCO, A. Autmatos Programveis. Portugal: Lidel, 2007.

    DIVERIO, T. A., MENEZES, P.B. Teoria da Computao MquinasUniversais e Computabilidade. Porto Alegre: Bookman, 2008. 220p.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    14/61

    Perguntas.

    Breve nos cinemas.Chapolin Begins.

    google.com

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    15/61

    Linguagens Formais eAutmatos

    Prof. Me. Eng. Comp. Gerson Neto

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    16/61

    Objetivos:

    O objetivo dessa aula apresentar oconceito de linguagem formal. O que sintaxe e o que semntica. Definir oque alfabeto, palavra e linguagem.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    17/61

    O que faz um cientista da

    computao?Desenvolvimento de sistemas.

    Desenvolvimento de software para finsespecficos. Ex: Sistemas embarcados.

    Resoluo de problemas via computao (uso desoftware e/ou hardware).

    Muitos cintistas da computao trabalhamcom desenvolvimento de sistemas.

    Muitos cintistas da computao trabalhamcom desenvolvimento de sistemas especficos.

    No fim o que todos os cintistas fazem procurar uma soluo para algum tipo de

    problema ou demanda.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    18/61

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    19/61

    Linguagens Formais.

    Sintaxe:

    A sintaxe refere-se a gramtica dalinguagem de programao. A forma de

    como se escreve o cdigo.

    Diferentes formas de declarar umaString em C e em Java.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    20/61

    Linguagens Formais.

    Semntica:

    A semntica refere-se ao significado dobloco de cdigo. A forma de como se

    escreve o cdigo para que o compiladorentenda o que se deseja exatamente.

    Diferentes formas de declarar umaString em C.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    21/61

    Linguagens Formais.

    Erros de sintaxe:

    Esse cdigo apresenta um erro de

    sintaxe. Por esse motivo o compiladordispara uma Exceo.

    Tentativa de se atribuir um valor do tipoString para uma varivel do tipo int.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    22/61

    Linguagens Formais.

    Erros de semntica:

    Sintaticamente o cdigo est correto, mas adiviso no retorna o valor exato.

    Qual o valor da varivelj?

    O compilador no interpreta erros de lgicacomo uma falha. Por isso erros de semnticaso difceis de serem identificados

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    23/61

    Definies.

    Linguagem:

    O uso da palavra articulada ou escrita como

    meio de expresso e comunicao entrepessoas.

    O Dicionrio Aurlio define linguagem como:

    Forma de comunicao.

    Um conjunto de elementos (smbolos) e um

    conjunto de mtodos (regras) para combinar esteselementos, usado e entendido por umadeterminada comunidade.Exemplos: linguagens naturais (idiomas),linguagens de programao, protocolos decomunicao.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    24/61

    Definies.

    Alfabeto:

    Letras e digitos so exemplos de smbolosfreqentemente usados.

    Um alfabeto um conjunto finito de smbolos oucaracteres.

    Um conjunto infito no um alfabeto.Um conjunto vazio no um alfabeto.

    Ex: {a,b,c}

    Ex: {0,1}

    Ex: {!,@,$}

    No estudo de autmatos elinguagens formais umaalfabeto representadopela letra .

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    25/61

    Definies.

    Palavra:Uma palavra uma cadeia de caracteresoriginada a partir de um alfabeto.

    Alfabeto:

    = {0,1}.

    = {a,b,c,...,z}.

    Palavra:

    0001010

    casa

    Pode ser entendida tambm como umaseqncia de smbolos do alfabeto justapostos.

    = { a, b, c, ..., z}.w = casa

    v = formatura

    = { i, f, ( , ) }.n = if()

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    26/61

    Concatenao de palavras.

    Concatenao:

    uma operao associativa, definida sobre umconjunto de palavras, a qual associa a cada parde palavras uma palavranova formada pela

    justaposio da primeira com a segunda.

    Suponha o alfabeto: = {a,b}

    Suponha as palavras:w = abba

    v = aabbConcatenao das palavras:

    wv = abbaaabb vw = aabbabba

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    27/61

    Concatenao de palavras.

    Concatenao sucessiva:

    Consiste de sucessivas concatenaes damesma palavra ou smbolo. Podem ser tratadasatravs da notao exponencial. Ex:

    Suponha o alfabeto: = {a,b}

    Suponha as palavras:w = abba

    v = aabb

    Concatenao sucessiva das palavras:

    w = abba

    nw

    ww = abbaabbawww = abbaabbaabba

    1w

    2w

    3w

    0wCadeia vazia:

    Representada por:

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    28/61

    Perguntas

    vidadeprogramador.com.br

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    29/61

    Linguagens Formais eAutmatos

    Prof. Me. Eng. Comp. Gerson Neto

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    30/61

    Objetivos:

    O objetivo dessa aula apresentar a teoriabsica de conjuntos. Introduo aosformalismos Operacional, Axiomtico eDenotacional. Introduo a autmatos finitosdeterministicos e no-deterministicos.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    31/61

    Teoria de conjuntos

    Conjunto uma coleo ou classe de objetos,tambm chamados de elementos ou membros.

    A notao de pertinncia serve para indicar queum elemento x pertence a um conjunto A e

    denotado por: x A

    Ex:

    A = { 1,2,3,4 } B = { %,#,$,@ }

    Ex:1 A

    2 A

    $ B

    @ B

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    32/61

    Teoria de conjuntos

    Conjunto vazio o conjunto que no possuinenhum elemento.

    Ex:

    A = { } B =

    A seguinte notao para conjunto vazio considerada matematicamente errada:A = {}.

    Um conjunto no possui ordenao portanto osseguintes conjuntos so iguais:

    {1,2,3} = {2,1,3} = {3,2,1}

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    33/61

    Teoria de conjuntos

    Conjuntos podem serfinitos ou infinitos. Conjuntofinito aquele que possui um nmero finito deelementos. O cojunto infinito possui um nmeroinfinito de elementos.

    Exemplo de conjuntos finitos:A = { 1,2,3,4 } B = { %,#,$,@ }

    Conjuntos finitos e infinitos podem ser denotados

    por uma propriedade. Todos os elementos doconjunto devem se encaixar na propriedade.Exemplo de um conjunto infinitos e finitorespectivamente:

    A = { x / x R} B = {x / x = 2n +1, n N }

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    34/61

    Teoria de conjuntos

    Existem algumas propriedades aplicadas sobreconjuntos.

    Propriedade de unio:

    A = { 1,2,3,4 } B = { %,#,$,@ }

    A U B = {1,2,3,4,%,#,$,@}

    Os elementos em comum de dois conjuntos no serepetem quando aplicada a propriedade de unio:

    A = { 1,2,3,4 } B = {3,4,5,6}

    A U B = {1,2,3,4,5,6}

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    35/61

    Teoria de conjuntos

    Algumas unies que merecem ateno.

    A U A = A

    (A U B) U C = A U (B U C)

    A U = A

    A disposio dos conjuntos na unio no altera oresultado.

    A U B = B U A

    A propriedade de unio tambm associativa.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    36/61

    Teoria de conjuntos

    Propriedade de interseo:Consiste em encontrar os elementos que somomuns em dois ou mais conjuntos:

    A = { 1,2,3,4 } B = {3,4,5,6}A B = {3,4}

    Algumas intersees merecem ateno:

    A A = A A = A B = B A

    (A B) C = A (B C)

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    37/61

    Teoria de conjuntos

    Propriedade de distributividade:

    Consiste em distribuir uma unio por umainterseo formando duas unies por uma interso

    A U (B C) = (A U B) (A U C)

    A (B U C) = (A B) U (A C)

    Ou ainda em distribuir uma interseo por uma

    unio formando duas intersees por uma unio:

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    38/61

    Teoria de conjuntos

    Propriedade de diferena:

    A diferena entre um conjuntoA e um conjunto Bconsiste dos elementos de A que no fazem parte

    de B:A = { 1,2,3,4 } B = {3,4,5,6}

    A - B = {1,2}

    Algumas diferenas merecem ateno:A - = A

    - A =

    A - A =

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    39/61

    Perguntas

    vidadeprogramador.com.br

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    40/61

    Formalismos

    Formalismo Operacional:Autmato ou mquina abstrata:

    Formados por estados.

    Instrues primitivas.

    Especificao de como cada instruo alteracada estado.Suficientemente simples para no permitirdvidas sobre o seu funcionamento.

    Considerado o formalismo reconhecedor: faz aanlise de uma entrada para verificar se aceitaou reconhecida. Suas principais mquinas so:

    Autmato finito.

    Autmato de pilha.

    Mquina de Turing.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    41/61

    Formalismos

    Formalismo Axiomtico:Gramtica:

    Especifica um conjunto de smbolos vlidos auma linguagem.

    Associa regras s componentes da linguagem.As regras de uma gramtica tem o objetivo deconsiderar o que ser verdadeiro aps aocorrncia de uma clusula e o que era verdadeiro

    da ocorrncia. considerado o formalismogerador. Suas principais gramticas so:

    Regulares

    Livres de Contexto

    Sensveis ao Contexto

    Irrestritas

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    42/61

    Formalismos

    Formalismo Denotacional:

    Expresses Regulares:

    Definio de um domnio que caracteriza umconjunto de palavras admissveis na linguagem.

    Formado por funes composicionais cujo valor donotado por uma construo.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    43/61

    Hierarquia de Chomsky

    Linguagem Recursivamente Enumerveis, Tipo 0

    Linguagem Sensveis ao Contexto, Tipo 1

    Linguagem Livres de Contexto, Tipo 2Linguagem Regulares, Tipo 3

    Tipo 0

    Tipo 1

    Tipo 2

    Tipo 3

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    44/61

    Sistema de estados Finitos

    Modelo matemtico de sistemas com entradas esadas discretas.

    Devem assumir o nmero finito ou pr-determinadode estados.

    Cada estado resume somente as informaes dopassado necessrias para determinar aes para aprxima entrada.

    Ex:

    Carros. Elevadores.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    45/61

    Autmato Finito DeterminsticoMquina composta por trs elementos.

    Fita: despositivo de entrada com informaopara processamento. A fita dividida emclulas com smbolos. lida sempre em umnico sentido.

    Unidade de controle: Reflete o estado atualem que se encontra a mquina e acessa umaclula da fita por vez.Funo de transio: Funo que comanda as

    leituras e define o estado da mquina.a b b b a a b a b a

    q0 Controle.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    46/61

    Autmato Finito Determinstico

    Caractersticas de autmatos finitos determinsticos.No pode gravar na fita.

    a b b b a a b a b a

    q2 Controle.

    No possui memria auxiliar.

    A unidade de controle l o smbolo de uma clula decada vez.

    Aps a leitura do smbolo a unidade de controle move-se uma clula no sentido da leitura.

    Como no possui memria auxiliar o armazenamentode informaes necessrias ao processamento feito

    atravs do conceito de estados.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    47/61

    Autmato Finito Determinstico

    Definio formal:Um autmato finito determinstico(AFD) M uma5-upla.

    M = (, Q, , q0, F)

    : Alfabeto de smbolos de entrada.

    Q : Conjuntos de estados possveis.

    q0 : Estado inicial tal que q0Q.

    F : Conjunto de estados finais tal que FQ.

    : Funo de transio: : Qx Q.

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    48/61

    Autmato Finito Determinstico

    A funo de transio pode ser representada detrs formas:

    Por um grafo finito direto:

    q0 q1a

    q0

    qn

    Estado inicial

    Estado finalAnterior Novo

    Smbolo lido

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    49/61

    Autmato Finito Determinstico

    Na forma de funo:

    Funo:

    q0

    q1a (q0 , a) = q1

    q2

    b

    a

    (q1 , a) = q1

    (q1 , b) = q2

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    50/61

    Autmato Finito Determinstico

    Na forma de tabela:

    Tabela:

    q0

    q1a

    q2

    b

    a

    a b

    q0 q1 ---q1 q1 q2

    q2 --- ---

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    51/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    mpar}wem1`sdeq|{wL uantidea

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    52/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    0}n|baba{L n

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    53/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    os}consecutiv0`sdoismenospelopossuaw|{0,1}{wL *

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    54/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    0}n|bb(ab){L n

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    55/61

    Autmato Finito Determinstico

    Atividade 1:Dado o alfabeto = {a,b} fornea autmatos finitos

    determinsticos que aceite as seguintes linguagens:

    par}nm|ba{L

    nm

    Atividade 2:Dado o alfabeto = {0,1} fornea um autmato finito

    determinstico que aceite a seguinte linguagem:

    1`s}e0`sdesocorrnciadeparnmeroumpossuie}1,0{|{L * ww

    0}n,m|ba(ab)ab{L

    nm

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    56/61

    Perguntas

    vidadeprogramador.com.br

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    57/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    }yx,|x01y{L *

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    58/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    bc})({L *bba

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    59/61

    Autmato Finito Determinstico

    Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:

    11})0|1(00{L *

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    60/61

    Autmato Finito Determinstico

    Atividade 3:Dado o alfabeto = {0,1} fornea autmatos finitos

    determinsticos que aceite as seguintes linguagens:

    0}|{L cominiciaww

    0`s}deparnmeroumpossuiw|w{L 0}comterminaw|w{L

    binrio}inteiroumcomodointerpretaquando3demltiploumw|w{L

    Exemplos de palavras aceitas: 00 011 11 110 1100

    binrio}inteiroumcomodointerpretaquando4demltiploumw|w{L

    Exemplos de palavras aceitas: 00 100 1000 1100

  • 7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto

    61/61

    Perguntas