Teoria da Computação
Período letivo 2016.1:
- Campus Juazeiro, sala 22
- Segundas, das 14:00 às 16:00 hs
- Quartas, das 14:00 às 16:00 hs
- Programa da disciplina
Calendário de final de período:
- Prova 3: 08 de agosto, 2ª feira, 14:00h
- Segunda chamada: 10 de agosto, 4ª feira, 14:00 h
- Prova final: 12 de agosto, 6ª feira, 14:00h
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 - 25/04 - Apresentação e motivação.
Aula 02 - 27/04 - Programas e máquina de dois registradores.
Aula 03 - 02/05 - Máquina de um registrador. Máquinas. Computação. Função computada.
Aula 04 - 04/05 - Equivalência forte de programas. Máquina de Traços.
Aula 05 - 09/05 - Verificação da equivalência forte de programas. Exemplo.
Aula 06 - 11/05 - Exercício. Algoritmos, Máquinas Universais e Hipótese de Church. Teorema Fundamental da Aritmética. Codificação de dados estruturados. Máquina Norma.
Aula 07 - 16/05 - Máquina Norma. Máquina de Turing.
Aula 08 - 18/05 - Equivalência Máquina Norma e Máquina de Turing. Máquina de Post.
Aula 09 - 23/05 - Equivalência Máquina de Post e Máquina de Turing. Máquina com Pilhas. Autômato com Duas Pilhas.
Aula 10 - 25/05 - Prova 1.
Aula 11 - 30/05 - Máquinas de Turing com múltiplas trilhas. Máquinas de Turing não-determinísticas.
Aula 12 - 01/06 - Máquinas de Turing com múltiplas fitas. Máquinas de Turing com fita limitada. Conceitos básicos de decidibilidade.
Aula 13 - 06/06 - Problemas decidíveis. Codificação de Máquinas de Turing.
Aula 14 - 08/06 - Linguagem Ld. Complemento de linguanges recursivas, RE e não-RE.
Aula 15 - 13/06 - Máquina de Turing Universal. Linguagem Lu. Redutibilidade. Problema da Parada.
Aula 16 - 20/06 - Linguagens Le e Lne. Teorema de Rice. Autômatos Linearmente Limitados. Linguagem A_all. Histórias de computação. Linguagem V_all.
Aula 17 - 22/06 - Linguagem TODAS_glc. PCP e redução MPCP/PCP.
Aula 18 - 27/06 - Redução Lu/MPCP. Linguagem AMB_glc.
Aula 19 - 29/06 - Linguagens de lista e seus complementos. Problemas relacionados com LLCs. Introdução à complexidade.
Aula 20 - 04/07 - Prova 2.
Aula 21 - 06/07 - Medição do tempo de execução. Classes P e NP.
Aula 22 - 11/07 - Redutibilidade em tempo polinomial. Exemplos.
Aula 23 - 13/07 - Classe NPC.
Aula 24 - 18/07 - NP-completude. Teoremas, exemplos e estratégias. Linguagem lambda e substituições.
Aula 25 - 20/07 - Conversões alpha e reduções beta. Exemplos e exercícios.
Aula 26 - 25/07 - Formal Normal. Teorema de Church-Rosser. Exercícios. Numerais de Church.
Aula 27 - 27/07 - Exercícios. Booleanos de Church. Exercícios. Igualdade beta. Ponto fixo.
Aula 28 - 01/08 - Ponto fixo. Funções recursivas. Exemplos e exercício.
Aula 29 - 03/08 - Leitura e discussão do artigo do prof. João José Neto.
Aula 30 - 08/08 - Prova 3.