SCC Teoria da Computação e Linguagens Formais

Documentos relacionados
SCC-5832 Teoria da Computação

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

Teoria da Computação. Aula 01

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

SCC-501 Introdução à Ciência de Computação II

SCC-201 Introdução à Ciência de Computação II

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.

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

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

Teoria da Computação (BBC244)

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

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

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

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

UNIDADE UNIVERSITÁRIA:

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

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

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

Linguagens Formais e Autômatos

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

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

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

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

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

SCC Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade

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

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

Teoria da Computação. Computabilidade e complexidade computacional

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

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

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

Linguagens recursivamente enumeráveis

Modelos de Computação

Linguaguens recursivamente enumeráveis e recursivas

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

Teoria da Computação. Computabilidade

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

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

Linguaguens recursivamente enumeráveis

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

Máquinas de Turing - Computabilidade

Linguagens Formais e Autômatos

SCC0502 Algoritmos e Estruturas de Dados I

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

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

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

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

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

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

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

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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 ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Universidade Federal de Alfenas

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

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

Computabilidade e Complexidade (ENG10014)

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

Universidade Federal de Alfenas

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

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing

Teoria da Computação

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado?

Universidade Federal de Alfenas

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

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

MT como calculadoras de funções parciais

Linguagens Formais e Autômatos Decidibilidade

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

COMPUTABILIDADE 2. Indecidibilidade

Linguagens Formais e Autômatos (LFA)

IBM1088 Linguagens Formais e Teoria da Computação

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

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha

SCC 605 Teoria da Computação e Compiladores

1 INTRODUÇÃO E CONCEITOS BÁSICOS

INE5622 INTRODUÇÃO A COMPILADORES

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

Autómatos determísticos de k-pilhas

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Aula 10: Decidibilidade

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

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing

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

Noção de Computabilidade

Computabilidade e Complexidade (ENG10014)

Turing e Complexidade

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior

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

Plano da Unidade Curricular

SCC 205 Teoria da Computação e Linguagens Formais

SCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha

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

Teoria da Computação. Computabilidade e complexidade computacional

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

Transcrição:

SCC-0205 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br 2012 SCC-0205 -

Sumário 1 SCC-0205 -

Sumário 1 SCC-0205 -

A disciplina é composta de três partes centrais da Teoria da Computação que têm o objetivo de tentar responder quais são as capacidades e as limitações dos computadores: 1 Teoria das Linguagens Formais e dos Autômatos, 2 Teoria da Computabilidade e 3 Teoria da Complexidade. SCC-0205 -

A disciplina A primeira parte (Teoria das Linguagens Formais e dos Autômatos) trata das definições e propriedades de modelos matemáticos de computação que têm um papel fundamental em várias áreas da Computação como o processamento de textos, compiladores, definição de linguagens de programação, dentre outras. Além desse lado prático, do ponto de vista teórico, para se definir o que é ou não computável é necessário utilizar um modelo matemático que represente o que se entende por computação. SCC-0205 -

A disciplina A segunda parte do curso (Teoria da Computabilidade) é centralizada na Tese de Church-Turing e nas evidências dela. Church usou um sistema chamado cálculo-λ para definir algoritmo e Turing fez o mesmo com o uso da Máquina de Turing (MT). As duas definições foram mostradas serem equivalentes e a conexão entre a noção informal de algoritmo (solúvel efetivamente) e a definição precisa por uma MT foi chamada Tese de Church-Turing: se um problema algorítmico não pode ser resolvido por uma máquina de Turing, então não existe nenhuma solução computável para ele. SCC-0205 -

A disciplina Vários outros modelos de computação (por exemplo, as funções recursivas de Kleene, linguagens formais, RAMs, algoritmos de Markov, linguagens de programação, a máquina de Post) foram propostos e provados terem poder equivalente à máquina de Turing. Assim, estudando qualquer um destes modelos, por exemplo um modelo simples como a máquina de Turing, é possível aprender sobre as limitações teóricas de todos os computadores. A meta da teoria da computabilidade é a classificação de problemas em solúveis, parcialmente solúveis e insolúveis e se forem problemas de decisão, em problemas decidíveis, parcialmente decidíveis e indecidíveis. SCC-0205 -

A disciplina Nem todos os problemas algorítmicos, que podem ser resolvidos em princípio, podem ser resolvidos na prática: os recursos computacionais requeridos (tempo ou espaço) podem ser proibitivos. Esta observação motiva o estudo da complexidade computacional que será tratada na terceira parte do curso (Teoria da Complexidade). A meta principal da teoria da complexidade é a classificação de problemas de acordo com a dificuldade computacional. SCC-0205 -

Sumário 1 SCC-0205 -

Objetivos e Justificativa Objetivos: Apresentar ao aluno conceitos fundamentais das disciplinas de teoria da computação, linguagens formais e lógica. Capacitar o aluno a compreender e utilizar estes conceitos. Justificativa: O estudo destes aspectos fundamentais da ciência da computação deve auxiliar na formação da base teórica necessária às demais disciplinas do curso. SCC-0205 -

Programa 1 Linguagens Regulares e Autômatos Finitos 1 Gramáticas e Linguagens A Primeira Linguagem Gramáticas e Linguagens Linguagens Regulares e de Estados Finitos 2 Autômatos de Estados Finitos Autômatos Finitos Arcos-λ Autômato Mínimo 3 Autômatos Finitos com Saída Máquinas de Mealy Máquinas de Moore Exemplos SCC-0205 -

Programa 2 Linguagens Livres de Contexto e Autômatos de Pilha 1 Linguagens Livres de Contexto Linguagens Livres de Contexto Lema do Bombeamento para Linguagens Livres de Contexto Formas Normais para Gramáticas Livres de Contexto 2 Autômatos de Pilha A Pilha como Processador de Linguagem O Autômato de Pilha O Teorema da Equivalência 3 Programas, Linguagens e Parsing Linguagens de Programação Parsing Gramáticas Livres de Contexto e a Língua Natural SCC-0205 -

Programa 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente 1 Gramáticas e Linguagens Sensíveis ao Contexto Gramáticas e Linguagens Sensíveis ao Contexto O Lema da Cadeia Vazia Prova do Lema da Cadeia Vazia 2 Máquinas de Turing Máquinas de Turing e a Computabilidade Conjunto de Aceitação de uma Máquina de Turing 3 Autômatos Limitados Linearmente Autômatos Limitados Linearmente O Lema do Alfabeto SCC-0205 -

Programa 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing 1 Gramáticas Irrestritas Gramáticas Irrestritas Das Gramáticas para as Máquinas de Turing Das Máquinas de Turing para as Gramáticas 2 A Máquina de Turing Universal A Máquina de Turing e Funções Numéricas A Tese de Church-Turing A Máquina Universal SCC-0205 -

Programa 5 Computabilidade e Complexidade 1 Indecidibilidade Máquinas de Turing Não Determinísticas Uma Linguagem que não é Recursivamente Enumerável O Problema da Parada e a Indecidibilidade 2 Teoria de Complexidade Complexidade de Tempo Complexidade de Espaço 3 Tratabilidade e Problemas N P-Completos Tratabilidade A Classe N P Outras Classes de Problemas Aulas: Terças: 8h10-9h50 Quintas: 10h10-11h50 Sala 5-004 SCC-0205 -

Sumário 1 SCC-0205 -

3 provas: P 1 = 30/8 P 2 = 16/10 P 3 = 29/11 2 trabalhos em grupo, com implementação: Submissão do Trabalho T 1 : 27/9. Submissão do Trabalho T 2 : 22/11. Trabalho Extra (Alan Turing) - opcional T 3 : 29/11 acréscimo de 0,5 na média. SCC-0205 -

MP = Média Ponderada das Provas: MP = P 1 0, 4 + P 2 0, 3 + P 3 0, 3 MT = Média Aritmética dos Trabalhos MF = Média Final: Se MP 5, 0 e MT 5, 0 então MF = (7*MP + 3*MT)/10 Senão MF = menor valor entre MP e MT SCC-0205 -

: Recuperação Norma de Recuperação 1 prova de recuperação P R Realização: Até a primeira semana de aulas do semestre posterior. Critério de Aprovação: Média = MF + (P R /2, 5), se P R 7, 5; ou Média = Max{MF, P R }, se P R < 5, 0; ou Média = 5, 0, se 5, 0 P R < 7, 5. SCC-0205 -

Integridade Acadêmica A cola ou plágio em provas, exercícios ou atividades práticas implicará na atribuição de nota zero para todos os envolvidos. Dependendo da gravidade do incidente, o caso será levado ao conhecimento da Coordenação e do Conselho do Departamento, para as providências cabíveis. Na dúvida do que é considerado cópia ou plágio, o aluno deve consultar o professor antes de entregar um trabalho. SCC-0205 -

Ano Alan Turing: 1912 1954 SCC-0205 -

Apêndice Bibliografia Bibliografia Básica I [1] Rosa, J. L. G. Linguagens Formais e Autômatos. Editora LTC, 2010. SCC-0205 -

Apêndice Bibliografia Bibliografia Complementar I [1] Hopcroft, J. E., Ullman, J. D. Formal Languages and Their Relation to Automata. Addison-Wesley Publishing Company, 1969. [2] Hopcroft, J. E., Ullman, J. D. e Motwani, R. Introdução à Teoria de Autômatos, Linguagens e Computação. Tradução da segunda edição americana. Editora Campus, 2003. [3] JFLAP Version 6.0. Ferramenta para Diagrama de Estados. www.jflap.org. SCC-0205 -

Apêndice Bibliografia Bibliografia Complementar II [4] Moll, R. N., Arbib, M. A., and Kfoury, A. J. An Introduction to Formal Language Theory. Springer-Verlag, 1988. [5] Sipser, M. Introduction to the Theory of Computation. Second Edition, Thomson, 2006. SCC-0205 -