SCC-5832 Teoria da Computação

Documentos relacionados
SCC Teoria da Computação e Linguagens Formais

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

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

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Teoria da Computação (BBC244)

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

Teoria da Computação. Aula 01

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

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

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

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

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

Linguagens Formais e Autômatos

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

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

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

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

Teoria da Computação. Computabilidade e complexidade computacional

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

Linguaguens recursivamente enumeráveis e recursivas

Modelos de Computação

Linguagens recursivamente enumeráveis

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

Teoria da Computação. Computabilidade

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

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

Máquinas de Turing - Computabilidade

Linguagens Formais e Autômatos

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

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

Computabilidade e Complexidade (ENG10014)

Universidade Federal de Alfenas

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

Teoria da Computação

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

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

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)

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

INE5622 INTRODUÇÃO A COMPILADORES

IBM1088 Linguagens Formais e Teoria da Computação

SCC 605 Teoria da Computação e Compiladores

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Computabilidade e Complexidade (ENG10014)

SCC 205 Teoria da Computação e Linguagens Formais

Teoria da Computação. Computabilidade e complexidade computacional

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

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

Aula 10: Decidibilidade

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

Revisões de Conjuntos

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

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

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

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.

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

Linguagens Formais e Autômatos P. Blauth Menezes

Transcrição:

Teoria da Computação SCC-5832 Teoria da Computação 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 joaoluis@icmc.usp.br 2012 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 1/21

Sumário Teoria da Computação 1 Teoria da Computação A disciplina SCC-5832 Objetivos e Programa Avaliação João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 2/21

Sumário 1 Teoria da Computação A disciplina SCC-5832 Objetivos e Programa Avaliação João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 3/21

A disciplina SCC-5832 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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 4/21

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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 5/21

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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 6/21

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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 7/21

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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 8/21

Sumário 1 Teoria da Computação A disciplina SCC-5832 Objetivos e Programa Avaliação João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 9/21

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. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 10/21

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 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 11/21

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 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 12/21

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 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 13/21

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 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 14/21

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: 9h00-12h00 - sala 3-012 João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 15/21

Sumário 1 Teoria da Computação A disciplina SCC-5832 Objetivos e Programa Avaliação João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 16/21

Avaliação 2 provas: P 1 = 08/5 P 2 = 26/6 3 trabalhos individuais, com implementação: Apresentação do Trabalho T 1 : 27/4. Apresentação do Trabalho T 2 : 25/5. Apresentação do Trabalho T 3 : 22/6. Trabalho Extra (Alan Turing) - opcional T 4 : 29/6 acréscimo de 0,2 na média. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 17/21

Avaliação MP = Média Aritmética das Provas 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 CF = conceito final: CF = A se 8, 5 MP 10; CF = B se 7 MP < 8, 5; CF = C se 5 MP < 7; CF = R, caso contrário. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 18/21

Bibliografia Básica I Apêndice Bibliografia [1] Rosa, J. L. G. Linguagens Formais e Autômatos. Editora LTC, 2010. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 19/21

Apêndice Bibliografia Complementar I Bibliografia [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. [4] Moll, R. N., Arbib, M. A., and Kfoury, A. J. An Introduction to Formal Language Theory. Springer-Verlag, 1988. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 20/21

Apêndice Bibliografia Complementar II Bibliografia [5] Sipser, M. Introduction to the Theory of Computation. Second Edition, Thomson, 2006. João Luís G. Rosa c 2012 - SCC-5832: Teoria da Computação 21/21