Teoria da Computação
Período letivo 2016.2:
Calendário de final de período:
- Prova 3: 26/04, quarta-feira, 16:00h na sala 22.
- Prova final: 03/05, quarta-feira, 16:00h na sala 22.
Simuladores:
- Máquina Norma
- Máquina de Post
- Máquina de Turing
- JFLAP
- Simulador gráfico e interativo para experimentação com gramáticas, expressões regulares e autômatos:
- Download (renomeie para "JFLAP.jar" caso o seu S.O. modifique o nome para "JFLAP.zip")
- Site
- Máquina de Turing - Implementação "real"
- Dispositivo eletromecânico que reproduz o comportamento da Máquina de Turing;
- Site
- Calculadora lambda
do Prof. Dr. Carl Burch do Hendrix College
- Efetua reduções e obtém forma normal.
- Site
Máquinas de Turing (salvar como .jff e depois abrir no JFLAP):
- \{ww^R | w \in {a,b}^*\} determinística, baixar
- \{ww | w \in {a,b}^*\} não-determinística, baixar
- \{a^ib^jc^k | i=j ou j=k\} não-determinística, baixar
- \{a^ib^j | i>=1, j>=i e j par\} determinística, baixar
- \{a^ib^j | i>1, j>=i e j par\} determinística, baixar
- \{mwn | |w|_a=|w|_b=|w|_c\} determinística, baixar
Slides:
Material complementar:
- Artigo "A Teoria da Computação e o Profissional de Informática", João José Neto, RECET, Outubro de 2009
- Livro "Foundations of Computer Science" de A.V. Aho e J.D. Ullman, disponível para download gratuito na página dos autores
- Capítulo 3 - The Running Time of Programs
- P versus NP:
- Último Teorema de Fermat:
- Equivalência de Máquinas Universais:
Demonstração, Análise e Simulação, trabalho de Conclusão de Curso de Débora Pandolfi Alves, com orientação da Profa. Dra. Ana Paula Lüdtke Ferreira (UNISINOS, 2007).
- Documentário Dangerous Knowledge, de David Malone para a BBC, sobre as vidas e obras de Cantor, Boltzmann, Gödel e Turing.
Avaliações:
Aulas ministradas:
Aula 01 (01) - 19/09 - Apresentação e motivação.
Aula 02 (02) - 21/09 - Programas e Máquinas. Máquina de Dois registradores. Máquina de Um Registrador.
Aula 03 (03) - 26/09 - Computação e Função Computada. Equivalência Forte de Programas. Classes de Equivalências.
Aula 04 (04) - 28/09 - Equivalência de programas. Equivalência de máquinas. Máquina de Traços. Instruções rotuladas compostas.
Aula 05 (05) - 03/10 - Verificação da equivalência forte de programas. Exercício. Máquinas Universais e Tese de Church-Turing.
Aula 06 (06) - 05/10 - Codificação de programas monolíticos. Máquina Norma.
Aula 07 (06) - 10/10 - Greve de alunos.
Aula 08 (06) - 17/10 - Suspensão do calendário acadêmico.
Aula 09 (06) - 19/10 - Suspensão do calendário acadêmico.
Aula 10 (07) - 24/10 - Máquina de Turing. Linguagem recursivamente enumerável e linguagem recursiva. Equivalência com Máquina Norma.
Aula 11 (08) - 26/10 - Máquina de Post. Equivalência com Máquina de Turing. Máquina com Pilhas. Exemplos.
Aula 12 (09) - 31/10 - Autômato com Duas Pilhas. Equivalência com Máquina de Turing. Máquina de Turing com múltiplas trilhas. Máquina de Turing não-determinística.
Aula 13 (09) - 07/11 - Greve.
Aula 14 (10) - 06/02 - Revisão geral e dúvidas.
Aula 15 (11) - 08/02 - Máquinas de Turing com várias fitas. Máquinas de Turing com limitação de fita.
Aula 16 (12) - 13/02 - Problemas decidíveis e indecidíveis. Definições. Codificação de Máquinas de Turing.
Aula 17 (13) - 15/02 - Prova 1.
Aula 18 (14) - 20/02 - Método Diagonal de Cantor. Linguagem Ld. Complementos de linguagens.
Aula 19 (15) - 06/03 - Máquina de Turing Universal. Linguagem Lu. Redutibilidade.
Aula 20 (16) - 08/03 - Problema da Parada. Linguagens Le e Lne. Teorema de Rice. Autômato Linearmente Limitado.
Aula 21 (17) - 13/03 - Autômato Linearmente Limitado. A_all, V_all, histórias de computação, TODAS_glc e PCP (definição).
Aula 22 (18) - 15/03 - Redução de MPCP para PCP e redução de L_u para MPCP.
Aula 23 (19) - 20/03 - Problemas indecidíveis relacionados com gramáticas e linguagens livres de contexto. Introdução à complexidade.
Aula 24 (20) - 22/03 - Medição do tempo de execução de algoritmos. Classe P.
Aula 25 (21) - 27/03 - Prova 2.
Aula 26 (22) - 29/03 - Classe NP. Verificadores de tempo polinomial. Exemplos. Redutibilidade em tempo polinomial.
Aula 27 (23) - 03/04 - Classes NPH e NPC. NP completude. Exemplos. Estratégias.
Aula 28 (24) - 05/04 - Cálculo lambda: motivação. Linguagem lambda.
Aula 29 (25) - 10/04 - Substituições. Exercícios.
Aula 30 (26) - 12/04 - Reduções. Exercícios.
Aula 31 (27) - 17/04 - Numerais de Church. Exercícios. Booleanos de Church.
Aula 32 (28) - 19/04 - Igualdade-beta. Ponto fixo. Recursão.
Aula 33 (29) - 24/04 - Teorema da Indecidibilidade de Scott-Curry e corolários.
Aula 34 (30) - 26/04 - Prova 3.