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

Documentos relacionados
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)

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

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

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

Teoria da Computação. Aula 01

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

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

Linguagens Formais e Autômatos

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

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

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

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

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

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

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

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

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

Modelos de Computação

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

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

Teoria da Computação. Computabilidade e complexidade computacional

Linguagens Formais e Autômatos

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

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

Linguagens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis e recursivas

Máquinas de Turing - Computabilidade

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

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

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

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

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

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

SCC 605 Teoria da Computação e Compiladores

IBM1088 Linguagens Formais e Teoria da Computação

Universidade Federal de Alfenas

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Computabilidade e Complexidade (ENG10014)

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

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

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

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

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.

Teoria da Computação. Computabilidade e complexidade computacional

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada

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

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Gramáticas ( [HMU00], Cap. 5.1)

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

Autómatos de pilha e GIC

SCC 205 Teoria da Computação e Linguagens Formais

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Linguagens Formais e Autômatos Decidibilidade

INE5622 INTRODUÇÃO A COMPILADORES

ESTRUTURA DE DADOS DCC013

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

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

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

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

Transcrição:

SCC-0505 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 2010 SCC-0505 -

Sumário 1 SCC-0505 -

Sumário 1 SCC-0505 -

A disciplina: Teoria da Computação A disciplina é composta de duas 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 A primeira parte 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-0505 -

A disciplina: Teoria da Computação A segunda parte do curso é 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-0505 -

A disciplina: Teoria da Computação 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. SCC-0505 -

A disciplina: Teoria da Computação 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 não será tratada nesta disciplina. A meta principal da teoria da complexidade é a classificação de problemas de acordo com a dificuldade computacional. 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-0505 -

Sumário 1 SCC-0505 -

Objetivos Dar ao aluno noção formal de algoritmo, computabilidade e do problema de decisão, de modo a deixá-lo consciente das limitações da ciência da computação: Ineficiência e Intratabilidade; e Problemas Não Computáveis e Indecidíveis. Aparelhá-lo com as ferramentas de modo a habilitá-lo a melhor enfrentar a solução de problemas com o auxílio do computador via Teoria das Linguagens Formais e dos Autômatos. SCC-0505 -

Programa 1 Linguagens Regulares e Autômatos Finitos 1 A Primeira Linguagem 2 Gramáticas e Linguagens 3 Gramática Linear à Direita 4 Hierarquia de Chomsky 5 Expressão Regular 6 Autômatos Finitos Determinísticos e Não-Determinísticos SCC-0505 -

Programa 2 Linguagens Livres de Contexto e Autômatos de Pilha 1 Linguagens Livres de Contexto 2 Árvores de derivação 3 Ambiguidade nas Gramáticas Livres de Contexto 4 Forma normal de Greibach 5 Autômatos de Pilha SCC-0505 -

Programa 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente 1 Gramáticas e Linguagens Sensíveis ao Contexto 2 O Lema da Cadeia Vazia 3 Máquinas de Turing 4 Autômatos Limitados Linearmente 5 O Lema do Alfabeto SCC-0505 -

Programa 4 Máquinas de Turing e a Teoria da Computabilidade 1 Algoritmo 2 Funções numéricas 3 Funções Turing-computáveis 4 A Tese de Church-Turing 5 A Máquina de Turing Universal 6 Máquinas de Turing Não-determinísticas 7 A Linguagem de diagonalização 8 O Problema da Parada e a Indecidibilidade 9 Problemas indecidíveis 10 Linguagens recursivas SCC-0505 -

Aulas Aulas Quintas: 21h00-22h40 - Sala 5-004 SCC-0505 -

Sumário 1 SCC-0505 -

: Provas 2 provas: P 1 = 22/4 P 2 = 24/6 Não haverá prova substitutiva. SCC-0505 -

: Trabalhos 2 Trabalhos Práticos em grupo T 1 e T 2 : Entrega do Trabalho T 1 : 23/4 Entrega do Trabalho T 2 : 25/6 Os Trabalhos Práticos estão relacionados com a implementação de um autômato. Os trabalhos serão desenvolvidos por uma equipe de 3 alunos (no máximo). SCC-0505 -

: Média Final 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 = (9*MP + 1*MT)/10 SCC-0505 -

: Recuperação Norma de Recuperação 1 prova de recuperação P R Só terão direito à recuperação os alunos com 3, 0 MF < 5, 0 e frequência 70% 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. 30/4: Data máxima para trancamento de matrícula em disciplinas. SCC-0505 -

Apêndice Bibliografia Bibliografia I [1] Hopcroft, J. E., Motwani, R., Ullman, J. D. Introduction to Automata Theory, Languages, and Computation. 3 rd. edition. Addison-Wesley Publishing Company, 2007. [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] Horowitz, E., Sahni, S., Rajasekaran, S. Computer Algorithms. Computer Science Press, 1998. SCC-0505 -

Apêndice Bibliografia Bibliografia II [4] JFLAP Version 6.0. Ferramenta para Diagrama de Estados. www.jflap.org. [5] Moll, R. N., Arbib, M. A., and Kfoury, A. J. An Introduction to Formal Language Theory. Springer-Verlag, 1988. [6] Rosa, J. L. G. Linguagens Formais e Autômatos. Editora LTC, Rio de Janeiro, 2010. [7] Sipser, M. Introduction to the Theory of Computation. Second Edition, Thomson, 2006. SCC-0505 -