Introdução à Teoria da Computação Michael Sipser Agora disponível da Companhia editora PWS. Errata CONTEÚDO DA PRIMEIRA EDIÇÃO 0. Introdução 1. AUTÔMATOS, COMPUTABILIDADE, E COMPLEXIDADE Teoria da Complexidade – Teoria da Computabilidade – Teoria dos Autômatos 2. NOÇÕES MATEMÁTICAS E TERMINOLOGIA Conjuntos – Seqüências e tuplas – Funções e relações – Gráficos – Strings e linguagens – Lógica Booleana– Sumário de termos matemáticos 3. DEFINIÇÕES, TEOREMAS E PROVAS Encontrando provas 4. TIPOS DE PROVAS Prova por construção – Prova por contradição – Prova por indução PARTE UM: AUTÔMATOS E LINGUAGENS 1. Linguagens Regulares 1. AUTÔMATOS LIMITADOS Definição formal de um autômato limitados – Exemplos de autômatos limitados – Definição formal de computação – Projetos de autômatos limitados – As operações regulares. 2. NÃO DETERMINISMO Equivalência de NFAs e DFAs – Fechamento pelas operações regulares 3. EXPRESSÕES REGULARES Definição formal de uma expressão regular – Equivalência com autômatos limitados 4. LINGUAGENS NÃO REGULARES O extração de temas para linguagens regulares. 2. Linguagens de Contexto-Livre 1. GRAMÁTICAS DE CONTEXTO LIVRE Definição formal de uma gramática de contexto-livre – Exemplos de gramática de contexto livre – Projetos de gramáticas de contexto livre- Ambigüidade – Forma normal Chomsky 2. AUTÔMATOS DESCENDENTES Definição formal de um autômato descendente – Exemplos de autômatos descendentes – Equivalência com gramáticas de contexto-livre. 3. LINGUAGENS SEM CONTEXTO-LIVRE O tema de extração para linguagens de contexto livre. PARTE DOIS: TEORIA DA COMPUTABILIDADE. 3. A Tese Church-Turing 1. Máquinas Turing Definição formal de uma máquina Turing – Exemplos de máquinas Turing 2. VARIANTES DE MÁQUINAS TURING Máquinas Turing Multitape – Máquinas Turing não determinista – Enumeradores – Equivalência com outros modelos 3. A DEFINIÇÃO DE ALGORITMO Problemas de Hilbert – Terminologia para descrição de máquinas Turing 4. Determinabilidade 1. LINGUAGENS DETERMINÁVEIS 2. O PROBLEMA DE PARADA O método da diagonalização – O problema da parada é indeterminável – Uma linguagem Turing inaceitável. 5. Redutibilidade 1. PROBLEMAS INDETERMINÁVEIS DE TEORIA DE LINGUAGEM 2. UM PROBLEMA SIMPLES INDETERMINÁVEL 3. MAPEAMENTO REDUTIBILIDADE Funções computáveis – Definição formal de mapeamento de redutibilidade 6. Tópicos Avançados na teoria da Computabilidade 1. O TEOREMA DE RECURSÃO Auto-referência – Terminologia para o teorema de recursão – Aplicações 2. DETERMINABILIDADE DE TEORIA DE LÓGICA Uma teoria determinável – Uma teoria indeterminável 3. REDUTIBILIDADE TURING 4. UMA DEFINIÇÃO DE INFORMAÇÃO Descrição de espaço mínimo – Condições ideais da definição – Strings não comprimíveis e Aleatoriedade. PARTE TRÊS: TEORIA DA COMPLEXIDADE 7. Complexidade de Tempo 1. Medindo complexidade Notações Big-O e small-O – Analisando algoritmos – Relacionamentos de complexidade entre modelos 2. A CLASSE P Tempo polinômico – Exemplos de problemas em P 3. A CLASSE NP Exemplos de problemas em NP – A questão P versus a questão NP 4. INTEGRALIDADE NP Redutibilidade de tempo polinômico – Definição de integralidade NP – O teorema CookLevin 5. EXEMPLOS DE PROBLEMAS COMPLETOS-NP O problema de capa de vértice – O problema de caminho Hamiltoniano – O problema da soma de subconjunto 8. Complexidade de Espaço 1. TEOREMA DE SAVITCH 2. A CLASSE PSPACE 3. INTEGRALIDADE PSPACE O problema TQBF – Vencendo estratégias para jogos – Geografia generalizada 4. AS CLASSES N E NL 5. INTEGRALIDADE-NL Busca em gráficos 6. NL É IGUAL CONL 9. Intratabilidade 1. TEOREMAS DE HIERARQUIA Integralidade de espaço exponencial 2. RELATIVIZAÇÃO Limites do método de diagonalização 3. COMPLEXIDADE DE CIRCUITO 10. Tópicos Avançados em Teoria de Complexidade 1. ALGORITMOS DE APROXIMAÇÃO 2. ALGORITMOS PROBABILÍSTICOS A classe BPP - Primordialidade – Programas read-once branching 3. ALTERNAÇÃO Tempo e Espaço alternados – A hierarquia de tempo polinômico 4. SISTEMAS DE PROVAS INTERATIVOS Não isomorfismo gráfico – Definição o modelo – IP=PSPACE 5. COMPUTAÇÃO PARALELA Circuitos Booleanos uniformes – A Classe NC – Integralidade-P 6. CRIPTOGRAFIA Chaves secretas – Sistemas criptográficos de chaves públicas – Funções unidirecionais – Funções Alçapão