Teoria da Computação


Período letivo 2019.1:


Calendário de final de período:


Simuladores:


Máquinas de Turing (salvar como .jff e depois abrir no JFLAP):


Slides:

Material complementar:


Avaliações:


Aulas ministradas:

Aula 01 - 23/04 - Apresentação e motivação.
Aula 02 - 25/04 - Programas e Máquinas.
Aula 03 - 30/04 - Programa para uma máquina. Computação.
Aula 04 - 02/05 - Função computada. Equivalência forte de programas. Relação entre as classes recursiva, monolítica e iterativa.
Aula 05 - 07/05 - Máquina de Traços. Equivalência forte de programas e Máquinas de Traços.
Aula 06 - 09/05 - Verificação da equivalência forte de programas monolíticos. Exemplo.
Aula 07 - 14/05 - Máquinas Universais. Hipótese de Church. Teorema Fundamental da Aritmética. Codificação de dados estruturados.
Aula 08 - 16/05 - Máquina Norma.
Aula 09 - 21/05 - Máquina Norma (continuação). Máquina de Turing. Linguagens recursivamente enumerável e recursiva. Função computável.
Aula 10 - 23/05 - Prova 1.
Aula 11 - 28/05 - Máquina de Turing <= Máquina Norma. Máquina Norma <= Máquina de Turing.
Aula 12 - 30/05 - Máquina de Post. Máquina de Turing <= Máquina de Post.
Aula 13 - 04/06 - Máquina de Post <= Máquina de Turing. Máquina com Pilhas. Autômatos com Duas Pilhas. Máquina de Turing <= Autômato com Duas Pilhas.
Aula 14 - 11/06 - Autômato com Duas Pilhas <= Máquina de Turing. Máquina de Turing com múltiplas trilhas.
Aula 15 - 13/06 - Máquina de Turing não-determinística.
Aula 16 - 18/06 - Máquina de Turing com múltiplas fitas. Máquina de Turing com fita limitada à esquerda.
Aula 17 - 25/06 - Máquina de Turing que não escreve brancos na fita. Decidibilidade. Problemas de decisão.
Aula 18 - 27/06 - Problemas x linguagens. Problemas decidíveis. Codificação de Máquinas de Turing. Método diagonal de Cantor. Ld é não-RE.
Aula 19 - 04/07 - Linguagens e seus complementos.
Aula 20 - 09/07 - Prova 2.
Aula 21 - 11/07 - Máquina de Turing Universal e linguagem Lu. Redutibilidade.
Aula 22 - 23/07 - Redutibilidade. Problema da Parada. Linguagens Le e Lne. Teorema de Rice. Autômato Linearmente Limitado.
Aula 23 - 30/07 - Problema do pertencimento em ALLs. Histórias de computação. Problemas V_all e TODAS_glc.
Aula 24 - 01/08 - PCP. Redução MPCP -> PCP.
Aula 25 - 06/08 - Redução L_u -> PCP. Problema AMB_glc.
Aula 26 - 08/08 - Outros problemas indecidíveis relacionados com LLCs e GLCs por redução a partir do PCP. Introdução à complexidade.
Aula 27 - 13/08 - Medição do tempo de execução.
Aula 28 - 15/08 - Classe P. Classe NP.
Aula 29 - 20/08 - Verificadores de tempo polinomial. Redução de tempo polinomial.
Aula 30 - 22/08 - Prova 3.
Aula 31 - 29/08 - (extra) NP-competude. Estratégias para lidar com problemas de NP-P.
Aula 32 - 10/09 - (extra) Introdução ao Cálculo Lambda. Linguagem Lambda.
Aula 33 - 11/09 - (extra) Substituições, conversões-alfa e reduções-beta.
Aula 34 - 12/09 - (extra) Exercícios. Numerais de Church.
Aula 35 - 13/09 - (extra) Igualdade-beta. Ponto fixo. Recursão. Exemplos.
Aula 36 - 20/09 - (extra) Indecidibilidade. Introdução ao Cálculo Lambda Tipado.