Linguagens Formais e Autômatos

Documentos relacionados
I.2 Introdução a Teoria da Computação

SCC-5832 Teoria da Computação

SCC Introdução à Teoria da Computação

SCC Teoria da Computação e Linguagens Formais

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

Linguagens Formais e Autômatos

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Teoria da Computação (BBC244)

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA

Linguagens Formais e Autômatos Apresentação da Disciplina

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

Teoria da Computação. Aula 01

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

IBM1088 Linguagens Formais e Teoria da Computação

INE5622 INTRODUÇÃO A COMPILADORES

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

UNIDADE UNIVERSITÁRIA:

PCS3616. Programação de Sistemas (Sistemas de Programação) Visão Geral

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Hierarquia de Chomsky e sua relação com os autômatos

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica

Universidade Federal do ABC Rua Santa Adélia, Bairro Bangu - Santo André - SP - Brasil CEP Telefone/Fax:

Modelos de Computação

Linguaguens recursivamente enumeráveis e recursivas

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2013/2014

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos P. Blauth Menezes

Construção de Compiladores Aula 16 - Análise Sintática

Estudo de Linguagens Formais: Conceitos e Prática Aplicados na Construção de um Semáforo

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

1 INTRODUÇÃO E CONCEITOS BÁSICOS

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

O ensino de Linguagens Formais vinculado ao ensino de Compiladores

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 1

FOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato.

Máquinas de Turing - Computabilidade

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

MT como calculadoras de funções parciais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

PLANO DE APRENDIZAGEM

UNIVERSIDADE ESTADUAL DA PARÁIBA CENTRO DE CIÊNCIAS EXATAS E SOCIAIS APLICADAS CAMPUS VII GOVERNADOR ANTÔNIO MARIZ CURSO: LICENCIATURA EM COMPUTAÇÃO

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

Teoria da Computação Aula 01 Revisão de Conjuntos

Teoria da Computação Aula 02 Introdução

BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATEMÁTICA DISCRETA Aula 1 - Apresentação da disciplina

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Noções de grafos (dirigidos)

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Autómatos de pilha e Gramáticas independentes de contexto

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2017/2018

Teoria da Computação. Computabilidade e complexidade computacional

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC 605 Teoria da Computação e Compiladores

Computação. Sob uma perspectiva teórica. Elloá B. Guedes. IQuanta. 22 de setembro de 2008

Plano da Unidade Curricular

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular OPÇÃO 3 - TEORIA DA COMPUTAÇÃO Ano Lectivo 2011/2012

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos (LFA)

Autómatos de pilha e GIC

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

Pró-Reitoria de Ensino de Graduação P L A N O D E E N S I N O

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2011/2012

Linguagens e Compiladores

SIMULADOR DE AUTÔMATOS FINITOS DETERMINÍSTICOS - AUTOMATOGRAPH 1 DETERMINISTIC FINITE AUTOMATA SIMULATOR - AUTOMATOGRAPH

Linguagens Formais e Problemas de Decisão

Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Universidade Federal de Alfenas

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

Transcrição:

Linguagens Formais e Autômatos Contextualização Prof.ª Aracele Garcia de Oliveira Fassbinder IFSULDEMINAS Campus Muzambinho Muzambinho, Fevereiro de 2012

Sobre esta disciplina O que é uma linguagem formal? O que é sintaxe? O que é semântica? Como definir uma linguagem? O que é um autômato?...

Programa da Disciplina Gramáticas. Linguagens regulares, livres de contexto, e sensíveis ao contexto. Tipos de reconhecedores. Operações com linguagens. Propriedades das linguagens. Autômatos de estados finitos determinístico e não determinístico. Autômatos de pilha. Máquina de Turing. Hierarquia de Chomsky. Funções Recursivas. Tese de Church. Problemas indecidíveis. Teorema da imcompletude de Godel. Classes de Problemas P, NP, NP-Completo e NP-Difícil. Métodos de redução de problemas.

Contexto da Disciplina no Curso Algoritmos Estruturas de Dados Lógica Matemática Linguagens Formais Teoria da Computação Compiladores Inteligência Artificial

Bibliografia Livro Texto: Paulo Blauth Menezes. Linguagens Formais e Autômatos, Ed. Sagra Luzatto, 2000. João Luís Garcia Rosa. Linguagens Formais e Autômatos. Rio de Janeiro: LTC, 2010. Lewis, H; Papadimitriou, C. Elementos de Teoria da Computação, Bookman, 2000. J. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman, Introduction do Automata Theory, Languages and Computation, Addison-Wesley, 3rd ed. 2006. Hopcroft et al. Introdução à Teoria de Autômatos, Linguagens e Computação. Campus, 2003. www.tecmf.inf.puc-rio.br, Apostila do Prof. José Lucas Rangel.

Avaliação Descrição Geral 3 (três) provas totalizando: 8 pts. N atividades totalizando: 2 pts. Descrição Detalhada 3 (três) provas (P1, P2, P3). P1 vale: 3,0 pts P2 vale: 2,5 pts P3 vale: 2,5 pts Demais atividades (cada uma valendo 2,0 pontos) Atividades ou trabalhos em sala ou extra-sala. Listas de exercícios. Seminários. Comportamento Conversa, participação, desenvolvimento de atividades adicionais, entrosamento, dedicação, comprometimento, pontualidade na entrega das atividades.

Aulas Um conjunto de assuntos abordados em sala pelo professor por meio de AULAS TEÓRICAS; Aulas de tirar dúvidas em sala de aula; Avaliações durante o semestre Seminário realizado pelos alunos apresentando aplicações dos assuntos estudados a problemas reais. Algumas aulas destinadas a realização de exercícios em laboratório (simuladores)

Objetivos da disciplina Formativos Projetar gramáticas para especificar linguagens Projetar autômatos para reconhecer linguagens Classificar linguagens formais em função dos seus reconhecedores/gramáticas Entender o papel do não-determinismo na computação. Estudar uma maneira precisa e formal de descrever sequências de símbolos pertencentes à um determinado conjunto. Informativos História da Computação Limitações do processo computacional Hierarquia de Chomsky Complexidade

Conscientização: De que o conhecimento profundo dos assuntos teóricos que constituem os fundamentos conceituais e científicos da computação pode agregar valor tanto à qualidade do profissional de informática como à dos produtos por ele desenvolvidos,

História Na década de 1950, Chomsky, investigando abstrações para uso em linguística, plantou os alicerces teóricos das gramáticas gerativas, que mais tarde vieram a manifestar sua grande utilidade prática nessa e em diversas outras aplicações, com destaque à análise léxica e sintática de linguagens de programação, à modelagem do comportamento de organismos biológicos, ao projeto de hardware e ao processamento de linguagem natural.

História Seu estudo foi inicialmente direcionado para questões linguísticas associadas à representação e tratamento de linguagem natural. Hoje nota-se sua praticidade em aplicações voltadas para a compilação ou interpretação de linguagens de programação em computadores digitais.

História Noam Chomsky criou em 1956 um modelo matemático na forma de gramática, com o qual se propôs a estudar a sintaxe de línguas naturais, mas alguns anos mais tarde seu modelo revelou-se expressivo em outra área, ganhando impulso por adequar-se perfeitamente à formalização da linguagem de programação ALGOL 60.

Problemas e Linguagens Um problema particularmente útil na área de computação: Saber se uma dada string pertence ou não a uma linguagem. O que é uma string? O que é uma linguagem?

Apresentação Foco Nas LINGUAGENS: Especificação Reconhecimento E no ESTUDO DE MODELOS ABSTRATOS associados a estas linguagens.

Habilita o profissional A desenvolver argumentações matemáticas, formais e rigorosas. Proporciona uma grande familiaridade com os fundamentos e princípios da Ciência da Computação.

Aplicações Processamento de linguagens de programação textuais. Representações de processos, estruturas e protocolos e comunicação, do fluxo da lógica dos programas, de máquinas cujo funcionamento depende de sucessivas alterações do seu estado interno.

Benefícios com o seu estudo (I) Proporciona uma visão panorâmica das bases científicas da computação; Proporciona fundamentos teóricos para a área (decidibilidade, computabilidade, complexidade); Fornece um sólido lastro para o desenvolvimento de inúmeras aplicações computacionais (processamento de linguagens, reconhecimento de padrões, modelagem de sistemas).

Benefícios com o seu estudo (II) Estabelece forte elo entre a teoria e a prática; Permite que os conceitos e os resultados da teoria referente às linguagens, seus geradores, reconhecedores e analisadores possam ser aplicados de forma rígida; É um dos temas que se mostra mais eclético e menos divorciado dos demais assuntos estudados na Teoria da Computação.

Autoridades no assunto Noam Chomsky Arto Salomaa Peter Lintz Hopcroft Ullman

Motivação deste ramo de conhecimento Gira em torno da investigação do alcance das computações, da possibilidade ou não de se efetuarem determinadas computações, culminando no importante conceito de algoritmo, cuja possibilidade de existência é fortemente associada à viabilidade prática de materialização das computações realizáveis.

Outras motivações Dá uma visão que permite avaliar o alcance e as limitações dos computadores; Gozam, na prática, de uma extraordinária aplicabilidade. As ferramentas disponíveis vibializam a obtenção de soluções para muitos complexos problemas da prática.

Qual a sua importância? Guia: Que problemas podem ser efetivamente computáveis, como e com que complexidade

Exemplos práticos Máquina de Refrigerante Elevador Controlador de aparelhos eletrodomésticos: microondas, etc. Tradução entre linguagens (português-libras, etc) Semáforos

Classificação dos Problemas Não-Computáveis Computáveis Indecidíveis Decidíveis Intratáveis Tratáveis

Exemplos de Problemas Computabilidade e Decidibilidade Expressividade de Máquinas e Modelos Equivalência entre Programas Complexidade Computacional Semântica e Correção de Programas

Modelos que formalizam a noção de ser ou não computável Máquinas de Turing (Turing, 1936) Gramáticas (Chomsky, 1959) Algoritmos de Markov (Markov, 1951) -Calculus (Church, 1936) Sistemas de Post (Emil Post, 1936) Funções recursivas (Kleene, 1936)

Ferramentas JFLAP Ferramenta visual para criação de autômatos http://jflap.org/ SCTMF Sistema de Criação e Teste de Modelos Formais www.din.uem.br/~yandre/sctmf/ Language Emulator http://homepages.dcc.ufmg.br/~lfvieira/ftc.html Simulador Universal de Autômatos Finitos http://simuladoruniversal.weebly.com/

Ferramentas Nota: GAM Ginux Abstract Machine AFD/AFND Autômato finito determinístico e Autômato Finito Não Determinístico GR Gramática Regular ER Expressão Regular AP Autômato com Pilha MT Máquina de Turing Fonte: http://www.br-ie.org/pub/index.php/rbie/article/viewfile/1208/1108

Eventos Relacionados LATA - International Conference on Language and Automata Theory and Applications WTA - Workshop de Tecnologia Adaptativa ICTAC - International Colloquium on Theoretical Aspects of Computing SBMF - Brazilian Symposium on Formal Methods LSFA - Workshop on Logical and Semantic Frameworks, with Applications

Referências A teoria da computação e o profissional de informática, por João José Neto. Revista de Computação e Tecnologia da PUC-SP ReCeT, vol. I, nº 1. www.tecmf.inf.puc-rio.br/lfa O que é um autômato. http://protet.inescporto.pt/o-quee/automacao-industrial/o-que-e-um-automato.html Livros listados no slide inicial sobre referências.