Teoria da Computação
Período letivo 2018.1:
Calendário de final de período:
- Aula extra 01: 06/09, 5ª feira
- Aula extra 02: 11/09, 3ª feira
- Aula extra 03: 13/09, 5ª feira
- Prova substitutiva: 18/08/2018, 3ª feira
- Prova final: 20/08/2018, 5ª feira
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 - 17/05 - Apresentação e motivação.
Aula 02 - 22/05 - Programas.
Aula 03 - 24/05 - Máquinas e computações.
Aula 04 - 05/06 - Função computada. Equivalência forte de programas. Equivalência de programas em uma máquina. Equivalência de máquinas.
Aula 05 - 07/06 - Máquina de Traços. Instruções rotuladas compostas.
Aula 06 - 12/06 - Algoritmo para verificação da equivalência forte de programas monolíticos. Exemplo. Exerício.
Aula 07 - 14/06 - Máquinas universais. Algoritmos e Hipótese de Church. Codificação de dados estruturados. Teorema Fundamental da Aritmética.
Aula 08 - 19/06 - Máquina Norma. Máquina Norma como Máquina Universal.
Aula 09 - 21/06 - Máquina Norma como Máquina Universal. Máquina de Turing. Linguagens recursivamente enumeráveis e linguagens recursivas.
Aula 10 - 26/06 - Prova 1.
Aula 11 - 28/06 - Função computável. Máquina de Turing <= Máquina Norma.
Aula 12 - 03/07 - Máquina de Turing >= Máquina Norma. Máquina de Post. Equivalência com Máquina de Turing.
Aula 13 - 05/07 - Máquina com Pilhas. Autômato com Duas Pilhas. Equivalência com Máquina de Turing.
Aula 14 - 10/07 - MTs com várias trilhas. MTs não-determinísticas.
Aula 15 - 12/07 - MTs com várias fitas. MTs com fita limitada à esquerda.
Aula 16 - 17/07 - Decidibilidade. Problemas decidíveis.
Aula 17 - 19/07 - Codificação de MTs. Linguagem Ld. Complemento de linguagens.
Aula 18 - 24/07 - Máquina de Turing Universal. Linguagem Lu. Lu RE não-recursiva.
Aula 19 - 26/07 - Ld complemento RE não-recursiva. Redutibilidade. Problema da Parada. PARAmt RE não-recursiva.
Aula 20 - 31/07 - Prova 2.
Aula 21 - 02/08 - Linguagens Lne e Le. Teorema de Rice. Autômato Linearmente Limitado.
Aula 22 - 07/08 - Histórias de computação. Problemas V_ALL e TODAS_GLC. PCP e redução MPCP/PCP.
Aula 23 - 09/08 - Redução L_U/MPCP. Problema AMB_GLC.
Aula 24 - 14/08 - Outros problemas indecidíveis de GLCs e LLCs por redução a partir de PCP. Notação big-oh.
Aula 25 - 16/08 - Propriedades big-oh. Medição do tempo de execução em MTs. A classe P.
Aula 26 - 21/08 - Exemplos de problemas em P. A classe NP. Exemplos. Verificadores de tempo polinomial.
Aula 27 - 23/08 - Redutibilidade em tempo polinomial.
Aula 28 - 28/08 - Greve de alunos.
Aula 29 - 30/08 - Redução de 3SAT para CLIQUE. NP-completude.
Aula 30 - 04/09 - Prova 3.
Aula 31 - 06/09 - Aula extra 01 - Linguagem lambda. Substituições.
Aula 32 - 11/09 - Aula extra 02 - Conversões alpha. Reduções beta. Numerais de Church. Booleanos de Church.
Aula 33 - 13/09 - Aula extra 03 - Igualdade beta. Ponto fixo. Recursão. Teorema da Indecidibilidade de Scott-Curry e corolários.