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

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

SCC-5832 Teoria da Computação

SCC Teoria da Computação e Linguagens Formais

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Teoria da Computação (BBC244)

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

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

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

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

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

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

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

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

Teoria da Computação. Aula 01

Máquinas de Turing - Computabilidade

Teoria da Computação. Computabilidade e complexidade computacional

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Universidade Federal de Alfenas

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.

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

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Linguagens Formais e Autômatos

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

Universidade Federal de Alfenas

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

LLC's: Lema do Bombeamento e Propriedades de Fechamento

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

Linguagens Formais e Autômatos (LFA)

Autômatos de Pilha (AP)

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

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

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

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Autômatos Finitos Determinís3cos (AFD)

IBM1088 Linguagens Formais e Teoria da Computação

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Máquina de Turing. Teoria da Computação. Teoria da Computação. Histórico da Computação:

Linguagens Formais e Autômatos

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

Universidade Federal de Alfenas

Noção de Computabilidade

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

Autômatos Finitos Não Determinís5cos (AFN)

Computabilidade e Complexidade (ENG10014)

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

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

Modelos de Computação

1 INTRODUÇÃO E CONCEITOS BÁSICOS

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

LR's: Lema do Bombeamento e Propriedades de Fechamento

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Linguagens Formais e Autômatos Decidibilidade

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

Teoria da Computação. Computabilidade

Linguagens Livres do Contexto. Adaptado de H. Brandão

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

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba

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

Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

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

O que é a Teoria em Ciência da Computação. Introdução à Ciência da Computação Mário S. Alvim

Universidade Federal de Alfenas

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

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

Máquinas de Turing (MT)

UNIDADE UNIVERSITÁRIA:

Linguagens Formais e Autômatos P. Blauth Menezes

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

INE5622 INTRODUÇÃO A COMPILADORES

Computabilidade e Complexidade (ENG10014)

Algoritmos I Aula 1 Introdução aos Algoritmos

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

Linguagens Formais e Autômatos (LFA)

Linguaguens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis e recursivas

Linguagens recursivamente enumeráveis

Notas de Aula de Teoria da Computação

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

Universidade Federal de Alfenas

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

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

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Autômatos P. Blauth Menezes

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

Máquinas de Turing 3

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

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

Lema do Bombeamento para Linguagens Livres do Contexto

Gramáticas Livres de Contexto

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

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

SCC 205 Teoria da Computação e Linguagens Formais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos (LFA)

Transcrição:

Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares

Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823 ENIAC Estados Unidos 1946

Computação O que pode ser computado? Não importa quanto tempo seja preciso Não importa quanta memória seja necessária Do que pode ser computado, como medir sua eficiência? O que pode ser computado eficientemente? Há problemas importantes que não admitem solução eficiente? Como resolver problemas?

Algoritmos Problemas devem ser resolvidos através de algoritmos Mas o que é um algoritmo? É um processo finito de ações para executar uma determinada tarefa Algoritmos possuem um papel importante na matemá\ca Exemplo: algoritmo de Euclides para calcular MDC Qual o problema de se usar a intuição? Algoritmos só foram definidos formalmente no século XX Matemá\cos baseavam-se na noção intui\va de algoritmo

Algoritmos O matemá\co David Hilbert propôs 23 problemas que na época não \nham solução O 10 º problema era um problema computacional Encontrar um "algoritmo" capaz de determinar se um polinômio com coeficientes inteiros possui raízes inteiras Hoje se sabe que esse algoritmo não existe O problema é indecidível Provar que um algoritmo não existe requer uma definição formal do conceito de algoritmo! : hfps://pt.wikipedia.org/wiki/problemas_de_hilbert

Algoritmos A definição formal de algoritmo veio apenas em 1936, a par\r de trabalhos de Church, Turing e Gödel/Kleene Definiu o conceito de algoritmos através da notação λ-calculus Alonzo Church

Algoritmos A definição formal de algoritmo veio apenas em 1936, a par\r de trabalhos de Church, Turing e Gödel/Kleene Definiu o conceito de algoritmos através de uma máquina (Máquina de Turing) Alan Turing

Algoritmos A definição formal de algoritmo veio apenas em 1936, a par\r de trabalhos de Church, Turing e Gödel/Kleene Definiram a classe das funções computáveis como sendo a classe das funções recursivas parciais Kurt Gödel Stephen Kleene

Teoria da Computação O estudo da teoria da computação está relacionado com três áreas fundamentais Autômatos Computabilidade Complexidade Disciplina LFA Disciplina AED

Teoria da Computação Teoria dos Autômatos Dentro dessa teoria são apresentadas máquinas abstratas que capturam as partes essenciais de máquinas concretas Permite estudar a computação de forma simples, sem entrar nos detalhes de arquitetura que podem prejudicar a noção de computação Mostra que autômatos finitos são bons modelos para computadores com uma quan\dade extremamente limitada de memória, mas que ainda conseguem resolver uma grande quan\dade de problemas

Teoria da Computação Teoria da Computabilidade Inves\ga o poder dos algoritmos na resolução de problemas Apresenta um arcabouço teórico para Indicar problemas que podem ser resolvidos por algoritmos Indicar problemas que não podem ser resolvidos por algoritmos

Teoria da Computação Teoria da Complexidade Divide problemas computacionais em duas classes: fáceis e di?ceis Relacionados com a sua capacidade de resolver o problema em função das dimensões de tempo e espaço Estuda o comportamento do tempo de execução de um programa em função do tamanho de sua entrada Crescimento exponencial pode tornar um algoritmo inu\lizável para problemas de grande porte

Disciplina Linguagens Formais e Autômatos Sistemas de representação Máquinas abstratas (Mecanismos) capazes de reconhecer sistemas de representação (Reconhecedores) Correspondência entre sistemas de representação e reconhecedores Noções gerais sobre condições de processamento dos sistemas de representação Limites de computabilidade Complexidade de processamento Para que é importante estudar isso?

Disciplina Aplicações Processadores de Texto Compiladores Linguagens de Programação Projetos de Hardware/Souware

Disciplina Ferramenta de apoio JFLAP v7.0 hfp://jflap.org

Disciplina Curiosidade Máquina de Turing feita de Lego Anders Nissen : hfps://www.youtube.com/watch?v=cyw2ewoo6c4

EMENTA, AVALIAÇÕES, REGRAS Linguagens de Programação

Ementa O curso é dividido em quatro módulos 1) Máquinas de estados finitos (Linguagens Regulares LR's) 2) Autômatos com pilha (Linguagens Livres de Contexto LLC's) 3) Máquinas de Turing (Linguagens Sensíveis ao Contexto LSC's, Linguagens Recursivas LR's, Linguagens Recursivamente Enumeráveis LRE's) 4) Decidibilidade

Ementa Máquinas de estados finitos Autômatos Finitos Determinís\cos (AFD) Minimização de AFDS Propriedades Autômatos Finitos Não-Determinís\cos (AFN) Equivalência entre AFD's e AFN's AFN estendido

Ementa Máquinas de estados finitos Propriedades Lema do bombeamento Propriedades de fechamento Expressões Regulares Gramá\cas Regulares

Ementa Autômatos com pilha Autômatos com Pilha Determinís\cos (APD) Autômatos com Pilha Não-Determinís\cos (APN)

Ementa Autômatos com pilha Gramá\cas Livres de Contexto (GLC's) Derivações e Ambiguidades Manipulação de gramá\cas Formas normais (Chomsky e Greibach) Transformações de/para AP Propriedades Lema do bombeamento Propriedades de fechamento

Ementa Máquinas de Turing Máquinas de Turing Determinís\cas Variações de Máquinas de Turing Máquinas de Turing Não-Determinís\cas Gramá\cas e Máquinas de Turing

Ementa Decidibilidade Problemas de Decisão Problemas Indecidíveis Problema da Parada

Hierarquia de Chomsky Ƿ(Σ ) Linguagens Recursivamente Enumeráveis Linguagens Recursivas Linguagens Sensíveis ao Contexto Linguagens Livres de Contexto Linguagens Regulares MT GI ALL GSC APD e APN GLC AFD e AFN GR ER

Avaliações Prova 1 Pontuação: 25pts Data: 10/04/2018 Prova 2 Pontuação: 25pts Data: 17/05/2018 Prova 3 Pontuação: 25pts Data: 21/06/2018 Prova Suplementar Pontuação: 25pts Data: 28/06/2018 Prova Especial Pontuação: 100pts Data: 03/07/2018

Avaliações Listas de exercícios Pontuação: 15pts Data: uma semana após a aula sobre o tema dado Trabalho Pontuação: 10pts Data: a definir

Regras A presença é obrigatória em 75% das aulas Em todas as aulas haverá chamada Não haverá abono de faltas, salvo os casos previstos por lei A prova é individual e sem consulta Após o início da prova, deve-se esperar no mínimo 30 minutos antes de entregar a prova Colas serão penalizadas com nota zero Trabalhos copiados, parcialmente ou integralmente, de colegas, da internet ou de qualquer outra fonte serão avaliados com nota zero Listas devem ser feitas à mão e entregues antes do início das aulas

Estudem!

BIBLIOGRAFIA Linguagens Formais e Autômatos

Bibliografia Vieira N. Introdução aos Fundamentos da Computação 1 a edição, 2006 Hopcrou J., Motwani R. Ullman J. Introduc\on to Automata Theory, Languages, and Computa\on 3 a edição, 2006

Bibliografia Sudkamp, T. Languages and Machines: An Introduc\on to the Theory of Computer Science 3 a edição, 2005 Sipser M. Introduc\on to the Theory of Computa\on 3 a edição, 2012

ISSO É TUDO PESSOAL! Linguagens Formais e Autômatos