Teoria da Computação
Período letivo 2023.2 (2023.1 no SIGA):
- Campus Juazeiro
- Terças, das 8:00 às 10:00 hs, sala 03
- Informações gerais
- Programa da disciplina
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
- Outra opção de calculadora lambda
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:
- Artigos:
- Goto (Wikipedia)
- Go To Statement Considered Harmful (Dijkstra, 1968, CACM)
- "Go To Considered Harmful" Considered Harmful (Rubin, 1987, CACM)
- Flow Diagrams, Turing Machines and Languages with only Two Formation Rules (Böhm & Jacopini, 1966, CACM)
- Böhm and Jacopini's Reduction of Flow Charts (Cooper, 1967)
- The translation of 'goto' programas to 'while' programs (Ashcroft & Manna, 1971)
- Structured Programming (Wikipedia)
- Structured Programming (Dahl & Dijkstra & Hoare, 1972)
- Structured Programming with goto Statements (Knuth, 1974, Computing Surveys)
- Structured Programming Theorem (Wikipedia)
- Program development by stepwise refinement(Wirth, 1971)
- On the composition of well-structured programs (Wirth, 1974)
- On Folk Theorems (Harel, 1980)
- Aulas gravadas
- 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 - 12/09/2023 - Apresentação e motivação.
Aula 02 - 14/09/2023 - Programas monolíticos, iterativos e recursivos.
Aula 03 - 19/09/2023 - Máquinas. Programa para uma máquina. Computação de programas monolíticos e iterativos.
Aula 04 - 21/09/2023 - Computação de programas recursivos. Função computadada. Equivalência forte de programas.
Aula 05 - 26/09/2023 - Classes de programas e a relação equivalência forte.
Aula 06 - 28/09/2023 - Instruções rotuladas composts. Máquina de Traços.
Aula 07 - 03/10/2023 - Verificação da equivalência forte de programas.
Aula 08 - 05/10/2023 - Algoritmos. Hipótese de Church. Teeorema fundamental da aritmética. Máquina Norma.
Aula 09 - 10/10/2023 - Norma é Universal por evidências internas.
Aula 10 - 17/10/2023 - Máquina de Turing. Exemplos. LRE e LR.
Aula 11 - 19/10/2023 - Norma é Universal por evidências externas.
Aula 12 - 24/10/2023 - Máquina de Post e Máquina com Pilhas.
Aula 13 - 26/10/2023 - Prova 1.
Aula 14 - 31/10/2023 - Autômato com Duas Pilhas. Variações das Máquinas de Turing.
Aula 15 - 07/11/2023 - Variações das Máquinas de Turing. Introdução à Decidibilidade.
Aula 16 - 09/11/2023 - Linguagem Ld e complemento de linguagens.
Aula 17 - 14/11/2023 - Máquina de Turing Universal e linguagem Lu.
Aula 18 - 16/11/2023 - Reduções.
Aula 19 - 21/11/2023 - Problema da Parada. Linguagens Le e Lne.
Aula 20 - 28/11/2023 - Teorema de Rice e Autômato linearmente limitado.
Aula 21 - 30/11/2023 - Histórias de computação e problemas indecidíveis.
Aula 22 - 02/12/2023 - PCP, MPCP e redução de MPCP para PCP.
Aula 23 - 05/12/2023 - Redução de Lu para MPCP. Problemas relacionados com GLCs e LLCs.
Aula 24 - 07/12/2023 - Introdução à Teoria da Complexidade. Medição do tempo de execução.
Aula 25 - 12/07/2023 - Classes P e NP.
Aula 26 - 14/12/2023 - Prova 2.
Aulas 27, 28, 29 e 30 - Atividade.
21/12/2023 - Prova final.